So update/new information with this systemd-nspawn. I got my laptop on Friday and I have yet to get a successful Fedora boot 🙁 There are 2 hurdles that I’ve imposed upon myself that I think are making it worse.
1) I want to use XBOOTLDR so that means the .iso installer is not gonna work
2) I want to have most of my partitions on an LVM filesystem
The XBOOTLDR is having a minor issue that when I click the power button and just let the laptop boot, it will only see entries on the esp. But if I spam F12 and select the “Linux Boot Manager” It works just fine. I am suspecting it is some sort of fast boot mechanism that only reads the esp on bootup, but I have found no setting that lets me disable this fast boot in my bios or the crazy lenovo tool. I am interested in writing a github issue and see what kind of answers I could get, but I fear it’s more hardware specific.
I can’t get the system to boot because of LVM. When I boot Fedora it actually seems to work fine initiating the kernel and starting things up, but it hangs on mounting the root filesystem. Any time I use systemd-nspawn -bD /fedora I cannot see the LVM volumes. If i just use chroot /fedora it works fine but I think that’s because it’s simply changing the root and my USB can read the LVM fine, not booting a whole containerized environment. If I do some funny bind mounts it works, but that seems like cheating and only fixes it for that usb instance.
I think the issue is the initramfs. It’s only goal is to mount the root filesystem. The kernel and initramfs are loaded into memory by the boot loader and the kernel uses initramfs to mount the file systemd and run the program /init. So with this knowledge it makes sense why nothing is working, my initramfs is not reading the LVM volume thus never mounting /root. So I’ve been spending time reading about the different ways this little compressed file is created. Red Hat and SUSE use a program called dracut, Arch, the only other one I’m really familiar with, is actually just a shell script from the Arch community. I’ve tried running the basic google commands for dracut but realised I have to point to a kernel to actually make it work, after stopping my last attempt >.>
I just think this is all quite fun to think about. I think about how Linus Torvalds once said he doesn’t use debian because he found it hard to install. Or how Richard Stallmen doesn’t typically install his operating systems because that’s not his expertise. He will just go to a local users group meeting and have someone install it for him there. I think it’s quite a good skill to be able to masterfully install a linux box. Linux is all about choice, so it’s funny that we are all ok with these automated installers doing things you may not want to do on your system.
It’s really blurring the lines of what a distro is to me, It’s just a social construct of what packages you get and from where. I’m coming to love the idea of Fedora. It’s basically 99% free software, with the 1% being proprietary blobs. It’s based on what the enterprise uses, not to mention it’s what Linus and Poettering use. It’s also very bleeding edge even though it uses a 6 month version release.
Here’s hoping I can actually start using Linux on this machine soon. It’s kinda half the reason I bought the damn thing.