#!/bin/sh

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

# mount volatile filesystems
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t devtmpfs udev /dev
mkdir /dev/pts
mount -n -t devpts -o newinstance,ptmxmode=666,gid=5,mode=620 none /dev/pts
rm /dev/ptmx
ln -s /dev/pts/ptmx /dev/ptmx
mount -t cgroup cgroup /sys/fs/cgroup

# / needs permissions!?
chmod a+rx /

# minimega needs
modprobe loop
modprobe virtio_console
modprobe virtio_pci

# swath of network drivers that might be used
modprobe e1000
modprobe e1000e
modprobe virtio_net
modprobe vmxnet3

# settle :(
sleep 10

ifconfig lo up
ifconfig eth0 up
dhclient -v eth0

mkdir /var/run/sshd
/usr/sbin/sshd

# create symlinks for virtio devices
mkdir /dev/virtio-ports

for d in $(ls /sys/class/virtio-ports); do
	name=$(cat /sys/class/virtio-ports/$d/name)
	ln -s -T /dev/$d /dev/virtio-ports/$name
done

/miniccc -v=false -serial /dev/virtio-ports/cc -logfile /miniccc.log &

setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
