Name | Last modified | Size | License | |
---|---|---|---|---|
Parent Directory | ||||
rpb | - | |||
rpb-wayland | - |
The Linaro Qualcomm Landing Team is pleased to announce the new release of the Linaro OpenEmbedded RPB release for Qualcomm™ SA8155p-ADP IoT platform. The Linaro OpenEmbedded RPB release 21.12 is based on OpenEmbedded and provides developers with a reference set of images including a console only image configuration.
What’s new in this release
- Third release for SA8155p-ADP board (includes major kernel upgrade).
- Support for Linux kernel 5.16-rc3.
- SDK release based on dunfell 3.1.10.
- This release provides a rpb console image based rootfs.
Important note(s) about this release
It is expected that the firmware/bootloader files received from Lantronix / Intrinsyc are used on the board directly.
New Features in this release
The Linaro OpenEmbedded RPB version 21.12 for the SA8155p-ADP IoT platform supports the following new features:
- Remoteproc
- qrtr
- Diag
- DDR Devfreq and governor (LMh and CPU based bw)
Features supported in this release
With this release, the Linaro OpenEmbedded RPB version 21.12 supports the following features
on the SA8155p-ADP IoT platform :
- It is based on the OpenEmbedded / Yocto Project release 3.1.10 (aka dunfell).
- It is based on Linux kernel 5.16-rc3.
- The following reference image(s) are released:
boot
image that includes prebuilt kernel and initrdrpb-console-image
image that includes core packages as well as typical development packages (headless)
- All images are configured with a password less root account.
- The following features are supported on the SA8155p-ADP platform:
- Boot to console:
- Storage: UFS
- TSENS and thermal sensors cooling
- Cpufreq, PSCI with support for cpuidle, SMP, hotplug and restart.
- IOMMU, CMA, memory reservation, KASLR
- USB 3.0 Host – (Mouse, Keyboard, Storage, Ethernet)
- UFS ICE
- SMEM SCM
- low speed IO (UART, SPI, I2C, GPIO)
- Socinfo
- Crypto (QCE), dm-crypt/QCE, PRNG
- Remoteproc
- qrtr
- Diag
- DDR Devfreq and governor (LMh and CPU based bw)
- Boot to console:
Information about the SA8155p-ADP IoT platform
For more information about the SA8155p-ADP IoT platform, please check the following website:
Download and preparation
Before starting, download necessary file(s). This should include:
RPB console initrd based images:
- boot image: boot-sa8155p-adp.img
- One of rootfs images:
- rpb-console-image-sa8155p-adp.rootfs.ext4.gz
- rpb-console-image-test-sa8155p-adp.rootfs.ext4.gz
Non-HLOS images / meta for the SA8155p-ADP IoT platform shipped by Lantronix / Intrinsyc are available here:
- https://www.lantronix.com/products/sa8155p-automotive-development-platform
- https://tech.intrinsyc.com/projects/8155-adp/files
For example, for obtaining the Non-HLOS images / meta from Intrinsyc, follow these steps:
1. To ‘register’ on the Intrinsyc site, use:
2. The latest version of the non-HLOS images / meta shipped by Intrinsyc is:
- ’BSP 3.0 – snapdragon-auto-gen3-la-1-0’, which was released on ’02 Dec 2020’.
3. Download this and use the instructions inside to flash the ‘stock’ meta on the board.
NOTE-1: This release is mainly tested with Qualcomm provided Non-HLOS images / meta version – ‘SA8155P.UBUN.1.0-00005-STD.PROD-1’
NOTE-2: This release is also tested (sanity checks only) with Intrinsyc provided Non-HLOS images / meta version – ‘BSP 3.0 – snapdragon-auto-gen3-la-1-0’
Remoteproc related FW files:
- It is assumed that the remoteproc related FW
.mdt
files (for example the cDSP FW file) are received as a part of either the Non-HLOS images / meta from Intrinsyc or from the Qualcomm provided Non-HLOS images / meta. - These
.mdt
files should be placed inside ‘/lib/firmware/qcom/sa8155p/’ folder of the initrd (for example as: ‘/lib/firmware/qcom/sa8155p/cdsp.mdt’) and then the kernel during boot will try to find, load and boot the FW on the respective DSPs.
Switch settings and flashing
Make sure that you have fastboot tool installed. It can be either a part of “android-tools” package (Fedora, old Debian/Ubuntu) or a separate package (“android-tools-fastboot” or just “fastboot”, contemporary Debian/Ubuntu).
Connect host computer to SA8155p-adp board. Board must be powered off (unplugged from power).
The DIP switch setting (S3) for Boot from UFS should be:
- 1 -> ON
- 2 -> OFF
- 3 -> OFF
- 4 -> OFF
- 5 -> OFF
- 6 -> OFF
- 7 -> OFF
- 8 -> OFF.
Boot SA8155p-adp board into fastboot mode.
- Connect the USB3 Type A between the Linux PC and the board.
- Connect the power supply.
Board should boot into fastboot mode.
Check to make sure device is connected and in fastboot mode
$ fastboot devices
Typically it will show as below
de82318 fastboot
Linaro OpenEmbedded RPB
Linaro OpenEmbedded Reference Platform Build (RPB) is a reference implementation of an OpenEmbedded based distribution developed by Linaro. It provides examples and guidelines for users to create their own distribution based on OpenEmbedded.
For more information about Linaro OpenEmbedded RPB, please check this document.
Flashing the prebuilt images
The default partition scheme, provided by the board manufacturer, has the following partition(s):
RPB console initrd based images:
boot
for the boot image (which includes the kernel Image)userdata
for the main root file system image
To erase the default/AOSP images on the board, from the host PC, run the following commands.
Note that these are mandatory steps for running the Linaro SA8155p-ADP OpenEmbedded RPB releases:
$ fastboot erase boot_a
$ fastboot erase dtbo_a
To flash the boot image, from the host PC, run the following command:
$ fastboot flash boot <boot image file>
To flash the root file system image, download the image file with the extension .img.gz
and run:
$ gunzip rpb-console-image.rootfs.img.gz
$ fastboot erase userdata
$ fastboot flash userdata rpb-console-image.rootfs.img
Running the rpb-console-image
If you have flashed the console image, when booting the board you will end up in a login prompt on the serial console (login username is root).
Building from sources
To checkout the 21.12 XML file corresponding to the release use the following ‘repo init’ command:
$ repo init -u https://github.com/96boards/oe-rpb-manifest.git -b qcom/release -m sa8155p-adp/21.12.xml
$ repo sync
The boot image and the root file system are completely built from sources, using OpenEmbedded build system. It is recommended to setup the build environment using the following instructions. For Qualcomm SA8155p-ADP IoT platform, sa8155p-adp
is to be used as MACHINE
. For example you can use following commands:
$ MACHINE=sa8155p-adp DISTRO=rpb . setup-environment
RPB console initrd based images:
$ bitbake rpb-console-image
For more information about OpenEmbedded and the Yocto project please refer to the Yocto Project Documentation
How to get and customize the kernel source code
To rebuild the kernel you can use the OpenEmbedded workflow and update the kernel recipe, located in the build environment in ./layers/meta-qcom/recipes-kernel/linux/linux-linaro-qcomlt_5.16.bb
. To rebuild a boot image that includes your kernel changes, you can run the following bitbake
command:
$ bitbake virtual/kernel
Assuming the build went fine, the new boot image will be located in the build folder, as:
RPB console initrd based images:
tmp-rpb-glibc/deploy/images/sa8155p-adp/boot-sa8155p-adp.img
. You can run the following fastboot
command to boot it on the board:
$ fastboot boot boot-sa8155p-adp.img
If you want to permanently use a custom kernel image, you can update the boot image and reflash it into the boot
partition:
$ fastboot flash boot boot-sa8155p-adp.img
Simple initramfs based images:
A simple initramfs image with test utilities can be built using:
$ bitbake initramfs-test-image
The build should result in the following files, which can be used for generating the final combined boot image as output:
- Image.gz—5.15-r0-sa8155p-adp.bin (kernel)
- sa8155p-adp—5.15-r0-sa8155p-adp.dtb (device tree)
- initramfs-test-image-sa8155p-adp.rootfs.cpio.gz (initramfs.cpio.gz)
- modules—5.15-r0-sa8155p-adp.tgz (kernel modules)
Here are the steps for creating the simple initramfs based image:
$ cat Image.gz--5.15-r0-sa8155p-adp.bin sa8155p-adp--5.15-r0-sa8155p-adp.dtb > Image.gz+dtb
(where Image.gz+dtb is the resulting kernel+dtb file)
$ cat initramfs-test-image-sa8155p-adp.rootfs.cpio.gz modules--5.15-r0-sa8155p-adp.tgz > initramfs-test-image-w-modules-sa8155p-adp.rootfs.cpio.gz
(where initramfs-test-image-w-modules-sa8155p-adp.rootfs.cpio.gz is the initramfs file)
$ mkbootimg --kernel $kernel+dtb --ramdisk $initramfs --output $output --pagesize 4096 --base 0x80000000 --cmdline "root=/dev/sda9 rw rootwait console=ttyMSM0,115200n8"
(where $output is the resulting output boot.img file)
You can run the following fastboot
command to boot it on the board:
$ fastboot boot boot.img
If you want to permanently use a custom kernel image, you can update the boot image and reflash it into the boot
partition:
$ fastboot flash boot boot.img
Note that the boot
img should not be more than 60M in size to ensure it can be successfully flashed onto the boot partition.
How to install and use the SDK release
Download rpb-x86_64-aarch64-toolchain-3.1+linaro.sh and follow the next steps,
$ chmod +x rpb-x86_64-aarch64-toolchain-3.1+linaro.sh
$ ./rpb-x86_64-aarch64-toolchain-3.1+linaro.sh
Select the location to install the SDK.
$ cd INSTALLED_LOCATION
$ source environment-setup-aarch64-linaro-linux
Then you can have access to the cross-compilers and libraries that comes with the SDK.
$ aarch64-linaro-linux-gcc -v
Feedback and Support
For any bug related to this release, please submit issues to the Linaro Bug tracking system. To submit a bug, follow this link.
Bugs will be reviewed and prioritized by the team. For any bug report it is recommended to provide as much information as possible, and at the very list please include the name of the release you are using as well as the boot log (output of dmesg
).
How to contribute
We very much encourage developers to use and contribute to our releases. For kernel specific contributions please use the linux-arm-msm mailing list.