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

thoughts regarding bootloader installation

I've been thinking about how bootloader installation is handled, and think I
have some good ideas, but would like to run them past the collected wisdom
of my fellow derivativists and debian-boot. Feel free to reply to either or
both lists; I'm subscribed to both Feel free to reply to either or both
lists; I'm subscribed to both.

 [ debian-boot members: SprezzOS is a Debian derivative aimed at HPC
    professionals and power users. the following discussion applies to
    Debian as well, though, and I'd like to feed patches upstream to
    Debian if this initiative goes through smoothly. ]

For as long as I can recall, a multiple disk setup has required selection of
a device on which to install some bootloader, typically LILO or GRUB. This
has required expert knowledge from the user, because it's impossible for the
OS to determine from which device the blackbox BIOS will seek to boot. This
is annoying for at least the following reasons:

  - users might not have any idea what the question is asking, or the
    ramifications of their selection,
  - physical topology changes must be reflected in the BIOS configuration
  - user must select between install to disk sector 0 or a partition, the
    latter requiring unreliable blocklists last i checked.
  - devices with cruft in their sector 0 can screw up the boot process if
    the BIOS selects them for booting

Now, UEFI improves the situation somewhat, due to its guaranteed ability to
interpret the GPT partition table entries, find an ESP (EFI System Partition)
if present (based off GPT GUID), and read the FAT16ish filesystem therein.
This doesn't solve problems #1 or #4, though.

Instead, in SprezzOS I'd like to install GRUB2's (the only bootloader
explicitly supported by SprezzOS) Stages 1 and 1.5 onto all possible
physical disks (for this purpose, a hardware-assembled RAID is a physical
disk), with no user intervention. This has multiple obvious possible wins
and problems:

  - No need for user configuration / room for user mistakes
  - Topology changes are handled without BIOS changes, so long as GRUB is
    configured exclusively using UUID/WWNs for disk/partition
    identification (adding a new disk can break the setup, but that's
    true with the present system, also).
  - If we lose the device from which we're booting, we can still boot off
    some other one. If no important partitions were on the lost disk, we'll
    even be able to run.

  - If there's data present in the initial sectors of the disk in some
    non-recognized format, we might overwrite it. This is also true for
    the current system, but only applies to the disk the user has specified.
  - Drives which are slow or unreliable might be selected for boot. This can
    happen in the current scheme, but only in the event of user selection.
  - GRUB install / update time is multiplied by the number of drives present
  - Must detect cases where a partition or partition table information
    exists where GRUB would be installed (must do this for current case, but
    only on user-selected drive).

Does anyone have thoughts to contribute? What have I overlooked here? I'm
sure this idea has been had, and discussed, before. Thanks!

--rigorously, nick

nick black     http://www.sprezzatech.com -- unix and hpc consulting
to make an apple pie from scratch, you need first invent a universe.

Attachment: signature.asc
Description: Digital signature

Reply to: