summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-09-16Merge branch 'Foxboron-morten/copyright'Giancarlo Razzolini4-4/+5
2019-09-16Merge branch 'morten/copyright' of https://github.com/Foxboron/mkinitcpio ↵Giancarlo Razzolini4-4/+5
into Foxboron-morten/copyright
2019-09-15[README] Add grazzolini to the copyrightMorten Linderud1-0/+1
2019-09-14Merge pull request #1 from esotericnonsense/esotericnonsense/reproducibleGiancarlo Razzolini2-10/+29
mkinitcpio: Produce reproducible initramfs images
2019-09-10Updated copyright yearMorten Linderud4-4/+4
2019-09-09mkinitcpio: Produce reproducible initramfs imagesDaniel Edgecumbe2-10/+29
We achieve this by stripping timestamps from within the filesystem, and by using a pipeline to strip inodes from the cpio archive. It functions for at least the 'gzip', 'xz', 'bzip2', 'lz4' and 'cat' compressors. The 'lzop' compressor embeds a runtime timestamp. Motivation: https://reproducible-builds.org Signed-off-by: Daniel Edgecumbe <git@esotericnonsense.com>
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