Refind Manual boot stanza

anyone know whats wrong with this refind boot stanza?

been looking here rEFInd - ArchWiki and here The rEFInd Boot Manager: Configuring the Boot Manager

and can’t find what I am doing wrong

for some reason it fails to boot with an
Invalid loader file not found while loading vmlinuz-linux-cachyos error
here is what I have defined at the end of my /boot/efi/EFI/refind/refind.conf

menuentry "Garuda Linux" {
    icon     /EFI/refind/icons/os_arch.png
    volume   8a69f047-feee-46cf-81a1-d299eb173883
    loader   /@/boot/vmlinuz-linux-cachyos
    initrd   /@/boot/initramfs-linux-cachyos.img
    options  "root=PARTUUID=b9c12dad-59b7-437a-9b44-334b217f8dab rw rootflags=subvol=@ loglevel=3 sysrq_always_enabled=1 amd_pstate=active amdgpu.ppfeaturemask=0xffffffff tsc=reliable clocksource=tsc nowatchdog nmi_watchdog=0"
    submenuentry "Boot using fallback initramfs" {
        initrd /@/boot/initramfs-linux-cachyos-fallback.img
    }
    submenuentry "Boot to terminal" {
        add_options "systemd.unit=multi-user.target"
    }
}

which seems correct …

UUID matches as well

lsblk -o NAME,PARTUUID,UUID
NAME        PARTUUID                             UUID
sda
└─sda2      20b07f95-f912-7f4a-a1dc-0bda6b23f987 d6a92575-7181-4506-80d1-84a9594f90e8
zram0
nvme0n1
├─nvme0n1p1 23ba08e3-a716-4615-8712-6b4a29ecbfc8 79CD-8D09
└─nvme0n1p2 b9c12dad-59b7-437a-9b44-334b217f8dab 8a69f047-feee-46cf-81a1-d299eb173883

the arch wiki gives this as an example config

menuentry "Arch Linux" {
        icon     /EFI/refind/icons/os_arch.png
        volume   "[bootdevice]"
        loader   /ROOT/boot/vmlinuz-linux
        initrd   /ROOT/boot/initramfs-linux.img
        options  "root=PARTUUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX rw rootflags=subvol=ROOT"

which is pretty much word for word what I have (except the extra options and the sub menu entry I did try removing those)

garuda-inxi
System:
  Kernel: 6.9.3-2-cachyos arch: x86_64 bits: 64 compiler: gcc v: 14.1.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-linux
    root=UUID=8a69f047-feee-46cf-81a1-d299eb173883 rw rootflags=subvol=@
    loglevel=3 sysrq_always_enabled=1 amd_pstate=active
    amdgpu.ppfeaturemask=0xffffffff tsc=reliable clocksource=tsc nowatchdog
    nmi_watchdog=0 initrd=@\boot\initramfs-linux-cachyos.img
  Desktop: KDE Plasma v: 6.0.5 tk: Qt v: N/A info: frameworks v: 6.2.0
    wm: kwin_wayland with: krunner vt: 1 dm: SDDM Distro: Garuda
    base: Arch Linux
Machine:
  Type: Desktop Mobo: ASRock model: X470 Taichi serial: <superuser required>
    uuid: <superuser required> UEFI: American Megatrends v: P5.10
    date: 10/20/2022
Battery:
  Device-1: hidpp_battery_0 model: Logitech Wireless Mouse MX Master 2S
    serial: <filter> charge: 55% (should be ignored) rechargeable: yes
    status: discharging
CPU:
  Info: model: AMD Ryzen 5 5600X bits: 64 type: MT MCP arch: Zen 3+ gen: 4
    level: v3 note: check built: 2022 process: TSMC n6 (7nm) family: 0x19 (25)
    model-id: 0x21 (33) stepping: 2 microcode: 0xA20120A
  Topology: cpus: 1x cores: 6 tpc: 2 threads: 12 smt: enabled cache:
    L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 3 MiB desc: 6x512 KiB
    L3: 32 MiB desc: 1x32 MiB
  Speed (MHz): avg: 4132 high: 4551 min/max: 550/4651 scaling:
    driver: amd-pstate-epp governor: performance cores: 1: 3640 2: 4548 3: 3654
    4: 4461 5: 4544 6: 4415 7: 3640 8: 4551 9: 3639 10: 3647 11: 4551
    12: 4296 bogomips: 88816
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: AMD Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
    vendor: Gigabyte driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x
    process: TSMC n7 (7nm) built: 2020-22 pcie: gen: 4 speed: 16 GT/s
    lanes: 16 ports: active: DP-1,DP-2,HDMI-A-2 empty: HDMI-A-1,Writeback-1
    bus-ID: 10:00.0 chip-ID: 1002:73df class-ID: 0300
  Display: wayland server: X.org v: 1.21.1.13 with: Xwayland v: 24.1.0
    compositors: 1: Gamescope 2: kwin_wayland driver: X: loaded: amdgpu
    unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi
    gpu: amdgpu d-rect: 4980x2513 display-ID: 0
  Monitor-1: DP-1 pos: bottom-r res: 2048x864 size: N/A modes: N/A
  Monitor-2: DP-2 pos: primary,top-left res: 1396x785 size: N/A modes: N/A
  Monitor-3: HDMI-A-2 pos: middle-c res: 1536x864 size: N/A modes: N/A
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: swrast gbm: drv: kms_swrast surfaceless: drv: radeonsi
    wayland: drv: radeonsi x11: drv: radeonsi
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.1.1-arch1.1
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 6700 XT (radeonsi
    navi22 LLVM 17.0.6 DRM 3.57 6.9.3-2-cachyos) device-ID: 1002:73df
    memory: 11.72 GiB unified: no display-ID: :0.0
  API: Vulkan v: 1.3.279 layers: 23 device: 0 type: discrete-gpu name: AMD
    Radeon RX 6700 XT (RADV NAVI22) driver: mesa radv v: 24.1.1-arch1.1
    device-ID: 1002:73df surfaces: xcb,xlib,wayland device: 1 type: cpu
    name: llvmpipe (LLVM 17.0.6 256 bits) driver: mesa llvmpipe
    v: 24.1.1-arch1.1 (LLVM 17.0.6) device-ID: 10005:0000
    surfaces: xcb,xlib,wayland
Audio:
  Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel
    pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 10:00.1 chip-ID: 1002:ab28
    class-ID: 0403
  Device-2: Sony INZONE H9 / H7
    driver: cdc_acm,hid-generic,snd-usb-audio,usbhid type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-6:3 chip-ID: 054c:0e53
    class-ID: 0a00
  API: ALSA v: k6.9.3-2-cachyos status: kernel-api with: aoss
    type: oss-emulator tools: N/A
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: PipeWire v: 1.0.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Dual Band Wireless-AC 3168NGW [Stone Peak] driver: iwlwifi
    v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 08:00.0
    chip-ID: 8086:24fb class-ID: 0280
  IF: wlp8s0 state: down mac: <filter>
  Device-2: Intel I211 Gigabit Network vendor: ASRock driver: igb v: kernel
    pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: d000 bus-ID: 0a:00.0
    chip-ID: 8086:1539 class-ID: 0200
  IF: enp10s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
  IF-ID-1: virbr0 state: down mac: <filter>
  Info: services: NetworkManager, smbd, sshd, systemd-timesyncd
Bluetooth:
  Device-1: Edimax Bluetooth Adapter driver: btusb v: 0.8 type: USB rev: 1.1
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 5-2:2 chip-ID: 7392:c611
    class-ID: e001 serial: <filter>
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.1
    lmp-v: 10 status: discoverable: yes pairing: yes class-ID: 6c0104
Drives:
  Local Storage: total: 5.46 TiB used: 5.4 TiB (98.9%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
    model: WD BLACK SN770 1TB size: 931.51 GiB block-size: physical: 512 B
    logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 731120WD temp: 34.9 C scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:3 vendor: Samsung model: SSD 980 1TB
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B
    speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter> fw-rev: 3B4QFXO7
    temp: 34.9 C scheme: GPT
  ID-3: /dev/sda maj-min: 8:0 vendor: Seagate model: ST4000VN006-3CW104
    size: 3.64 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    tech: HDD rpm: 5400 serial: <filter> fw-rev: SC60 scheme: GPT
Partition:
  ID-1: / raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
    used: 834 GiB (89.6%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 43.9 MiB (14.7%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
    used: 834 GiB (89.6%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
    used: 834 GiB (89.6%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 931.22 GiB size: 931.22 GiB (100.00%)
    used: 834 GiB (89.6%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
    zswap: no
  ID-1: swap-1 type: zram size: 31.26 GiB used: 4.29 GiB (13.7%)
    priority: 100 comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 12
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 58.4 C mobo: 34.0 C gpu: amdgpu temp: 57.0 C
    mem: 58.0 C
  Fan Speeds (rpm): cpu: 2191 fan-1: 0 fan-3: 1315 fan-4: 1413 fan-5: 1254
    gpu: amdgpu fan: 0
  Power: 12v: N/A 5v: N/A 3.3v: 3.28 vbat: 3.28 gpu: amdgpu watts: 32.00
Info:
  Memory: total: 32 GiB available: 31.26 GiB used: 15.33 GiB (49.0%)
  Processes: 568 Power: uptime: 1h 12m states: freeze,mem,disk
    suspend: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 12.49 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 255 default: graphical
    tool: systemctl
  Packages: 2904 pm: pacman pkgs: 2851 libs: 642 tools: octopi,paru,yay
    pm: appimage pkgs: 0 pm: flatpak pkgs: 53 Compilers: clang: 17.0.6
    gcc: 14.1.1 Shell: garuda-inxi default: fish v: 3.7.1
    running-in: alacritty inxi: 3.3.34
Garuda (2.6.26-1):
  System install date:     2024-01-11
  Last full system update: 2024-06-08
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:

the current kernel parameters:

  • BOOT_IMAGE=/@/boot/vmlinuz-linux-linux
  • initrd=@\boot\initramfs-linux-cachyos.img

But, in your refind.conf, you have:

  • loader /@/boot/vmlinuz-linux-cachyos
  • initrd /@/boot/initramfs-linux-cachyos.img

run just in case those file somehow doesn’t exist :

ls /@/boot/vmlinuz-linux-cachyos
ls /@/boot/initramfs-linux-cachyos.img

→ edit the refind.conf :
in example ← this is just an example you should edit it to sweet your system with ensuring the correct paths (bootloader, etc…) :

menuentry "Garuda Linux" {
    icon     /EFI/refind/icons/os_arch.png
    volume   8a69f047-feee-46cf-81a1-d299eb173883
    loader   /@/boot/vmlinuz-linux-cachyos
    initrd   /@/boot/initramfs-linux-cachyos.img
    options  "root=PARTUUID=b9c12dad-59b7-437a-9b44-334b217f8dab rw rootflags=subvol=@"
}

Ensure the paths use the forward slashes
→ and run :
refind-install then → mkinitcpio -P and you have to reboot .

my opinion : Just use grub or systemd bootloader if you know what you are doing.

1 Like

volume should be a PARTUUID, and the options line is typically a filesystem UUID (you have those backwards).

See also this how-to, it may be easier to follow than the resources you are using:

https://wiki.garudalinux.org/Writing_a_rEFInd_Boot_Stanza

6 Likes
ls /boot/
drwxr-xr-x   - root 31 Dec  1969  efi
drwxr-xr-x   - root  9 Jun 00:03  grub
drwxr-xr-x   - root  8 Jun 17:48  memtest86+
.rw-r--r-- 82k root 13 May 08:17  amd-ucode.img
.rw------- 71M root  7 Jun 21:43  initramfs-linux-cachyos-fallback.img
.rw------- 38M root  7 Jun 21:43  initramfs-linux-cachyos.img
.rw------- 68M root  7 Jun 12:55  initramfs-linux-lts-fallback.img
.rw------- 37M root  7 Jun 12:55  initramfs-linux-lts.img
.rw------- 65M root  7 Jun 12:56  initramfs-linux-xanmod-fallback.img
.rw------- 37M root  7 Jun 12:55  initramfs-linux-xanmod.img
.rw------- 71M root  7 Jun 12:56  initramfs-linux-zen-fallback.img
.rw------- 38M root  7 Jun 12:56  initramfs-linux-zen.img
.rw-r--r-- 614 root  7 Jun 12:46  refind_linux.conf
.rw-r--r-- 14M root  7 Jun 21:43  vmlinuz-linux-cachyos
.rw-r--r-- 13M root 27 May 21:50  vmlinuz-linux-lts
.rw-r--r-- 12M root  3 Jun 19:45  vmlinuz-linux-xanmod
.rw-r--r-- 14M root  1 Jun 18:36  vmlinuz-linux-zen

according to the refind documentation it does not matter tried both anyway

volume is apparently optional according to the refind docs I got that order from the archwiki example, but I’ll try inversing to see what happens

EDIT: yup that did it strange because the archwiki said to use the PARTUUID in the options line and then if you go to the refind documantion it says the volume line is

  1. optional
  2. takes a filesystem label or UUID not PARTUUID

see The rEFInd Boot Manager: Configuring the Boot Manager.

Grub doesn’t work with my motherboards fast boot (and if I disable it boots take to long)

No, that is not what it says. Among other things, it says this:

“If this option is not set, the volume defaults to the one from which rEFInd launched.”

In other words, it is optional if you are storing the kernel and initramfs on the EFI partition. In your case, the kernel and initramfs are on the Btrfs partition. With this kind of setup, correctly setting the volume entry is not optional.

No, that is not what it says. This is (again) from the documentation you linked:

"You pass this token a filesystem’s label, a partition’s label, or a partition’s GUID. "

A PARTUUID works, a filesystem UUID does not.

Or, just label your filesystem and use that value–that is arguably the easiest way.

1 Like

Ah ok I thought since it was mentioning filesystem labels the GUID it was talking about was the filesystem one. But it does say “Partition GUID”

Also misunderstood what
“volume defaults to the one from which rEFInd launched.”

Meant

/Boot/

Is actually on partition 2 here (btrfs partition)

Refind is installed into /boot/efi/ which is partition 1 (/boot/efi/ is just the mount point)

So from refunds perspective /boot/ doesn’t exist! When I don’t specify the root portions uuid

Also can the options line take partuuid? Though I do see everywhere else it’s custom to use uuid…

Yes, that’s right. :ok_hand:

Except a refund is when you get your money back. :face_with_hand_over_mouth:

Just kidding, it sounds like you have a good understanding of it now. It’s definitely tricky the first time you write a manual boot stanza, because the documentation is a little dense.

5 Likes

Oops typo :joy: but yes

Thanks for the Garuda wiki page makes it a lot clearer

Honestly didn’t expect a refind page

2 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.