#!/bin/sh
#
# The initial system boot script.  This only does one thing: try to find
# the root filesystem and mount it if possible.
#
exec 9>&1 >/dev/kmsg 2>&1

echo "---- initramfs ('$0')"
echo "To bypass this script, use rdinit=/bin/sh"

# Mount /dev, /proc, /sys, etc
/mounts-sys

. /helpers.sh
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

trap 'log FATAL - INIT EXITED - Rebooting.; reboot >&9 2>&1 9>&-' EXIT


# Initialize any loadable driver modules
for d in /lib/modules/*.ko /lib/modules/*/*.ko; do
  [ -e "$d" ] && insmod $d
done

# Mount /rootfs
. /mounts-root || die "couldn't mount root filesystems"

# read_cmdline was run by /mounts-root, possibly setting INIT

log 'Looking for init in rootfs.  To bypass this, use init=/bin/sh'
for init in "$INIT" /sbin/init /linuxrc /bin/sh; do
  [ -n "$init" ] || continue
  log "Trying '/rootfs$init'"
  [ -x "/rootfs$init" ] || continue
  case "$init" in
    /sbin/init) args=1 ;;
    *) args= ;;
  esac
  cd /rootfs
  [ "$init" = "$INIT" ] && exec >&9 2>&1  # probably a shell; bring back tty
  exec 9>&-   # close fd to console
  exec switch_root /rootfs "$init" $args
done

die "couldn't switch to root filesystem"
