PICO-PI-IMX7: Editing and Recovery/Linux 4.19.x

This is going to be for you to figure out:

So let’s look at the basic extlinux.conf file:

label Linux 5.4.58-armv7-lpae-x33
    kernel /boot/vmlinuz-5.4.58-armv7-lpae-x33
    append root=/dev/mmcblk2p1 ro rootfstype=ext4 rootwait quiet
    fdtdir /boot/dtbs/5.4.58-armv7-lpae-x33/

First Line:

label Linux 5.4.58-armv7-lpae-x33

This is just a label and dumped on bootup, it’s value is not used for anything.

2nd line:

    kernel /boot/vmlinuz-5.4.58-armv7-lpae-x33

This is kernel “boot file”, it’s a link to a raw file, access by u-boot:

debian@arm:~$ ls -la /boot/
total 10372
drwxr-xr-x  5 root root     4096 Aug 19 21:08 .
drwxr-xr-x 21 root root     4096 May 10 20:17 ..
-rw-r--r--  1 root root   192123 Aug 19 21:08 config-5.4.58-armv7-lpae-x33
drwxr-xr-x  3 root root     4096 Aug 19 21:08 dtbs
drwxr-xr-x  2 root root     4096 Aug 19 21:08 extlinux
drwxr-xr-x  2 root root     4096 May 10 20:17 uboot
-rwxr-xr-x  1 root root 10404352 Aug 19 21:08 vmlinuz-5.4.58-armv7-lpae-x33 <- kernel file

3rd line:

    append root=/dev/mmcblk2p1 ro rootfstype=ext4 rootwait quiet

This is our bootarg’s appended to the default cmdline:

debian@arm:~$ cat /proc/cmdline 
root=/dev/mmcblk2p1 ro rootfstype=ext4 rootwait quiet
debian@arm:~$ lsblk
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk2      179:0    0  3.6G  0 disk 
└─mmcblk2p1  179:1    0  3.6G  0 part /  <- Root Driver
mmcblk2boot0 179:256  0    2M  1 disk 
mmcblk2boot1 179:512  0    2M  1 disk 

4th line:

    fdtdir /boot/dtbs/5.4.58-armv7-lpae-x33/

This is the directory containing all our device tree’s:

debian@arm:~$ ls -alh /boot/dtbs/5.4.58-armv7-lpae-x33/ | grep pico
-rw-r--r-- 1 debian debian  47K Aug 19 21:04 imx7d-pico-hobbit.dtb
-rw-r--r-- 1 debian debian  47K Aug 19 21:04 imx7d-pico-pi.dtb

So it’s going to be you to convert your Yocto sytem to use extlinux.conf for bootup.

But feel free to switch to Debian or Ubuntu at any time:

Regards,