Re: F21 Workstation dual-boot release requirement OS X

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/09/2014 11:51 AM, Chris Murphy wrote:
QA wants a release criterion for dual boot OS X + Fedora installations.  I floated this one on test@, and it's passed initial acceptance by Adam Williamson and Michael Catanzaro.

{
The installer must be able to install into free space alongside an existing OS X installation, install and configure a bootloader that will boot Fedora; if the boot menu presents an OS X entry, it should boot OS X.
}

The gist is that if there are OS X boot entries they should work. This email proposes two ways to make them go away, and relies mainly on the firmware's built-in boot manager [1] instead to switch between OS's. I suspect a minority aren't familiar with this interface, and many others drop GRUB2 post-install in favor of rEFInd or gummiboot. The explanation for why the underlying problem with the broken entries won't be fixed anytime soon is at the end, because it's too long and you probably don't want to read it. [2]


Option A, patch Anaconda:
If platform.MacEFI, anaconda writes out /etc/default/grub to include:
GRUB_DISABLE_OS_PROBER=true

Consequence: Non-Fedora boot entries won't be created. This includes OS X, pre-existing Linux distros, and Windows. Due to other bugs and limitations it's virtually certain those entries wouldn't work anyway. The alternatives to the broken entries are already primarily in use due to necessity.

Option B, patch GRUB:
Modify util/grub.d/30_os-prober.in to remove (or comment out) lines 44-106. This means grub2-mkconfig simply won't create OS X entries, but will still create other OS entries.


Is there a preference for one of these options, or is there an option c. ? My opinion is to go with option A. It's the simplest patch, it's upstream and downstream tested and supported, it's more discoverable than option B, and it's the only one users can revert post-install.
Let me go a step further and suggest that GRUB_DISABLE_OS_PROBER=true should be the default for all installs!

1. After installation, a user can turn it back on if they want it but, by default, the "strange" /etc/grub.d/30_os-prober menuentrys would not be generated. Sometimes they work but sometimes they do not.

2. There is the additional problem in Fedora 21 due to grub2-2.02 now using linux16/initrd16 for all linux menuentrys [see https://bugzilla.redhat.com/show_bug.cgi?id=1108296 and https://bugzilla.redhat.com/show_bug.cgi?id=1108344]

3. Rather than supporting multi-boot with 30_os-prober, a user can use 40_custom or 41_custom to add menuentrys which can "chain load" using configfile rather than trying to (poorly) create a valid menuentry which will actually boot the other system(s).

4. The "nombr" anaconda patch I submitted results in grub2 being correctly installed and configured but haing the mbr *not* actually updated. Thus another installed system, which does have the mbr pointing to it, can act as a "boot director" to chainload using configfile grub.cfg or chainload +1 a boot partition.

Suggestion: If GRUB_DISABLE_OS_PROBER=true is the new default, I suggest that there be some additional documentation explaining how to create 40_custom and/or 41_custom files which will boot the other installed systems ... or not in the case of OS X where there is a better alternative of using the firmware.

Gene

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list




[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux