summaryrefslogtreecommitdiffstats
path: root/init_functions
AgeCommit message (Collapse)AuthorFilesLines
2011-10-01init_functions: use constants on LHS of testsDave Reisner1-3/+3
If we encounter a BOOT_IMAGE var taken from grub2, the first character could be a '(' which will throw off busybox's parser and error out. Reverse the comparison so that the LHS is always a constant, which can be compared to anything (including nothing at all). Fixes FS#26119. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2011-06-30init_functions/default_mount_handler: use -l option for blkid to avoid ↵Thomas Bächler1-1/+1
syntax errors in a later mount command Fixes FS#24969.
2011-06-25init: declare PATH, remove absolute pathsDave Reisner1-3/+3
We were never very consistent about this anyways. Signed-off-by: Dave Reisner <d@falconindy.com>
2011-06-16use consistent vim modelinesDave Reisner1-0/+2
This also adds a /bin/bash shebang to functions. While not technically necessary, this ensures that vim gives us the correct syntax highlight file. Signed-off-by: Dave Reisner <d@falconindy.com>
2011-06-07default_mount_handler: Only try to manually create the root device if ↵Thomas Bächler1-1/+1
devtmpfs is not used.
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-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-10Fix problems in parsing the kernel command lineThomas Bächler1-0/+25
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-03-27poll_device: use 'echo' instead of 'msg'.Thomas Bächler1-1/+1
Fixes FS#21314
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-01-31poll_device: Remove -hThomas Bächler1-2/+2
It seems ash follows symlinks with -b.
2010-07-12mkinitcpio: mount real root device instead of symlinkDave Reisner1-0/+3
If a symlink such as /dev/disk/by-uuid/xxxxx is provided on the kernel cmdline, resolve it and mount that device instead of the symlink. This prevents some ugliness in the output of commands such as mount or df. Signed-off-by: Dave Reisner <d@falconindy.com>
2010-05-08Port 83ef38409182a9c024809553dff8c872902d0889 to init_functions too, to ↵Thomas Bächler1-1/+1
remove more eval hacks
2010-02-21poll_device: do not wait for a device to appear if udevd is not runningThomas Bächler1-5/+7
Devices will never "magically" appear when udevd is not running. Thus, poll_device now exits instantly when a device when udevd is not running. The return value is unchanged, just the delay is removed. Assuming that the drive is available just after loading the module is unsafe. However, "fast" devices like most (all?) pata/sata seem to work this way for many people. On "slow" devices like USB, we still have to wait - those will not work without udev.
2010-02-21Allow the second parameter of poll_device to be 0 - this fixes rootdelay=0Thomas Bächler1-1/+1
2010-02-20default_mount_hook: Use major and minor variables instead of a single ↵Thomas Bächler1-7/+9
rootdev variable This is nicer and more explicit than before, based on a patch by Benjamin Richter
2010-02-20Use $(( )) instead of printf "%d"Benjamin Richter1-2/+2
2010-02-20Cosmetic change: 'msg' function does not support '\n'Thomas Bächler1-1/+1
2010-02-20Use only a single loop for searching /sys/blockBenjamin Richter1-12/+8
2010-02-16launch_interactive_shell: add "export" for PS1Thomas Bächler1-1/+1
2010-02-16Remove the special handling for the default mount procedure, move it into a ↵Thomas Bächler1-0/+68
mount handler (default_mount_handler)
2010-02-15If we could not mount the real root device, or the init program did not ↵Thomas Bächler1-1/+3
exist on it, bail out instead of panicing In these cases, we will exec /bin/sh, such that manual recovery is still possible as sh has PID 1 An expert might be able to mount and switch_root manually. In any case, this is less scary than a panic and a useless trace.
2010-02-07Remove an extra whitespace from the emergency shell promptThomas Bächler1-1/+1
2010-01-29Nicer shell prompt in the break/emergency shellThomas Bächler1-0/+4
2009-08-05Do not rely on -L test; use -h instead.Loui Chang1-2/+2
See `man dash` Signed-off-by: Loui Chang <louipc.ist@gmail.com> Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-06-07Don't only check for block devices, but also for symbolic links.Thomas Bächler1-2/+2
If we have a symlink, we don't check further if it points to a block device, partially due to klibc's readlink being broken.
2009-06-06Add common poll_device functionThomas Bächler1-0/+15
2009-06-06Add a new file init_functions that contains common functions used in /init ↵Thomas Bächler1-0/+8
and the hooks