I’m using Ventoy on a USB flash drive and I’m trying to boot haiku-r1beta3-x86_64-anyboot.iso from it on an Lenovo X220. I chose the Haiku iso from the Ventoy menu and then I only get a blinking white underscore (?) in the upper left corner. Nothing happens, I’ve waited 30 minutes and tried a few times.
I have other OS that boots fine from the same flash drive on the same machine.
Will burning it to a flash drive the old fashioned way work without haiku_loader.efi fiddling, or do I have to go through that when booting directly from USB without Ventoy?
The image contains the efi file, no need to mess with it for boot from usb, but you still have to place it manually into the correct folder AFTER the installation.
What would it take for Haiku to work with Ventoy? It seems Ventoy loads the kernel, but then the kernel can’t find the .iso. Is this a kernel issue, or an EFI loader issue (not providing data the kernel needs)?
I think Ventoy needs some support from Haiku itself? Multiboot protocol or something? @mmu_man or @PulkoMandy or @davidkaroly could know something about it.
The haiku inage contains a got partition with the mbr bootcode and an efi partition with a file in the fallback path. I don’t see why you would need anything else.
They reinvented the wheel but only for Linux, the current system injects kernel modules at runtime to find the image file and make it appear as a usable partition to continue booting.
So yeah, not much should be needed, just needs someone to look at it.
For the record, I added some support for the MultiBootImage protocol in our loader, the only missing thing being understanding the boot partition information. (Yes, you can run haiku_loader as a kernel in QEMU, it will just ask for the boot partition.)
On the Haiku side you can look at src/system/boot/platform/bios_ia32/multiboot.cpp (IIRC the command line isn’t passed along because I couldn’t find a way to piggy back into driver_settings back then).
On the Ventoy side I’d check how it does it for linux, I don’t remember if it’s passed on the kernel command line or elsewhere.
Also note that Ventoy works by injecting their own binary blobs into the running system (with custom driver and who knows what). Generally this seems a bad idea, not only because it needs specific patch for each system they support, but also because they may inject malware in their blobs and no one would know. So, if you can, I would recommend consireing other solutions which don’t do this, and run the system without modifying it.