Commits on Aug 22, 2017
Commits on Aug 20, 2017
  1. functions: add_full_dir: path prefix strip-off

    erstrom committed with falconindy Jun 1, 2017
    Add third argument to add_full_dir: strip_prefix.
    The strip_prefix will be stripped off from the destination
    path (path in the initramfs image) when adding files.
    Rationale: Make it easier to add rootfs overlay hooks when
    generating images.
    add_full_dir can be invoked in this way:
    add_full_dir /path/on/parent/rootfs-overlay * /path/on/parent/rootfs-overlay
    The above invocation will add all content of */path/on/parent/rootfs-overlay*
    into */* in the initramfs image.
    Signed-off-by: Erik Stromdahl <>
  2. functions: add_full_dir: recursive filter

    erstrom committed with falconindy Jun 1, 2017
    By passing the filter glob in all recursive invocations of
    add_full_dir, the filtering is performed on all subdirs and
    not just the top dir.
    This makes the implementation correspond to the documented
    behavior in the man page.
    Signed-off-by: Erik Stromdahl <>
Commits on Mar 19, 2017
  1. arrayize config vars in mkinitcpio.conf

    falconindy committed Mar 18, 2017
    allows for backwards compat by detecting and converting old-style
    string-based configs.
Commits on Mar 17, 2017
Commits on Mar 14, 2017
  1. avoid erroring when a builtin-module can't be found

    falconindy committed Mar 14, 2017
    This is harmless fallout from 5249350, which tries harder to re-add
    aliases of builtins.
Commits on Mar 11, 2017
  1. init: drop pre-mount check for block device

    falconindy committed Mar 11, 2017
    Not all root devices are block devices, after all. Rely on mount doing
    the right thing (or not).
  2. lsinitcpio: avoid null byte warnings with bash 4.3

    falconindy committed Mar 10, 2017
    On compressed images, bash 4.3 gets salty:
    $ lsinitcpio initrd.gz >/dev/null
    /usr/bin/lsinitcpio: line 78: warning: command substitution: ignored null byte in input
    /usr/bin/lsinitcpio: line 90: warning: command substitution: ignored null byte in input
    Tidy up all of our hexdump comparisons via command substitution to use
    process substitution instead.
Commits on Mar 10, 2017
  1. functions: attempt to (re)add builtin modules

    falconindy committed Nov 28, 2016
    crc32 is a builtin module in the Arch kernel but also a crypto module.
    Resolve by this only noting that a module is added if the value in the
    has is 1, and not 2 (indicating a builtin).
    While we're here, change the f2fs softdep of crc32 to crypto-crc32.
Commits on Nov 27, 2016
Commits on Nov 26, 2016
  1. base: drop addition of ehci softdep file

    falconindy committed Nov 26, 2016
    this is no longer needed -- we get softdeps from the kernel.
Commits on Nov 25, 2016
Commits on Nov 22, 2016
  1. sd-vconsole: Use udev activation

    Jan Alexander Steffens (heftig) via arch-projects committed with falconindy Nov 22, 2016
    systemd v232 only activates systemd-vconsole-setup via udev. Follow this
    to make sure things work properly. This also obsoletes the modules-load
Commits on Nov 20, 2016
  1. functions: f2fs softdeps on crc32, not libcrc32c

    falconindy committed Nov 20, 2016
    This really ought to be fixed in the module, but here we are again
    guessing at module requirements.
  2. functions: fix typo in variable name

    falconindy committed Nov 20, 2016
    builderrors -> _builderrors -- this makes binary dep resolution
    properly a builderror. As seen in:
  3. fsck: avoid extra search paths

    falconindy committed Nov 20, 2016
    Arch's binaries are all in /usr/bin, so let's not bother searching in
    duplicates of this directory.
Commits on Sep 9, 2016
  1. keyboard: get rid of an extra 'grep' call

    falconindy committed Sep 9, 2016
    It's been too long and I've forgotten how to hack on mkinitcpio...
  2. keyboard: placate foutrelis' OCD

    falconindy committed Sep 9, 2016
    ...and mine too, now that he points it out.
  3. mkinitcpio(8): document rootflags= and rootfstype=

    falconindy committed Sep 9, 2016
    These were curiously omitted from the documentation.
  4. sd-vconsole: Wait for modules to be loaded

    heftig committed with falconindy Sep 8, 2016
    If the MODULES contain a GPU driver like i915, wait for it
    to be loaded. This avoids the font configuration being lost.
Commits on Jul 17, 2016
  1. Support version extraction from i[3456]86 kernels

    falconindy committed Jul 14, 2016
    Arch might not really support some of these, but mkinitcpio can.
Commits on Jul 12, 2016
  1. use an associative array to build bsdcpio options

    falconindy committed Jul 12, 2016
    This prevents having unquoted expansion in the bsdcpio commandline
Commits on Jul 7, 2016
  1. refactor parse_cmdline into something more readable

    falconindy committed Jul 6, 2016
    This refactors parse_cmdline into a few chunks of code, mainly to
    separate the work of parsing from the handling of the actual parsed
    parameters. By default, parse_cmdline_item is used as the callback for
    handling the parameters, but this could be overriden by other code
    sourcing init_functions if desirable.
    Our test harness passes more tests, but we leave behind some expected
    failures to describe the cases where it still fails. Fortunately I've
    not yet been able to find any cases which warrant --expect-parse-fail.
  2. add test harness for parse_cmdline

    falconindy committed Jul 6, 2016
    Some of these tests currently fail including hard failures where the
    shell quits entirely (this would lead to a kernel panic). A followup
    commit will rewrite the parse_cmdline function to improve it and fix
    these deficiencies.
Commits on Jul 2, 2016
  1. error out if asked to extract a kver from image on non-x86

    falconindy committed Jul 2, 2016
    Version extraction only works on x86 (i686 and x86_64) kernels.
  2. init: handle rootfstype as a synonym for fstype

    falconindy committed Jul 2, 2016
    rootfstype is handled by the kernel, so we should handle it, too.
Commits on Jun 27, 2016
  1. handle the case of modinfo returning multiple modules

    falconindy committed Jun 26, 2016
    This is true of more and more modules with the advent of aliases, e.g.
      $ modinfo -F filename crc32c
  2. Handle softdeps in modules

    falconindy committed Jun 26, 2016
    modinfo outputs softdeps which we can add if they exist (failing
    quietly on not-found). this obviates the need for some of our own
    module quirks.
    The output of modinfo can take many forms, as it's nearly freeform text
    in the  .modinfo section of the kernel module. The basic form is:
      softdep:        pre: foo
    But it might also be:
      softdep:        pre: foo bar post: baz
      softdep:        pre: foo
      softdep:        post: bar
    So just parse the entire line, discarding anything that ends with a ':'.
Commits on Jan 20, 2016