Draft: Removed symlinks to the kernel, initrd, devtree; Device trees for whle-ls1-sdk kernel
Symlinks obsoleted by the use of u-boot-menu
Scope
To get rid of
/boot/board.dtb
/boot/initrd.img
/boot/initrd.img.old
/boot/vmlinuz
/boot/vmlinuz.old
Tests
Tested on WHLE-LS1026A.
Initial state
/boot
contents at first login:
root@whle-ls1046a:~# ls /boot
System.map-6.5.6-whle-ls1-g88fc5c2e4673
config-6.5.6-whle-ls1-g88fc5c2e4673
extlinux
initrd.img-6.5.6-whle-ls1-g88fc5c2e4673
vmlinuz-6.5.6-whle-ls1-g88fc5c2e4673
State after linux package installation
-
SDK kernel
root@whle-ls1046a:~# apt install linux-image-6.1.56-whle-ls1-sdk-g5f6cdda7d834 … root@whle-ls1046a:~# ls /boot System.map-6.1.56-whle-ls1-sdk-g5f6cdda7d834 System.map-6.5.6-whle-ls1-g88fc5c2e4673 config-6.1.56-whle-ls1-sdk-g5f6cdda7d834 config-6.5.6-whle-ls1-g88fc5c2e4673 extlinux initrd.img-6.1.56-whle-ls1-sdk-g5f6cdda7d834 initrd.img-6.5.6-whle-ls1-g88fc5c2e4673 vmlinuz-6.1.56-whle-ls1-sdk-g5f6cdda7d834 vmlinuz-6.5.6-whle-ls1-g88fc5c2e4673
-
Regular kernel
root@whle-ls1046a:~# apt install linux-image-6.5.6-whle-ls1-gcb9fc46d1a8f … root@whle-ls1046a:~# ls -lh /boot -rw-r--r-- 1 root root 3.1M May 13 22:22 System.map-6.1.56-whle-ls1-sdk-g5f6cdda7d834 -rw-r--r-- 1 root root 3.0M Apr 22 19:53 System.map-6.5.6-whle-ls1-g88fc5c2e4673 -rw-r--r-- 1 root root 3.0M Jan 4 14:56 System.map-6.5.6-whle-ls1-gcb9fc46d1a8f -rw-r--r-- 1 root root 164K May 13 22:22 config-6.1.56-whle-ls1-sdk-g5f6cdda7d834 -rw-r--r-- 1 root root 164K Apr 22 19:53 config-6.5.6-whle-ls1-g88fc5c2e4673 -rw-r--r-- 1 root root 164K Jan 4 14:56 config-6.5.6-whle-ls1-gcb9fc46d1a8f drwxr-xr-x 2 root root 4.0K May 15 22:59 extlinux -rw-r--r-- 1 root root 11M May 15 22:44 initrd.img-6.1.56-whle-ls1-sdk-g5f6cdda7d834 -rw-r--r-- 1 root root 9.8M May 15 21:07 initrd.img-6.5.6-whle-ls1-g88fc5c2e4673 -rw-r--r-- 1 root root 11M May 15 22:59 initrd.img-6.5.6-whle-ls1-gcb9fc46d1a8f -rw-r--r-- 1 root root 8.0M May 13 22:22 vmlinuz-6.1.56-whle-ls1-sdk-g5f6cdda7d834 -rw-r--r-- 1 root root 7.8M Apr 22 19:53 vmlinuz-6.5.6-whle-ls1-g88fc5c2e4673 -rw-r--r-- 1 root root 7.8M Jan 4 14:56 vmlinuz-6.5.6-whle-ls1-gcb9fc46d1a8f
Booting with the newly installed kernels: OK
Device trees for the SDK kernel
The whle-ls1-sdk
kernel variant requires different device tree than the regular one /usr/lib/linux-image-‹ver›/freescale/fsl-ls1046a-whle.dtb
to boot properly - the usdpaa devtrees ("user space DPAA"). Two possibilities:
-
Static usdpaa device tree: Assigns the network interface to either kernel or DPDK. Easier to control the queues with FMC. This solution was used in the whales demo. There are 26 = 64 possible device trees, assigning each interface to a different driver. Of these 2 were provided in linux@32855dc4:
-
fsl-ls1046a-whle-usdpaa-000000.dtb
: all NICs assigned to kernel -
fsl-ls1046a-whle-usdpaa-000011.dtb
: all 1G NICs assigned to kernel, 10G NICs assigned to DPDK.
-
- Shared usdpaa device tree: Allows for sharing the network interface between kernel and DPDK. Harder to control the queues with FMC though more convenient for the user. To be accounted for in the next iteration, after full incorporation of the whales demo into CE repositories.
The change in ubuntu-build
detects the use of the SDK kernel variant and modifies the /usr/lib/linux-image-‹ver›/fsl-ls1046a-whle.dtb
symlink to point to the usdpaa device tree. Example:
root@whle-ls1046a:~# ls -lh /usr/lib/linux-image-6.1.56-whle-ls1-sdk-g5f6cdda7d834/
drwxr-xr-x 2 root root 4.0K May 15 22:44 freescale
lrwxrwxrwx 1 root root 99 May 15 22:44 fsl-ls1046a-whle.dtb -> /usr/lib/linux-image-6.1.56-whle-ls1-sdk-g5f6cdda7d834/freescale/fsl-ls1046a-whle-usdpaa-000000.dtb
lrwxrwxrwx 1 root root 85 May 15 22:44 fsl-ls1088a-whle.dtb -> /usr/lib/linux-image-6.1.56-whle-ls1-sdk-g5f6cdda7d834/freescale/fsl-ls1088a-whle.dtb
The regular version remains as before
root@whle-ls1046a:~# ls -lh /usr/lib/linux-image-6.1.56-whle-ls1-g5f6cdda7d834/
drwxr-xr-x 2 root root 4.0K May 15 23:21 freescale
lrwxrwxrwx 1 root root 81 May 15 23:21 fsl-ls1046a-whle.dtb -> /usr/lib/linux-image-6.1.56-whle-ls1-g5f6cdda7d834/freescale/fsl-ls1046a-whle.dtb
lrwxrwxrwx 1 root root 81 May 15 23:21 fsl-ls1088a-whle.dtb -> /usr/lib/linux-image-6.1.56-whle-ls1-g5f6cdda7d834/freescale/fsl-ls1088a-whle.dtb