Boot Manager

I am rebuilding my Haiku box. Just added an Radeon R7 to it, but it’s 32 bit. Going to add another SSD with 64 bit release into the machine. How can I install the boot manager so I can boot 32 bit when I need, or should I just run 32 bit in an emulator?

1 Like

Look: Dual boot 32bit and 64bit?

The current Haiku bootmanager can only handle partitions on one physical volume.

Historically, the BeOS BM could handle multiple volumes, so it’s a bit of a backwards step.

One approach I used until recently was to hit F12 (your system might differ) and just use the BIOS’s boot disk selector. It’s messy since it gives you options like WD2685X876 which doen’t tell you which OS is installed on which disk. It does work, though.

2 Likes

It’s a missing feature, not in bootmanager itself, but in the disk drivers not forwarding the needed info to the bootmanager installer to allow it to know the bios identifier for each disk. Anarchos is trying to work on a patch to connct the few missing bits there.

4 Likes

My Asus BIOS doesn’t have that feature. I can change the boot order, just need to remember which SATA port the drive is connected to as they are the exact same drive model. I saw your earlier suggestion @michel about changing the wallpaper to provide a clue about what OS I have booted into.

Do you have plans to add to it the feature of installing the EFI loader? For example, to reinstall the EFI binary after install because for some reason it got corrupted or deleted and the user doesn’t want to deal with reinstalls or booting via livecd.

OS management of bootloader is a tricky action. Look at Linux + GRUB. Linux always tries to install it, and as far as Linux is the only OS, it is good. But for all other combinations this leads to problems. Consider the following scenarios:

  1. Have rEFInd and wont to keep it as bootloader. However, after installation of Linux, GRUB is installed instead. It is also possible to corrupt rEFInd when Linux updates kernel package.
  2. Have Linux installed as the last OS with GRUB capable to boot all the OSes on disk. Then decide to remove Linux for something else. GRUB remains unmaintainable, and in case of corruption, you need some external tool to repair it.

Probably, there are other use cases. The proper handling of this situation in my opinion is:

  1. Each OS installation can have option to also install system bootloader, unchecked by default.
  2. Each bootloader has an easy to follow installation pattern.
  3. Optimally, each bootloader can be installed either with some live media or from within major OSes (Windows, Linux, MacOS, *BSD).

This really isn’t an issue with efi. bootloaders don’t replace each other but are installed side by side. the only thing linux might screw up is a default of which bootloader to boot, but that csn be easily changed back.

If you have the right tools :slight_smile:

It would be nice to have an app in Preferences to select what to boot, and have it configure the EFI firmware automatically depending on what you pick.

Then, there is no real need to do it automatically in Installer (unless you use the future “wipe the whole disk and set it all up for me” option), and it is done only under the user’s control.

So, yes I think that would be ideal: the bootloader deployed to some specific place in the EFI partition (in a Haiku subdirectory, not as the default bootx64.efi), and some easy to use GUI to configure it as the default if wanted. Then we can update the bootloader easily, and not risk erasing something else.

1 Like

I agree, I would even go one step further and version the bootloader. So that a user can use the previous one in case of issues. : )

1 Like

+1 +1 +1 +1 …

Please, oh dev gods, make that the near future. Haiku needs this desperately. Amen.

2 Likes