On Mon, 2019-11-11 at 15:41 -0500, Eli Schwartz via arch-dev-public wrote:
On 11/10/19 9:54 PM, Sébastien Luttringer via arch-dev-public wrote: 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.
Hi Eli, Let me first agree on the clarity of kernel-install documentation. Its goal is well summed in the man page NAME section: "Add and remove kernel and initramfs images to and from /boot.
...
Also, yes, kernel-install mandates the use of systemd-boot. No, kernel-install doesn't mandate use of systemd-boot. It's a modular framework to make your machine bootable. The default plugin, install kernel for systemd-boot which is different.
Since 2014, I use kernel-install[1] to manage kernel upgrades on over than 300 Arch servers. There is regular Arch kernels, custom versioned kernels, some are booted with grub (uefi or not) others with systemd-boot.
Meanwhile, mkinitcpio's presets and the kernel file which was historically installed by the linux package install directly to:
/boot/vmlinuz-linux /boot/initramfs-linux.img An Arch plugin of few lines could easily put the files in our historical location. This are just examples [2][3].
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. We can easily switch to kernel-install, without user intervention, as it was done with pacman hooks. Switching from mkinitcpio is another topic.
kernel-install runs a collection of scripts (hooks), with the systemd overriding logic. There is no huge difference with the pacman hooks, except the logic is cross distro, provided by systemd, and not tied to pacman. Improvements can be shared. What it makes me prefer systemd kernel-install than pacman hooks logic. Regards, [1] https://git.seblu.net/archlinux/kernel-install-poc/ [2] https://git.seblu.net/archlinux/kernel-install-poc/blob/master/90-loaderentr... [3] https://git.seblu.net/archlinux/kernel-install-poc/blob/master/50-mkinitcpio... -- Sébastien Luttringer