[syslinux] Bootloader data in /boot vs package systems (and atomic updates)

Ferenc Wagner
Thu, 24 Apr 2014 07:02:11 -0000

Colin Walters <walters at verbum.org> writes:

> I'm working on https://wiki.gnome.org/Projects/OSTree which is a
> general-purpose update system for Linux-based operating systems.  It
> isn't a package system itself, but operates at the same level.
>
> A primary goal of OSTree is fully atomic updates, and the "swapped
> chroots" model works well for most of userspace and the
> kernel/initramfs.
>
> However, syslinux relies on loadable modules in /boot.  At present in
> Fedora at least, the RPM package updates these, and it has a %post to
> ensure that when a newer version of extlinux is installed, we update
> both the boot modules and the MBR.
>
> For more background, see:
> https://bugzilla.redhat.com/show_bug.cgi?id=1090083
>
> In constrat, GRUB2 keeps its modules in /usr/lib, and grub-install
> *copies* them to /boot at the same time that the MBR is updated.
>
> I like this model more as it allows me to decouple the delivery of
> updated bootloader data with its actual installation, and ensure that
> when I do want to update the bootloader, it can happen at a safe(r)
> time.
>
> Would there be any interest in patches for extlinux to support this
> model?

I don't think vanilla extlinux (or generally, Syslinux) has anything to
do with this.  Some Fedora RPM packages might exhibit undesirable
behaviour, but you should bring that up with the package maintainer.
Syslinux upstream does not provide RPM packages, as far as I can see.

Moreover, the Syslinux package in Debian (and Archlinux, according to
Ady) does not put files into /boot, but leaves copying the modules to
some distro- (and packaging-) specific install script, which should fit
your purposes.

If you still need something supported in extlinux, please provide more
details.
--
Regards,
Feri.