Comment 1 for bug 1909353

Revision history for this message
Ian Johnson (anonymouse67) wrote :

Ideally, the bootloader setup on the pi would be such that the boot assets on ubuntu-boot would be what is used verbatim in the boot such that things like the DTB's, the config.txt, etc. that live on ubuntu-boot are read/used by the pi's bootloader during the boot process, however that is not currently the case, we still have the case that all boot assets like this with the exception of one file live on ubuntu-seed, which is not mounted at /boot, and instead is mounted at /var/lib/snapd/seed on UC20 (or alternatively at /run/mnt/ubuntu-seed).

It's unclear what the right thing for us to do in snapd is, whether we should have snapd pick the config.txt file based on which ubuntu core release snapd is running on, or if we should manipulate the mount layout of the system such that the /boot/uboot/config.txt file one sees during run mode is in actuality the /boot/uboot/config.txt that is used during boot. If that's the case, I think it would be misleading if we just bind-mounted /run/mnt/ubuntu-seed/config.txt at /boot/uboot/config.txt for example, as folks might think they can just put other files in /boot/uboot and have them be used by the bootloader when in fact they need to put the other files in /run/mnt/ubuntu-seed. An alternative is that on the pi specifically, /boot/uboot could be a bind-mount of /run/mnt/ubuntu-seed, but this is also confusing to make work, since we do have a single boot asset on ubuntu-boot, and where that file lives would become confusing (but not intractably so), and in addition we would have different mount layout setups for uboot different platforms, whereas today all uboot systems have /boot/uboot as a bind mount to /run/mnt/ubuntu-boot effectively.

IMHO, the easiest way to fix this is to have snapd pick the right file at /run/mnt/ubuntu-seed/config.txt now, and then if we do ever sort out the bootloader situation such that we can place real bootloader assets on ubuntu-boot separate from ubuntu-seed and have them be used, then we can change snapd to detect that new bootloader setup and go back to using /boot/uboot/config.txt directly.