booster: unable to detect active ESP

Hey there,

I am attempting to create a live installation ISO for a custom distribution I am making. I have a rootfs setup, with a bootloader configured (syslinux for mbr/bios, and grub for EFI). I am using Arch Linux kernel and modules (since booster works just fine with Arch), and I am using booster universal to generate an initramfs image for my custom distribution.

Regardless of the mode I boot in under QEMU, and regardless of what I use syslinux vs GRUB I am receiving the following error:

booster: unable to detect active ESP: open /sys/firmware/efi/efivars/LoaderDevicePartUUID-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f: no such file or directory

I have stumbled upon the following issue #149 which seems similar, and a patch was proposed their to remove this check (as my custom distribution is close in structure to Alpine, so it made sense). After trying the patch I am left with the following error booster: /dev/sr0 unknown drive type which might be related to the device manager I am using mdevd, but then again shouldn’t booster run before any service/device manager has been started? or should there be hooks for the device manager like udev?

It seems that booster is trying to load efivarfs which is working, but then is trying to open a non-existent directory? I thought booster handled the mounting of sys? If so why is it failing? And why is it trying to detect an ESP when in MBR/BIOS mode? Also, could it be relying on the system’s service boot scripts to mount sys or for more functionality? If so, shouldn’t booster not do that because it comes before in the boot graph order?

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 25 (25 by maintainers)

Most upvoted comments

It is great to hear about the progress. To handle the latter problem please use ro boot parameter instead of rw. The kernel assumes cdrom is a read-only device and thus requires read-only filesystem.

Ok this is awesome! It is attempting to search for init which is /sbin/init. My custom distribution does not have /sbin and the init is located over at /usr/bin/init.

So I specified init=/usr/bin/init and it worked!