Grub changes:
- trunk expects a static /boot/grub/grub.cfg
- 15.04 expects to run update-grub and rewrites /boot/grub/grub.cfg on each update with a custom /boot/grub/grub.cfg.d/09_snappy
Issues with r149 -> 154:
- 149 has dynamic generated grub.cfg, update-grub is called with the "other" /etc/ for grub to get the latest 09_linux code (which no longer exists)
- grub.cfg is stock grub.cfg from ubuntu itself, no more snappy custom config
- boot works but we always boot with the kernel in this grub.cfg because new snappy does not call update-grub anymore
- /boot/grub/{a,b} is empty
- booting only works because there is a legacy symlink /{vmlinuz,initrd.img} *and* our grub.cfg supports that
Needs testing:
- does the device tarball really contains the right hardware.manifest
Possible solution:
- re-add 09_snappy to trunk to get a correct dynamic grub.cfg on upgrade (which we will need to carry forver)
- add code to snappy trunk to replace the dynamic grub.cfg with the static grub.cfg on ubuntu-core-upgrade *and* copy the old kernel to the right /boot/{a,b} to allow rollback
- rollback will work: boot into the old system, upgrade will re-create a dynamic grub.cfg but next upgrade will replace it with static grub.cfg again