[arch-dev-public] New kernel packages and mkinitcpio hooks

Eli Schwartz eschwartz at archlinux.org
Mon Nov 11 20:41:29 UTC 2019

On 11/10/19 9:54 PM, Sébastien Luttringer via arch-dev-public wrote:
> Nice to see that moving forward. It is a smart to move pacman installed kernel
> out of /boot.
> Why do you rely on mkinitcpio (or later dracut) to install them in /boot
> instead of the systemd kernel-install logic?

As I said above, the documentation for kernel-install is pretty clear on
its expected usage. It's a one-stop shop, it executes mkinitcpio or
whatever other plugin you've installed for generating an initramfs, and
it's totally 100% independent of the mkinitcpio hook.

Interested parties who would like to see kernel-install in use should
mask the *standalone* mkinitcpio hook, not extend it to also call
kernel-install. You'd be replacing the current infrastructure from
scratch, not adding kernel-install to the mix.

On compatibility:

kernel-install documentation mandates that your boot partition will be
autodetected based on filesystem structure, with the candidate options

- /efi
- /boot/efi
- /boot

and mandates that the subdirectory $MACHINE_ID/$KERNEL_VERSION/ be used
for all installation of relevant files. kernel-install will additionally
autogenerate a systemd-boot loader/entries/*.conf with a boot menu
option it has determined is in the best interest of the user. (Think
grub-mkconfig, but for systemd-boot.)

Also, yes, kernel-install mandates the use of systemd-boot. Your kernel
is installed into a filesystem directory structure which is not
supported by grub-mkconfig's autodetection, and which uses continually
changing paths which encode the kernel version. There is no unversioned
kernel installed, so you cannot write a bootloader config once and then
let that keep on being used. Therefore you must autogenerate a
bootloader configuration *somehow*, and it is either use the
systemd-boot one which kernel-install installs, or write your own
generator script.

Meanwhile, mkinitcpio's presets and the kernel file which was
historically installed by the linux package install directly to:


Under no circumstances can we unilaterally remove mkinitcpio presets and
switch to kernel-install without a mandatory manual intervention for all
(or most) archlinux users. It seems more polite to keep the status quo
and work on making this a user-configurable choice (it really seems like
they can coexist in the wider archlinux community just fine), and
perhaps giving preferential status for ${bootloader_of_the_day} in the
installation guide.

Eli Schwartz
Bug Wrangler and Trusted User

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 1601 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/arch-dev-public/attachments/20191111/3ed1a282/attachment.sig>

More information about the arch-dev-public mailing list