*** This is long -- if you read nothing else, read the early section
about backwards incompatible changes ***
I'll be tagging mkinitcpio 0.9.0 this weekend and pushing it into
[testing] with a rebuild of udev. For those of you who read arch-projects,
this will be mostly a recap of a cover letter to a large patchset. Since
not everyone reads it and there's been changes since the initial post,
it bears repeating.
It's mentioned below, but no one will read that far. This release will
support /usr/lib/modules for kernel modules as well as /lib/modules,
meaning that, barring a kmod rebuild, we'll be able to move kernel
modules to /usr.
I'll happilly make the rounds and ninja update the assorted mkinitcpio
hooks that exist in the repos once this hits core. udev has the only hook
that needs an immediate update.
Backwards Incompatible Changes
- If you have a separate /usr partition, it will no longer be mounted
automatically. You MUST add the new 'usr' hook. It should be one of
the last hooks in the HOOKS setting of the config file. I'll make sure
there's a news item ready when mkinitcpio is moved to core.
- The --basedir option has been removed .
Deprecated Install Hook API
- MODULES=, FILES=, BINARIES=, and SCRIPT= in install hooks should not
be used. In a future release, the first three vars will only be valid
in the config. SCRIPT= will disappear entirely.
- 'checked_modules' in install hooks should not be used. Additionally,
while 'all_modules' may not go away, it should not be used either.
New Install Hook API
- add_checked_modules: Very similar to checked_modules with the
advantage that matching modules will be automatically added. An
optional '-f' flag allows further filtering via an extended regex and
can be specified multiple times.
- add_all_modules: Identical to add_checked_modules but with no
expectation of using the autodetect whitelist.
- add_runscript: takes no arguments, and addes a runtime hook to the
image. Via some bash magic, this function figures out who called it
and adds the right filename.
New Runtime Hooks
- I've added a bunch a new options for early userspace hooks: runtime
hooks can now, in addition to run_hook, define run_earlyhook,
run_latehook, and run_cleanuphook. I've changed how the config is
written to the image in order to minimize the amount of re-sourcing of
hook files is done. For full details about these, see the manpage .
You're still reading? Here's the rest of the new features...
- Expanded documentation. Hooks are more thoroughly explained by the man
page, and lsinitcpio now has a man page as well.
- Error tracking in hooks has been refactored, so that any function
named add_* returning non-zero will be caught.
- Support for kernel modules in /lib/modules and /usr/lib/modules. This
is mostly a hack to support the /usr move and may eventually go away.
- Support for RD_TIMESTAMP. A hook will be shipped with systemd to
- lsinitcpio keeps pace with the hook changes and will show each
individual hook run order on analyze output, should it apply to the
- lsinitcpio's analyze mode should run faster, especially on larger
- the shutdown hook no longer copies all modules to /run/initramfs,
saving a few MiB of RAM.