summaryrefslogtreecommitdiffstats
path: root/init
AgeCommit message (Collapse)AuthorFilesLines
2010-02-17Improve sanity check: ${init} must be executableThomas Bächler1-1/+1
2010-02-16When use stat -c %D instead of stat -f -c %i for testing if /new_root is a ↵Thomas Bächler1-1/+1
mount point The old check couldn't distinguish different tmpfs mounts and failed to work with aufs (archiso). This check is actually the same one that busybox/switch_root uses to determine where to stop deleting files. If this check fails and we still launch switch_root it may start deleting data.
2010-02-16Make indentation in two code blocks consistentThomas Bächler1-13/+13
2010-02-16Remove the special handling for the default mount procedure, move it into a ↵Thomas Bächler1-70/+3
mount handler (default_mount_handler)
2010-02-16Introduce mount handlersThomas Bächler1-9/+5
Instead of having special NFS code in /init, make it possible for a hook to register a mount handler When a hook sets the mount_handler environment variable, the normal mount code will be skipped and the handler will be called with the path to mount point as the first and only argument.
2010-02-15Do not kill -9 udevd, instead kill -15 and wait for all processes to ↵Thomas Bächler1-2/+4
terminate before continuing
2010-02-15If we could not mount the real root device, or the init program did not ↵Thomas Bächler1-1/+18
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-14Kill udev after mounting file systems, not beforeThomas Bächler1-9/+10
Slow devices like USB devices will be detected after we kill udev, thus booting will fail. Kill udev as the last step, directly before we umount /proc and /sys and run switch_root.
2010-02-14Filesystem type detection: Change message to the way it should have been, ↵Thomas Bächler1-1/+1
stupid me
2010-02-14If filesystem type detection fails, print an error and instructionsThomas Bächler1-0/+13
2010-02-09Honor the "rw" command line flag, but still make "ro" the default if nothing ↵Thomas Bächler1-1/+8
is specified
2010-02-09Remove the comment about 'reboot': busybox reboot requires init to run, thus ↵Thomas Bächler1-2/+0
typing reboot is ineffective
2010-02-09Add support for mounting root filesystem over NFS.Simon Boulay1-2/+9
2010-02-09Fix path when looking at /sys/block for rootdevGerardo Exequiel Pozzi1-1/+1
otherwise will access to /sys/block//sys/block/sda/sda1/dev (for example) Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
2010-02-07udev: Do not try to resolve any group/user namesThomas Bächler1-1/+1
There is no nss library or user/group database in initramfs, so tell udev to not try to resolve any names
2010-02-07Honor the rootflags= command line optionThomas Bächler1-1/+1
This fixes FS#18213.
2010-02-07Settle remaining uevents before killing udevdThomas Bächler1-0/+2
2010-02-05Respect rootfstype command line parameterThomas Bächler1-1/+5
2010-01-29Nicer shell prompt in the break/emergency shellThomas Bächler1-2/+2
2010-01-12Replace custom minips with busybox pidofThomas Bächler1-1/+1
2010-01-12Fix a small oops in the sed usageThomas Bächler1-2/+2
2010-01-12Replace the custom 'replace' tool with 'sed'Thomas Bächler1-11/+12
2010-01-10Remove kinit usage from /init: Implement parseblock and kinit in shell code, ↵Thomas Bächler1-36/+55
use busybox/switch_root for the final step. TODO: NFS
2010-01-10Do not mount /proc before busybox --install - this requires ↵Thomas Bächler1-3/+2
CONFIG_BUSYBOX_EXEC_PATH="/bin/busybox" in busybox
2010-01-05Start moving from klibc to glibc+busyboxThomas Bächler1-5/+5
Remove klibc-isms from base and init (except kinit, which will be done in a later commit) Install busybox to the initramfs and change /init so it can be used with busybox
2009-12-13added done message to udevd startupTobias Powalowski1-0/+1
2009-12-13start udevd in init to solve the firmware loading bugTobias Powalowski1-0/+7
2009-10-08Skip options starting with a digit, sh variables must not start with a digit.Thomas Bächler1-0/+1
2009-09-30rootdelay check: Fix compatibility with other sh implementations than dash ↵Thomas Bächler1-1/+1
and make it more reliable The old implementation failed on bash and failed on both if rootdelay was not a number. The logic is now as follows: If "$rootdelay"="", then [ -z "${rootdelay}" ] is true If not, then the part after the || is executed - if ${rootdelay} is not a number, or is <0, then [ ${rootdelay} -ge 0 ] fails, and the test will return true due to the !. The previous implementation failed here, because [ ! ${rootdelay} -ge 0 ] returns false on error, while ! [ ${rootdelay} -ge 0 ] returns true on error.
2009-08-05Do not rely on -L test; use -h instead.Loui Chang1-1/+1
See `man dash` Signed-off-by: Loui Chang <louipc.ist@gmail.com> Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2009-06-07Always use rootdelay when polling a device, set it earlier in the init file0.5.25Thomas Bächler1-7/+7
2009-06-07Pass arguments to init properlyThomas Bächler1-3/+4
2009-06-07Don't only check for block devices, but also for symbolic links.Thomas Bächler1-1/+1
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-07Fix an 'elif' that should have been an 'if'Thomas Bächler1-1/+1
2009-06-06Rework the root device detection / creation stageThomas Bächler1-36/+34
- Set rootdelay to 10 by default - Skip the whole detection stage if we use root on nfs - Use the new poll_device function to wait for at most $rootdelay seconds - Always pass rootdelay=0 to kinit, as we ensure the existence of the root device - Don't reboot after the fallback. This allows a user to fix a problem and continue booting - Rely on kinit to detect the root filesystem type. The rootfstype= option can still be used to override Our old method would have failed as well, as the code for filesystem detection is the same
2009-06-06Add a new file init_functions that contains common functions used in /init ↵Thomas Bächler1-2/+1
and the hooks
2009-02-04Silence errors when killing udevdGerardo Exequiel Pozzi1-1/+1
udev forks some processes, and sometimes minips returns multiple PIDs. The error messages are annoying, so we'll simply remove them Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2008-03-16Fix various coding style issuesThomas Bächler1-11/+11
2008-03-15Use the new -s= option of replaceThomas Bächler1-12/+2
2008-01-04Allow init=??? syntax againAaron Griffin1-0/+2
Using an explicit set of params passed to kinit is annoying, because we forget things like this. Add init=??? syntax again, for i.e. init=/bin/bash to recover a root password Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-08-11Coding style change, use -n and -z for variable testsAaron Griffin1-5/+5
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com> git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@209 880c04e9-e011-0410-abf7-b926e227c9cd
2007-05-12- adjusted all hooks for new modprobe pathThomas Bächler1-2/+2
- added compatibility symlink /bin/modprobe - 0.5.14 release git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@206 880c04e9-e011-0410-abf7-b926e227c9cd
2007-05-12- fix init for users that use neither udev nor filesystemsThomas Bächler1-10/+27
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@205 880c04e9-e011-0410-abf7-b926e227c9cd
2007-05-12- fix a bug with BINARIES= (also accept shared objects, not only executables)Thomas Bächler1-8/+6
- fix some bugs introduced by phrakture (could you be more careful?) git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@204 880c04e9-e011-0410-abf7-b926e227c9cd
2007-03-12* Jan Peter den Heijer <jpdenheijer@gmail.com>Aaron Griffin1-0/+1
This one exports $rootdelay to $kinit_params to avoid having to wait for $rootdelay 2 times when one specifies rootdelay=x on the kernel cmdline (one in init, one for kinit)... git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@201 880c04e9-e011-0410-abf7-b926e227c9cd
2007-03-12* Jan Peter den Heijer <jpdenheijer@gmail.com>Aaron Griffin1-9/+14
The attached patch places the $root check before killing udev. The point is this: It gives udev a chance to create the device. It also prints a message saying "if you see the device being created here, try passing rootdelay=8 or higher to the kernel" also some minor edits: - Use echo instead of message when dropping into the shell when $root isn't found. People will always want to see those message i guess... - fixed a little typo : "use d echo * " is now "use echo * " mkinitcpio-rev199-place-rootcheck-before-killing-udev.patch git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@200 880c04e9-e011-0410-abf7-b926e227c9cd
2007-03-07Changes / suggestions from Jan Peter den Heijer <jpdenheijer@gmail.com>Aaron Griffin1-7/+19
* Check for root device, drop down to recovery prompt and allow for reboot * Handle rootdelay in init (before udev is killed), to properly populate devices git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@199 880c04e9-e011-0410-abf7-b926e227c9cd
2007-03-05Root delay *MUST* be passed on the command line if not using the filesystem hookAaron Griffin1-0/+4
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@198 880c04e9-e011-0410-abf7-b926e227c9cd
2007-03-01Fix the "Loading root filesystem module...-e" buggy outputAaron Griffin1-1/+1
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@196 880c04e9-e011-0410-abf7-b926e227c9cd
2006-12-06Trying to address piix issue:Thomas Bächler1-0/+9
- added -m to print a message before passing control to kinit - added earlymodules= to preload modules git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@187 880c04e9-e011-0410-abf7-b926e227c9cd