Skip to content

Instantly share code, notes, and snippets.

@PkmX
Created June 15, 2015 12:44
Show Gist options
  • Save PkmX/79142bd3ea2eb91e1e6d to your computer and use it in GitHub Desktop.
Save PkmX/79142bd3ea2eb91e1e6d to your computer and use it in GitHub Desktop.
OSDI Lab12 init
#!/sbin/busybox sh
set -e
/sbin/busybox --install -s
chown -R 0:0 /
mount -t proc proc /proc
mount -t sysfs sysfs /sys
mknod -m 666 /dev/null c 1 3
mknod -m 666 /dev/zero c 1 5
mknod -m 666 /dev/ptmx c 5 2
mknod -m 666 /dev/tty c 5 0
mknod -m 444 /dev/random c 1 8
mknod -m 444 /dev/urandom c 1 9
mknod -m 620 /dev/tty1 c 4 1
mknod -m 620 /dev/tty2 c 4 2
mknod -m 620 /dev/tty3 c 4 3
mknod -m 620 /dev/tty4 c 4 4
mknod -m 620 /dev/tty5 c 4 5
mknod -m 620 /dev/tty6 c 4 6
mknod -m 620 /dev/tty7 c 4 7
mknod -m 620 /dev/tty8 c 4 8
mknod -m 660 /dev/sda b 8 0
ip link set eth0 up
ip link set lo up
mke2fs /dev/sda
mkdir -p /new_root
mount /dev/sda /new_root
find / -xdev | cpio -H newc -o | { cd /new_root && cpio -m -i; }
rmdir /new_root/new_root
mount --move /proc /new_root/proc
mount --move /sys /new_root/sys
exec switch_root /new_root /sbin/init
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment