aboutsummaryrefslogtreecommitdiff
path: root/repos/core/initscripts
diff options
context:
space:
mode:
Diffstat (limited to 'repos/core/initscripts')
-rw-r--r--repos/core/initscripts/.files9
-rw-r--r--repos/core/initscripts/build5
-rw-r--r--repos/core/initscripts/info4
-rw-r--r--repos/core/initscripts/inittab3
-rw-r--r--repos/core/initscripts/rc.boot87
-rw-r--r--repos/core/initscripts/rc.boot.local2
-rw-r--r--repos/core/initscripts/rc.modules2
-rw-r--r--repos/core/initscripts/rc.shutdown27
-rw-r--r--repos/core/initscripts/rc.shutdown.local2
9 files changed, 141 insertions, 0 deletions
diff --git a/repos/core/initscripts/.files b/repos/core/initscripts/.files
new file mode 100644
index 00000000..88d6648e
--- /dev/null
+++ b/repos/core/initscripts/.files
@@ -0,0 +1,9 @@
+drwxr-xr-x root/root etc/
+-rw-r--r-- root/root etc/inittab.new
+-rwxr-xr-x root/root etc/rc.boot.local.new
+-rwxr-xr-x root/root etc/rc.boot.new
+-rwxr-xr-x root/root etc/rc.modules.new
+-rwxr-xr-x root/root etc/rc.shutdown.local.new
+-rwxr-xr-x root/root etc/rc.shutdown.new
+drwxr-xr-x root/root var/
+drwxr-xr-x root/root var/service/
diff --git a/repos/core/initscripts/build b/repos/core/initscripts/build
new file mode 100644
index 00000000..808d6130
--- /dev/null
+++ b/repos/core/initscripts/build
@@ -0,0 +1,5 @@
+mkdir -p $PKG/etc $PKG/var/service
+for i in boot boot.local shutdown shutdown.local modules; do
+ install -m755 $SRC/rc.$i $PKG/etc/rc.$i
+done
+install -m644 $SRC/inittab $PKG/etc/inittab
diff --git a/repos/core/initscripts/info b/repos/core/initscripts/info
new file mode 100644
index 00000000..50bf40f8
--- /dev/null
+++ b/repos/core/initscripts/info
@@ -0,0 +1,4 @@
+name=initscripts
+version=1
+release=1
+source="rc.boot rc.shutdown rc.boot.local rc.shutdown.local rc.modules inittab"
diff --git a/repos/core/initscripts/inittab b/repos/core/initscripts/inittab
new file mode 100644
index 00000000..5509bb64
--- /dev/null
+++ b/repos/core/initscripts/inittab
@@ -0,0 +1,3 @@
+::sysinit:/etc/rc.boot
+::respawn:/usr/bin/runsvdir /var/service
+::shutdown:/etc/rc.shutdown
diff --git a/repos/core/initscripts/rc.boot b/repos/core/initscripts/rc.boot
new file mode 100644
index 00000000..0156f293
--- /dev/null
+++ b/repos/core/initscripts/rc.boot
@@ -0,0 +1,87 @@
+#!/bin/sh
+
+PATH=/bin:/usr/bin:/sbin:/usr/sbin
+
+echo "Alice booting"
+
+mountpoint -q /proc || mount -t proc proc /proc -o nosuid,noexec,nodev
+mountpoint -q /sys || mount -t sysfs sys /sys -o nosuid,noexec,nodev
+mountpoint -q /run || mount -t tmpfs run /run -o mode=0755,nosuid,nodev
+mountpoint -q /dev || mount -t devtmpfs dev /dev -o mode=0755,nosuid
+mkdir -p /run/lock /dev/pts /dev/shm /run/runit
+mountpoint -q /dev/pts || mount /dev/pts >/dev/null 2>&1 || mount -t devpts devpts /dev/pts -o mode=0620,gid=5,nosuid,noexec
+mountpoint -q /dev/shm || mount /dev/shm >/dev/null 2>&1 || mount -t tmpfs shm /dev/shm -o mode=1777,nosuid,nodev
+
+if [ "$(command -v udevd)" ]; then
+ udevd --daemon
+ udevadm trigger --action=add --type=subsystems
+ udevadm trigger --action=add --type=devices
+ udevadm trigger --action=change --type=devices
+ udevadm settle
+else
+ echo "/sbin/mdev" > /proc/sys/kernel/hotplug
+ for i in $(find /sys/devices -name 'usb[0-9]*'); do
+ [ -e $i/uevent ] && echo add > $i/uevent
+ done
+ mdev -s
+ find /sys -name 'modalias' -type f -exec cat '{}' + | sort -u | xargs modprobe -b -a 2>/dev/null
+ find /sys -name 'modalias' -type f -exec cat '{}' + | sort -u | xargs modprobe -b -a 2>/dev/null
+ ln -s /proc/self/fd /dev/fd
+ ln -s fd/0 /dev/stdin
+ ln -s fd/1 /dev/stdout
+ ln -s fd/2 /dev/stderr
+fi
+
+swapon -a
+ip link set lo up
+mount -o remount,ro /
+
+for arg in $(cat /proc/cmdline); do
+ case $arg in
+ fastboot) FASTBOOT=1;;
+ forcefsck) FORCEFSCK="-f";;
+ esac
+done
+
+if [ ! "$FASTBOOT" ]; then
+ fsck $FORCEFSCK -ATat noopts=_netdev
+ if [ "$?" -gt 1 ]; then
+ echo "*******************************************"
+ echo "** Filesystem check failed **"
+ echo "** You been dropped to maintenance shell **"
+ echo "*******************************************"
+ sulogin -p
+ fi
+fi
+
+mount -o remount,rw /
+mount -a
+
+if [ ! -f /etc/hostname ]; then
+ echo linux > /etc/hostname
+fi
+hostname -F /etc/hostname
+
+find /var/run -name "*.pid" -delete
+find /tmp -xdev -mindepth 1 ! -name lost+found -delete
+
+if [ -f "/etc/sysctl.conf" ]; then
+ sysctl -q -p
+fi
+
+hwclock -s
+
+if [ -f "/var/lib/random-seed" ]; then
+ cat /var/lib/random-seed >/dev/urandom
+ rm -f /var/lib/random-seed
+fi
+
+if [ -d /sys/firmware/efi/efivars ]; then
+ mount -t efivarfs none /sys/firmware/efi/efivars
+fi
+
+dmesg >/var/log/dmesg.log
+
+for i in /etc/rc.modules /etc/rc.boot.local ; do
+ [ -x "$i" ] && "$i"
+done
diff --git a/repos/core/initscripts/rc.boot.local b/repos/core/initscripts/rc.boot.local
new file mode 100644
index 00000000..13f47935
--- /dev/null
+++ b/repos/core/initscripts/rc.boot.local
@@ -0,0 +1,2 @@
+#!/bin/sh
+
diff --git a/repos/core/initscripts/rc.modules b/repos/core/initscripts/rc.modules
new file mode 100644
index 00000000..13f47935
--- /dev/null
+++ b/repos/core/initscripts/rc.modules
@@ -0,0 +1,2 @@
+#!/bin/sh
+
diff --git a/repos/core/initscripts/rc.shutdown b/repos/core/initscripts/rc.shutdown
new file mode 100644
index 00000000..d17af0d5
--- /dev/null
+++ b/repos/core/initscripts/rc.shutdown
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+echo "shutting down"
+
+if [ -x /etc/rc.shutdown.local ]; then
+ /etc/rc.shutdown.local
+fi
+
+if [ "$(command -v udevadm)" ]; then
+ udevadm control --exit
+fi
+
+sv down /var/service/*
+dd if=/dev/urandom of=/var/lib/random-seed count=1 bs=512 2>/dev/null
+hwclock -w
+kill -s TERM -1
+sleep 2
+kill -s KILL -1
+swapoff -a
+ip link set lo down
+umount -a -r -t noproc
+mount -o remount,ro /
+sync
+sleep 1
+wait
+
+echo bye
diff --git a/repos/core/initscripts/rc.shutdown.local b/repos/core/initscripts/rc.shutdown.local
new file mode 100644
index 00000000..13f47935
--- /dev/null
+++ b/repos/core/initscripts/rc.shutdown.local
@@ -0,0 +1,2 @@
+#!/bin/sh
+