#!/bin/sh
# Set up filesystem as root, parse the kernel arguments

export PATH=/sbin:/bin:/usr/sbin:/usr/bin
exec < /dev/console > /dev/console 2> /dev/console

trap "echo \"Something wicked happened.  Press enter for rescue shell.\" ; read NULL ; exec sh" 0
set -e

. /lib/debian-installer/init-debug
debugshell "just booted"

echo "Setting default module loading path"
sysctl "kern.module_path=/lib/modules/`uname -r`;/boot/kernel" > /dev/null

echo "Setting up filesystem, please wait ..."
mount -o remount,rw -t ufs /dev/md0 /
mount /dev
mount /dev/fd
mount /proc
mount /sys
ln -s /var/run/log /dev/log

# Get all kernel parameters that can be exported as environment variables
envvars="$(kenv | egrep '^[-_/[:alnum:]]+=".*"$' || true)"

# Parse kernel parameters
init='/bin/busybox init'
for i in $envvars ; do
    case "$i" in
        init="/sbin/init"|init="init")
            # Avoid endless loop
            : ;;
        init=*)
            init=${i#init=}
            ;;
        noshell=*)
            sed -i '/^ttyv[12]/s/^/#/' /etc/inittab
            ;;
    esac
done

# Start devd to process all pending events before init (see #493865)
devd

# Close all open files on the initrd, export kernel parameters and run
# busybox init
debugshell "before init"
eval exec env - $envvars $init < /dev/console > /dev/console 2>&1
