From 25a1cb19b213f7825fcc080a29991beeb70f6b93 Mon Sep 17 00:00:00 2001 From: Mitch Riedstra Date: Mon, 16 Apr 2018 00:51:48 -0400 Subject: It works! A getty now spawns on the serial console on boot Todo: DNS resolution doesn't work yet. DHCP for eth0? SSH server? `tmux`? ------- Added busybox config Switched the pathing around yet again in the `inc` file Added `local` files to be copied into the prefix before creating the tarball ( TODO ) Added tree command to the build Install runit --- local/etc/.rc.init.swp | Bin 0 -> 12288 bytes local/etc/group | 1 + local/etc/hostname | 1 + local/etc/passwd | 1 + local/etc/profile | 2 ++ local/etc/rc.init | 23 +++++++++++++++++++++++ local/etc/runit/1 | 27 +++++++++++++++++++++++++++ local/etc/runit/2 | 6 ++++++ local/etc/runit/3 | 3 +++ local/etc/runit/ctrlaltdel | 4 ++++ local/etc/shadow | 1 + local/etc/sv/getty-ttyS0/run | 4 ++++ local/etc/syslinux.cfg | 16 ++++++++++++++++ 13 files changed, 89 insertions(+) create mode 100644 local/etc/.rc.init.swp create mode 100644 local/etc/group create mode 100644 local/etc/hostname create mode 100644 local/etc/passwd create mode 100644 local/etc/profile create mode 100644 local/etc/rc.init create mode 100755 local/etc/runit/1 create mode 100755 local/etc/runit/2 create mode 100755 local/etc/runit/3 create mode 100755 local/etc/runit/ctrlaltdel create mode 100644 local/etc/shadow create mode 100755 local/etc/sv/getty-ttyS0/run create mode 100644 local/etc/syslinux.cfg (limited to 'local/etc') diff --git a/local/etc/.rc.init.swp b/local/etc/.rc.init.swp new file mode 100644 index 0000000..a042180 Binary files /dev/null and b/local/etc/.rc.init.swp differ diff --git a/local/etc/group b/local/etc/group new file mode 100644 index 0000000..18acc30 --- /dev/null +++ b/local/etc/group @@ -0,0 +1 @@ +root:x:0:root diff --git a/local/etc/hostname b/local/etc/hostname new file mode 100644 index 0000000..1bd8f61 --- /dev/null +++ b/local/etc/hostname @@ -0,0 +1 @@ +min diff --git a/local/etc/passwd b/local/etc/passwd new file mode 100644 index 0000000..7710014 --- /dev/null +++ b/local/etc/passwd @@ -0,0 +1 @@ +root:x:0:0:root:/root:/bin/mksh diff --git a/local/etc/profile b/local/etc/profile new file mode 100644 index 0000000..74c6625 --- /dev/null +++ b/local/etc/profile @@ -0,0 +1,2 @@ +export PATH="/usr/sbin:/usr/bin:/bin:/sbin" +export SVDIR="/var/sv" diff --git a/local/etc/rc.init b/local/etc/rc.init new file mode 100644 index 0000000..1fcf4c8 --- /dev/null +++ b/local/etc/rc.init @@ -0,0 +1,23 @@ +#!/bin/sh + +mkdir -p /dev +mountpoint -q /dev || mount -t devtmpfs dev /dev -o mode=0755,nosuid +mkdir -p /dev/pts +mountpoint -q /dev/pts || mount -n -t devpts devpts /dev/pts -o mode=0620,gid=5,nosuid,noexec,noatime + + +mkdir -p /proc /sys +mountpoint -q /proc || mount -t proc proc /proc -o nosuid,noexec,nodev,hidepid=2 +mountpoint -q /sys || mount -t sysfs sys /sys -o nosuid,noexec,nodev + +mkdir -p /dev/shm +mountpoint -q /dev/shm || mount -n -t tmpfs shm /dev/shm -o mode=1777,nosuid,nodev,noatime + +# It's going to be interesting to figure out what this one does. +ln -s /proc/self/fd /dev/fd + +mountpoint -q /sys/fs/cgroup || mount -n -t cgroup nodev /sys/fs/cgroup + +printf "Setting up loopback.\n" +[ -d /sys/class/net/lo ] && ifconfig lo up + diff --git a/local/etc/runit/1 b/local/etc/runit/1 new file mode 100755 index 0000000..671b689 --- /dev/null +++ b/local/etc/runit/1 @@ -0,0 +1,27 @@ +#!/bin/sh + +. /etc/profile + +printf "Starting *MIN*imum system\n" + +mkdir -p /dev +mountpoint -q /dev || mount -t devtmpfs dev /dev -o mode=0755,nosuid +mkdir -p /dev/pts +mountpoint -q /dev/pts || mount -n -t devpts devpts /dev/pts -o mode=0620,gid=5,nosuid,noexec,noatime + +mkdir -p /proc /sys +mountpoint -q /proc || mount -t proc proc /proc -o nosuid,noexec,nodev,hidepid=2 +mountpoint -q /sys || mount -t sysfs sys /sys -o nosuid,noexec,nodev + +mkdir -p /dev/shm +mountpoint -q /dev/shm || mount -n -t tmpfs shm /dev/shm -o mode=1777,nosuid,nodev,noatime + +# It's going to be interesting to figure out what this one does. +ln -s /proc/self/fd /dev/fd + +mountpoint -q /sys/fs/cgroup || mount -n -t cgroup nodev /sys/fs/cgroup + +printf "Setting up loopback.\n" +[ -d /sys/class/net/lo ] && ifconfig lo up + + diff --git a/local/etc/runit/2 b/local/etc/runit/2 new file mode 100755 index 0000000..69a7ee3 --- /dev/null +++ b/local/etc/runit/2 @@ -0,0 +1,6 @@ +#!/bin/sh + +. /etc/profile + +exec env - PATH=$PATH \ + runsvdir -P /var/sv diff --git a/local/etc/runit/3 b/local/etc/runit/3 new file mode 100755 index 0000000..c822704 --- /dev/null +++ b/local/etc/runit/3 @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "" diff --git a/local/etc/runit/ctrlaltdel b/local/etc/runit/ctrlaltdel new file mode 100755 index 0000000..b9625b9 --- /dev/null +++ b/local/etc/runit/ctrlaltdel @@ -0,0 +1,4 @@ +#!/bin/sh + + +touch /etc/runit/reboot diff --git a/local/etc/shadow b/local/etc/shadow new file mode 100644 index 0000000..da0f124 --- /dev/null +++ b/local/etc/shadow @@ -0,0 +1 @@ +root:avabPksolANIo:17637:0::::: diff --git a/local/etc/sv/getty-ttyS0/run b/local/etc/sv/getty-ttyS0/run new file mode 100755 index 0000000..7a8be4b --- /dev/null +++ b/local/etc/sv/getty-ttyS0/run @@ -0,0 +1,4 @@ +#!/bin/sh +. /etc/profile + +getty ttyS0 115200 vt100 diff --git a/local/etc/syslinux.cfg b/local/etc/syslinux.cfg new file mode 100644 index 0000000..197ad00 --- /dev/null +++ b/local/etc/syslinux.cfg @@ -0,0 +1,16 @@ +SERIAL 0 115200 +PROMPT 1 +TIMEOUT 50 +DEFAULT linux-runit + +LABEL linux-mksh + LINUX /boot/vmlinuz-4.16.2 + APPEND root=/dev/vda1 rw init=/bin/mksh console=tty0 console=ttyS0,11500n8 + +LABEL linux-runit + LINUX /boot/vmlinuz-4.16.2 + APPEND root=/dev/vda1 rw init=/sbin/runit-init console=tty0 console=ttyS0,11500n8 + +LABEL linux + LINUX /boot/vmlinuz-4.16.2 + APPEND root=/dev/vda1 rw init=/sbin/init console=tty0 console=ttyS0,11500n8 -- cgit v1.2.3