summaryrefslogtreecommitdiffstats
path: root/install
AgeCommit message (Collapse)AuthorFilesLines
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-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-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-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-02keymap: fall back to us if KEYMAP is not definedDave Reisner1-9/+4
ref: https://bugs.archlinux.org/task/44805
2016-01-20Fix nvme module detection in Linux 4.4v19Evangelos Foutras1-2/+2
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.
2014-07-24block: include all of drivers/storage/usbv18Dave Reisner1-1/+1
Fixes FS#41273.
2014-06-21add second param to add_full_dir to allow filtering filesDave Reisner1-2/+2
Use this to only add files matching *.conf in the modconf hook. Fixes FS#39994.
2014-03-06Fix adding console font in sd-vconsole hook.Thomas Bächler1-4/+4
Fixes FS#38603.
2014-03-01Always use the --target flag with findmntDave Reisner1-1/+1
Prevents problems with bogusly named filesystems, e.g.: mount -t tmpfs / /mount/point Fixes FS#39090.
2014-01-04sd-shutdown: add kexec binary if it's availableDave Reisner1-0/+4
2013-12-15Add sd-vconsole hook.Thomas Bächler1-0/+68
This hook works together with the systemd hook from the systemd package and requires the add_systemd_unit function. It launches systemd-vconsole-setup.service in initramfs and is especially useful to unlock encrypted volumes in initramfs.
2013-11-27mkinitcpio: Allow building an image without modulesThomas Bächler1-0/+2
The '-k none' switch prevents mkinitcpio from adding modules to the image and keeps it from bailing out when it cannot find any.
2013-11-24Add mkinitcpio-generate-shutdown-ramfs.serviceThomas Bächler1-0/+14
When enabled, this service generates an "initramfs" that systemd pivots to on shutdown to ensure clean umounting and shutdown of loop and dm devices. The actual work is done by systemd-shutdown.
2013-09-24autodetect: read modaliases from uevent filesDave Reisner1-2/+1
As suggested by Harald Hoyer, this is more accurate for the sake of following where udev gets its modaliases from. In some rare cases, it may even be more complete than scraping the raw modalias files. Also, introduce a wrapper around modprobe so that the options passed are never ommitted, or wrongly specified. In this case, a subtle bug with the -r flag is fixed due to using the wrong variable with modprobe's -d flag. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2013-08-28rely on libmount defaults for file locationsDave Reisner1-1/+1
Using --tab-file for findmnt calls is redundant if we can rely on the defaults. Sanitize the environment from any LIBMOUNT_* variables so that we can be sure of what file we're reading. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2013-08-28autodetect: search for /usr explicitly using -TDave Reisner1-1/+1
Doing this oddly results in findmnt never stat(2)'ing the target directory, which might be problematic with stale NFS mounts and maybe autofs. Fixes FS#36629, I suppose. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2013-05-02shutdown: include umount from util-linux0.14.0Dave Reisner1-0/+1
This is needed for the --recursive flag. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2013-03-13autodetect: allow whitelisting by MODULE_FS_ALIASDave Reisner1-3/+5
Linux 3.9 adds a filesystem alias in the supporting module in the form of fs-$filesystem. While this is mainly aimed at security/paranoia, it does mean that we can make better use of the fact that we always resolve filesystem as aliases to filesystem modules. Do an additional lookup in add_if_avail to resolve the new alias in addition to the filesystem name itself. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2013-02-11fsck: add fsck config if it existsDave Reisner1-3/+8
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2013-01-04install/block: move TI flash media drivers to autodetectDave Reisner1-2/+2
Some of these modules have modaliases which can be picked up by whitelisting. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-12-28hooks: rename 'usbinput' to 'keyboard' and add more modulesTom Gundersen2-28/+32
Make the hook a bit more generic by including non-usb keyboard drivers. This should mean that any keyboard will now work in the initramfs. In addition to fixing some uncommon setups requiring additional keyboard modules, this would allow us to no longer build in the atkbd module (and hence i8042) in our stock kernels, which will remove an ugly error message on boot for systems without the i8042 controller. Signed-off-by: Tom Gundersen <teg@jklm.no>
2012-12-02consolefont: fix reference to consolefont variableDave Reisner1-4/+4
Broken by ac8499c08279b05d. FS#32935. https://bbs.archlinux.org/viewtopic.php?id=153982 Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-11-26modconf: add new hook to simply inclusion of modprobe configDave Reisner1-0/+15
Add this as a default in the config file. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-11-26merge most storage hooks into a single 'block' hookDave Reisner8-138/+52
As the autodetect hook gets better with every kernel release, we can "afford" to remove the needless segregation of block device driver hooks and simply merge all the "vanilla" or "unstacked" block device drivers. This should make a lot of setups, like usb or virtio, easier as you won't need to remember to add the hook. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-11-24drop support for reading /etc/rc.confDave Reisner2-10/+4
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-11-24usbinput: use autodetection on newer kernelsDave Reisner1-2/+13
This is a partial "revert" of 822a88700e since kernels as of 3.5 add module aliases for hid devices. Fixes FS#32575. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-10-21install/ide: remove this crufty old hookDave Reisner1-15/+0
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-10-21convert autodetect cache to hashDave Reisner1-17/+21
If mkinitcpio -s is run, we still flush this cache to disk before exiting. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-10-07commit to some level of style in variable namingDave Reisner1-8/+9
This is an ugly patch, and probably does more than I'd like it to. The idea is that mkinitcpio adopts some sort of consistent style which I'm actually happy with. I define 3 kinds of variables: 1) local variables: all lower case, and scoped within functions. Use freely, as they're well contained. 2) global variables: these are known to mkinitcpio internally, but are global in scope. They mainly carry runtime configuration and collected data during the image generation process. These are always lower case, but carry a leading underscore to denote that they're global. 3) "API" variables: also global in scope, but exist "outside" of mkinitcpio -- either drawn in from the configuration file, or "exported" to the install hooks. These are always all upper case. When introducing new variables, extreme care must be taken to pick names that will not conflict with the environment inherited by mkinitcpio. A HACKING file is introduced with a similar description of the above, and more. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-09-17install/base: update help verbiageDave Reisner1-2/+2
This hasn't provided actual directories in a while. Reword it to point out that it's only providing the critical scripts and binaries for booting. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-09-17install fstab/mtab as part of base layoutDave Reisner1-5/+0
These are low level enough that they should be part of the base layout, similar to the filesystem package in userspace. Later hooks can easily override these, if they really want to. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-08-11install/consolefont: support .fnt filesDave Reisner1-2/+2
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-07-29autodetect: fix wrong flag passed to modprobe0.10Dave Reisner1-1/+1
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-07-28implement --moduleroot optionDave Reisner1-1/+1
This might be useful for creating an initramfs image as part of a kernel package. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-07-15initalize buildroot later, and out outside of hooksDave Reisner1-10/+1
mkinitcpio needs to be able to more tightly control the layout of the image. By moving this outside the control of the base hook, it's more reasonable to believe that a drop-in replacement for the base hook could be written, as it now only contains the utilities required for the /init that it provides. Being that initialize_buildroot is outside of a hook, we can make "raw" calls to coreutils that create the directories and symlinks, saving some overhead and forking. This also symlinks /usr/local/{lib,bin} into the common /usr/lib and /usr/bin, respectively, so that there's always a way to override libs and bins, and they're automatically pulled into our strict early init path of /usr/bin. Finally, we lump all this generally a little "later" in the early setup. This addresses an unseen "bug" wherein an extra temp directory that never gets used is created when leveraging a preset. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-07-15add 'strip' install hookDave Reisner1-0/+32
Mostly a convenience for myself, and anyone else who runs builds of things like util-linux or kmod, where having debug symbols on these libraries can add a large amount of weight to the image. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-06-08avoid reliance on sed, embrace awkDave Reisner1-1/+1
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-05-18usr: add usr mounting as a late running hookDave Reisner3-1/+17
Mount separate /usr partitions voluntarily, as a late running hook. This is an unfortunate patch that will no doubt result in some hatemail, though it won't thoroughly break anyone to the point of not booting. As a side effect, findmnt is no longer a requisite of the core /init, so move it to the shutdown and usr hooks where it's required. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-05-18shutdown: package as 644, install as 755Dave Reisner1-1/+1
There's no need to keep this mildly dangerous script executable on the filesystem. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-05-18mkinitcpio: write image config after install hooksDave Reisner1-15/+0
Break this out of install/base into a separate function. We need to be able to read from the RUNHOOKS array to accurately specify which hooks to execute at runtime. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-05-18use new API for install hooksDave Reisner16-45/+48
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-05-16mmc: package as mode 644, not 755Dave Reisner1-0/+0
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-05-16document special kernel cmdline parametersDave Reisner1-0/+4
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-05-12mkinitcpio: remove --basedir optionDave Reisner4-10/+10
This option is just a bad idea. Initramfs creation is too important to get wrong, and running it from outside the root FS has too many gotchas, the worst of them being: - where do you pull hooks from? - how do you resolve binary dependencies within the root? In general, dealing with the extra luggage of the base directory makes the codebase more complicated than it needs to be (see all the '_' prefixed functions which are called from add functions). In favor of simplifying the code, and making it more maintainable, kill this off and force the sane option of chroot'ing into an install if the need arises. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-05-03remove 'net' hooks. these belong to mkinitcpio-nfs-utils0.8.8Dave Reisner1-106/+0
Signed-off-by: Dave Reisner <dreisner@archlinux.org>