Comment 4 for bug 1817050

Revision history for this message
Ɓukasz Zemczak (sil2100) wrote :

So I worked on this quite recently and prepared two different solutions to the problem:

Solution A: fixing this in ubuntu-image. For classic images we already manipulate the fstab file for the root partition handling (noticed we actually have a bug there, but that's a separate thing). While we're at it, we can actually try handling creation of all the links needed for proper grub upgrade stories.

Solution B: fixing this in livecd-rootfs. Adding a hook to livecd-rootfs ubuntu-cpc that would, for IMAGEFORMAT=none (so ubuntu-image-targetted rootfs builds) create the needed links based on what bootloader packages have been installed on the rootfs.

It's hard for me to decide which solution is best. On one hand, we delegated bootloader composition and preparation to the gadget tree, so solution A seems like the right way to go conceptually. Since in this case the rootfs basically shouldn't care much about bootability of the image, as that's something the gadget (and ubuntu-image) makes sure of. On the other hand however, all these changes are to support proper upgrades of packages *on the rootfs*. So maybe we should have the rootfs (livecd-rootfs here) making sure everything works as needed?

Anyway, both solutions are basically complete, but still in testing. I'll submit both here and then we can figure out which way to go.

Also, along with this proposition, I wanted to add a common, consistent system-boot mount-point for all our ubuntu-image built images. This way we can handle all the custom per-bootloader requirements as symlinks to the system-boot mount directory. The actual mount-point location is still open to discussion though (I just picked one without much thought).