Matching systemd kernel-install layout configuration

Mkinitcpio now evaluates the "layout" configuration value configured for
kernel-install and generates presets and initramfs/unified
kernel images in conformance with that layout.

If there are CPU microcode updates installed under /boot (i.e.:
/boot/intel-ucode.img) now mkinitcpio preset generation will
automatically include them in the presets.

Added two new convenience binaries to the package:
  * regenerate-mkinitcpio-presets
  * reinstall-kernels

You can use these to easily change your kernel configuration: after
changing your setup (either changing your mkinitcpio presets or changing
your /etc/kernel/install.conf "layout" configuration).

 1) regenerate-mkinitcpio-presets: Makes mkinitcpio generate the default
    presets for your installed kernel packages based on the system
    configuration just as if you removed and reinstalled them using
    the pacman.

 2) reinstall-kernels: Runs mkinitcpio for all mkinitcpio presets, and
    if your layout configuration requires it, copies your kernel
    images to the proper location (for bios layout to
    /boot/vmlinuz-<version> for EFI BLS type 1 to
    /<esp>/<machine-id>/<version/vmlinuz> for the uki layout unified
    kernel images are emitted to /<esp>/EFI/Linux/<name>{,-fallback}.efi).

    However other installation hooks like, i.e.: secure boot signing your
    kernels, or kernel-install install scripts are not triggered by
    reinstall-kernels.

To change from one layout configuration to another set
layout=<your-layout> in /etc/kernel/install.conf.

e.g.:

$ cat /etc/kernel/install.conf
layout=uki

after you configured the layout you would like run:

$ sudo regenerate-mkinitcpio-presets
$ sudo reinstall-kernels

(if you want to sign them for secure boot you still need to do that
after reinstall-kernels.: e.g.: sudo sbctl sign-all -g)

There are 3 layout configurations now:

 * traditional: no /efi of /boot/efi directories. /boot/ will be
   popuplated with separated initramfs and kernel image files.
   e.g.: /boot/vmlinuz, /boot/initramfs, /boot/initramfs-fallback

   You can use this configuration by not having EFI related partitions
   like /efi or /boot/efi.

 * EFI bls type 1: this is the default for efi systems. The esp
   partition (mounted as either /efi or /boot/efi) is used for
   installing the separate kernel and initramfs images.

   This is the default layout for if an esp mountpoint (/efi or
   /boot/efi) exists. This corresponds to layout=bls.

   The kernel and initramfs files are installed to:
   /<esp>/<machine-id>/<kernel-id>/.

 * EFI bls type 2: this is the unified kernel images layout.

   The unified kernel images are installed to
   /<esp>/EFI/Linux/<packagename>{,-fallback}.efi

   This corresponds to layout=uki.
1 job for 05storm26/uki in 14 seconds (queued for 2 seconds)