summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2011-06-07init: purge environment before leaving early userspaceDave Reisner1-1/+1
We preserve TERM, but everything else can be destroyed from the environment. Without preserving TERM, the value is reset to 'dumb' in userspace, and we get false readings by the initscripts on terminal capabilities. Signed-off-by: Dave Reisner <d@falconindy.com>
2011-06-07init_functions: simplify mount case of root=/dev/*Dave Reisner1-9/+5
/sys/class/block contains all of our block devices, including the partitions of each parent block device, so directly check for the existance of the dev file rather than looping. Signed-off-by: Dave Reisner <d@falconindy.com>
2011-06-07init_functions: support {LABEL,UUID}= syntaxDave Reisner1-0/+9
use blkid to resolve a tag name to a block device. Signed-off-by: Dave Reisner <d@falconindy.com>
2011-06-07init: load all earlymodules at onceDave Reisner1-3/+1
Signed-off-by: Dave Reisner <d@falconindy.com>
2011-06-07init: remove support for disablemodulesDave Reisner1-13/+1
This is no longer supported, as m-i-t supports modprobe.blacklist= syntax on the kernel cmdline. We load all modules from the config at once with --all and --use-blacklist flags in order to honor the cmdline blacklisting. Signed-off-by: Dave Reisner <d@falconindy.com>
2011-06-07mkinitcpio: use binary hashed depmod filesDave Reisner1-3/+3
We can condense this logic into a loop as well, which cuts back on repetative code. Signed-off-by: Dave Reisner <d@falconindy.com>
2011-06-07functions: refactor checked modulesDave Reisner1-8/+3
Do a single grep to compare the contents of the module file (if exists) against the results of all_modules for the provided arguments. If there's no module file, this is still just pass through to all_modules. Signed-off-by: Dave Reisner <d@falconindy.com>
2011-06-07functions: refactor all_modulesDave Reisner1-4/+8
sanitize and print during module discovery. We also strip path names during this process and null terminate path names for safety. Signed-off-by: Dave Reisner <d@falconindy.com>
2011-06-06functions: refactor auto_modulesDave Reisner1-9/+6
sort/uniq the modaliases files' contents, before passing _all_ of them to modprobe -a. This cuts back on execution time as well as cleaning up the resulting list of modules. Signed-off-by: Dave Reisner <d@falconindy.com>
2011-06-02Release version 0.6.130.6.13Thomas Bächler1-1/+1
2011-06-02Remove load-modules.sh. Requires the udev 171-2 package.Thomas Bächler3-59/+0
2011-05-17mkinitcpio.conf: Fix modprobe.conf location in the FILES= exampleThomas Bächler1-1/+1
2011-05-16Don't print success/failure result on same lineDan McGee1-3/+3
Doing the `echo -n` call causes the shell to line-buffer the output anyway, meaning one doesn't see the first part until 'SUCCESS' or 'FAILURE' is printed. This means the last message on the screen is 'Generating module dependencies' when in fact we are actually generating the image, which can take a lot of time when XZ, etc. are used. Print the status on two lines, ensuring buffering is not causing problems with out output. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-05-14Release mkinitcpio 0.6.120.6.12Thomas Bächler1-1/+1
2011-05-14Cleanly stop udev >= 168 as recommended by upstream.Gerardo Exequiel Pozzi1-9/+4
>From udev NEWS: The running udev daemon can now cleanly shut down with: udevadm control --exit Udev in initramfs should clean the state of the udev database with: udevadm info --cleanup-db which will remove all state left behind from events/rules in initramfs. If initramfs uses --cleanup-db and device-mapper/LVM, the rules in initramfs need to add OPTIONS+="db_persist" for all dm devices. This will prevent removal of the udev database for these devices. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-05-14/run: restrict write access to rootTom Gundersen1-1/+1
This brings it in line with initscripts (and systemd), there should be no need for everyone to have write access to the /run folder. Reported-by: Pierre Schmitz <pierre@archlinux.de> Signed-off-by: Tom Gundersen <teg@jklm.no>
2011-05-14Improve comments in mkinitcpio.confThomas Bächler1-18/+18
Nobody ever read these comments before, but somebody now noticed poor grammar in them. Thanks to Semitsoglou-Tsiapos Dimitrios for the improvements.
2011-05-01Trigger udev events like in initscriptsGerardo Exequiel Pozzi1-1/+2
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-05-01Drop deprecated /proc/sys/kernel/hotplugGerardo Exequiel Pozzi1-1/+0
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2011-04-21Release version 0.6.110.6.11Thomas Bächler1-1/+1
2011-04-14Rewrite parse_cmdline (again)Thomas Bächler1-21/+38
This should properly handle all ugly characters in values, omit settings any forbidden variable names and take care of double-quoted values with spaces in them. This should finally fix FS#23467, FS#22080 and FS#13900.
2011-04-10Release mkinitcpio 0.6.100.6.10Thomas Bächler1-1/+1
2011-04-10Fix problems in parsing the kernel command lineThomas Bächler2-23/+27
The kernel command line allows quoted strings with whitespace in them. Until now, such parameters would crash /init and cause a kernel panic. Move parsing into a function and use the 'set' builtin to split /proc/cmdline into arguments. Fixes FS#13900 and FS#22080.
2011-04-10Allow initramfs to be completely silent:Thomas Bächler1-12/+11
- Remove ":: Loading initramfs" message - Start udev after command line parsing, so quiet will be respected
2011-04-08Introduce /runThomas Bächler2-1/+3
Mount /run as a 10MB tmpfs with 1777 permissions early. Move it to /new_root when switching.
2011-04-08init: Unify/improve mount --move handlingThomas Bächler1-3/+7
- Loop over dev, sys, proc instead of repeating the same command. - If the target directory does not exist, umount instead of moving.
2011-04-05Fix broken command line parsing due to insufficient quoting introduced in ↵Thomas Bächler1-1/+1
42e8dba5dce4879e4a372c5c2fb5446b4e8bb16c.
2011-03-27Release mkinitcpio 0.6.90.6.9Thomas Bächler1-1/+1
2011-03-27Simplify root file system detectionThomas Bächler1-2/+1
Instead of calling blkid, get the file system type directly from findmnt. Fixes FS#23100.
2011-03-27Improve compression in mkinitcpioThomas Bächler2-2/+10
- Remove default -9 compression (FS#20954) - Make compressor options configurable - Add xz support and make sure xz uses crc32 checks
2011-03-27poll_device: use 'echo' instead of 'msg'.Thomas Bächler1-1/+1
Fixes FS#21314
2011-02-27Use in_array instead of grep -w when checking SKIPHOOKS.Thomas Bächler1-3/+8
This fixes FS#22821.
2011-02-08Revert "mkinitcpio: mount real root device instead of symlink"Thomas Bächler1-3/+0
This reverts commit 9ef825cedd8228957f9bdd8df7ae543afd7e0001. The introduced change was inconsistent with the standard 'mount' behaviour and caused lots of confusion among LVM users.
2011-02-06remove loop from btrfs again, not neededTobias Powalowski1-1/+1
2011-02-06add loop module to avoid error messages from btrfs device scanTobias Powalowski1-1/+1
2011-02-06add DAC960 scsi module to scsi hook againTobias Powalowski1-1/+1
2011-02-01Remove some obsolete 'export'sThomas Bächler2-11/+10
2011-02-01Set pipefail before running get_init_cpioDave Reisner1-0/+1
This addresses FS#20638, where gen_init_cpio fails, but the pipeline still reports no error because gzip exits successfully. Setting pipefail insures that if anything goes wrong with gen_init_cpio, the operation is deemed a failure and the user isn't unknowingly left with a faulty initcpio. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-02-01Use install instead of mkdir/cpDan McGee1-3/+3
Saves a process invocation per kernel module. Based on work presented in FS#18347, and fixed to ensure we are using the install utility rather than our defined function. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-31poll_device: Remove -hThomas Bächler1-2/+2
It seems ash follows symlinks with -b.
2011-01-31Enhance sleep hook to watch for device availabilityThomas Bächler2-2/+9
Add a sleepdevice= parameter that will watch for the specified device to appear and then move on. This is more flexible than a defined sleep period and prevents needless waiting if the device appears sooner. Original patch by: Dan McGee <dan@archlinux.org>
2011-01-31Keep an array of added modules to prevent expensive lookupsDan McGee1-5/+8
This saves a find and grep call for every module that is added more than once, which can lead to significant savings in image generation time. Generating a fallback image went from 80 seconds to 60 seconds after this patch. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-31Add bash in_array functionDan McGee1-0/+15
This is what we currently use in makepkg for the same purpose. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-31Short circuit add module if it already exists in imageDan McGee1-1/+6
Rather than go through all the hoops, check if the module has already been added by looking for its file path and skip the addition early if we can. This helps especially in modules with many recursive dependencies, and is most noticable when generating a full image with many modules. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-31Use new helper functions instead of system commandsDan McGee3-19/+20
Replace all of the repeated calls to dirname and basename with our new replacments. Also replace the 'grep ... /dev/null' idiom with calls to 'grep -q', which does exactly what we want. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-31Use new get_module_name functionDan McGee1-7/+4
Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-31Add new helper functionsDan McGee1-0/+22
Replace common behavior we had in some other places with get_module_name, and add some basename/dirname replacements done in bash to avoid the forks for the number of times we call these functions. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-31Move output functions to top of functions fileDan McGee1-4/+3
This makes a bit more organizational sense to keep these first before we dive into the more complicated functions. Signed-off-by: Dan McGee <dan@archlinux.org>
2011-01-26Release version 0.6.80.6.8Thomas Bächler1-1/+1
2011-01-25Support .ko.gz kernel modules, in addition to .koThomas Bächler2-6/+9
We used to expect only .ko as a kernel module name. Also accept .ko.gz, so we can reduce the installed size of the kernel26 package.