09-18-2018, 03:20 AM
I think what is happening on your system is as follows:
1) Although you have both eMMC & SDcard installed the initial uboot feed is from the SDcard as your eMMC boot0 and boot1 segments are not properly "loaded". So the /boot/extlinux/extlinux.conf on your SDcard is what counts.
2) Both your SDcard partition 7 and your eMMC partition 7 will have a label "linux-root". This can be checked with sudo blkid - if so although uboot picks up extlinux.conf from the SDcard the loader will then find p7 on your eMMC as linux-root and use that. so df -h will show /dev/mmcblk1p7 mounted as rootfs.
3) In this setup, when you install 4.18 the extlinux.conf on the eMMC will be updated (because that is where linux is working with rootfs), but on reboot you will be back to step 1 and so you still booted 4.4. The necessary extra step is to keep the /boot/ directory on both the SDcard and eMMC synchronised so you get expected results.
You probably do want your rootfs on the eMMC as it is faster than SDcard. So until you sort the eMMC ability to boot on its own, you need to keep repeating the synchronisation of /boot/ directories. I have to do exactly this as I use NVMe for rootfs: so I have a little script to run after each time I modify my extlinux.conf and before I reboot:
1) Although you have both eMMC & SDcard installed the initial uboot feed is from the SDcard as your eMMC boot0 and boot1 segments are not properly "loaded". So the /boot/extlinux/extlinux.conf on your SDcard is what counts.
2) Both your SDcard partition 7 and your eMMC partition 7 will have a label "linux-root". This can be checked with sudo blkid - if so although uboot picks up extlinux.conf from the SDcard the loader will then find p7 on your eMMC as linux-root and use that. so df -h will show /dev/mmcblk1p7 mounted as rootfs.
3) In this setup, when you install 4.18 the extlinux.conf on the eMMC will be updated (because that is where linux is working with rootfs), but on reboot you will be back to step 1 and so you still booted 4.4. The necessary extra step is to keep the /boot/ directory on both the SDcard and eMMC synchronised so you get expected results.
You probably do want your rootfs on the eMMC as it is faster than SDcard. So until you sort the eMMC ability to boot on its own, you need to keep repeating the synchronisation of /boot/ directories. I have to do exactly this as I use NVMe for rootfs: so I have a little script to run after each time I modify my extlinux.conf and before I reboot:
Code:
$cat syncsd
sudo mount /dev/mmcblk0p7 /mnt/
sudo rsync -ax --delete /boot/ /mnt/boot/
cat /mnt/boot/extlinux/extlinux.conf
- ROCKPro64 v2.1 2GB, 16Gb eMMC for rootfs, SX8200Pro 512GB NVMe for /home, HDMI video & sound, Bluetooth keyboard & mouse. Arch (6.2 kernel, Openbox desktop) for general purpose daily PC.
- PinePhone Pro Explorer Edition, daily driver, rk2aw & U-boot on SPI, Arch/SXMO & Arch/phosh on eMMC
- PinePhone BraveHeart now v1.2b 3/32Gb, Tow-boot with Arch/SXMO on eMMC