Manual Boot Stanza for Endeavour

I tried to make a menu entry for rEFInd, but it refuses to boot it, so I’m not entirely sure whats wrong with it.
This is what I have:

menuentry "Endeavour OS" {
    icon /EFI/refind/rEFInd-minimal-BW/icons/os_arch.png
    loader /boot/vmlinuz-linux
    initrd /boot/initramfs-linux.img
    options "root=UUID=3d3e4df6-97da-4378-804b-e61d349902d8 rw loglevel=3 nowatchdog nvme_load=YES"
    }
    submenuentry "Boot to single-user mode" {
        add_options "single"
    }
    submenuentry "Boot with minimal options" {
        options "ro root=UUID=3d3e4df6-97da-4378-804b-e61d349902d8"
    }
    submenuentry "Boot using fallback initramfs" {
        initrd /boot/initramfs-linux-fallback.img
    }
}

Any help is appreciated :slight_smile:

Welcome to EnOS’ forum @Trixelit!

I guess there is a missing intel-ucode.img (or amd-ucode.img if AMD cpu):

initrd /boot/intel-ucode.img /boot/initramfs-linux.img

Try the above and see if it works.

My first question is why are you needing a boot stanza? I run multiples of multi-boots, and don’t need any of those - even when I allow grub to start up one build (Garuda). I’m sure I can piece one together for you, though, if you include what your setup looks like (drives/partitions/intended result etc).

Have you through our Wiki (Discovery) for info - rEFInd is covered fairly well (OK - I’m biased :grin: ) there - and it might answer your questions even faster…

i can tell you REFInd works. Why are you doing this? I triple boot EOS using rEFInd and i use the grubx.64.efi to boot all my EOS desktops from rEFInd. It’s a boot manager so you launch the boot from rEFInd using either the vmlinuz-linux image or grubx64.efi. You just install rEFInd on your ESO installation and set the icon from the wiki and it works. No stanza required.

Try specifying volume. My BTRFS partition is labeled (both in GPT and filesystem) as “linux”. My EFI partition is labeled (only in filesystem) as “LINUX ESP”.
Here is an example:

menuentry "Arch Linux" {
icon     /EFI/refind/icons/os_arch.png
volume   "linux"
loader   /linux/arch/root/boot/vmlinuz-linux-zen
initrd   /linux/arch/root/boot/initramfs-linux-zen.img
options  "root=LABEL=linux rootflags=subvol=/linux/arch/root rw add_efi_memmap nvidia-drm.modeset=1 sysrq_always_enabled=1"
submenuentry "Boot using fallback initramfs" {
initrd /linux/arch/root/boot/initramfs-linux-zen-fallback.img
}
submenuentry "Boot to terminal" {
add_options "systemd.unit=multi-user.target"
}
submenuentry "Recovery mode (Regular kernel)" {
loader /linux/arch/root/boot/vmlinuz-linux
initrd /linux/arch/root/boot/initramfs-linux-fallback.img
add_options "single"
}
submenuentry "Load GRUB" {
volume "LINUX ESP"
loader \EFI\arch\grubx64.efi
}
}

EDIT: I just tested and discovered that refind follows the default subvolume.

Also refind throws a very briefly visible error message near the top left screen if something goes wrong. Try shooting a video of the screen as you load linux.

My kde install triple boot is btrfs on rEFInd. I have no issues.

### BEGIN /etc/grub.d/10_linux ###
menuentry 'EndeavourOS, on linux' --class endeavouros --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-5763454c-2b31-4858-aeaa-b717a836c98d' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod btrfs
        set root='hd0,gpt2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  5763454c-2b31-4858-aeaa-b717a836c98d
        else
          search --no-floppy --fs-uuid --set=root 5763454c-2b31-4858-aeaa-b717a836c98d
        fi
        echo    'Loading kernel linux ...'
        linux   /@/boot/vmlinuz-linux root=UUID=5763454c-2b31-4858-aeaa-b717a836c98d rw rootflags=subvol=@  amd_pstate.shared_mem=1 loglevel=3 nowatchdog nvme_load=YES
        echo    'Loading initial ramdisk ...'
        initrd  /@/boot/amd-ucode.img /@/boot/initramfs-linux.img
}
menuentry 'EndeavourOS, on linux (fallback initramfs)' --class endeavouros --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-5763454c-2b31-4858-aeaa-b717a836c98d' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod btrfs
        set root='hd0,gpt2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  5763454c-2b31-4858-aeaa-b717a836c98d
        else
          search --no-floppy --fs-uuid --set=root 5763454c-2b31-4858-aeaa-b717a836c98d
        fi
        echo    'Loading kernel linux ...'
        linux   /@/boot/vmlinuz-linux root=UUID=5763454c-2b31-4858-aeaa-b717a836c98d rw rootflags=subvol=@  amd_pstate.shared_mem=1 loglevel=3 nowatchdog nvme_load=YES
        echo    'Loading initial ramdisk ...'
        initrd  /@/boot/amd-ucode.img /@/boot/initramfs-linux-fallback.img
}

Edit: This is my grub on kde using refind to manage triple boot.

Edit2: Keep in mind this is my grub boot entry on kde. My rEFInd is installed on xfce from which it manages the triple boot. So i may need to show that?

Edit3: No i checked it’s the same but booting xfce. You are setting it up manually?

Edit4: You are booting from the vmlinuz-linux image file. I am booting from grubx64.efi but i can change that also to boot from the vmlinuz-linux image also. Makes no difference to me. rEFInd is just a boot manager so i still need grub boot loader.

@Trixelit, your bracketing seems wrong to me. Look at @mrvictory’s example. Your brackets don’t seem to be nested as they should be. The closing bracket after options before the first submenuentry belongs to the very end of the clause, I guess.

2 Likes

Here’s is an old menuentry I made on my refind testing. Don’t know if it works anymore but may give some tips along the way.

menuentry "EndeavourOS on linux" {
    icon     /EFI/refind/icons/os_endeavouros.png
    volume   "EndeavourOS"
    loader   /boot/vmlinuz-linux
    initrd   /boot/initramfs-linux.img
    options  "root=LABEL=EndeavourOS rw quiet add_efi_memmap initrd=boot\intel-ucode.img"
    submenuentry "Boot using fallback initramfs" {
        initrd /boot/initramfs-linux-fallback.img
    }
    submenuentry "Boot to terminal" {
        add_options "systemd.unit=multi-user.target"
    }
    # disabled
}

At least the options line should be the place where to include the microcode file.
Some details, like the label “EndeavourOS” is not the same as on your system.

Hi there, thanks for all the replies.

freebird54: My first question is why are you needing a boot stanza?

I’m trying to customise rEFInd, and I would like to have the name not show as “Boot /boot/vmlinux-linux from 200 GiB ext4 partition” and instead show as “Endeavour OS”.

mrvictory: Try specifying “volume”

My ext4 partition is unlabelled, so not sure what to do there.

ivanhoe: bracketing seems wrong

I have ZERO clue how that } got there.

I’ll try all this once I get home, after I try find the microcode file.

Thanks,
Trixelit

https://www.rodsbooks.com/refind/configfile.html#stanzas

1 Like

You label it :smile:

Just a note in passing - EASIEST way to label an ext4 partition is to use Gparted, especially if you’re lazy :grin: - and it can be a sanity saver if you get it done. It is nice to KNOW what you’re dealing with when making changes…

(see Wiki entry on rEFInd - case study for examples!)

2 Likes