Is ‘systemd-boot-update’ service enabled by default in EOS?

Can someone who hasn’t messed with this setting fill me in on whether ‘systemd-boot-update’ service is enabled by default in a clean EOS install? At the moment I am using Arch itself and I do now know that installing via archinstall script does not enable this by default. This being enabled is needed to make sure your initramfs stays in parity with the system’s systemd version. I suspect it’s been a source of some issues I’ve experienced, which I am currently troubleshooting. Just curious for my reference. Thanks

You can check this by running systemctl status systemd-boot-update

That service isn’t needed on EOS.

We ship a pacman hook that updates it when systemd updates.

3 Likes

Ah, interesting. That’s useful info. Thanks!

1 Like

I am not sure if this is being the case.

systemd-boot-update.service executes:

bootctl --no-variables --graceful update

update

Updates all installed versions of systemd-boot(7), if the available version is newer than the version installed in the EFI system partition. This also includes the EFI default/fallback loader at ESP/EFI/BOOT/BOOT*.EFI. The boot loader is then added to end of the firmware’s boot loader list if missing.

It does need to be updated somehow. We use a pacman hook but if you didn’t have the hook, the service is an alternative.

1 Like

Yes, I understand that it needs to be updated but bootctl update, doesn’t it just make sure that the latest bootloader binary that is shipped with the latest systemd-boot is installed. Somewhat equivalent to grub-install after an update to the Grub package.

Is this what you’re referring to that’s bundled in EOS?

Yes, that is what the service does, makes sure they are sync.

We have our own hook as part of kernel-install-for-dracut.

But basically it does the same thing.

1 Like

The reason I was asking the question in the main post is because this morning I ran a pacman update and systemd was part of the update. I rebooted after the update and the OS wouldn’t load. It just booted into a black screen. I noticed the systemd-boot-update was disabled, so I was thinking that might’ve been why.

[2023-12-13T04:27:13-0800] [PACMAN] Running ‘pacman -Syy’
[2023-12-13T04:27:13-0800] [PACMAN] synchronizing package lists
[2023-12-13T04:27:17-0800] [PACMAN] Running ‘pacman -Syu’
[2023-12-13T04:27:17-0800] [PACMAN] synchronizing package lists
[2023-12-13T04:27:18-0800] [PACMAN] starting full system upgrade
[2023-12-13T04:27:27-0800] [ALPM] transaction started
[2023-12-13T04:27:27-0800] [ALPM] upgraded lua (5.4.6-2 → 5.4.6-3)
[2023-12-13T04:27:27-0800] [ALPM] upgraded systemd-libs (255-1 → 255-2)
[2023-12-13T04:27:27-0800] [ALPM] upgraded systemd (255-1 → 255-2)
[2023-12-13T04:27:28-0800] [ALPM] upgraded systemd-sysvcompat (255-1 → 255-2)
[2023-12-13T04:27:28-0800] [ALPM] transaction completed
[2023-12-13T04:27:28-0800] [ALPM] running ‘20-systemd-sysusers.hook’…
[2023-12-13T04:27:28-0800] [ALPM] running ‘30-systemd-catalog.hook’…
[2023-12-13T04:27:28-0800] [ALPM] running ‘30-systemd-daemon-reload-system.hook’…
[2023-12-13T04:27:28-0800] [ALPM] running ‘30-systemd-daemon-reload-user.hook’…
[2023-12-13T04:27:28-0800] [ALPM] running ‘30-systemd-hwdb.hook’…
[2023-12-13T04:27:28-0800] [ALPM] running ‘30-systemd-sysctl.hook’…
[2023-12-13T04:27:28-0800] [ALPM] running ‘30-systemd-tmpfiles.hook’…
[2023-12-13T04:27:28-0800] [ALPM] running ‘30-systemd-udev-reload.hook’…
[2023-12-13T04:27:28-0800] [ALPM] running ‘30-systemd-update.hook’…
[2023-12-13T04:27:28-0800] [ALPM] running ‘90-mkinitcpio-install.hook’…
[2023-12-13T04:27:28-0800] [ALPM-SCRIPTLET] ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: ‘default’
[2023-12-13T04:27:28-0800] [ALPM-SCRIPTLET] ==> Using default configuration file: ‘/etc/mkinitcpio.conf’
[2023-12-13T04:27:28-0800] [ALPM-SCRIPTLET] → -k /boot/vmlinuz-linux -g /boot/initramfs-linux.img --microcode /boot/intel-ucode.img
[2023-12-13T04:27:28-0800] [ALPM-SCRIPTLET] ==> Starting build: ‘6.6.6-arch1-1’
[2023-12-13T04:27:28-0800] [ALPM-SCRIPTLET] → Running build hook: [base]
[2023-12-13T04:27:29-0800] [ALPM-SCRIPTLET] → Running build hook: [udev]
[2023-12-13T04:27:29-0800] [ALPM-SCRIPTLET] → Running build hook: [autodetect]
[2023-12-13T04:27:29-0800] [ALPM-SCRIPTLET] sort: cannot read: ‘/sys/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.2/3-3.2.1/3-3.2.1.4/3-3.2.1.4.2/3-3.2.1.4.2:1.4/ep_84/uevent’: No such file or directory
[2023-12-13T04:27:29-0800] [ALPM-SCRIPTLET] ==> WARNING: An error was encountered during device lookup. Retrying.
[2023-12-13T04:27:30-0800] [ALPM-SCRIPTLET] → Running build hook: [keyboard]
[2023-12-13T04:27:30-0800] [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: ‘xhci_pci’
[2023-12-13T04:27:30-0800] [ALPM-SCRIPTLET] → Running build hook: [keymap]
[2023-12-13T04:27:30-0800] [ALPM-SCRIPTLET] → Running build hook: [modconf]
[2023-12-13T04:27:30-0800] [ALPM-SCRIPTLET] → Running build hook: [block]
[2023-12-13T04:27:30-0800] [ALPM-SCRIPTLET] → Running build hook: [filesystems]
[2023-12-13T04:27:30-0800] [ALPM-SCRIPTLET] → Running build hook: [fsck]
[2023-12-13T04:27:30-0800] [ALPM-SCRIPTLET] ==> Generating module dependencies
[2023-12-13T04:27:30-0800] [ALPM-SCRIPTLET] ==> Creating zstd-compressed initcpio image: ‘/boot/initramfs-linux.img’
[2023-12-13T04:27:30-0800] [ALPM-SCRIPTLET] ==> Image generation successful
[2023-12-13T04:27:30-0800] [ALPM-SCRIPTLET] ==> Building image from preset: /etc/mkinitcpio.d/linux.preset: ‘fallback’
[2023-12-13T04:27:30-0800] [ALPM-SCRIPTLET] ==> Using default configuration file: ‘/etc/mkinitcpio.conf’
[2023-12-13T04:27:30-0800] [ALPM-SCRIPTLET] → -k /boot/vmlinuz-linux -g /boot/initramfs-linux-fallback.img -S autodetect --microcode /boot/intel-ucode.img
[2023-12-13T04:27:31-0800] [ALPM-SCRIPTLET] ==> Starting build: ‘6.6.6-arch1-1’
[2023-12-13T04:27:31-0800] [ALPM-SCRIPTLET] → Running build hook: [base]
[2023-12-13T04:27:31-0800] [ALPM-SCRIPTLET] → Running build hook: [udev]
[2023-12-13T04:27:31-0800] [ALPM-SCRIPTLET] → Running build hook: [keyboard]
[2023-12-13T04:27:31-0800] [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: ‘xhci_pci’
[2023-12-13T04:27:32-0800] [ALPM-SCRIPTLET] → Running build hook: [keymap]
[2023-12-13T04:27:32-0800] [ALPM-SCRIPTLET] → Running build hook: [modconf]
[2023-12-13T04:27:32-0800] [ALPM-SCRIPTLET] → Running build hook: [block]
[2023-12-13T04:27:32-0800] [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: ‘aic94xx’
[2023-12-13T04:27:33-0800] [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: ‘bfa’
[2023-12-13T04:27:33-0800] [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: ‘qed’
[2023-12-13T04:27:33-0800] [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: ‘qla1280’
[2023-12-13T04:27:33-0800] [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: ‘qla2xxx’
[2023-12-13T04:27:33-0800] [ALPM-SCRIPTLET] ==> WARNING: Possibly missing firmware for module: ‘wd719x’
[2023-12-13T04:27:34-0800] [ALPM-SCRIPTLET] → Running build hook: [filesystems]
[2023-12-13T04:27:34-0800] [ALPM-SCRIPTLET] → Running build hook: [fsck]
[2023-12-13T04:27:36-0800] [ALPM-SCRIPTLET] ==> Generating module dependencies
[2023-12-13T04:27:36-0800] [ALPM-SCRIPTLET] ==> Creating zstd-compressed initcpio image: ‘/boot/initramfs-linux-fallback.img’
[2023-12-13T04:27:36-0800] [ALPM-SCRIPTLET] ==> Image generation successful
[2023-12-13T04:27:36-0800] [ALPM] running ‘dbus-reload.hook’…
[2023-12-13T04:27:39-0800] [PACMAN] Running ‘pacman -S -y --config /etc/pacman.conf --’
[2023-12-13T04:27:39-0800] [PACMAN] synchronizing package lists
[2023-12-13T05:14:11-0800] [PACMAN] Running ‘pacman -S grub’
[2023-12-13T05:14:13-0800] [ALPM] transaction started
[2023-12-13T05:14:13-0800] [ALPM] installed grub (2:2.12rc1-7)
[2023-12-13T05:14:13-0800] [ALPM-SCRIPTLET] :: Install your bootloader and generate configuration with:
[2023-12-13T05:14:13-0800] [ALPM-SCRIPTLET] # grub-install …
[2023-12-13T05:14:13-0800] [ALPM-SCRIPTLET] # grub-mkconfig -o /boot/grub/grub.cfg
[2023-12-13T05:14:13-0800] [ALPM] transaction completed
[2023-12-13T05:14:13-0800] [ALPM] running ‘30-systemd-update.hook’…
[2023-12-13T05:14:13-0800] [ALPM] running ‘texinfo-install.hook’…

Then, I fail to see what it has to do with:

:thinking:

You don’t appear to be running systemd-boot…

Hmm. How do you figure that?

I certainly installed Arch with systemd bootloader selected. When I reboot, systemd is what appears.

Oh, are you running both?

Here is the systemd update running:

[userl@archlinux ~]$ efibootmgr
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001
Boot0000* Linux Boot Manager    HD(1,GPT,f30ab96d-6b2f-4690-b7e2-7160941b1e33,0x800,0x100000)/File(\EFI\systemd\systemd-bootx64.efi)
Boot0001* UEFI OS       HD(1,GPT,f30ab96d-6b2f-4690-b7e2-7160941b1e33,0x800,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)0000424f

Oh, I see what you’re saying. I installed GRUB earlier as I was about to switch to GRUB, but I decided to not do so anymore. I forgot to remove it, thanks for reminding me.

Also, you don’t appear to be using any of the EOS systemd-boot infrastructure. It looks like you built your own.

This is not our hook.

Correct. This specific device is using Arch instead of EOS.