Thanks for writing this script! It's the cleanest way I've found to get small unified kernel images via booster + sbctl to work.
However, a couple of times now the update hook has somehow failed. Here is what I see in the console:
(10/17) Updating linux booster images...
(11/17) Updating UKI files...
error: command failed to execute correctly
(12/17) Removing orphaned EFI entries...
(13/17) Compiling GSettings XML schema files...
(14/17) Updating icon theme caches...
(15/17) Update Nvidia module in initcpio
(16/17) Updating the desktop file MIME type cache...
(17/17) Signing EFI binaries...
This results in a system that doesn't boot unless I catch it before rebooting. In this case both booster-linux.img and vmlinuz-linux are left on /boot. I can "fix" this by just running sudo booster-um -G manually afterwards. Could it be some sort of timing issue or conflict with the booster hook?
The frustrating thing is that the error message doesn't give me any hint towards what has gone wrong. Similarly, /var/log/pacman.log is silent on the matter -- it looks like all three of these hooks ran normally, which is not the case:
[2025-09-12T16:40:08+0300] [ALPM] running '90-booster-install.hook'...
[2025-09-12T16:40:09+0300] [ALPM] running '90-booster-um-install.hook'...
[2025-09-12T16:40:10+0300] [ALPM] running '91-booster-um-efi-remove.hook'...
Here's the entire run from pacman.log:
[2025-09-12T16:39:43+0300] [PACMAN] Running 'pacman -Syu'
[2025-09-12T16:39:43+0300] [PACMAN] synchronizing package lists
[2025-09-12T16:39:43+0300] [PACMAN] starting full system upgrade
[2025-09-12T16:39:55+0300] [ALPM] running '60-booster-remove.hook'...
[2025-09-12T16:39:55+0300] [ALPM] running '60-booster-um-remove.hook'...
[2025-09-12T16:39:57+0300] [ALPM-SCRIPTLET] 1;33m==> Removing UKI for 1;32mlinux (6.16.6-arch1-1)...
[2025-09-12T16:39:57+0300] [ALPM-SCRIPTLET] 1;33m-> Removing 1;32mlinux leftovers from 1;33m/boot...
[2025-09-12T16:39:57+0300] [ALPM-SCRIPTLET] 1;33m-> Removing 1;33m/boot/EFI/Linux/arch-linux.efi file...
[2025-09-12T16:39:57+0300] [ALPM-SCRIPTLET] Removed /boot/EFI/Linux/arch-linux.efi from the database.
[2025-09-12T16:39:57+0300] [ALPM-SCRIPTLET] 1;32m==> Done
[2025-09-12T16:39:57+0300] [ALPM] running '71-dkms-remove.hook'...
[2025-09-12T16:39:57+0300] [ALPM] transaction started
[2025-09-12T16:39:57+0300] [ALPM] upgraded alsa-card-profiles (1:1.4.7-1 -> 1:1.4.8-1)
[2025-09-12T16:39:57+0300] [ALPM] upgraded apache (2.4.65-1 -> 2.4.65-3)
[2025-09-12T16:39:57+0300] [ALPM] upgraded nss (3.115.1-1 -> 3.116-1)
[2025-09-12T16:39:57+0300] [ALPM] upgraded freetype2 (2.14.0-2 -> 2.14.1-1)
[2025-09-12T16:39:57+0300] [ALPM] upgraded ca-certificates-mozilla (3.115.1-1 -> 3.116-1)
[2025-09-12T16:39:57+0300] [ALPM] upgraded bazel (8.4.0-1 -> 8.4.1-1)
[2025-09-12T16:39:57+0300] [ALPM] upgraded deno (2.4.5-1 -> 2.5.0-1)
[2025-09-12T16:39:58+0300] [ALPM] upgraded electron36 (36.8.1-1 -> 36.9.0-1)
[2025-09-12T16:39:58+0300] [ALPM] upgraded electron37 (37.4.0-1 -> 37.5.0-1)
[2025-09-12T16:39:58+0300] [ALPM] upgraded libpipewire (1:1.4.7-1 -> 1:1.4.8-1)
[2025-09-12T16:39:58+0300] [ALPM] upgraded pipewire (1:1.4.7-1 -> 1:1.4.8-1)
[2025-09-12T16:39:58+0300] [ALPM] upgraded pipewire-audio (1:1.4.7-1 -> 1:1.4.8-1)
[2025-09-12T16:39:58+0300] [ALPM] upgraded gst-plugin-pipewire (1:1.4.7-1 -> 1:1.4.8-1)
[2025-09-12T16:39:58+0300] [ALPM] upgraded lib32-freetype2 (2.14.0-2 -> 2.14.1-1)
[2025-09-12T16:39:58+0300] [ALPM] upgraded lib32-libpipewire (1:1.4.7-1 -> 1:1.4.8-1)
[2025-09-12T16:39:58+0300] [ALPM] upgraded lib32-nss (3.115.1-1 -> 3.116-1)
[2025-09-12T16:39:58+0300] [ALPM] upgraded lib32-pipewire (1:1.4.7-1 -> 1:1.4.8-1)
[2025-09-12T16:39:58+0300] [ALPM] upgraded libphonenumber (1:9.0.13-1 -> 1:9.0.14-1)
[2025-09-12T16:39:59+0300] [ALPM] upgraded linux (6.16.6.arch1-1 -> 6.16.7.arch1-1)
[2025-09-12T16:40:01+0300] [ALPM] upgraded linux-headers (6.16.6.arch1-1 -> 6.16.7.arch1-1)
[2025-09-12T16:40:01+0300] [ALPM] upgraded nvidia-open (580.82.09-1 -> 580.82.09-2)
[2025-09-12T16:40:01+0300] [ALPM] upgraded pipewire-jack (1:1.4.7-1 -> 1:1.4.8-1)
[2025-09-12T16:40:01+0300] [ALPM] upgraded pipewire-pulse (1:1.4.7-1 -> 1:1.4.8-1)
[2025-09-12T16:40:02+0300] [ALPM] upgraded python-scipy (1.16.1-1 -> 1.16.2-1)
[2025-09-12T16:40:04+0300] [ALPM] upgraded signal-desktop (7.69.0-1 -> 7.70.0-1)
[2025-09-12T16:40:04+0300] [ALPM] upgraded zed (0.202.8-2 -> 0.203.5-1)
[2025-09-12T16:40:04+0300] [ALPM] transaction completed
[2025-09-12T16:40:05+0300] [ALPM] running '30-systemd-daemon-reload-system.hook'...
[2025-09-12T16:40:05+0300] [ALPM] running '30-systemd-daemon-reload-user.hook'...
[2025-09-12T16:40:06+0300] [ALPM] running '30-systemd-restart-marked.hook'...
[2025-09-12T16:40:06+0300] [ALPM] running '30-systemd-tmpfiles.hook'...
[2025-09-12T16:40:06+0300] [ALPM] running '30-systemd-udev-reload.hook'...
[2025-09-12T16:40:07+0300] [ALPM] running '30-systemd-update.hook'...
[2025-09-12T16:40:07+0300] [ALPM] running '40-update-ca-trust.hook'...
[2025-09-12T16:40:07+0300] [ALPM] running '60-depmod.hook'...
[2025-09-12T16:40:08+0300] [ALPM] running '70-dkms-install.hook'...
[2025-09-12T16:40:08+0300] [ALPM] running '90-booster-install.hook'...
[2025-09-12T16:40:09+0300] [ALPM] running '90-booster-um-install.hook'...
[2025-09-12T16:40:10+0300] [ALPM] running '91-booster-um-efi-remove.hook'...
[2025-09-12T16:40:10+0300] [ALPM] running 'glib-compile-schemas.hook'...
[2025-09-12T16:40:11+0300] [ALPM] running 'gtk-update-icon-cache.hook'...
[2025-09-12T16:40:12+0300] [ALPM] running 'nvidia.hook'...
[2025-09-12T16:40:12+0300] [ALPM] running 'update-desktop-database.hook'...
[2025-09-12T16:40:12+0300] [ALPM] running 'zz-sbctl.hook'...
[2025-09-12T16:40:12+0300] [ALPM-SCRIPTLET] Generating EFI bundles....
[2025-09-12T16:40:12+0300] [ALPM-SCRIPTLET] File has already been signed /boot/EFI/Boot/bootx64.efi
[2025-09-12T16:40:12+0300] [ALPM-SCRIPTLET] File has already been signed /boot/EFI/systemd/systemd-bootx64.efi
[2025-09-12T16:40:12+0300] [ALPM-SCRIPTLET] File has already been signed /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed
Thanks for writing this script! It's the cleanest way I've found to get small unified kernel images via booster + sbctl to work.
However, a couple of times now the update hook has somehow failed. Here is what I see in the console:
This results in a system that doesn't boot unless I catch it before rebooting. In this case both
booster-linux.imgandvmlinuz-linuxare left on/boot. I can "fix" this by just runningsudo booster-um -Gmanually afterwards. Could it be some sort of timing issue or conflict with the booster hook?The frustrating thing is that the error message doesn't give me any hint towards what has gone wrong. Similarly,
/var/log/pacman.logis silent on the matter -- it looks like all three of these hooks ran normally, which is not the case:Here's the entire run from
pacman.log: