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
- PinePhone BraveHeart now v1.2b 3/32Gb daily driver, Tow-boot with pmOS/SXMO on eMMC
- PinePhone Pro Explorer Edition, Tow-boot on SPI, Arch/SXMO on eMMC
- ROCKPro64 v2.1 2GB, 16Gb eMMC retired in favour of a fruity upgrade