'adopt initcpio changes'

This commit is contained in:
Tobias Powalowski 2009-06-17 13:54:25 +02:00
parent 8db3cbda1e
commit 81d06e3442

View file

@ -89,40 +89,43 @@ if [ "${root}" = "" -a "${ip}" = "" ]; then
# enter install environment # enter install environment
exec /sbin/init exec /sbin/init
else else
# boot into system # If rootdelay is empty or not a non-negative integer, set it to 10
if [ ! -b "${root}" ]; then if [ -z "${rootdelay}" -o ! "${rootdelay}" -ge 0 ]; then
# This duplicates code from the filesystem hook export rootdelay=10
# without this, mkinitcpio would fail for users who use # We'll wait for the root device, so make sure klibc doesn't
# neither the udev hook, nor the filesystem hook export kinit_params="$kinit_params rootdelay=0"
fi
# If we boot from NFS, don't check for a block device in /dev
# Let kinit do it all
if [ -z "${nfsroot}" -a "${root}" != "/dev/nfs" ]; then
if ! poll_device "${root}" ${rootdelay}; then
msg "\nRoot device '${root}' doesn't exist, attempting to create it" msg "\nRoot device '${root}' doesn't exist, attempting to create it"
eval $(/bin/parseblock "${root}") eval $(/bin/parseblock "${root}")
if [ "${BLOCKNAME}" = "unknown" ]; then
echo "ERROR: Failed to parse block device name for '${root}'"
elif [ -z "${BLOCKDEVICE}" ]; then elif [ -z "${BLOCKDEVICE}" ]; then
echo "ERROR: Failed to parse block device ids for '${root}'" echo "ERROR: Failed to parse block device ids for '${root}'"
else else
export root="${BLOCKNAME}" echo "/bin/mknod /dev/root b ${BLOCKDEVICE}"
echo "/bin/mknod \"${BLOCKNAME}\" b ${BLOCKDEVICE}" /bin/mknod /dev/root b ${BLOCKDEVICE} >/dev/null
/bin/mknod "${BLOCKNAME}" b ${BLOCKDEVICE} >/dev/null export root="/dev/root"
fi fi
if [ ! -b "${root}" ]; then if [ ! -b "${root}" ]; then
err "Unable to create/detect root device '${root}'" err "Unable to detect or create root device '${root}'"
echo "Dropping to a recovery shell... type 'exit' to reboot" echo "You are being dropped to a recovery shell"
echo " Type 'reboot' to reboot"
echo " Type 'exit' to try and continue booting"
echo "NOTE: klibc contains no 'ls' binary, use 'echo *' instead" echo "NOTE: klibc contains no 'ls' binary, use 'echo *' instead"
echo "" echo ""
echo "If the device '${root}' gets created while you are here," echo "If the device '${root}' gets created while you are here,"
echo "try adding 'rootdelay=8' or higher to the kernel command-line" echo "try adding 'rootdelay=10' or higher to the kernel command-line"
PS1="ramfs$ " /bin/sh -i PS1="ramfs$ " /bin/sh -i
msg "Rebooting..." msg "Trying to continue (this will most likely fail)..."
/bin/reboot
fi fi
fi
msg ":: Initramfs Completed - control passing to kinit"
if [ -f "/message" ]; then if [ -f "/message" ]; then
msg "$(cat /message)" msg "$(cat /message)"
fi fi
msg ":: Initramfs Completed - control passing to kinit"
#Special handling is udev is running #Special handling is udev is running
udevpid=$(/bin/minips -C udevd -o pid=) udevpid=$(/bin/minips -C udevd -o pid=)
if [ -n "${udevpid}" ]; then if [ -n "${udevpid}" ]; then