[arch-dev-public] [ANN] mkinitcpio 0.9.0

Dave Reisner d at falconindy.com
Sat May 19 00:05:33 EDT 2012


*** 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 [1].

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 [2].

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
  support this.
- lsinitcpio keeps pace with the hook changes and will show each
  individual hook run order on analyze output, should it apply to the
  image.
- lsinitcpio's analyze mode should run faster, especially on larger
  images.
- the shutdown hook no longer copies all modules to /run/initramfs,
  saving a few MiB of RAM.

Cheers,
Dave

[1] http://mailman.archlinux.org/pipermail/arch-projects/2012-May/002778.html
[2] http://projects.archlinux.org/mkinitcpio.git/tree/mkinitcpio.8.txt#n151
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://mailman.archlinux.org/pipermail/arch-dev-public/attachments/20120519/61c0470e/attachment-0001.asc>


More information about the arch-dev-public mailing list