mkinitcpio is the initramfs generation tool written for Arch Linux.

A new release of mkinitcpio has been tagged. The release can be downloaded from 
Gitlab:
    https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio/-/releases/v39

CHANGES WITH v39:

       Announcement of future breaking changes:

        * The use of global variables for getting the value of cmdline 
parameters
          is now deprecated. Hook authors should update their hooks to use the
          getarg function instead. See mkinitcpio(8) for more information on
          getarg's usage. In a future release, global variables will no longer 
be
          assigned for cmdline parameters.

        New Features:

        * ARM zImage is now supported. The relevant code paths have also been
          cleaned up with more code sharing between the main implementation and
          the shell completions.

        * install/acpi_override is a new hook that allows ACPI table upgrades
          and overrides. It will look for `.aml` files in
          `/usr/initcpio/acpi_override/` and `/etc/initcpio/acpi_override/`
          which will be copied to `/kernel/firmware/acpi/` in the early
          uncompressed initramfs.

        Changes in mkinitcpio:

        * Compressed files are now placed in the uncompressed early cpio
          instead of the compressed cpio. This change ensures we are not double
          compressing files.

        * As compressed files are included in the early cpio, module
          decompression has been disabled by default to avoid compressing
          them using a weaker compression and improve boot speed for some
          weak CPUs.

        * MODULES_DECOMPRESS will now also decompress firmware files.

        * The values of arbitrary cmdline arguments can now be retrieved at 
runtime
          using the getarg function.

        * The default umask is now 022 to ensure files installed with hooks have
          the permission set to 644 by default.

        * gzip is used instead of zstd if the kernel version is below 5.9.

        * `add_all_modules_from_symbol` has been fixed to ensure we are not
          failing if no symbols can be found.

        * `add_file` will now use the source file name if the destination ends
          with a slash.

        * `add_file` now supports copying from file descriptors. This is useful
          for cases where you want to pipe files into the initramfs.

        * `add_file_early` and `add_dir_early` has been added to include files
          into the early CPIO.

        * Include `--no-cmdline` in the help output along with some missing
          options in the shell completion.

        * UKIs will now be created with `ukify` if it is available on the
          system.

        Changes in lsinitcpio:

        * lsinitcpio now supports listing, analyzing and extracting UKIs.

        * It will now provide a count of the number of included modules and
          binaries

        * Fixed a bug where the `[explicit]` marks in the output was lost.

        Changes in hooks:

        * install/resume and install/systemd includes the lzo and lz4 kernel
          modules to support resuming from hibernation when using a hibernation
          image compression algorithm other than the compile-time default.

        * install/keyboard now includes all modules under `kernel/hid/*-hid`
          directories, which may be required by some keyboards.

        * install/keyboard removed a workaround for Linux 3.5.

        * install/base now includes the umount binary. This avoids the
          mismatch where mount was from util-linux, while umount was provided
          by busybox.

        * install/lvm2 now includes the dm-vdo module introduced in Linux 6.9.

        Changes in packaging:

        * The libalpm hook will now rebuild the initramfs when kernel modules
          and firmware files are removed.

        * mkinitcpio-generate-shutdown-ramfs.service has gotten cleanups and
          hardening options enabled. `systemctl soft-reboot` pulls
          shutdown.target so the service is now removed from the mentioned
          target and included into `poweroff.target`, `halt.target`,
          `reboot.target` and `kexec.target`.

        * The distributed tarball now uses xz instead of gzip.

        * The Makefile now prefers to use asciidoctor if available.

        * Presets are now generated when mkinitcpio is installed.

        Contributions from: Bill Auger, Eva Kurchatova, Luke T. Shumaker,
        Markus Weippert, Mike Yuan, Morten Linderud, Onur Ankut, Ron Brown,
        classabbyamp, jay-wilkinson, nl6720

        - 2024-05-03

Attachment: signature.asc
Description: PGP signature

Reply via email to