Haiku wants to reboot after every install

I finally tried installing Haiku Beta 4 on bare metal. Well, I have 2 64 bit builds on my daily driver… I just added a dedicated Haiku build to it’s own 500 GB SSD card to see if it would behave better when it was all alone on some hardware, plus I really want to build a lot of AQEMU virtual machines on that drive and see if I am able to use one of those as my daily driver for awhile.

My landlady gave me her old 32 bit pc, which I am fixing up to run the 32 bit version of Haiku Beta 4. I’m actually really looking forward to that.

Anyway, onto my issue. Every time I install a single package, regardless of whether it is from HaikuDepot or from Terminal, Haiku wants to reboot. Now, I can install more packages, and it seems to work, however, after I reboot, I am missing a ton of application names in my application menu.

The applications are installed. I’ve verified that, by trying to install them again at the terminal. They simply don’t show up on the menu.

Another thing, when I reboot, I’m using rEFInd, and moved the Haiku bootloader to a folder named Haiku under EFI and renamed it to haiku_loader.efi

I love rEFInd as a bootloader and have used it for years. I added 5 themes to the project along with 98 OS icons as a thank you to the creator, including Haiku.ico. My most popular theme is rEFInd-chalkboard. rEFInd finds both of my Haiku Beta 4 builds, no problem, however, it is incredibly cumbersome to launch them every single time.

It asks me about resolutions, and I have to select the one I want, which is the one it initially gives me. But the really difficult part is the versioning bit. Honestly, I don’t recall doing this myself, so I’m guessing it just does this? On every boot up I get a list of how many times I’ve logged in, the most current one being the first entry. Honestly, I’d just as soon as skip this and boot straight into my system. This is such a chore tbh.

It is a good idea to start from scratch, install the OS and make sure it works first, then add your fancy things one by one to find out where the problem is.

Well, let’s try to explain what is happening, that may help finding the issue (which is probably not rEFInd, let’s not blame 3rd party software by default).

Normally you should not get to the boot menu automatically at every boot. This happens because our bootloader was not able to find your Haiku installation. A possible cause for this is that the partition you installed Haiku to is not set to the right partition type in the MBR or GPT partition table. Did you create the partition yourself or did you reuse an existing one? If you created it, which tool did you use? In Haiku’s own DriveSetup, the correct type (Be file system) is selected by default, but in other tools it will probably set a Linux or Windows type by default.

The second problem is that you have selected a specific version of Haiku to boot. This is meant as a “failsafe” solution when you have broken your system, and, in particular, installing new packages from this situation is restricted. That’s why Haiku always asks you to reboot when you install something, it desperately wants to be running on the “latest” version where things can be installed and removed more easily.

So, the things to check:

  • Fix the partition type for your Haiku install if it is not correct
  • Make sure you can boot automatically wihout having to select things in the boot menu
  • Once that’s all set, installing packages should start working

I’m not adding rEFInd, it was already there. My preamble was to say I had added the additional artwork, and icons into my rEFInd themes around 5-7 years ago in preparation for now for when I’m testing Haiku on bare metal on my daily driver along with 4 other operating systems, therefore a bootloader is essential for my daily requirements.

rEFInd pretty much picks up just about every OS out there, however there are a couple of them that refuse to just “be found” and one must be a bit more diligent.

rEFInd 14.0.2 was picking up my 2 builds I had made on 2 separate SSD’s.without a hitch. That wasn’t the issue. At least I don’t think it was.

Once I selected one of the builds, it wanted me to choose from what looked like a list of snapshot builds. If I selected the latest, it would take me to the last build I seemed to have. Everytime I install a program, say at the terminal, it saved a new system snapshot.

It’s almost like I was running under Aquemu with snapshots set to yes, but I’m on bare metal., it’s weird.

Sooo, I decided to bite the bullet and nuke the 500 GB SSD with Haiku on it. Well, I just used gparted to set the SSD partition to GPT, set all the partitions on it like I normally do. rEFInd,Linux recovery tools, and Haiku. Shutdown, startup with Haiku Beta4 64bit in the USB drive… use DriveSetup and find the partition and format it as BeFS, named Haiku. Start installer and choose that Haiku BeFS drive and do the installation.

1st startup after that installation, and rEFInd could not find the new installation.

Back to the drawing board.

Both Haiku partitions were originally created in gparted, and then once I got into the installation and ran DriveSetup, I formatted the Haiku partition as a BeFS partition, named Haiku. Then I ran the installation, using the newly created Haiku BeFS drive.

I tried doing this from scratch, wiping the drive completely, and rEFInd can no longer see the new build.

It’s been a long day. I’ll look at this tomorrow.

Try leaving the space empty, then creating the partition with DriveSetup.

If rEFInd does not find Haiku, you probably just forgot to copy the EFI bootloader to the EFI partition like you had in your previous install. That is not yet done automatically on installation.

Having created the partition yourself, you have to set it to the corect partition type. For a GPT disk that is 42465331-3ba3-10f1-802a-4861696b7521. Notice this is the type of the partition, something different from the type of filesystem you format it with. See, for example: Adventures installing Haiku to MacBook Pro (11.3, late 2014, on SSD, EFI) - #3 by Zenja

Wrt the snapshots, that’s a feature in Haiku. Whenever you install or uninstall a package, that state is backedup so you can go back if anything is wrong. It’s not a full snapshot, though, just the installed packages.

Don’t create the haiku partitions with Gparted, this tool sets the partition type to linux by default, use DriveSetup instead.

That is not enough, the partition type is stored in the partition header and is independant of the actual formatting.

Thank you, thank you, thank you, that was key to getting past my problems.

I could initialize the SSD completely in gparted, but building it from scratch with DriveSetup was the trick. Once I had the efi files in the proper place, I could at least boot from the setup page.

I hope to be able to figure out a rEFInd custom script that will let me launch it from the bootloader, but this is a great start. It’s super fast, I’ve got a ton of room to build virtual AQEMU machines, so I won’t have to reboot. I want to just copy my daily driver’s home directory’s into the virtual machines and try running Haiku as my daily driver, but if I need to jump into one of my other builds, a virtual machine will suffice.

Thank you,

I took your advice, and clobbered the whole thing, and built it with DriveSetup, and am able to access it via the setup menu for now. That’s a major step forward.

Actually, even after setting up a Haiku partition using only the Haiku tools from the install USB, it may still render a system where rEFInd is not able to find that particular Haiku instance.

It has nothing to do with the boot loader, it has more to do with the content of the refind.conf under /EFI/BOOT. After putting in a lot of research, you have to specify where the efi boot file for Haiku can be found, if you want to be sure of having it show up on the rEFInnd menu. Fortunately, there are a couple of places where this can be accomplished, so I simply put it under both, and on my next bootup, there it was.

I love this community. With all of this help, I’ve been able to get my bare metal system running in top form on my daily driver with 2 Haiku SSD
dedicated partitions, and a AQemu virtual machine all running 64 bit versions of the OS.

I’ve also managed to get an old Pentium class desktop my landlady gave me that used to run her Windows XP desktop, and an old Celeron laptop that ran our old Windows ME, ages ago and put the XOSL boot manager on them, and installed Haiku to the lion’s share of each drive. I’ve got to say that Haiku is blistering fast on old hardware, and this is coming from someone who has spent years in prototyping labs testing all sorts of software on a wide range of equipment. Truly, I am impressed with the performance of this operating system like nothing before, and I’ve heard it all, and been sorely disappointed in the past. This OS is the real deal. To pull the speeds I’m seeing on a Pentium, just blows my mind. I’ve maintained this PC running Windows XP for my landlady since 2015, and let me tell you, it was maintenance hell. Slowest thing on earth. But running Haiku, it’s blazing fast. Huge kudos to the developers of this OS.