summaryrefslogtreecommitdiffstats
path: root/src/lib/source
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/source')
-rw-r--r--src/lib/source/system/mount/mount-fstab/dependencies.d/mount-dev0
-rw-r--r--src/lib/source/system/mount/mount-fstab/down7
-rw-r--r--src/lib/source/system/mount/mount-fstab/type1
-rw-r--r--src/lib/source/system/mount/mount-fstab/up7
-rw-r--r--src/lib/source/system/mount/mount-tmp/down8
-rw-r--r--src/lib/source/system/mount/mount-tmp/type1
-rw-r--r--src/lib/source/system/mount/mount-tmp/up7
-rw-r--r--src/lib/source/system/mount/remount-root/down7
-rw-r--r--src/lib/source/system/mount/remount-root/type1
-rw-r--r--src/lib/source/system/mount/remount-root/up7
-rw-r--r--src/lib/source/system/net/hostname/type1
-rw-r--r--src/lib/source/system/net/hostname/up9
-rw-r--r--src/lib/source/system/other/dmesg-srv/dependencies.d/mount-dev0
-rw-r--r--src/lib/source/system/other/dmesg-srv/producer-for1
-rw-r--r--src/lib/source/system/other/dmesg-srv/run10
-rw-r--r--src/lib/source/system/other/dmesg-srv/type1
-rw-r--r--src/lib/source/system/other/local/down8
-rw-r--r--src/lib/source/system/other/local/type1
-rw-r--r--src/lib/source/system/other/local/up10
-rw-r--r--src/lib/source/system/other/modules/type1
-rw-r--r--src/lib/source/system/other/modules/up19
-rw-r--r--src/lib/source/system/other/random-seed-load/dependencies.d/mount-dev0
-rw-r--r--src/lib/source/system/other/random-seed-load/type1
-rw-r--r--src/lib/source/system/other/random-seed-load/up12
-rw-r--r--src/lib/source/system/other/random-seed-save/dependencies.d/mount0
-rw-r--r--src/lib/source/system/other/random-seed-save/dependencies.d/mount-dev0
-rw-r--r--src/lib/source/system/other/random-seed-save/dependencies.d/random-seed-load0
-rw-r--r--src/lib/source/system/other/random-seed-save/down14
-rw-r--r--src/lib/source/system/other/random-seed-save/type1
-rw-r--r--src/lib/source/system/other/random-seed-save/up14
-rw-r--r--src/lib/source/system/other/swap-fstab/down7
-rw-r--r--src/lib/source/system/other/swap-fstab/type1
-rw-r--r--src/lib/source/system/other/swap-fstab/up7
-rw-r--r--src/lib/source/system/other/syslog-priv-srv/dependencies.d/mount0
-rw-r--r--src/lib/source/system/other/syslog-priv-srv/notification-fd1
-rw-r--r--src/lib/source/system/other/syslog-priv-srv/producer-for1
-rw-r--r--src/lib/source/system/other/syslog-priv-srv/run12
-rw-r--r--src/lib/source/system/other/syslog-priv-srv/type1
-rw-r--r--src/lib/source/system/other/syslog-srv/dependencies.d/mount0
-rw-r--r--src/lib/source/system/other/syslog-srv/notification-fd1
-rw-r--r--src/lib/source/system/other/syslog-srv/producer-for1
-rw-r--r--src/lib/source/system/other/syslog-srv/run12
-rw-r--r--src/lib/source/system/other/syslog-srv/type1
-rw-r--r--src/lib/source/system/udev/devd-log/consumer-for1
-rw-r--r--src/lib/source/system/udev/devd-log/no-ml0
-rw-r--r--src/lib/source/system/udev/devd-log/notification-fd1
-rw-r--r--src/lib/source/system/udev/devd-log/pipeline-name1
-rw-r--r--src/lib/source/system/udev/devd-log/run11
-rw-r--r--src/lib/source/system/udev/devd-log/type1
-rw-r--r--src/lib/source/system/udev/devd-srv/dependencies.d/mount-dev0
-rw-r--r--src/lib/source/system/udev/devd-srv/no-ml0
-rw-r--r--src/lib/source/system/udev/devd-srv/producer-for1
-rw-r--r--src/lib/source/system/udev/devd-srv/run7
-rw-r--r--src/lib/source/system/udev/devd-srv/type1
-rw-r--r--src/lib/source/system/vfs/mount-dev/down9
-rw-r--r--src/lib/source/system/vfs/mount-dev/type1
-rw-r--r--src/lib/source/system/vfs/mount-dev/up7
-rw-r--r--src/lib/source/system/vfs/mount-run/down9
-rw-r--r--src/lib/source/system/vfs/mount-run/type1
-rw-r--r--src/lib/source/system/vfs/mount-run/up13
60 files changed, 258 insertions, 0 deletions
diff --git a/src/lib/source/system/mount/mount-fstab/dependencies.d/mount-dev b/src/lib/source/system/mount/mount-fstab/dependencies.d/mount-dev
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/mount/mount-fstab/dependencies.d/mount-dev
diff --git a/src/lib/source/system/mount/mount-fstab/down b/src/lib/source/system/mount/mount-fstab/down
new file mode 100644
index 0000000..794c607
--- /dev/null
+++ b/src/lib/source/system/mount/mount-fstab/down
@@ -0,0 +1,7 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+umount -a
diff --git a/src/lib/source/system/mount/mount-fstab/type b/src/lib/source/system/mount/mount-fstab/type
new file mode 100644
index 0000000..bdd22a1
--- /dev/null
+++ b/src/lib/source/system/mount/mount-fstab/type
@@ -0,0 +1 @@
+oneshot
diff --git a/src/lib/source/system/mount/mount-fstab/up b/src/lib/source/system/mount/mount-fstab/up
new file mode 100644
index 0000000..e0bce06
--- /dev/null
+++ b/src/lib/source/system/mount/mount-fstab/up
@@ -0,0 +1,7 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+mount -a
diff --git a/src/lib/source/system/mount/mount-tmp/down b/src/lib/source/system/mount/mount-tmp/down
new file mode 100644
index 0000000..106ff1f
--- /dev/null
+++ b/src/lib/source/system/mount/mount-tmp/down
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+#fdmove -c 2 1
+
+# Not umounting since it is used until shutdown anyway
+# umount /tmp
diff --git a/src/lib/source/system/mount/mount-tmp/type b/src/lib/source/system/mount/mount-tmp/type
new file mode 100644
index 0000000..bdd22a1
--- /dev/null
+++ b/src/lib/source/system/mount/mount-tmp/type
@@ -0,0 +1 @@
+oneshot
diff --git a/src/lib/source/system/mount/mount-tmp/up b/src/lib/source/system/mount/mount-tmp/up
new file mode 100644
index 0000000..1474e2f
--- /dev/null
+++ b/src/lib/source/system/mount/mount-tmp/up
@@ -0,0 +1,7 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+mount -t tmpfs -o mode=1777 tmpfs /tmp
diff --git a/src/lib/source/system/mount/remount-root/down b/src/lib/source/system/mount/remount-root/down
new file mode 100644
index 0000000..36356fe
--- /dev/null
+++ b/src/lib/source/system/mount/remount-root/down
@@ -0,0 +1,7 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+mount -ur /
diff --git a/src/lib/source/system/mount/remount-root/type b/src/lib/source/system/mount/remount-root/type
new file mode 100644
index 0000000..bdd22a1
--- /dev/null
+++ b/src/lib/source/system/mount/remount-root/type
@@ -0,0 +1 @@
+oneshot
diff --git a/src/lib/source/system/mount/remount-root/up b/src/lib/source/system/mount/remount-root/up
new file mode 100644
index 0000000..e57f468
--- /dev/null
+++ b/src/lib/source/system/mount/remount-root/up
@@ -0,0 +1,7 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+mount -uw /
diff --git a/src/lib/source/system/net/hostname/type b/src/lib/source/system/net/hostname/type
new file mode 100644
index 0000000..bdd22a1
--- /dev/null
+++ b/src/lib/source/system/net/hostname/type
@@ -0,0 +1 @@
+oneshot
diff --git a/src/lib/source/system/net/hostname/up b/src/lib/source/system/net/hostname/up
new file mode 100644
index 0000000..42ff083
--- /dev/null
+++ b/src/lib/source/system/net/hostname/up
@@ -0,0 +1,9 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+backtick -Ei HOSTNAME { head -n 1 /etc/hostname }
+
+hostname ${HOSTNAME}
diff --git a/src/lib/source/system/other/dmesg-srv/dependencies.d/mount-dev b/src/lib/source/system/other/dmesg-srv/dependencies.d/mount-dev
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/other/dmesg-srv/dependencies.d/mount-dev
diff --git a/src/lib/source/system/other/dmesg-srv/producer-for b/src/lib/source/system/other/dmesg-srv/producer-for
new file mode 100644
index 0000000..83a6f9a
--- /dev/null
+++ b/src/lib/source/system/other/dmesg-srv/producer-for
@@ -0,0 +1 @@
+dmesg-log
diff --git a/src/lib/source/system/other/dmesg-srv/run b/src/lib/source/system/other/dmesg-srv/run
new file mode 100644
index 0000000..be2c183
--- /dev/null
+++ b/src/lib/source/system/other/dmesg-srv/run
@@ -0,0 +1,10 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://skarnet.org/software/s6/
+
+fdmove -c 2 1
+
+redirfd -r 0 /dev/klog
+
+ucspilogd
diff --git a/src/lib/source/system/other/dmesg-srv/type b/src/lib/source/system/other/dmesg-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/other/dmesg-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/other/local/down b/src/lib/source/system/other/local/down
new file mode 100644
index 0000000..0a47f3d
--- /dev/null
+++ b/src/lib/source/system/other/local/down
@@ -0,0 +1,8 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+elglob -0 SCRIPTS /etc/local.d/*.down
+
+forx -pE SCRIPT { ${SCRIPTS} }
+ ${SCRIPT}
diff --git a/src/lib/source/system/other/local/type b/src/lib/source/system/other/local/type
new file mode 100644
index 0000000..bdd22a1
--- /dev/null
+++ b/src/lib/source/system/other/local/type
@@ -0,0 +1 @@
+oneshot
diff --git a/src/lib/source/system/other/local/up b/src/lib/source/system/other/local/up
new file mode 100644
index 0000000..3a553ff
--- /dev/null
+++ b/src/lib/source/system/other/local/up
@@ -0,0 +1,10 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+elglob -0 SCRIPTS /etc/local.d/*.up
+
+forx -pE SCRIPT { ${SCRIPTS} }
+ ${SCRIPT}
diff --git a/src/lib/source/system/other/modules/type b/src/lib/source/system/other/modules/type
new file mode 100644
index 0000000..bdd22a1
--- /dev/null
+++ b/src/lib/source/system/other/modules/type
@@ -0,0 +1 @@
+oneshot
diff --git a/src/lib/source/system/other/modules/up b/src/lib/source/system/other/modules/up
new file mode 100644
index 0000000..67edc94
--- /dev/null
+++ b/src/lib/source/system/other/modules/up
@@ -0,0 +1,19 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+elglob -0sd'' FILES /etc/modules-load.d/*
+if -x0 { eltest ${FILES} }
+define -sd'' SPLITFILES ${FILES}
+pipeline { cat ${SPLITFILES} }
+pipeline {
+ sed
+ -e "/^#/d"
+ -e "s/^[\ \t]*//g"
+ -e "s/[\ \t]*$//g"
+ -e "/^$/d"
+}
+forstdin -pE MODULE
+ kldload ${MODULE}
diff --git a/src/lib/source/system/other/random-seed-load/dependencies.d/mount-dev b/src/lib/source/system/other/random-seed-load/dependencies.d/mount-dev
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/other/random-seed-load/dependencies.d/mount-dev
diff --git a/src/lib/source/system/other/random-seed-load/type b/src/lib/source/system/other/random-seed-load/type
new file mode 100644
index 0000000..bdd22a1
--- /dev/null
+++ b/src/lib/source/system/other/random-seed-load/type
@@ -0,0 +1 @@
+oneshot
diff --git a/src/lib/source/system/other/random-seed-load/up b/src/lib/source/system/other/random-seed-load/up
new file mode 100644
index 0000000..c5b3868
--- /dev/null
+++ b/src/lib/source/system/other/random-seed-load/up
@@ -0,0 +1,12 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+redirfd -a 2 /dev/null
+
+if -x0 { eltest -e /var/lib/rngseed }
+dd if=/var/lib/rngseed
+ of=/dev/random
+ bs=4096
diff --git a/src/lib/source/system/other/random-seed-save/dependencies.d/mount b/src/lib/source/system/other/random-seed-save/dependencies.d/mount
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/other/random-seed-save/dependencies.d/mount
diff --git a/src/lib/source/system/other/random-seed-save/dependencies.d/mount-dev b/src/lib/source/system/other/random-seed-save/dependencies.d/mount-dev
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/other/random-seed-save/dependencies.d/mount-dev
diff --git a/src/lib/source/system/other/random-seed-save/dependencies.d/random-seed-load b/src/lib/source/system/other/random-seed-save/dependencies.d/random-seed-load
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/other/random-seed-save/dependencies.d/random-seed-load
diff --git a/src/lib/source/system/other/random-seed-save/down b/src/lib/source/system/other/random-seed-save/down
new file mode 100644
index 0000000..f560f3c
--- /dev/null
+++ b/src/lib/source/system/other/random-seed-save/down
@@ -0,0 +1,14 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+umask 377
+
+redirfd -a 2 /dev/null
+
+dd if=/dev/random
+ of=/var/lib/rngseed
+ count=1
+ bs=4096
diff --git a/src/lib/source/system/other/random-seed-save/type b/src/lib/source/system/other/random-seed-save/type
new file mode 100644
index 0000000..bdd22a1
--- /dev/null
+++ b/src/lib/source/system/other/random-seed-save/type
@@ -0,0 +1 @@
+oneshot
diff --git a/src/lib/source/system/other/random-seed-save/up b/src/lib/source/system/other/random-seed-save/up
new file mode 100644
index 0000000..f560f3c
--- /dev/null
+++ b/src/lib/source/system/other/random-seed-save/up
@@ -0,0 +1,14 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+umask 377
+
+redirfd -a 2 /dev/null
+
+dd if=/dev/random
+ of=/var/lib/rngseed
+ count=1
+ bs=4096
diff --git a/src/lib/source/system/other/swap-fstab/down b/src/lib/source/system/other/swap-fstab/down
new file mode 100644
index 0000000..a6b3be3
--- /dev/null
+++ b/src/lib/source/system/other/swap-fstab/down
@@ -0,0 +1,7 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+swapoff -aq
diff --git a/src/lib/source/system/other/swap-fstab/type b/src/lib/source/system/other/swap-fstab/type
new file mode 100644
index 0000000..bdd22a1
--- /dev/null
+++ b/src/lib/source/system/other/swap-fstab/type
@@ -0,0 +1 @@
+oneshot
diff --git a/src/lib/source/system/other/swap-fstab/up b/src/lib/source/system/other/swap-fstab/up
new file mode 100644
index 0000000..b10e29e
--- /dev/null
+++ b/src/lib/source/system/other/swap-fstab/up
@@ -0,0 +1,7 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+swapon -aq
diff --git a/src/lib/source/system/other/syslog-priv-srv/dependencies.d/mount b/src/lib/source/system/other/syslog-priv-srv/dependencies.d/mount
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/other/syslog-priv-srv/dependencies.d/mount
diff --git a/src/lib/source/system/other/syslog-priv-srv/notification-fd b/src/lib/source/system/other/syslog-priv-srv/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/source/system/other/syslog-priv-srv/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/source/system/other/syslog-priv-srv/producer-for b/src/lib/source/system/other/syslog-priv-srv/producer-for
new file mode 100644
index 0000000..8471961
--- /dev/null
+++ b/src/lib/source/system/other/syslog-priv-srv/producer-for
@@ -0,0 +1 @@
+syslog-priv-log
diff --git a/src/lib/source/system/other/syslog-priv-srv/run b/src/lib/source/system/other/syslog-priv-srv/run
new file mode 100644
index 0000000..a2ccd71
--- /dev/null
+++ b/src/lib/source/system/other/syslog-priv-srv/run
@@ -0,0 +1,12 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://skarnet.org/software/s6/s6-socklog.html
+
+fdmove -c 2 1
+
+s6-envuidgid @loguser@
+
+s6-socklog
+ -d3 -U
+ -x /var/run/logpriv
diff --git a/src/lib/source/system/other/syslog-priv-srv/type b/src/lib/source/system/other/syslog-priv-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/other/syslog-priv-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/other/syslog-srv/dependencies.d/mount b/src/lib/source/system/other/syslog-srv/dependencies.d/mount
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/other/syslog-srv/dependencies.d/mount
diff --git a/src/lib/source/system/other/syslog-srv/notification-fd b/src/lib/source/system/other/syslog-srv/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/source/system/other/syslog-srv/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/source/system/other/syslog-srv/producer-for b/src/lib/source/system/other/syslog-srv/producer-for
new file mode 100644
index 0000000..0a564f6
--- /dev/null
+++ b/src/lib/source/system/other/syslog-srv/producer-for
@@ -0,0 +1 @@
+syslog-log
diff --git a/src/lib/source/system/other/syslog-srv/run b/src/lib/source/system/other/syslog-srv/run
new file mode 100644
index 0000000..f5fc7d4
--- /dev/null
+++ b/src/lib/source/system/other/syslog-srv/run
@@ -0,0 +1,12 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+# https://skarnet.org/software/s6/s6-socklog.html
+
+fdmove -c 2 1
+
+s6-envuidgid @loguser@
+
+s6-socklog
+ -d3 -U
+ -x /var/run/log
diff --git a/src/lib/source/system/other/syslog-srv/type b/src/lib/source/system/other/syslog-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/other/syslog-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/udev/devd-log/consumer-for b/src/lib/source/system/udev/devd-log/consumer-for
new file mode 100644
index 0000000..168535f
--- /dev/null
+++ b/src/lib/source/system/udev/devd-log/consumer-for
@@ -0,0 +1 @@
+devd-srv
diff --git a/src/lib/source/system/udev/devd-log/no-ml b/src/lib/source/system/udev/devd-log/no-ml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/udev/devd-log/no-ml
diff --git a/src/lib/source/system/udev/devd-log/notification-fd b/src/lib/source/system/udev/devd-log/notification-fd
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/src/lib/source/system/udev/devd-log/notification-fd
@@ -0,0 +1 @@
+3
diff --git a/src/lib/source/system/udev/devd-log/pipeline-name b/src/lib/source/system/udev/devd-log/pipeline-name
new file mode 100644
index 0000000..0b3e805
--- /dev/null
+++ b/src/lib/source/system/udev/devd-log/pipeline-name
@@ -0,0 +1 @@
+devd
diff --git a/src/lib/source/system/udev/devd-log/run b/src/lib/source/system/udev/devd-log/run
new file mode 100644
index 0000000..8ac325e
--- /dev/null
+++ b/src/lib/source/system/udev/devd-log/run
@@ -0,0 +1,11 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 1 2
+
+if { mkdir -p -m750 -- @tmpfsdir@/@sysrundir@/log/devd }
+if { chown -R @loguser@:@loguser@ @tmpfsdir@/@sysrundir@/log/devd }
+
+s6-setuidgid @loguser@
+s6-log -bd3 n3 T @tmpfsdir@/@sysrundir@/log/devd
diff --git a/src/lib/source/system/udev/devd-log/type b/src/lib/source/system/udev/devd-log/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/udev/devd-log/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/udev/devd-srv/dependencies.d/mount-dev b/src/lib/source/system/udev/devd-srv/dependencies.d/mount-dev
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/udev/devd-srv/dependencies.d/mount-dev
diff --git a/src/lib/source/system/udev/devd-srv/no-ml b/src/lib/source/system/udev/devd-srv/no-ml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/lib/source/system/udev/devd-srv/no-ml
diff --git a/src/lib/source/system/udev/devd-srv/producer-for b/src/lib/source/system/udev/devd-srv/producer-for
new file mode 100644
index 0000000..09c60aa
--- /dev/null
+++ b/src/lib/source/system/udev/devd-srv/producer-for
@@ -0,0 +1 @@
+devd-log
diff --git a/src/lib/source/system/udev/devd-srv/run b/src/lib/source/system/udev/devd-srv/run
new file mode 100644
index 0000000..13e7a64
--- /dev/null
+++ b/src/lib/source/system/udev/devd-srv/run
@@ -0,0 +1,7 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+devd -d
diff --git a/src/lib/source/system/udev/devd-srv/type b/src/lib/source/system/udev/devd-srv/type
new file mode 100644
index 0000000..5883cff
--- /dev/null
+++ b/src/lib/source/system/udev/devd-srv/type
@@ -0,0 +1 @@
+longrun
diff --git a/src/lib/source/system/vfs/mount-dev/down b/src/lib/source/system/vfs/mount-dev/down
new file mode 100644
index 0000000..9952c93
--- /dev/null
+++ b/src/lib/source/system/vfs/mount-dev/down
@@ -0,0 +1,9 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+#fdmove -c 2 1
+
+# Not umounting since it is used until shutdown anyway
+
+#umount /dev
diff --git a/src/lib/source/system/vfs/mount-dev/type b/src/lib/source/system/vfs/mount-dev/type
new file mode 100644
index 0000000..bdd22a1
--- /dev/null
+++ b/src/lib/source/system/vfs/mount-dev/type
@@ -0,0 +1 @@
+oneshot
diff --git a/src/lib/source/system/vfs/mount-dev/up b/src/lib/source/system/vfs/mount-dev/up
new file mode 100644
index 0000000..b349c6e
--- /dev/null
+++ b/src/lib/source/system/vfs/mount-dev/up
@@ -0,0 +1,7 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+mount -t devfs dev /dev
diff --git a/src/lib/source/system/vfs/mount-run/down b/src/lib/source/system/vfs/mount-run/down
new file mode 100644
index 0000000..d564e3d
--- /dev/null
+++ b/src/lib/source/system/vfs/mount-run/down
@@ -0,0 +1,9 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+#fdmove -c 2 1
+
+# Not umounting since it is used until shutdown anyway
+
+#umount /run
diff --git a/src/lib/source/system/vfs/mount-run/type b/src/lib/source/system/vfs/mount-run/type
new file mode 100644
index 0000000..bdd22a1
--- /dev/null
+++ b/src/lib/source/system/vfs/mount-run/type
@@ -0,0 +1 @@
+oneshot
diff --git a/src/lib/source/system/vfs/mount-run/up b/src/lib/source/system/vfs/mount-run/up
new file mode 100644
index 0000000..a508833
--- /dev/null
+++ b/src/lib/source/system/vfs/mount-run/up
@@ -0,0 +1,13 @@
+#!@shebangdir@/execlineb -P
+
+# ISC license.
+
+fdmove -c 2 1
+
+# if tmpfsdir is = /run, /run it is already mounted.
+# the value before "=" is replaced during build time,
+# making this check look silly.
+
+if -x0 { eltest @tmpfsdir@ != /run }
+ mount -t tmpfs tmpfs /run
+