Closed ahmed-tasaly closed 3 years ago
Did you check the prerequisites section in the readme? The "rootflags" option is missing in the "options" field of your stanza. It needs to be set and match the root subvolume:
rootflags=subvol=ROOT/@
The same has to be defined in your fstab, as part of the / mount point, otherwise modifying the snapshots' fstab files will fail. If it's missing, fix the main fstab file and also the fstab files of the latest three snapshots since you've set the "count" option to three. Which version do you have installed? Please run:
pacman -Q refind-btrfs
If it isn't version 0.3.3 please update the package, pacman should warn you about the /etc/refind-btrfs.conf being changed - just replace the current config file with the .pacnew one and change the "selection_count" option to 3. I've renamed the "count" option to "selection_count" a couple of days ago meaning that having it set at "count" should break.
This is how I'd define your stanza:
menuentry "EndeavourOS" {
icon /EFI/refind/icons/os_arch.png
volume endeavouros
loader /ROOT/@/boot/vmlinuz-linux
initrd /ROOT/@/boot/initramfs-linux.img
options "root=PARTUUID=826a2285-25bc-3443-9fea-cda9f20b7b59 rw rootflags=subvol=ROOT/@ loglevel=3 nowatchdog apparmor=1 security=apparmor radeon.si_support=0 amdgpu.cik_support=1 amdgpu.si_support=1 add_efi_memmap initrd=ROOT\@\boot\intel-ucode.img"
submenuentry "Boot using fallback initramfs" {
initrd /ROOT/@/boot/initramfs-linux-fallback.img
}
submenuentry "Boot to terminal" {
add_options "systemd.unit=multi-user.target"
}
}
This way it should match with the root partition and its boot file paths ("loader" and "initrd") should be replaced accordingly.
e Thank you very much for your help :)))) in fact i have looked many times at the read-me and at the prerequisites. but i didn't notice it ,, sorry for that
I changed the stanza as you mentioned but I forgot that I had changed the default Btrfs before so booting failed
I had to switch the default Btrfs subvolume to 0 then It accepted it
thank you again for your help
may allah guide you
I'm glad it works now. Just make sure to at least check the generated stanza and a random snapshot's (of those selected for booting) fstab file.
sudo refind-btrfs [sudo] password for muslim: Initializing the block devices using lsblk. Initializing the physical partition table for device '/dev/sda' using lsblk. Initializing the live partition table for device '/dev/sda' using findmnt. Initializing the physical partition table for device '/dev/sdb' using lsblk. Initializing the live partition table for device '/dev/sdb' using findmnt. Initializing the physical partition table for device '/dev/sdc' using lsblk. Initializing the live partition table for device '/dev/sdc' using findmnt. Initializing the physical partition table for device '/dev/zram0' using lsblk. Initializing the live partition table for device '/dev/zram0' using findmnt. Initializing the physical partition table for device '/dev/zram1' using lsblk. Initializing the live partition table for device '/dev/zram1' using findmnt. Initializing the physical partition table for device '/dev/zram2' using lsblk. Initializing the live partition table for device '/dev/zram2' using findmnt. Initializing the physical partition table for device '/dev/zram3' using lsblk. Initializing the live partition table for device '/dev/zram3' using findmnt. Initializing the physical partition table for device '/dev/zram4' using lsblk. Initializing the live partition table for device '/dev/zram4' using findmnt. Initializing the physical partition table for device '/dev/zram5' using lsblk. Initializing the live partition table for device '/dev/zram5' using findmnt. Initializing the physical partition table for device '/dev/zram6' using lsblk. Initializing the live partition table for device '/dev/zram6' using findmnt. Initializing the physical partition table for device '/dev/zram7' using lsblk. Initializing the live partition table for device '/dev/zram7' using findmnt. Found the ESP mounted at '/boot/efi' on '/dev/sdb1'. Found the root partition on '/dev/sdb3'. Searching for snapshots of the 'ROOT/@' subvolume in the '/.snapshots' directory. Found subvolume 'ROOT/@' mounted as the root partition. Found 17 snapshots of the 'ROOT/@' subvolume. Searching for the 'refind.conf' file on '/dev/sdb1'. Analyzing the 'refind.conf' file. ERROR (refind_btrfs.state_management.model/model.py/check_boot_stanzas): Could not find a boot stanza matched with the root partition!
Mounted EFI on /boot/efi , manaul boot stanza that I am booting from :))
menuentry "EndeavourOS" { icon /EFI/refind/icons/os_arch.png volume endeavouros loader /boot/vmlinuz-linux initrd /boot/initramfs-linux.img options "root=PARTUUID=826a2285-25bc-3443-9fea-cda9f20b7b59 rw loglevel=3 nowatchdog apparmor=1 security=apparmor radeon.si_support=0 amdgpu.cik_support=1 amdgpu.si_support=1 add_efi_memmap initrd=\boot\intel-ucode.img" submenuentry "Boot using fallback initramfs" { initrd /boot/initramfs-%v-fallback.img options "root=UUID=cb1c7b4d-ce70-4d8e-8e43-e89a63fe8b7f rw add_efi_memmap" } submenuentry "Boot to terminal" { add_options "systemd.unit=multi-user.target" } }
I set :