aboutsummaryrefslogtreecommitdiff
path: root/rootfs
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2024-02-07 18:41:32 +0100
committerlonkaars <loek@pipeframe.xyz>2024-02-07 18:41:32 +0100
commitb02e98ad03bfdf37cb17b56034168d4ad8638823 (patch)
tree0f8527b388eb9b3260743234199b7f4da704a034 /rootfs
parentb9dfdaaa1ae0148dd8a3e78508c636636e7396a6 (diff)
fix init systemend
Diffstat (limited to 'rootfs')
-rw-r--r--rootfs/etc/deinit.d/99_mounts3
-rwxr-xr-xrootfs/etc/deinitrc2
-rw-r--r--rootfs/etc/init.d/00_mounts3
-rw-r--r--rootfs/etc/init.d/10_hostname3
-rw-r--r--rootfs/etc/init.d/10_network3
-rwxr-xr-xrootfs/etc/initrc3
-rw-r--r--rootfs/etc/inittab6
-rwxr-xr-xrootfs/etc/runit/120
-rwxr-xr-xrootfs/etc/runit/22
-rwxr-xr-x[-rw-r--r--]rootfs/etc/runit/3 (renamed from rootfs/etc/deinit.d/90_network)3
-rwxr-xr-xrootfs/etc/sv/syslog2
-rwxr-xr-xrootfs/var/service/httpd/run (renamed from rootfs/etc/sv/httpd)0
-rwxr-xr-xrootfs/var/service/ifplugd/run (renamed from rootfs/etc/sv/ifplugd)0
13 files changed, 28 insertions, 22 deletions
diff --git a/rootfs/etc/deinit.d/99_mounts b/rootfs/etc/deinit.d/99_mounts
deleted file mode 100644
index 359d592..0000000
--- a/rootfs/etc/deinit.d/99_mounts
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-# unmount all drives
-umount -a -r
diff --git a/rootfs/etc/deinitrc b/rootfs/etc/deinitrc
deleted file mode 100755
index e681930..0000000
--- a/rootfs/etc/deinitrc
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-for f in /etc/deinit.d/* ; do . "$f" ; done
diff --git a/rootfs/etc/init.d/00_mounts b/rootfs/etc/init.d/00_mounts
deleted file mode 100644
index 804880c..0000000
--- a/rootfs/etc/init.d/00_mounts
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-# mount all drives in /etc/fstab
-mount -a
diff --git a/rootfs/etc/init.d/10_hostname b/rootfs/etc/init.d/10_hostname
deleted file mode 100644
index 064cea2..0000000
--- a/rootfs/etc/init.d/10_hostname
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-# update hostname
-hostname -F /etc/hostname
diff --git a/rootfs/etc/init.d/10_network b/rootfs/etc/init.d/10_network
deleted file mode 100644
index 03dc3f8..0000000
--- a/rootfs/etc/init.d/10_network
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-# up all network interfaces
-ifup -a -f
diff --git a/rootfs/etc/initrc b/rootfs/etc/initrc
deleted file mode 100755
index a3291fd..0000000
--- a/rootfs/etc/initrc
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-for f in /etc/init.d/* ; do . "$f" ; done
-
diff --git a/rootfs/etc/inittab b/rootfs/etc/inittab
index ffc4115..930ae6c 100644
--- a/rootfs/etc/inittab
+++ b/rootfs/etc/inittab
@@ -1,7 +1,7 @@
# /etc/inittab init(8)
-
-::sysinit:/etc/initrc
-::shutdown:/etc/deinitrc
+# there is no 'real' runit, only busybox init
+::sysinit:/etc/runit/1
+::shutdown:/etc/runit/3
::restart:/sbin/init
diff --git a/rootfs/etc/runit/1 b/rootfs/etc/runit/1
new file mode 100755
index 0000000..f693a41
--- /dev/null
+++ b/rootfs/etc/runit/1
@@ -0,0 +1,20 @@
+#!/bin/sh
+# mount all drives in /etc/fstab
+mount -a
+
+# clear run folder
+rm -rf /var/run
+mkdir -p /var/run
+
+# update hostname
+hostname -F /etc/hostname
+
+# up all network interfaces
+ifup -a -f
+
+# start system log
+syslogd
+
+# go to stage 2 (normally runit (/sbin/init) does this by itself, but this is
+# using busybox's weird init system)
+(setsid /etc/runit/2 1> /dev/null 2> /dev/null &)
diff --git a/rootfs/etc/runit/2 b/rootfs/etc/runit/2
new file mode 100755
index 0000000..6a6d609
--- /dev/null
+++ b/rootfs/etc/runit/2
@@ -0,0 +1,2 @@
+#!/bin/sh
+runsvdir -P /var/service
diff --git a/rootfs/etc/deinit.d/90_network b/rootfs/etc/runit/3
index 106e6b7..8a0018d 100644..100755
--- a/rootfs/etc/deinit.d/90_network
+++ b/rootfs/etc/runit/3
@@ -1,3 +1,6 @@
#!/bin/sh
# disable all network interfaces
ifdown -a
+
+# unmount all drives
+umount -a -r
diff --git a/rootfs/etc/sv/syslog b/rootfs/etc/sv/syslog
deleted file mode 100755
index cdcfeaf..0000000
--- a/rootfs/etc/sv/syslog
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec syslogd -n
diff --git a/rootfs/etc/sv/httpd b/rootfs/var/service/httpd/run
index 477041c..477041c 100755
--- a/rootfs/etc/sv/httpd
+++ b/rootfs/var/service/httpd/run
diff --git a/rootfs/etc/sv/ifplugd b/rootfs/var/service/ifplugd/run
index cef959a..cef959a 100755
--- a/rootfs/etc/sv/ifplugd
+++ b/rootfs/var/service/ifplugd/run