Help please! Unable to boot into system

My install is BTRFS on LUKS following the guide from the wiki.

So I installed the updates that came out today, but didn’t reboot until a few hours later. When I finally did restart, grub informed me that none of the partitions were unmounted and the shutdown procedure failed. So I forced a reboot.

Once I decrypted my partition, I saw this:
IMG_20200804_215104

Which then went into this:
IMG_20200804_215120

Would I be ok to delete the oldest snapshot as that’s the one that seems to be causing me issues?

I need this running for work tomorrow, so I’d REALLY appreciate some help.

(I have no experience with btrfs, so this answer may not be useful. At the very least, the paths I’ve put in are not correct)

I’m not an expert, but first up, I’d boot into a live system, check if the disk is running out of space. If free disk space isn’t a problem, then I’d reinstall the kernel.
From the live system, run

pacman -S linux-zen
mkinitcpio -p linux-zen

The preset file is probably put in during kernel installation. If you get an error like

/usr/bin/mkinitcpio: line 265: /etc/mkinitcpio.d/linux-zen.preset: No such file or directory
==> ERROR: Failed to load preset: `/etc/mkinitcpio.d/linux-zen.preset'

then there may be some problem that is out of my limited knowledge.

Here is the preset file, just for reference. You probably don’t need it because I don’t think users are supposed to manually copy paste them.

Config
ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/EFI/Arch/vmlinuz-linux-zen"

PRESETS=('default' 'fallback')

#default_config="/etc/mkinitcpio.conf"
default_image="/boot/EFI/Arch/initramfs-linux-zen.img"
#default_options=""

#fallback_config="/etc/mkinitcpio.conf"
fallback_image="/boot/EFI/Arch/initramfs-linux-zen-fallback.img"
fallback_options="-S autodetect"

Thanks for the help!

I’ve been in the EOS live boot digging around, wouldn’t I need to chroot into the install? I chroot’d, but I can’t install a kernel because things aren’t mounted. Do I need to mount all my btrfs subvolumes?

Again, i don’t have knowledge of btrfs. But on a regular system, you do need to mount the partition before you can chroot

EDIT: You need to mount the partition. I googled it.

Yea, I have my btrfs volume mounted at /mnt, just not sure about the procedure from there.

If you think that the mount points are correct, then run the pacman and mkinitcpio commands from my first post. That should create the vmlinuz-linux-zen image which is missing right now.

So I think my issue is mounting btrfs properly. When I mount it to /mnt, I get all the subvolumes under it, and when I arch-chroot /mnt/@ it tells me WARNING: /mnt/@ is not a mount point. This may have undesirable effects.

Aha! The arch wiki isn’t too helpful with this, but the gentoo wiki helped me understand that to mount a subvolume you use the syntax mount - o subvol=<rel-path> <device> <mountpoint>.

1 Like

I’m back up and running! Wish I could understand what exactly happened that caused all this.

Anyway, once I properly mounted my BTRFS root subvolume with mount -o subvol=@ /dev/mapper/recovery /mnt, I ran arch-chroot /mnt and followed the EOS Wiki article on repairing GRUB and simply ran

grub-mkconfig -o /boot/grub/grub.cfg

followed by

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=EndeavourOS-grub

and upon reboot everything was good.

3 Likes

Did you install a new kernel but not generate/create the boot config?

1 Like

Glad you got this sorted out.
If you ever need to chroot again, there are instructions in the Wiki article on how to mount in a live environment; (at the very end :grin:).

1 Like

I updated linux & linux-zen, but nothing new. I do not remember seeing whether or not the boot config was updated, but that’s normally auto-generated.

1 Like

After this thorough lesson about mounting BTRFS I’m never gonna forget lol.

2 Likes