Title: Merging of installkernel-gentoo and installkernel-systemd Author: Andrew Ammerlaan Posted: 2024-01-18 Revision: 7 News-Item-Format: 2.0 Display-If-Installed: sys-kernel/installkernel Display-If-Installed: sys-kernel/installkernel-gentoo Display-If-Installed: sys-kernel/installkernel-systemd Display-If-Installed: sys-kernel/installkernel-systemd-boot /sbin/installkernel is a script called by the kernels 'make install' as well as by the distribution kernels post install phase. It was previously provided by sys-kernel/installkernel-gentoo or sys-kernel/installkernel-systemd. The functionalities of these two packages have now been merged into sys-kernel/installkernel. sys-kernel/installkernel now provides the systemd USE flag to switch between the traditional installkernel (formerly sys-kernel/installkernel-gentoo) and systemd's kernel-install (formerly sys-kernel/installkernel-systemd(-boot)). Additionally, the new sys-kernel/installkernel with the systemd flag enabled now provides a default install.conf configuration file which ensures that it will work out-of-the-box with no configuration (other then USE flag configuration) required for most setups. Details on configuration and customization can be found on the installkernel wiki page [1]. Below we provide the most important migration notes. User Action Required (GRUB users) ==================== Previously sys-kernel/installkernel-gentoo provided kernel installation automation for users of GRUB via USE=grub. The new sys-kernel/installkernel provides the same functionality, which now works with both the traditional installkernel and systemd's kernel-install. Users of GRUB should therefore: - check that the "grub" USE flag is enabled to ensure that systemd's kernel-install uses the correct layout that grub-mkconfig understands. Users of GRUB may wish to explicitly choose either the traditional installkernel or systemd's kernel-install, in which case they may do so via USE=-/+systemd. sys-kernel/installkernel is renamed from sys-kernel/installkernel-gentoo, therefore no user action is required to upgrade to the new package. User Action Required (systemd-boot users) ==================== Previously sys-kernel/installkernel-systemd provided kernel installation automation for users of systemd-boot. sys-kernel/installkernel provides the same functionality but only via systemd's kernel-install. Users of systemd-boot should therefore: - ensure that the "systemd" and "systemd-boot" USE flags are enabled when upgrading to >=sys-kernel/installkernel-14. Users who are using the distribution kernels (i.e. gentoo-kernel(-bin)) should enable the "dracut" USE flag on installkernel as well to pull in and enable the dracut initramfs generator. This is enforced by portage. Note that the automagic behaviour of the dracut kernel-install plugin is removed in sys-kernel/installkernel. Users who rely on the dracut plugin automatically generating an initramfs when installing the kernel must enable the "dracut" USE flag to retain this behaviour. The upgrade path is enforced by sys-kernel/installkernel-systemd-4, which is just a wrapper pulling in >=sys-kernel/installkernel-14 with the "systemd" flag enabled. sys-kernel/installkernel-systemd may be removed after installing >=sys-kernel/installkernel-14. emerge --noreplace sys-kernel/installkernel emerge --depclean sys-kernel/installkernel-systemd User Action Required (rEFInd users) ==================== Previously sys-kernel/installkernel-gentoo provided kernel installation automation for users of rEFInd. The new sys-kernel/installkernel provides the same functionality, which now works with both the traditional installkernel and systemd's kernel-install. Users of rEFInd should: - ensure that the "systemd-boot" and "grub" USE flags are NOT enabled when upgrading to >=sys-kernel/installkernel-20. Additionally, users of rEFInd may want to - enable the "refind" USE flag to install an icon file alongside the installed kernel image which rEFInd will pick up at runtime. Users of rEFInd may wish to explicitly choose either the traditional installkernel or systemd's kernel-install, in which case they may do so via USE=-/+systemd. sys-kernel/installkernel is renamed from sys-kernel/installkernel-gentoo, therefore no further user action is required to upgrade to the new package. User Action Required (users of other bootloaders and custom scripts) ==================== Users who have previously relied on custom installkernel or kernel-install plugins should either ensure that the same kernel installation method will be used after upgrading to >=sys-kernel/installkernel-14 (via USE=+/-systemd) or migrate these custom plugins (details are on the wiki [1]). Users of bootloaders other than GRUB, systemd-boot or refind may want to retain the traditional /boot layout. They may do so by: - ensuring that the "systemd-boot", "grub" and "refind" USE flags are disabled. Optional: Unified Kernel Images (all users) ==================== Users who wish to use Unified Kernel Images[2] (e.g. for EFI stub booting) may do so by - enabling the "ukify" and "uki" USE flags. Which will automatically install a bootable EFI executable to the EFI system partition. The UEFI firmware, as well as, Systemd-boot, GRUB and rEFInd are capable of loading Unified Kernel Images. For more details see the wiki page on Unified Kernel Images[2] [1] https://wiki.gentoo.org/wiki/Installkernel [2] https://wiki.gentoo.org/wiki/Unified_kernel_image