summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-10-09install/block: avoid conditional addition of drivers25Dave Reisner1-17/+8
Avoid over-optimizing autodetect and always add these. This allows storage drivers to be builtins and still trigger addition of the block node driver.
2018-03-29ship /var/run as symlink to /runDave Reisner1-1/+2
This might not strictly be strictly needed, but systemd documents it as being a requirement, else it adds a var-run-bad taint flag.
2017-12-30Remove install hook aliases for block and keyboardDave Reisner8-8/+0
These have been deprecated since 2012. I think that's enough time for people to migrate.
2017-12-30cleanup some shellcheck lint warningsDave Reisner1-13/+11
2017-11-25PKGBUILD: fix upstream URLDave Reisner1-1/+1
2017-11-25lsinitcpio: Attempt to estimate only decompression timeDave Reisner1-10/+10
Read time is constant between compression methods and we can't possibly estimate this accurately since reading the image from disk doesn't happen with kernel userland functions, but instead UEFI or 16-bit realmode capabilities. ref: https://bugs.archlinux.org/task/56417
2017-10-06Restore addition of modules from config fileDave Reisner1-1/+10
Broken by c5ad00c2. ref: https://bugs.archlinux.org/task/55870
2017-10-01man: include package name in versionv24Dave Reisner1-1/+1
2017-10-01add crc32c for ext4Dave Reisner1-0/+3
Might be needed for ext4 filesystems formatted with the metadata_csum option. ref: https://bugs.archlinux.org/task/54091
2017-10-01Avoid erroneous deprecation warningsDave Reisner2-15/+6
Consistently handle hooks as symlinks by relying on the exit status of readlink instead of an lstat and always, additionally, examine the hooks basenames to ensure that we aren't warning about foo deprecating foo (because the hook is a symlink to somewhere else that the hook is actually stored on disk. ref: https://bugs.archlinux.org/task/55323
2017-10-01install/keyboard: fix wording in hook helpDave Reisner1-2/+2
ref: https://bugs.archlinux.org/task/54460
2017-08-22make ldd parsing compatible with upstream glibc changesDave Reisner1-3/+3
https://sourceware.org/git/?p=glibc.git;a=commit;h=eedca9772e99c72ab4c3c34e43cc764250aa3e3c
2017-08-20functions: add_full_dir: path prefix strip-offErik Stromdahl2-5/+11
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 <erik.stromdahl@gmail.com>
2017-08-20functions: add_full_dir: recursive filterErik Stromdahl1-1/+1
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 <erik.stromdahl@gmail.com>
2017-03-19arrayize config vars in mkinitcpio.confDave Reisner4-33/+42
allows for backwards compat by detecting and converting old-style string-based configs.
2017-03-17mkinitcpio: allow -s to be passed through to presetsDave Reisner1-0/+2
ref: https://bugs.archlinux.org/task/53343
2017-03-14avoid erroring when a builtin-module can't be foundDave Reisner1-1/+1
This is harmless fallout from 5249350, which tries harder to re-add aliases of builtins.
2017-03-11init: drop pre-mount check for block devicev23Dave Reisner1-8/+0
Not all root devices are block devices, after all. Rely on mount doing the right thing (or not). ref: https://bugs.archlinux.org/task/45118 ref: https://bugs.archlinux.org/task/35529
2017-03-11lsinitcpio: avoid null byte warnings with bash 4.3Dave Reisner1-6/+14
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.
2017-03-10init: move early mounting to function, add efivarsDave Reisner2-5/+13
ref: https://bugs.archlinux.org/task/52768
2017-03-10functions: attempt to (re)add builtin modulesDave Reisner1-2/+2
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. ref: https://bugs.archlinux.org/task/49380
2016-11-27Makefile: assorted cleanups and additionsv22Dave Reisner1-10/+21
2016-11-26base: drop addition of ehci softdep fileDave Reisner1-1/+0
this is no longer needed -- we get softdeps from the kernel.
2016-11-25add missing -P, --allpresets option to usage outputDave Reisner1-0/+1
2016-11-22sd-vconsole: Use udev activationJan Alexander Steffens (heftig) via arch-projects1-7/+2
systemd v232 only activates systemd-vconsole-setup via udev. Follow this to make sure things work properly. This also obsoletes the modules-load hack. https://github.com/systemd/systemd/issues/4699
2016-11-20functions: f2fs softdeps on crc32, not libcrc32cDave Reisner1-1/+4
This really ought to be fixed in the module, but here we are again guessing at module requirements. ref: https://bugs.archlinux.org/task/49380
2016-11-20functions: fix typo in variable nameDave Reisner1-1/+1
builderrors -> _builderrors -- this makes binary dep resolution properly a builderror. As seen in: https://bugs.archlinux.org/task/51818
2016-11-20fsck: avoid extra search pathsDave Reisner1-1/+1
Arch's binaries are all in /usr/bin, so let's not bother searching in duplicates of this directory.
2016-11-20mkinitcpio: fixing quoting in call to initialize_buildrootDave Reisner1-1/+1
2016-09-09keyboard: get rid of an extra 'grep' callv21Dave Reisner1-2/+2
It's been too long and I've forgotten how to hack on mkinitcpio...
2016-09-09keyboard: placate foutrelis' OCDDave Reisner1-1/+1
...and mine too, now that he points it out.
2016-09-09keyboard: fix add_checked_modules call with multiple paramsDave Reisner1-1/+1
2016-09-09mkinitcpio(8): document rootflags= and rootfstype=Dave Reisner1-1/+10
These were curiously omitted from the documentation. ref: https://bugs.archlinux.org/task/50470
2016-09-09sd-vconsole: Wait for modules to be loadedJan Alexander Steffens (heftig)1-0/+6
If the MODULES contain a GPU driver like i915, wait for it to be loaded. This avoids the font configuration being lost.
2016-09-09keyboard: add input/serio as part of checked modulesDave Reisner1-1/+1
ref: https://bugs.archlinux.org/task/50700
2016-07-17Support version extraction from i[3456]86 kernelsDave Reisner1-2/+2
Arch might not really support some of these, but mkinitcpio can.
2016-07-12use an associative array to build bsdcpio optionsDave Reisner1-11/+26
This prevents having unquoted expansion in the bsdcpio commandline
2016-07-07refactor parse_cmdline into something more readableDave Reisner2-66/+125
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.
2016-07-07add test harness for parse_cmdlineDave Reisner2-0/+236
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.
2016-07-02error out if asked to extract a kver from image on non-x86v20Dave Reisner2-3/+10
Version extraction only works on x86 (i686 and x86_64) kernels. ref: https://bugs.archlinux.org/task/43256
2016-07-02init: handle rootfstype as a synonym for fstypeDave Reisner1-1/+2
rootfstype is handled by the kernel, so we should handle it, too. ref: https://bugs.archlinux.org/task/45117
2016-07-02keymap: fall back to us if KEYMAP is not definedDave Reisner1-9/+4
ref: https://bugs.archlinux.org/task/44805
2016-06-27add f2fs quirk for libcrc32cDave Reisner1-1/+1
ref: https://bugs.archlinux.org/task/49380
2016-06-27handle the case of modinfo returning multiple modulesDave Reisner1-15/+14
This is true of more and more modules with the advent of aliases, e.g. $ modinfo -F filename crc32c /lib/modules/4.6.2-rampage/kernel/arch/x86/crypto/crc32c-intel.ko.gz /lib/modules/4.6.2-rampage/kernel/crypto/crc32c_generic.ko.gz
2016-06-27Handle softdeps in modulesDave Reisner1-5/+11
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 Or: softdep: pre: foo softdep: post: bar So just parse the entire line, discarding anything that ends with a ':'.
2016-01-20Fix nvme module detection in Linux 4.4v19Evangelos Foutras1-2/+2
2014-12-28mkinitcpio: expose syntax errors in preset filesAlexei Colin1-1/+1
2014-12-28lsinitcpio: avoid setting TIMEFORMAT globallyDave Reisner1-1/+1
Not that it really matters, but let's scope this to where we actually care for the modified time output.
2014-12-28mkinitcpio avoiding adding a CPIO entry for '.'Dave Reisner1-1/+1
The archive goes from looking like this: . ./buildconfig ./config ./init ./init_functions ./VERSION ./lib64 ./sbin To: buildconfig config init init_functions VERSION lib64 sbin Note the lack of the "root" entry and leading "./". This fixes an issue with packing ucode into the initramfs since the kernel really wants an exact match, and not path equivalency.
2014-08-31Add 'hostdata' hookThomas Bächler1-0/+14
This hook adds host-specific configuration to the image. Currently, it adds the hostname and machine-id files for usage with journald.