Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
terminate before continuing
|
|
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.
|
|
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.
|
|
stupid me
|
|
|
|
is specified
|
|
typing reboot is ineffective
|
|
|
|
otherwise will access to /sys/block//sys/block/sda/sda1/dev (for example)
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
|
|
There is no nss library or user/group database in initramfs, so tell udev to not try to resolve any names
|
|
This fixes FS#18213.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use busybox/switch_root for the final step. TODO: NFS
|
|
CONFIG_BUSYBOX_EXEC_PATH="/bin/busybox" in busybox
|
|
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
|
|
|
|
|
|
|
|
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.
|
|
See `man dash`
Signed-off-by: Loui Chang <louipc.ist@gmail.com>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
|
|
|
|
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.
|
|
|
|
- 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
|
|
and the hooks
|
|
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>
|
|
|
|
|
|
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>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@209 880c04e9-e011-0410-abf7-b926e227c9cd
|
|
- 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
|
|
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@205 880c04e9-e011-0410-abf7-b926e227c9cd
|
|
- 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
|
|
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
|
|
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
|
|
* 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
|
|
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@198 880c04e9-e011-0410-abf7-b926e227c9cd
|
|
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@196 880c04e9-e011-0410-abf7-b926e227c9cd
|
|
- 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
|
|
- Global kver for all images in a preset
- Allow comments (#) in kernel commandline
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@182 880c04e9-e011-0410-abf7-b926e227c9cd
|
|
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@167 880c04e9-e011-0410-abf7-b926e227c9cd
|
|
find a better solution'
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@165 880c04e9-e011-0410-abf7-b926e227c9cd
|
|
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@164 880c04e9-e011-0410-abf7-b926e227c9cd
|