On Dec 2, 2012, at 7:57 PM, John Reiser <jreiser(a)bitwagon.com> wrote:
Fourteen years ago in 1998 I published a boot loader for i386 that
loaded linux
kernel and initrd using filesystem lookup by name from ext2, occupying 446 bytes
of MBR plus 2*510 bytes of bootblock from ext2. The space also allowed some
tens of bytes of kernel command line. So "must use block lists" was not true
then.
Yeah obviously I asked the wrong question, again. I will digress instead of asking a new
(bad) question:
1. Another possible work around.
In addition to the "do nothing" and "install to MBR + MBR gap"
options, is the "make a core.img and grub.cfg, but do not install anything to MBR,
the MBR gap, or use block lists" option. This core.img could be called by another
boot manager, presumably already installed and in use by the user, the one they don't
want stepped on in the first place. If they load the /boot/grub2/core.img, it will in turn
load the grub.cfg and they get a GRUB menu as expected. To do this anaconda would use
grub2-mkimage instead of grub2-install; it would use grub2-mkconfig as it currently does
to generate the grub.cfg.
I think that work around satisfies most concerns, albeit without automatically linking the
existing boot manager to the core.img file. The user wouldh have to do that themselves
(rather than relying merely on a change in the MBR active flag).
2.
Incidentally, Btrfs has a 64KB offset before the start of the file system, which I
confirmed on the btrfs list is intended for a boot mananager/loader. Because of how btrfs
works, block lists are not merely "not recommended" but proscribed, the --force
option fails, but as it turns out you don't need to use block lists with Btrfs because
core.img and then some will happily fit in the rather enormous boot loader region
completely contiguously intact. And I've confirmed that it does work, both
installation of GRUB2 into this region, as well as it being loaded and functioning (ergo
100% Btrfs boot, even with boot and root in subvols).
So the solution to the problem maybe for F19/F20 is actually Btrfs by default, and then
grub2-install to a partition can be employed once again and simply just work without extra
effort on the part of the user as is the case with work around 1.
Chris Murphy