Doing dd for every kernel update seems highly destructive.
dd if=boot.img of=/dev/mmcblk0p1 conv=sync,fsync seek=ROCK2SQUARE????$((0x2000????+0xc000?????))
I am also noting here we still have a separate partition for boot.
It would be most convenient to have the boot partition and the / partition to be the same.
Is it absolutely necessary they be different?
Could we simply have the boot img also contain the entire rootfs and point it to the current rootfs
located in /dev/mmcblk0p2? Then let grub2 boot image selection. The intel-based grub2 expects all kernels to reside in /boot. The grub2 configuration is held within /boot/grub holding a list of available kernels sitting on the one and only / partition at the location /boot.
Using this technique, dd is no longer necessary. The boot happens and always points to the same partition and always points to I believe grub2 on the "/" partition which then loads and runs the desired kernel. It's also convenient to have grub2 provide a list of different kernels because if the latest installed kernel is a flaky alpha and fails to boot, simply rebooting and selecting another kernel within the grub2 menu brings up the system without issue and provides an easy way of repairing the system without having to reflash the entire emmc which is currently the only option ROCKCHIP/RADXA propose.
That brings another question: grub2 for rockchip kernels. Are there any people working on this?