On Feb 28, 2014, at 4:56 PM, Adam Williamson awilliam@redhat.com wrote:
On Fri, 2014-02-28 at 14:48 -0700, Kevin Fenzi wrote:
- I don't know that there are any tech limitations for /boot not on
lvm. But there's still an important case that needs it: encrypted /
There's some background at https://bugzilla.redhat.com/show_bug.cgi?id=1036705 and related bugs. As I understand it, dlehman's current position is that he doesn't believe LVM devs, btrfs devs etc are sufficiently committed to supporting /boot on those volumes that it is safe for anaconda to offer this choice. As of right now, for grub2, anaconda does not allow /boot to be on anything but a raw partition or a RAID device, and only allows the ext, xfs and btrfs filesystems. /boot cannot be a btrfs *subvolume*, but it can be raw partition formatted with the btrfs filesystem (I don't think you can achieve this with the UI, though, so it's kickstart-only).
Re: btrfs devs are committed to supporting /boot on Btrfs for some time. It works now. GRUB legacy has some minimal support (maybe it was just single device, not sure). GRUB2 supports booting any Btrfs volume including multiple devices, except profiles raid5/6. Support includes lzo or zlib compression, multiple device single, raid0, raid1, raid10, and even appears to tolerate degraded (multiple device with one device missing) volumes.
The problem with /boot on Btrfs looks to be exclusively a Fedora bug with grubby [1]. No other distro I've tested has a problem with /boot on Btrfs except Fedora. Even three year old Ubuntu with its old grub2 and ancient (in Btrfs terms) kernels can do this.
The summary of the cause is that grubby becomes confused about subvolumes, fails to update grub.cfg, and therefore kernel updates, in effect, aren't usable. The work around is to use grub2-mkconfig to write out a new grub.cfg - so obviously it's possible for this to work.
As for LVM, GRUB2 finds /boot on a conventional LV, it doesn't on thinp LVs. I'm not sure what the status of that works is, if there is even any planned, but it seems like it'd need to come from the LVM folks to contribute to GRUB to make it happen.
As for md RAID, I've tested GRUB finding /boot on md linear, raid0, raid1, raid10, raid5 and raid6 and it works up to the limit of the BIOS to present the minimum number of disks. So if there are problems here I'm not sure where they area, maybe in the initramfs?
GRUB2 has no issue finding /boot files on XFS. [2]
Chris Murphy
[1] https://bugzilla.redhat.com/show_bug.cgi?id=864198
[2] Although, XFS does not have a bootloader pad, unlike ext4. So there's no such thing as embedding grub "to a partition" (into the VBR) if its XFS formatted. Anaconda doesn't support this since newui anyway, so it shouldn't be a problem but there are still some people who think this is a good idea and for them I say use extlinux and ext4 which are designed for this use case.