I have been looking at adding XFS support to the syslinux bootloader
suite, and discovered, to my dismay:
No, for root partition installations because the XFS superblock is
written at block zero, where LILO would be installed. This is to
maintain compatibility with the IRIX on-disk format, and will not be
changed.
This means that it's impossible to write a boot loader that actually
plays by the x86 platform rules and still can boot from XFS. Other than
the GRUB option of spreading itself all over the disk in places it
shouldn't be, like the MBR, thus breaking e.g. softraid and creating all
kinds of unnecessary interoperability problems.
Anyway, since it looks like the damage of not offsetting the filesystem
has already been done, I'm trying to figure out what, if anything, can
be done about it. A standard MBR will never be able to boot an XFS, but
perhaps a slightly modified MBR can be made to do that, without
introducing filesystem-instance-specific issues. In particular, if
there is space anywhere in the superblock for a "boot sector pointer",
*and* there is a way to safely write this pointer, then a slightly
modified MBR could detect an XFS superblock and re-read a boot sector at
that offset.
Is this something that could be done?
-hpa
P.S. If this email sounds a bit irate, it is because I'm really dismayed
at this. XFS is a good filesystem, and people want to use it. However,
as it is, they're left between the choices of a /boot partition, or
using GRUB-like hacks, and I fear they will choose the latter.
|