#!/usr/bin/sh -x

export PATH=/sbin:/usr/sbin:/bin:/usr/bin

mkdir -m 0755 /dev /run
mkdir /sys /proc /tmp /root
mkdir -p /var/lock
mount -t sysfs -o nodev,noexec,nosuid sysfs /sys
mount -t proc -o nodev,noexec,nosuid proc /proc

mount -t devtmpfs -o nosuid,mode=0755 udev /dev

# Prepare the /dev directory
[ ! -h /dev/fd ] && ln -s /proc/self/fd /dev/fd
[ ! -h /dev/stdin ] && ln -s /proc/self/fd/0 /dev/stdin
[ ! -h /dev/stdout ] && ln -s /proc/self/fd/1 /dev/stdout
[ ! -h /dev/stderr ] && ln -s /proc/self/fd/2 /dev/stderr

mkdir /dev/pts
mount -t devpts -o noexec,nosuid,gid=5,mode=0620 devpts /dev/pts || true

mount -t tmpfs -o "nodev,noexec,nosuid,mode=0755" tmpfs /run

# Start udevd
echo > /sys/kernel/uevent_helper

/lib/systemd/systemd-udevd --daemon --resolve-names=never

udevadm control --ping
udevadm trigger --type=subsystems --action=add
udevadm trigger --type=devices --action=add
udevadm settle

echo "Happy times, giving you a shell"
sh
