-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
booster: mount(efivarfs): no such device
when UEFI booting on Alpine Linux via QEMU
#149
Comments
cc @nmeum Thanks for the report. I am not familiar with Alpine virt machine configuration so I might have questions along the way. What booster version do you have? Is there any chance you can try Could you please provide debug logs? It usually contains a lot of useful information.
These flags ^^ are for |
According to |
According to the packer thingy it uses the Alpine package which is booster 0.7 with a bunch of patches backported.
New release would be great 🙏
That might be the case, I personally don't use Booster with UEFI on Alpine. |
@nmeum, Thanks for sharing that. For some reason I had stuck in my head that Booster only supported EFI.
Yes, I was using 0.7 with some patches: Booster aport
@anatol Sorry if I wasn't clear above, it's not just Virt that is having an issue. "Extended" is It definitely seems to be something related to EFI. With the
No worries, I started with
Building from and using master was my very first attempts. I've just tried it again now from LTS KernelQEMU
system info
build booster from source
booster config
booster build
booster lsBooster Generated
Alpine Generated
GRUB Entry
Booting
and then no further output.. but when directed out to serial (Kernel
|
booster: mount(efivarfs): no such device
when UEFI booting on Alpine Linux via QEMU
I had a search through the issues and the closet thing I could find was #141 about mounting efivars. From that issue it sounds like Booster should be mounting
I had a quick search of the code and only reference I could find to
I'll do some more research and Googling on Alpine's |
Github search was less than helpful. Did a local search on my system and found the code to do the mount: |
I included I'm unsure if this is expected but:
I think that's me for the night. Hopefully this extra info will give you some idea as to the root cause. |
I haven't been able to find any reference to support in Alpine of So for testing I patched out the I did find I had to explicitly define all the same modules I saw from Alpine's PatchConfiguration
Build
|
This I looked at the linux sources and the only place where What is the kernel debug log? Do you see |
Attached is the kernel log with above Booster config and vanilla (unpatched) generated image. |
May I ask you to add |
The kernel log has the |
Sorry, my comment above should have contained |
Same error. Rebuilt
I did notice with your first 149 patch there was a new "EFI Variables" message:
|
Unsure if has any impact, but I also had a look at the Alpine and Arch Kernel configs to identify any differences with regards to EFI: Alpine
Arch
|
When I'm dropped to the busybox shell doing a |
The Line 667 in c7e328f
The block device files under |
If you got into the emergency shell after the |
Derp! It looks like that forced load of the module before attempting to mount worked. I forgot to change back to the 149 branch when I blew away the directory and pulled from from Git. Let me just do a few sanity checks to confirm before I close this as solved. |
Yup, it's looking all good now. A minimal
Thank you very much for your assistance in getting this to work! Since there are no examples yet in the |
I reopened this issue as I think that To clarify - to make your issue go away at Alpine one needs the patch from
Thank you! Please do. Documentation/examples/blogposts that explain how to work with booster are very welcome. |
Yes that is correct, the use of |
FYI: There is also: https://gitlab.alpinelinux.org/alpine/aports/-/blob/master/testing/booster/README.alpine Also keep in mind that the Alpine package is currently in |
Move readConfig() earlier as loadModule needs the list of builtin modules from the config. Issue #149
A fix for your issue has landed |
Sorry for the delay in responding. Yes the
Without
|
Thank you for the report. I added |
LGTM 👍🏽. Built and booted fine with an empty |
Move readConfig() earlier as loadModule needs the list of builtin modules from the config. Issue #149
great news! closing ticket now. |
@anatol I am excited to have come across Booster, and pretty keen to use it for generating my initramfs; thanks for creating it! I hope it gains wide adoption in the various Linux distros.
I initially tried getting it working on Arch Linux with a ZFS root file system. After beating my head against the wall for a few days I found #33, and realised it was never going to work 😄. So I switched over to XFS and was able to get the system to boot.
I'm now trying to reproduce this in Alpine Linux. I've spent a fair amount of time over the last several days trying to get it working, but just can't seem to get it to work no matter what I do--even though it seems others have?
If it helps I created a repo containing a (simplified) Packer template to build the QEMU images I'm using for testing with:
https://github.com/111A5AB1/packer-alpine-booster
It builds from Alpine Linux v3.15.4 "Extended" and "Virt" ISOs using
edge
repos; and installs the Booster package fromTesting
. Two additional Grub entries are also added to boot from Booster for the standard (lts/virt) and "edge" kernels.Summary:
mkinitfs
made initramfs boots fine (first two Grub entries).extended
)/virt (virt
) kernels just hang after "Loading ramdisk ..." (no output even with Booster debug enabled)edge
kernel appears to try and start booting, but fails very quickly withbooster: mount(efivarfs): no such device
.In addition to the setup in the repo I've also tried combinations of making a Universal initramfs, adding modules and additional files, as well as using Booster built direct from main (
master
). I originally* tried to boot directly via EFI without a boot loader; I saw the same results of the "Booting intramfs" hang and "efivars" issue. I made one of the initramfs images with busybox+ls and confirmed anls /sys/firmware/efi/efivars
is empty--it seems Booster is maybe not mounting it for some reason 😞?*Booting directly from EFI is my desired end goal; I dropped back to GRUB for testing since its the default/traditional Alpine installation via
setup-alpine
.Thanks very much in advance for pointing me in the right direction of how to get Alpine booting with Booster created initramfs images. Let me know if you need any more information or if there is anything you want me to try.
Cheers!
The text was updated successfully, but these errors were encountered: