Cure found for kernel updates
Matthew Garrett
mjg59 at srcf.ucam.org
Fri May 16 14:55:02 UTC 2014
On Fri, May 16, 2014 at 04:23:56PM +0200, Lennart Poettering wrote:
> On Fri, 16.05.14 06:38, Matthew Garrett (mjg59 at srcf.ucam.org) wrote:
> > No, but if we want Thunderbolt then the only way we can integrate with
> > the OS X boot preferences is with the bootloader on an HFS+
> > partition.
>
> I cannot parse this? Can you elaborate what HFS+ has to do with Thunderbolt?
If we want Thunderbolt then we have to perform an EFI boot rather than
using the BIOS compatibility layer. The only way to perform an EFI boot
and integrate with the OS X boot preferences is to have the bootloader
on an HFS+ partition.
> > It's also the only way we get a reasonable recovery experience if the
> > user ever clears the PRAM, which is still a recommended diagnostic
> > procedure on Apple hardware.
>
> You can always get into the firmware boot menu, can't you?
Yes, but
a) You need an HFS+ partition unless you want a generic "EFI Boot"
option
b) It's not obvious how to set the default from there (ctrl+click, it
turns out)
> > There clearly is a need for it, otherwise we wouldn't be talking about
> > it.
>
> I don't see any need for it in the BLS. It's legacy stuff, doesn't have
> to be covered by a new spec, if the old way to handle it with bootloader
> specific syntaxes is fine...
We obviously disagree on this point, but I don't see any strong
incentive to work on implementing this if we still end up with
configuration in two different locations.
> > I appreciate the design goal. I just don't think it results in a broadly
> > useful specification.
>
> Well, the specification is not supposed to cover everything, and I
> really don't see what your problem is to defer to grub's own stuff for
> MBR chainloading, doing that once, and leaving it in place statically,
> and just doing BLS for linux kernels and stuff.
Because, as I said before, it's not necessarily static and it's
confusing to have two different configuration formats for handling the
same data. All that's needed is an addition something like:
chain-drive: A drive number in firmware-specific order. If the firmware
supports bootloader embedding then the bootloader interpreting this
stanza will jump to the bootloader embedded on this drive. Not available
on EFI systems.
chain-partition: If chain-drive is set, indicates that the bootloader
will jump to an embedded bootloader at this (1-indexed) partition. If
absent or 0, the bootloader will jump to the drive's boot sector. Not
available on EFI systems.
On BIOS, just add the chain-drive number to 0x80 and make the
appropriate BIOS call. The implementation at the bootloader level is
trivial. Figuring out how to map the drive to the BIOS number is
obviously a pain, but you don't have to care - that's left up to the
installer, and we already have the code to do that. It requires no
changes to gummiboot and only a small patch to grub.
--
Matthew Garrett | mjg59 at srcf.ucam.org
More information about the desktop
mailing list