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

Re: Anaconda upgrades and bootloader options



Chris Lumens (clumens redhat com) said: 
> Bootloader config in anaconda involves three distinct dispatcher steps:
> 
> (1) bootloadersetup.  This sets the list of which drives should be
> considered for installing a bootloader to, picks the preferred one, and
> looks for EFI system partitions.  This step is non-interactive.
> 
> (2) bootloader.  This displays the screen shown at
> http://docs.fedoraproject.org/en-US/Fedora/13/html/Installation_Guide/s1-x86-bootloader.html
> and sets variables all over the place based on the UI elements.  Most
> importantly for this discussion, it controls setting which OS options
> you'll have in the bootloader menu.  It does not, however, write any
> changes to disk.
> 
> (3) instbootloader.  Given all the previous settings, this writes
> grub.conf and device.map, and runs grub.  Or whatever's appropriate for
> the platform.  This step is non-interactive.  It is also impossible to
> follow.
> 
> You need to know those three steps to understand exactly what is
> supposed to happen for each of the three bootloader upgrade options.
> 
> >      1. Create new boot loader configuration
> >               * I believe this is understand, it installs a new grub
> >                 stage#1 into the MBR (or partition).  
> >               * In the days of lilo and grub, perhaps this offered a
> >                 choice of bootloaders?
> 
>             self.dispatch.skipStep("bootloadersetup", skip = 0)
>             self.dispatch.skipStep("bootloader", skip = 0)
>             self.dispatch.skipStep("instbootloader", skip = 0)
>             self.bl.doUpgradeOnly = 0
> 
> So, this option will create a completely new grub.conf file and run grub
> to install itself to wherever you say (mbr, partition, etc).  Whatever
> the kernel's %post script does will have happened before we hit the
> instbootloader step.
> 
> >      2. Update boot loader configuration
> >               * does not run grub-install
> >               * When the kernel package is upgraded, it will call
> >                 'new-kernel-pkg' from it's %scripts and this eventually
> >                 updates the existing bootloader configuration file (e.g.
> >                 grub.conf, yaboot.conf, elilo.conf, zipl.conf).
> 
>             self.dispatch.skipStep("bootloadersetup", skip = 0)
>             self.dispatch.skipStep("bootloader", skip = 1)
>             self.dispatch.skipStep("instbootloader", skip = 0)
>             self.bl.doUpgradeOnly = 1
> 
> This option will cause no changes to be written to grub.conf, but
> grub-install will still be run.  Whatever the kernel's %post script does
> will have happened before we hit the instbootloader step.

If I'm being really picky here, this might be better described as 
'Update boot loader', as it's not touching the configuration file. 

> Does that shed any light on the subject?  Are these three options at all
> worth keeping?

What's the usage case for option #2? When would you *want* to run
grub-install but not change other config options?

Bill


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