I'm trying to get lxle working on my laptop, next to arch and windows with refind for bootloading. I'm not fresh out of the water in terms of understanding and experimentation and such, but hardly an expert on all the linux specificalities.

When I boot my lxle, I get an initramfs prompt. There are no notable errors displayed like mount failures or anything, just the usual gibberish. Honestly I don't see any indication of why I'm being dropped into this prompt. Refind passes the root=UUID=... parameter, and initramfs mounts it succesfully under /root: I can browse /root/@ and see lxle's files, including my /boot/refind_linux.conf.

When I then try to run /root/@/sbin/init, I get a message that libjson_something doesn't exist. I find it hard to believe the installer would omit a critical boot file... I tried btrfs check --repair but it didn't change anything.

Aside from that, I'm out of symptoms, clues and ideas. Any help please? Thanks in advance.

Edit: when I exit I get a kernel panic...


Turns out that it was as simple as adding


to my refind_linux.conf, since adding just the filesystem as root= parameter causes the btrfs root to be mounted, with @ and @home subvolumes inside it. The system expects to see the content of @ (root subvolume) mounted at / but instead finds the btrfs root with @ and @home mounted there, obviously breaking everything.

The other solution would be

btrfs sub set-default 257 /

to make the subvolid= parameter unnecessary. The btrfs root can then be accessed by mounting the filesystem with subvolid=0.

Btrfs basics really. I'm glad I played around with that this week (subvolumes, snapshots, etc), definitely worth the effort. It finally hit me that I was mounting the btrfs root as my filesystem root because of it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.