You are not logged in.

#1 2021-08-02 15:56:26

matth
Member
Registered: 2011-11-09
Posts: 26

[SOLVED] Systemd boot not using default entry for kernel.

I have the following config files for systemd-boot

$ cat /boot/loader/entries/arch.conf
title	Arch Linux Standard
linux	/vmlinuz-linux
initrd	/amd-ucode.img
initrd	/initramfs-linux.img
options	root=PARTUUID=8b3ea6fe-307d-40bd-af48-a9098594be1e rw
$ cat /boot/loader/entries/xanmod.conf
title	Arch Linux Xanmod
linux	/vmlinuz-linux-xanmod
initrd	/amd-ucode.img
initrd	/initramfs-linux-xanmod.img
options	root=PARTUUID=8b3ea6fe-307d-40bd-af48-a9098594be1e rw
$ cat /boot/loader/entries/zen.conf
title	Arch Linux Zen
linux	/vmlinuz-linux-zen
initrd	/amd-ucode.img
initrd	/initramfs-linux-zen.img
options	root=PARTUUID=8b3ea6fe-307d-40bd-af48-a9098594be1e rw
$ cat /boot/loader/loader.conf
default xanmod.conf
timeout 3
console-mode max

From what I understand from the wiki on configuration ( https://wiki.archlinux.org/title/System … figuration ) this should be loading the Xanmod kernel by default on boot. However, it always loads the Zen kernel by default instead. The Xanmod kernel works fine if I manually select that entry during boot but it doesn't seem to default to it.

Do you see anything missing from here that could be causing this not to work?

Last edited by matth (2021-08-06 13:12:29)

Offline

#2 2021-08-02 16:02:00

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 24,088

Re: [SOLVED] Systemd boot not using default entry for kernel.

The entry name is without the .conf iirc so your default would just be xanmod in your loader.conf (though I do see now that the wiki includes it but I'm almost certain it's without...)

Something that could also interfere here, you can use the d key to explicitly enforce a default (signified by an arrow in the boot menu) that always takes precedence in which case you'd want to clear it with d again (... or just use that to enforce xanmod)

Last edited by V1del (2021-08-02 16:05:23)

Offline

#3 2021-08-02 16:03:46

Scimmia
Fellow
Registered: 2012-09-01
Posts: 12,445

Re: [SOLVED] Systemd boot not using default entry for kernel.

If you have a UEFI variable for LoaderEntryDefault, that will override the default set in the config file. See the tip in the configuration section of the page you linked.

Online

#4 2021-08-06 13:12:04

matth
Member
Registered: 2011-11-09
Posts: 26

Re: [SOLVED] Systemd boot not using default entry for kernel.

Thanks, it was a matter of the .conf in the loader.conf

It works just fine with:

$ cat /boot/loader/loader.conf
default xanmod
timeout 3
console-mode max

Offline

#5 2021-08-06 17:58:36

Raynman
Member
Registered: 2011-10-22
Posts: 1,539

Re: [SOLVED] Systemd boot not using default entry for kernel.

Old systemd-boot on your ESP? Check `bootctl status`.

Offline

#6 2021-08-10 14:15:10

matth
Member
Registered: 2011-11-09
Posts: 26

Re: [SOLVED] Systemd boot not using default entry for kernel.

System:
     Firmware: UEFI 2.31 (American Megatrends 4.653)
  Secure Boot: disabled
   Setup Mode: user
 TPM2 Support: no
 Boot into FW: supported

Current Boot Loader:
      Product: systemd-boot 234
     Features: ✗ Boot counting
               ✓ Menu timeout control
               ✗ One-shot menu timeout control
               ✓ Default entry control
               ✓ One-shot entry control
               ✗ Support for XBOOTLDR partition
               ✗ Support for passing random seed to OS
               ✓ Boot loader sets ESP information
          ESP: /dev/disk/by-partuuid/ef57d203-1130-4709-b7bf-b7fd893b471e
         File: └─/EFI/systemd/systemd-bootx64.efi

Random Seed:
 Passed to OS: no
 System Token: not set
       Exists: no

Available Boot Loaders on ESP:
          ESP: /boot (/dev/disk/by-partuuid/ef57d203-1130-4709-b7bf-b7fd893b471e)
         File: └─/EFI/systemd/systemd-bootx64.efi (systemd-boot 234)
         File: └─/EFI/BOOT/BOOTX64.EFI (systemd-boot 234)

Boot Loaders Listed in EFI Variables:
        Title: Linux Boot Manager
           ID: 0x0001
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/ef57d203-1130-4709-b7bf-b7fd893b471e
         File: └─/EFI/systemd/systemd-bootx64.efi

        Title: rEFInd Boot Manager
           ID: 0x0000
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/ef57d203-1130-4709-b7bf-b7fd893b471e
         File: └─/EFI/refind/refind_x64.efi

Boot Loader Entries:
        $BOOT: /boot (/dev/disk/by-partuuid/ef57d203-1130-4709-b7bf-b7fd893b471e)

Default Boot Loader Entry:
        title: Arch Linux Zen
           id: zen.conf
       source: /boot/loader/entries/zen.conf
        linux: /vmlinuz-linux-zen
       initrd: /amd-ucode.img
               /initramfs-linux-zen.img
      options: root=PARTUUID=8b3ea6fe-307d-40bd-af48-a9098594be1e rw

Offline

#7 2021-08-10 17:35:19

Raynman
Member
Registered: 2011-10-22
Posts: 1,539

Re: [SOLVED] Systemd boot not using default entry for kernel.

234 is indeed somewhat old. I'm pretty sure the change (to require .conf) was somewhere between 240 and 245, and we're at 249 now. So if you `bootctl update`, you want to update loader.conf at the same time.

Last edited by Raynman (2021-08-10 17:35:56)

Offline

#8 2021-08-12 19:34:46

matth
Member
Registered: 2011-11-09
Posts: 26

Re: [SOLVED] Systemd boot not using default entry for kernel.

Thanks for the tip on updating the bootloader. I hadn't touched that since I switched to systemd-boot over 4 years ago on this machine and I'd been using rEFInd on this machine for the 4 years before that.

I read up on that section in the Wiki and now I have it updating with Pacman hooks.

Offline

Board footer

Powered by FluxBB