[Solved] I cannot boot into Haiku - EFI - 64 bit (the solution using rEFInd)

Hi All,

I installed Haiku on a Thknkpad X220 from live usb stick. This machine has an SSD hard drive 256 gb. I formatted the hard drive and then installed Haiku as my only operating system. During installation, when I tried to use the bootmanager to set up the boot menu it did not set up the boot menu on the SSD hard drive.

I then followed the instructions as explained here and tried to boot using UEFI: UEFI Booting Haiku | Haiku Project
I named the partition as EFI, added a boot subdirectory directory and placed the haiku_loader.efi in the boot subdirectory under efi directory.

So, specifically, this is what I did:

The Partition Layout

  • I chose a GPT disk system on the target device.
  • I created a 64 MiB partition at the start of the disk.
    • Set it at “EFI system data” type.
    • Formatted as FAT32, labelled “EFI”
  • Created Haiku partition (~ 30 gb)
    • Formatted as BeFS, label “Haiku”
      The post installation,

I mounted the “EFI” partition
Then in the /efi folder, created a boot subfolder (mkdir boot)
Copied the /boot/system/data/platform_loaders/haiku_loader.efi to /efi/boot

Then when I tried to reboot, the computer did not reboot, instead it went into the BIOS menu and it listed Grub-uefi as the first entry but that did not do anything.

But when I inserted the Haiku USB (from where I installed the system), and hit ESC key, it then booted into the new installed system. At that point, even if I remove the USB drive, it does not matter.

What do I need to do so the system can boot without the USB inserted?

The bootloader also usually needs to be renamed to bootx64.efi.

Thank you for this suggestion. Renaming the file to bootx64.efi did not change anything.

I just noticed the path appears to be missing an extra “efi” directory at the top level. If your EFI partition is mounted at /efi then the path to the bootloader would be /efi/efi/boot/bootx64.efi

1 Like

Yes!
Thanks a million!
It worked.
so, this is what I had to do (just in case it helps anyone in my similar situation):

  1. Download rEFInd from rEFInd download | SourceForge.net
  2. Expand refind-bin-xxx.zip
  3. Copied drivers_x64, icons, tools_x64, renamed refind_sample.conf to refind.conf, and refind_x64.efi to /efi/efi/boot (thanks to you, @Lrrr for this advice!)
  4. Also renamed the haiku_loader.efi to bootx64.efi
  5. added a menu entry to refind.conf to indicate the volume, and the location of the loader, and “enable”, so the menu entry looked like:
menuentry "haiku"{
   volume "haiku"
   loader /efi/efi/boot/bootx64.efi
  enabled
}

Saved the file, exited,
Reboot.
Worked!
Thanks again!

as reference, it may be easier to simply copy the contents of the ESP on the thumb drive you booted on 1:1 to the ESP of your new install.

regards

1 Like

Great point. I was not sure if the usb had an ESP in the first place, I could not see that partition at all in the usb drive. This is why I did not attempt to copy paste.