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

Re: Grub installation. First potential Fedora killer

On Sun, 2014-01-05 at 22:52 -0800, Adam Williamson wrote:
> On Thu, 2014-01-02 at 23:32 +0100, Jean Fran├žois Martinez wrote:
> > I have a nice booter setup and a nice _main_ Linux installation.  Last
> > thing I would want is a distribution I am _testing_, that is Fedora 20
> > forces on me it will be my main installation and forces me to choose
> > between installing Grub on the MBR or not at all.
> Why? "Not at all" is precisely the correct action for a grub2-based
> distribution in this case.
> I think we should do grub2-mkconfig for such installs, though it's a bit
> tricky to refactor anaconda's bootloader install code to do so. I might
> have a shot at it if I get a spare minute, though.

Well, hum, it doesn't look hard at all, in fact, at least a simple
version. See attached patch (untested, but what could possibly go
wrong?!). I'm not subscribed to anaconda-patches-list ATM, but CCing
anaconda-devel-list to see what the anaconda devs think. I think it's
reasonable to install a config file and device.map when 'skipping'
grub2-bios bootloader install, especially given our standing advice to
people who want to do chainload-style multi boot is "skip bootloader
installation then setup configfile booting after install".
Adam Williamson
Fedora QA Community Monkey
IRC: adamw | Twitter: AdamW_Fedora | XMPP: adamw AT happyassassin . net
>From 88d4843eda3a00b0474ecb26242c52e4f378add7 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam redhat com>
Date: Sun, 5 Jan 2014 22:57:51 -0800
Subject: [PATCH] write a device.map and bootloader config when 'skipping'
 grub2 install

The usual reason for skipping bootloader installation is if you want to do
a multi-boot configuration other than one where Fedora 'takes over' boot.
People who do this are usually going to have a much easier time if they have
a config file - our 'official' recommendation instead of chainloading is to
use grub2's configfile functionality, and that obviously requires the OS
to have a config file.
 pyanaconda/bootloader.py | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/pyanaconda/bootloader.py b/pyanaconda/bootloader.py
index fe62b3a..741169d 100644
--- a/pyanaconda/bootloader.py
+++ b/pyanaconda/bootloader.py
@@ -1566,6 +1566,12 @@ class GRUB2(GRUB):
     def write(self):
         """ Write the bootloader configuration and install the bootloader. """
         if self.skip_bootloader:
+            """ We should write a config file at least, as the normal
+            reason for skipping bootloader installation is to do advanced
+            multi-boot, and it's useful to have a config file. """
+            self.write_device_map()
+            sync()
+            self.write_config()
         if self.update_only:

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