From 876b6ed3a4da006639908794bff4eeaeb0f123eb Mon Sep 17 00:00:00 2001 From: "Andrew J. Hesford" Date: Thu, 10 Jun 2021 11:31:19 -0400 Subject: xbps-triggers: add initramfs-regenerate trigger This abstracts away the `dracut -f -q --regenerate-all` that appears in nvidia and zfs packages, allowing users to disable global regeneration, use dracut (by default, to preserve existing behavior) or mkinitcpio. Eventually, this can be extended with initramfs-tools if we like. Closes: #31403 --- Manual.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'Manual.md') diff --git a/Manual.md b/Manual.md index f6de68a471d..238db04f04b 100644 --- a/Manual.md +++ b/Manual.md @@ -57,6 +57,7 @@ packages for XBPS, the `Void Linux` native packaging system. * [gtk3-immodules](#triggers_gtk3_immodules) * [hwdb.d-dir](#triggers_hwdb.d_dir) * [info-files](#triggers_info_files) + * [initramfs-regenerate](#triggers_initramfs_regenerate) * [kernel-hooks](#triggers_kernel_hooks) * [mimedb](#triggers_mimedb) * [mkdirs](#triggers_mkdirs) @@ -1881,6 +1882,35 @@ registry located at `usr/share/info`. If it is running under another architecture it tries to use the host's `install-info` utility. + +### initramfs-regenerate + +The initramfs-regenerate trigger will trigger the regeneration of all kernel +initramfs images after package installation or removal. The trigger must be +manually requested. + +This hook is probably most useful for DKMS packages because it will provide a +means to include newly compiled kernel modules in initramfs images for all +currently available kernels. When used in a DKMS package, it is recommended to +manually include the `dkms` trigger *before* the `initramfs-regenerate` trigger +using, for example, + + ``` + triggers="dkms initramfs-regenerate" + ``` + +Although `xbps-src` will automatically include the `dkms` trigger whenever +`dkms_modules` is installed, the automatic addition will come *after* +`initramfs-regenerate`, which will cause initramfs images to be recreated +before the modules are compiled. + +By default, the trigger uses `dracut --regenerate-all` to recreate initramfs +images. If `/etc/defalt/initramfs-regenerate` exists and defines +`INITRAMFS_GENERATOR=mkinitcpio`, the trigger will instead use `mkinitcpio` and +loop over all kernel versions for which modules appear to be installed. +Alternatively, setting `INITRAMFS_GENERATOR=none` will disable image +regeneration entirely. + #### kernel-hooks -- cgit v1.2.3