NetBSD-Users archive

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

grub vs. NetBSD bootloader


I'm having a bit of a wrestling match between a Linux installer (Ubuntu's curses-based one) and the MBRs on a machine with 3 disks. Perhaps you can help...

The machine in question is primarily a NetBSD machine (netbsd-5, stable, i386) With 3 scsi drives. 2 that are RaidFrame-mirrored and one "extra".

The NetBSD bootloader (the new, improved one) was installed on all 3 drives. When the machine booted I would see the mbr_bootsel "bootmenu" label show up and I could F2 or F3 to see the other "bootmenu" labels. Selecting one or the other would bring me to the boot menu.

Now I understand from mbr(8) that what is going on here is that the code in the MBR of the first drive that the BIOS sees (installed from /usr/mdec/mbr_bootsel in my case) is executed. NetBSD's mbr_bootsel code gives the user an opportunity to jump to the MBR on other disks to read the partition table and load the code in the MBR from those other disks. Whichever MBR the user lands on will end up booting from the active partition on that disk. This is very polite, useful simple and friendly.

Then I installed Linux (Ubuntu) on the third drive, which uses grub. I was hoping for an option to install grub in a configurable fashion, but that didn't happen.

I expected that the NetBSD mbr_bootsel would still be on the first 2 drives and grub's equivalent MBR code would be on the third. Like this:

  SCSI(bus,id)  MBR      Executes
  ============  ===      ========
  SCSI(0,2)     bootsel  NetBSD-bootloader
  SCSI(1,2)     bootsel  NetBSD-bootloader
  SCSI(1,4)     grub?    grub

Then the machine should hit the NetBSD mbr_bootsel code on sd0 first, and I could always F3 over to the third disk and deal with grub from there on. That would be nice.

Unfortunately it doesn't appear to work this way. Grub boots every time no matter what. It seems as if grub has extended it's filthy tendrils to install itself on the first disk as seen by the BIOS i.e. SCSI(0,2). Not on the actual disk where we installed Linux. It's probably not Grub's fault and that of the installer, but still, it doesn't offer the courtesy of allowing us to jump to other MBRs.

If I change the SCSI boot order in the BIOS, I can get to the mbr_bootsel on SCSI(1,2) and can boot NetBSD. But that sucks. Luckily RaidFrame doesn't care which order the components come in.

Ideally I would like to get rid of grub on this machine. It seems needlessly complicated and I don't need that at the boot stage.

Can we just boot Linux from the NetBSD bootloader? Or perhaps use NetBSD's mbr_bootsel in the MBR and have it call grub's stage-2 bootloader?


Home | Main Index | Thread Index | Old Index