diff options
Diffstat (limited to 'xi/s6')
257 files changed, 702 insertions, 0 deletions
diff --git a/xi/s6/base/bin/halt b/xi/s6/base/bin/halt new file mode 100755 index 0000000..a2c7938 --- /dev/null +++ b/xi/s6/base/bin/halt @@ -0,0 +1,3 @@ +#!/bin/execlineb -S0 + +s6-linux-init-hpr -h $@ diff --git a/xi/s6/base/bin/init b/xi/s6/base/bin/init new file mode 100755 index 0000000..278e493 --- /dev/null +++ b/xi/s6/base/bin/init @@ -0,0 +1,3 @@ +#!/bin/execlineb -S0 + +s6-linux-init -c "/etc/s6/base" -m 0022 -p "/bin:/sbin:/usr/bin" -D "default" -- "$@" diff --git a/xi/s6/base/bin/poweroff b/xi/s6/base/bin/poweroff new file mode 100755 index 0000000..8177a96 --- /dev/null +++ b/xi/s6/base/bin/poweroff @@ -0,0 +1,3 @@ +#!/bin/execlineb -S0 + +s6-linux-init-hpr -p $@ diff --git a/xi/s6/base/bin/reboot b/xi/s6/base/bin/reboot new file mode 100755 index 0000000..8e82d11 --- /dev/null +++ b/xi/s6/base/bin/reboot @@ -0,0 +1,3 @@ +#!/bin/execlineb -S0 + +s6-linux-init-hpr -r $@ diff --git a/xi/s6/base/bin/shutdown b/xi/s6/base/bin/shutdown new file mode 100755 index 0000000..6c1b0c3 --- /dev/null +++ b/xi/s6/base/bin/shutdown @@ -0,0 +1,3 @@ +#!/bin/execlineb -S0 + +s6-linux-init-shutdown $@ diff --git a/xi/s6/base/bin/telinit b/xi/s6/base/bin/telinit new file mode 100755 index 0000000..823def0 --- /dev/null +++ b/xi/s6/base/bin/telinit @@ -0,0 +1,3 @@ +#!/bin/execlineb -S0 + +s6-linux-init-telinit $@ diff --git a/xi/s6/base/run-image/service/.s6-svscan/SIGHUP b/xi/s6/base/run-image/service/.s6-svscan/SIGHUP new file mode 100755 index 0000000..130ab12 --- /dev/null +++ b/xi/s6/base/run-image/service/.s6-svscan/SIGHUP @@ -0,0 +1,2 @@ +#!/bin/execlineb -P + diff --git a/xi/s6/base/run-image/service/.s6-svscan/SIGINT b/xi/s6/base/run-image/service/.s6-svscan/SIGINT new file mode 100755 index 0000000..9a7eeaf --- /dev/null +++ b/xi/s6/base/run-image/service/.s6-svscan/SIGINT @@ -0,0 +1,3 @@ +#!/bin/execlineb -P + +s6-linux-init-shutdown -a -r -- now diff --git a/xi/s6/base/run-image/service/.s6-svscan/SIGPWR b/xi/s6/base/run-image/service/.s6-svscan/SIGPWR new file mode 100755 index 0000000..bc55899 --- /dev/null +++ b/xi/s6/base/run-image/service/.s6-svscan/SIGPWR @@ -0,0 +1,3 @@ +#!/bin/execlineb -P + +s6-linux-init-shutdown -a -p -- now diff --git a/xi/s6/base/run-image/service/.s6-svscan/SIGQUIT b/xi/s6/base/run-image/service/.s6-svscan/SIGQUIT new file mode 100755 index 0000000..130ab12 --- /dev/null +++ b/xi/s6/base/run-image/service/.s6-svscan/SIGQUIT @@ -0,0 +1,2 @@ +#!/bin/execlineb -P + diff --git a/xi/s6/base/run-image/service/.s6-svscan/SIGTERM b/xi/s6/base/run-image/service/.s6-svscan/SIGTERM new file mode 100755 index 0000000..130ab12 --- /dev/null +++ b/xi/s6/base/run-image/service/.s6-svscan/SIGTERM @@ -0,0 +1,2 @@ +#!/bin/execlineb -P + diff --git a/xi/s6/base/run-image/service/.s6-svscan/SIGUSR1 b/xi/s6/base/run-image/service/.s6-svscan/SIGUSR1 new file mode 100755 index 0000000..bc55899 --- /dev/null +++ b/xi/s6/base/run-image/service/.s6-svscan/SIGUSR1 @@ -0,0 +1,3 @@ +#!/bin/execlineb -P + +s6-linux-init-shutdown -a -p -- now diff --git a/xi/s6/base/run-image/service/.s6-svscan/SIGUSR2 b/xi/s6/base/run-image/service/.s6-svscan/SIGUSR2 new file mode 100755 index 0000000..5bbca00 --- /dev/null +++ b/xi/s6/base/run-image/service/.s6-svscan/SIGUSR2 @@ -0,0 +1,3 @@ +#!/bin/execlineb -P + +s6-linux-init-shutdown -a -h -- now diff --git a/xi/s6/base/run-image/service/.s6-svscan/SIGWINCH b/xi/s6/base/run-image/service/.s6-svscan/SIGWINCH new file mode 100755 index 0000000..130ab12 --- /dev/null +++ b/xi/s6/base/run-image/service/.s6-svscan/SIGWINCH @@ -0,0 +1,2 @@ +#!/bin/execlineb -P + diff --git a/xi/s6/base/run-image/service/.s6-svscan/crash b/xi/s6/base/run-image/service/.s6-svscan/crash new file mode 100755 index 0000000..e5a9440 --- /dev/null +++ b/xi/s6/base/run-image/service/.s6-svscan/crash @@ -0,0 +1,6 @@ +#!/bin/execlineb -P + +redirfd -w 2 /dev/console +fdmove -c 1 2 +foreground { s6-linux-init-echo -- "s6-svscan crashed. Rebooting." } +s6-linux-init-hpr -fr diff --git a/xi/s6/base/run-image/service/.s6-svscan/finish b/xi/s6/base/run-image/service/.s6-svscan/finish new file mode 100755 index 0000000..ad17596 --- /dev/null +++ b/xi/s6/base/run-image/service/.s6-svscan/finish @@ -0,0 +1,6 @@ +#!/bin/execlineb -P + +redirfd -w 2 /dev/console +fdmove -c 1 2 +foreground { s6-linux-init-echo -- "s6-svscan exited. Rebooting." } +s6-linux-init-hpr -fr diff --git a/xi/s6/base/run-image/service/s6-linux-init-early-getty/run b/xi/s6/base/run-image/service/s6-linux-init-early-getty/run new file mode 100755 index 0000000..646423b --- /dev/null +++ b/xi/s6/base/run-image/service/s6-linux-init-early-getty/run @@ -0,0 +1,3 @@ +#!/bin/execlineb -P + +/sbin/agetty -L -8 tty1 115200 diff --git a/xi/s6/base/run-image/service/s6-linux-init-logouthookd/notification-fd b/xi/s6/base/run-image/service/s6-linux-init-logouthookd/notification-fd new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/xi/s6/base/run-image/service/s6-linux-init-logouthookd/notification-fd @@ -0,0 +1 @@ +1 diff --git a/xi/s6/base/run-image/service/s6-linux-init-logouthookd/run b/xi/s6/base/run-image/service/s6-linux-init-logouthookd/run new file mode 100755 index 0000000..9698c56 --- /dev/null +++ b/xi/s6/base/run-image/service/s6-linux-init-logouthookd/run @@ -0,0 +1,4 @@ +#!/bin/execlineb -P + +s6-ipcserver -1 -a 0700 -c 1000 -C 1000 -- s +s6-linux-init-logouthookd diff --git a/xi/s6/base/run-image/service/s6-linux-init-runleveld/notification-fd b/xi/s6/base/run-image/service/s6-linux-init-runleveld/notification-fd new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/xi/s6/base/run-image/service/s6-linux-init-runleveld/notification-fd @@ -0,0 +1 @@ +3 diff --git a/xi/s6/base/run-image/service/s6-linux-init-runleveld/run b/xi/s6/base/run-image/service/s6-linux-init-runleveld/run new file mode 100755 index 0000000..1196d8d --- /dev/null +++ b/xi/s6/base/run-image/service/s6-linux-init-runleveld/run @@ -0,0 +1,7 @@ +#!/bin/execlineb -P + +fdmove -c 2 1 +fdmove 1 3 +s6-ipcserver -1 -a 0700 -c 1 -- s +s6-sudod -dt30000 -- +"/etc/s6/base"/scripts/runlevel diff --git a/xi/s6/base/run-image/service/s6-linux-init-shutdownd/run b/xi/s6/base/run-image/service/s6-linux-init-shutdownd/run new file mode 100755 index 0000000..8258d75 --- /dev/null +++ b/xi/s6/base/run-image/service/s6-linux-init-shutdownd/run @@ -0,0 +1,3 @@ +#!/bin/execlineb -P + +s6-linux-init-shutdownd -c "/etc/s6/base" -g 3000 diff --git a/xi/s6/base/run-image/service/s6-svscan-log/notification-fd b/xi/s6/base/run-image/service/s6-svscan-log/notification-fd new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/xi/s6/base/run-image/service/s6-svscan-log/notification-fd @@ -0,0 +1 @@ +3 diff --git a/xi/s6/base/run-image/service/s6-svscan-log/run b/xi/s6/base/run-image/service/s6-svscan-log/run new file mode 100755 index 0000000..7028d1b --- /dev/null +++ b/xi/s6/base/run-image/service/s6-svscan-log/run @@ -0,0 +1,5 @@ +#!/bin/execlineb -P + +redirfd -w 1 /dev/null +redirfd -rnb 0 fifo +s6-log -bpd3 -- T /run/uncaught-logs diff --git a/xi/s6/base/run-image/service/utmpd/notification-fd b/xi/s6/base/run-image/service/utmpd/notification-fd new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/xi/s6/base/run-image/service/utmpd/notification-fd @@ -0,0 +1 @@ +3 diff --git a/xi/s6/base/run-image/service/utmpd/run b/xi/s6/base/run-image/service/utmpd/run new file mode 100755 index 0000000..35c60c5 --- /dev/null +++ b/xi/s6/base/run-image/service/utmpd/run @@ -0,0 +1,8 @@ +#!/bin/execlineb -P + +fdmove -c 2 1 +s6-setuidgid "utmp" +cd /run/utmps +fdmove 1 3 +s6-ipcserver -1 -c 1000 -- /run/utmps/.utmpd-socket +utmps-utmpd diff --git a/xi/s6/base/run-image/service/wtmpd/notification-fd b/xi/s6/base/run-image/service/wtmpd/notification-fd new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/xi/s6/base/run-image/service/wtmpd/notification-fd @@ -0,0 +1 @@ +3 diff --git a/xi/s6/base/run-image/service/wtmpd/run b/xi/s6/base/run-image/service/wtmpd/run new file mode 100755 index 0000000..79815bb --- /dev/null +++ b/xi/s6/base/run-image/service/wtmpd/run @@ -0,0 +1,8 @@ +#!/bin/execlineb -P + +fdmove -c 2 1 +s6-setuidgid "utmp" +cd /run/utmps +fdmove 1 3 +s6-ipcserver -1 -c 1000 -- /run/utmps/.wtmpd-socket +utmps-wtmpd diff --git a/xi/s6/base/scripts/rc.init b/xi/s6/base/scripts/rc.init new file mode 100755 index 0000000..56c3e7b --- /dev/null +++ b/xi/s6/base/scripts/rc.init @@ -0,0 +1,49 @@ +#!/bin/sh -e + +rl="$1" +shift + +### argv now contains the arguments of the kernel command line that are +### not of the form key=value. (The key=value arguments were stored by +### s6-linux-init into an envdir, if instructed so via the -s option.) +### Normally this argv remains unused because programs that need the +### kernel command line usually read it later on from /proc/cmdline - +### but just in case, it's available here. + + +### 1. Early preparation +### This is done only once at boot time. +### Ideally, this phase should just initialize the service manager. + +### If your services are managed by sysv-rc: +# /etc/init.d/rcS + +### If your services are managed by OpenRC: +# /sbin/openrc sysinit +# /sbin/openrc boot + +### If your services are managed by s6-rc: +### (replace /run/service with your scandir) +s6-rc-init -c /etc/s6/db/current /run/service + + +### 2. Starting the wanted set of services +### This is also called every time you change runlevels with telinit. +### (edit the location to suit your installation) +### By default, $rl is the string "default", unless you changed it +### via the -D option to s6-linux-init-maker. +### Numeric arguments from 1 to 5 on the kernel command line will +### override the default. + +exec /etc/s6/base/scripts/runlevel "$rl" + + +### If this script is run in a container, then 1. and 2. above do not +### apply and you should just call your CMD, if any, or let your +### services run. +### Something like this: + +# if test -z "$*" ; then return 0 ; fi +# $@ +# echo $? > /run/s6-linux-init-container-results/exitcode +# halt diff --git a/xi/s6/base/scripts/rc.shutdown b/xi/s6/base/scripts/rc.shutdown new file mode 100755 index 0000000..f759ba7 --- /dev/null +++ b/xi/s6/base/scripts/rc.shutdown @@ -0,0 +1,30 @@ +#!/bin/sh -e + +### Things to do before hardware halt/reboot/poweroff. +### Ideally, it should be a single call to the service manager, +### telling it to bring all the services down. + +### If your s6-linux-init-maker invocation was made with the -1 +### option, messages from rc.shutdown will appear on /dev/console +### as well as be logged by the catch-all logger. +### If your s6-linux-init-maker invocation did NOT include the -1 +### option, messages from rc.shutdown will only be logged by the +### catch-all logger and will NOT appear on /dev/console. In order +### to print them to /dev/console instead, you may want to +### uncomment the following line: +exec >/dev/console 2>&1 + +### If your services are managed by sysv-rc: +### also remove the K11reboot link from /etc/rc6.d to prevent +### sysv-rc from rebooting prematurely - because sysvinit does +### not properly separate state changes from system init/shutdown. +# exec /etc/init.d/rc 6 + +### If your services are managed by OpenRC: +### also remove the "killprocs" and "mount-ro" symlinks from +### /etc/runlevels/shutdown - because OpenRC does not properly +### separate the service manager from the shutdown manager either. +# exec /sbin/openrc shutdown + +### If your services are managed by s6-rc: +exec s6-rc -v2 -bda change diff --git a/xi/s6/base/scripts/rc.shutdown.final b/xi/s6/base/scripts/rc.shutdown.final new file mode 100755 index 0000000..3f46b87 --- /dev/null +++ b/xi/s6/base/scripts/rc.shutdown.final @@ -0,0 +1,18 @@ +#!/bin/sh -e + +### Things to do *right before* the machine gets rebooted or +### powered off, at the very end of the shutdown sequence, +### when all the filesystems are unmounted. + +### This is a last resort hook; normally nothing should be +### done here (your rc.shutdown script should have taken care +### of everything) and you should leave this script empty. + +### Some distributions, however, may need to perform some +### actions after unmounting the filesystems: typically if +### an additional teardown action is required on a filesystem +### after unmounting it, or if the system needs to be +### pivot_rooted before it can be shut down, etc. + +### Those are all exceptional cases. If you don't know for +### certain that you need to do something here, you don't. diff --git a/xi/s6/base/scripts/runlevel b/xi/s6/base/scripts/runlevel new file mode 100755 index 0000000..d266171 --- /dev/null +++ b/xi/s6/base/scripts/runlevel @@ -0,0 +1,18 @@ +#!/bin/sh -e + +### This script is called once at boot time by rc.init, and is +### also called by the runleveld service every time the user +### requests a machine state change via telinit. +### Ideally, it should just be a call to the service manager. + +test "$#" -gt 0 || { echo 'runlevel: fatal: too few arguments' 1>&2 ; exit 100 ; } + + +### If your services are managed by sysv-rc: +# exec /etc/init.d/rc "$1" + +### If your services are managed by OpenRC: +# exec /sbin/openrc "$1" + +### If your services are managed by s6-rc: +exec s6-rc -v2 -up change "$1" diff --git a/xi/s6/db/basic/db b/xi/s6/db/basic/db Binary files differnew file mode 100644 index 0000000..e85e344 --- /dev/null +++ b/xi/s6/db/basic/db diff --git a/xi/s6/db/basic/lock b/xi/s6/db/basic/lock new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/db/basic/lock diff --git a/xi/s6/db/basic/n b/xi/s6/db/basic/n Binary files differnew file mode 100644 index 0000000..806eabf --- /dev/null +++ b/xi/s6/db/basic/n diff --git a/xi/s6/db/basic/resolve.cdb b/xi/s6/db/basic/resolve.cdb Binary files differnew file mode 100644 index 0000000..62fe7a8 --- /dev/null +++ b/xi/s6/db/basic/resolve.cdb diff --git a/xi/s6/db/basic/servicedirs/agetty2/run b/xi/s6/db/basic/servicedirs/agetty2/run new file mode 100755 index 0000000..6562e22 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/agetty2/run @@ -0,0 +1,2 @@ +#!/bin/execlineb -P +exec /sbin/agetty -L -8 tty2 115200 diff --git a/xi/s6/db/basic/servicedirs/agetty3/run b/xi/s6/db/basic/servicedirs/agetty3/run new file mode 100755 index 0000000..a6117c5 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/agetty3/run @@ -0,0 +1,2 @@ +#!/bin/execlineb -P +exec /sbin/agetty -L -8 tty3 115200 diff --git a/xi/s6/db/basic/servicedirs/agetty4/run b/xi/s6/db/basic/servicedirs/agetty4/run new file mode 100755 index 0000000..1176c91 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/agetty4/run @@ -0,0 +1,2 @@ +#!/bin/execlineb -P +exec /sbin/agetty -L -8 tty4 115200 diff --git a/xi/s6/db/basic/servicedirs/agetty5/run b/xi/s6/db/basic/servicedirs/agetty5/run new file mode 100755 index 0000000..c720902 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/agetty5/run @@ -0,0 +1,2 @@ +#!/bin/execlineb -P +exec /sbin/agetty -L -8 tty5 115200 diff --git a/xi/s6/db/basic/servicedirs/agetty6/run b/xi/s6/db/basic/servicedirs/agetty6/run new file mode 100755 index 0000000..9d0fc1a --- /dev/null +++ b/xi/s6/db/basic/servicedirs/agetty6/run @@ -0,0 +1,2 @@ +#!/bin/execlineb -P +exec /sbin/agetty -L -8 tty6 115200 diff --git a/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/autofilled b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/autofilled new file mode 100644 index 0000000..5a7694f --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/autofilled @@ -0,0 +1 @@ +udevd-log diff --git a/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/gid/0/allow b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/gid/0/allow new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/gid/0/allow diff --git a/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/gid/0/env b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/gid/0/env new file mode 120000 index 0000000..dbe1277 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/gid/0/env @@ -0,0 +1 @@ +../../uid/0/env
\ No newline at end of file diff --git a/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/allow b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/allow new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/allow diff --git a/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_GETDUMP b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_GETDUMP new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_GETDUMP @@ -0,0 +1 @@ + diff --git a/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_LIST b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_LIST new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_LIST @@ -0,0 +1 @@ + diff --git a/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_RETRIEVE_REGEX b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_RETRIEVE_REGEX new file mode 120000 index 0000000..8534683 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_RETRIEVE_REGEX @@ -0,0 +1 @@ +S6_FDHOLDER_STORE_REGEX
\ No newline at end of file diff --git a/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_SETDUMP b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_SETDUMP new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_SETDUMP @@ -0,0 +1 @@ + diff --git a/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_STORE_REGEX b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_STORE_REGEX new file mode 100644 index 0000000..d1e45dc --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/0/env/S6_FDHOLDER_STORE_REGEX @@ -0,0 +1 @@ +^pipe:s6rc- diff --git a/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/self b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/self new file mode 120000 index 0000000..c227083 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-fdholder/data/rules/uid/self @@ -0,0 +1 @@ +0
\ No newline at end of file diff --git a/xi/s6/db/basic/servicedirs/s6rc-fdholder/notification-fd b/xi/s6/db/basic/servicedirs/s6rc-fdholder/notification-fd new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-fdholder/notification-fd @@ -0,0 +1 @@ +1 diff --git a/xi/s6/db/basic/servicedirs/s6rc-fdholder/run b/xi/s6/db/basic/servicedirs/s6rc-fdholder/run new file mode 100755 index 0000000..0a400c7 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-fdholder/run @@ -0,0 +1,17 @@ +#!/bin/execlineb -P +pipeline -dw -- +{ + if -n -- + { + forstdin -x 1 -- i + exit 1 + } + if -nt -- + { + redirfd -r 0 ./data/autofilled + s6-ipcclient -l0 -- s + /lib/s6-rc/s6-rc-fdholder-filler -1 -- + } + s6-svc -t . +} +s6-fdholder-daemon -1 -i data/rules -- s diff --git a/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/data/rules/gid/0/allow b/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/data/rules/gid/0/allow new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/data/rules/gid/0/allow diff --git a/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/data/rules/uid/0/allow b/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/data/rules/uid/0/allow new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/data/rules/uid/0/allow diff --git a/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/data/rules/uid/self b/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/data/rules/uid/self new file mode 120000 index 0000000..c227083 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/data/rules/uid/self @@ -0,0 +1 @@ +0
\ No newline at end of file diff --git a/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/notification-fd b/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/notification-fd new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/notification-fd @@ -0,0 +1 @@ +3 diff --git a/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/run b/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/run new file mode 100755 index 0000000..d819a25 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/s6rc-oneshot-runner/run @@ -0,0 +1,8 @@ +#!/bin/execlineb -P +fdmove -c 2 1 +fdmove 1 3 +s6-ipcserver-socketbinder -- s +s6-ipcserverd -1 -- +s6-ipcserver-access -v0 -E -l0 -i data/rules -- +s6-sudod -t 30000 -- +/lib/s6-rc/s6-rc-oneshot-run -l ../.. -- diff --git a/xi/s6/db/basic/servicedirs/udevd-log/notification-fd b/xi/s6/db/basic/servicedirs/udevd-log/notification-fd new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/xi/s6/db/basic/servicedirs/udevd-log/notification-fd @@ -0,0 +1 @@ +3 diff --git a/xi/s6/db/basic/servicedirs/udevd-log/run b/xi/s6/db/basic/servicedirs/udevd-log/run new file mode 100755 index 0000000..a8ac83f --- /dev/null +++ b/xi/s6/db/basic/servicedirs/udevd-log/run @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +s6-fdholder-retrieve ../s6rc-fdholder/s "pipe:s6rc-r-udevd-log" +./run.user diff --git a/xi/s6/db/basic/servicedirs/udevd-log/run.user b/xi/s6/db/basic/servicedirs/udevd-log/run.user new file mode 100755 index 0000000..0bf9ad7 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/udevd-log/run.user @@ -0,0 +1,5 @@ +#!/bin/execlineb -P +foreground { if -n -t { test -d /var/log/udevd } install -d -m 0755 -o s6log -g s6log /var/log/udevd } +envfile /etc/s6/sv/udevd-log/conf +importas -sCiu DIRECTIVES DIRECTIVES +s6-setuidgid s6log exec -c s6-log -d3 -b -- ${DIRECTIVES} /var/log/udevd diff --git a/xi/s6/db/basic/servicedirs/udevd-srv/run b/xi/s6/db/basic/servicedirs/udevd-srv/run new file mode 100755 index 0000000..f5f8202 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/udevd-srv/run @@ -0,0 +1,5 @@ +#!/bin/execlineb -P +fdmove 1 0 +s6-fdholder-retrieve ../s6rc-fdholder/s "pipe:s6rc-w-udevd-log" +fdswap 0 1 +./run.user diff --git a/xi/s6/db/basic/servicedirs/udevd-srv/run.user b/xi/s6/db/basic/servicedirs/udevd-srv/run.user new file mode 100755 index 0000000..fea1782 --- /dev/null +++ b/xi/s6/db/basic/servicedirs/udevd-srv/run.user @@ -0,0 +1,6 @@ +#!/bin/execlineb -P +# Initiate udev +fdmove -c 2 1 +if { s6-echo -- "[ udev-daemon ] 1/1 : Starting udev..." } +exec -c +udevd diff --git a/xi/s6/db/current b/xi/s6/db/current new file mode 120000 index 0000000..5dc1ed1 --- /dev/null +++ b/xi/s6/db/current @@ -0,0 +1 @@ +/etc/s6/db/basic
\ No newline at end of file diff --git a/xi/s6/rc.local b/xi/s6/rc.local new file mode 100644 index 0000000..c266bff --- /dev/null +++ b/xi/s6/rc.local @@ -0,0 +1,6 @@ +#!/bin/sh +# +# Enter custom commands here. By default, they will be executed on startup with the +# "boot" bundle before running services. If you need these commands to wait on certain +# services being up, you can edit the /etc/s6/sv/rc-local/dependencies file and then +# recompile the database. diff --git a/xi/s6/s6.conf b/xi/s6/s6.conf new file mode 100644 index 0000000..6f8ed19 --- /dev/null +++ b/xi/s6/s6.conf @@ -0,0 +1,37 @@ +# /etc/s6/s6.conf - system configuration + +# Set HARDWARECLOCK to UTC if your Hardware Clock is set to UTC (also known as +# Greenwich Mean Time). If that clock is set to the local time, then +# set HARDWARECLOCK to localtime. Note that if you dual boot with Windows, then +# you should set it to localtime. + +HARDWARECLOCK=localtime + +# cgroups mode +# legacy mounts cgroups version 1 on /sys/fs/cgroup +# unified mounts cgroups version 2 on /sys/fs/cgroup +# hybrid mounts cgroups version 2 on /sys/fs/cgroup/unified and +# cgroups version 1 on /sys/fs/cgroup + +CGROUP_MODE=hybrid + +# This is a list of controllers which should be enabled for cgroups version 2. +# If hybrid mode is being used, controllers listed here will not be +# available for cgroups version 1. none means no controllers will be used +# For none, put "" + +CGROUP_CONTROLLERS="" + +# This switch controls whether or not cgroups version 1 controllers are +# individually mounted under +# /sys/fs/cgroup in hybrid or legacy mode + +HAVE_CONTROLLER1_GROUPS=true + +# Which gettys to enable by default. Only tty2 - tty6 are valid (tty1 is provided +# by s6-linux-init). Note that every value must be separated by a space. +#GETTYS="tty2 tty3 tty4 tty5 tty6" +# **Option is broken** + +# Force the root filesystem to be checked at (every) boot +FORCECHECK=no diff --git a/xi/s6/scripts/clean_tmp.sh b/xi/s6/scripts/clean_tmp.sh new file mode 100755 index 0000000..44cbd48 --- /dev/null +++ b/xi/s6/scripts/clean_tmp.sh @@ -0,0 +1,2 @@ +#! /bin/sh +cd /tmp && find . -xdev -mindepth 1 ! -name lost+found -delete diff --git a/xi/s6/scripts/console_set.sh b/xi/s6/scripts/console_set.sh new file mode 100755 index 0000000..9c0e9f3 --- /dev/null +++ b/xi/s6/scripts/console_set.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +[ -r /etc/vconsole.conf ] && . /etc/vconsole.conf +TTYS=${TTYS:-6} +_index=0 +while [ ${_index} -le $TTYS ]; do + if [ -n "$FONT" ]; then + setfont ${FONT_MAP:+-m $FONT_MAP} ${FONT_UNIMAP:+-u $FONT_UNIMAP} \ + $FONT -C "/dev/tty${_index}" + fi + printf "\033%s" "%G" >/dev/tty${_index} + _index=$((_index + 1)) +done +if [ -n "$KEYMAP" ]; then + loadkeys -q -u ${KEYMAP} +fi diff --git a/xi/s6/scripts/mount-cgroups b/xi/s6/scripts/mount-cgroups new file mode 100755 index 0000000..fd711a0 --- /dev/null +++ b/xi/s6/scripts/mount-cgroups @@ -0,0 +1,120 @@ +#!/bin/sh + +CGROUP_OPTS=nodev,noexec,nosuid +CGROUP_MODE=$1 +CGROUP_CONTROLLERS=$2 +HAVE_CONTROLLER1_GROUPS=$3 + +#if [ $CGROUP_CONTROLLERS = "none" ]; then +# CGROUP_CONTROLLERS="" +#fi + +cgroup2_find_path() { + if grep -qw cgroup2 /proc/filesystems; then + case "${CGROUP_MODE}" in + hybrid) printf "/sys/fs/cgroup/unified" ;; + unified) printf "/sys/fs/cgroup" ;; + esac + fi + return 0 +} + +cgroup1_base() { + grep -qw cgroup /proc/filesystems || return 0 + if ! mountpoint -q /sys/fs/cgroup; then + local opts="${CGROUP_OPTS},mode=755,size=${rc_cgroupsize:-10m}" + mount -n -t tmpfs -o "${opts}" cgroup_root /sys/fs/cgroup + fi + + if ! mountpoint -q /sys/fs/cgroup/openrc; then + local agent="/etc/s6/sv/mount-cgroups/cgroup-release-agent.sh" + mkdir /sys/fs/cgroup/openrc + mount -n -t cgroup -o none,${CGROUP_OPTS},name=openrc,release_agent="$agent" openrc /sys/fs/cgroup/openrc + printf 1 > /sys/fs/cgroup/openrc/notify_on_release + fi + return 0 +} + +cgroup1_controllers() { + ${HAVE_CONTROLLER1_GROUPS} && [ -e /proc/cgroups ] && grep -qw cgroup /proc/filesystems || return 0 + while read -r name _ _ enabled _; do + case "${enabled}" in + 1) if mountpoint -q "/sys/fs/cgroup/${name}";then continue;fi + local x + for x in $CGROUP_CONTROLLERS; do + [ "${name}" = "blkio" ] && [ "${x}" = "io" ] && + continue 2 + [ "${name}" = "${x}" ] && + continue 2 + done + mkdir "/sys/fs/cgroup/${name}" + mount -n -t cgroup -o "${CGROUP_OPTS},${name}" "${name}" "/sys/fs/cgroup/${name}" + ;; + esac + done < /proc/cgroups + return 0 +} + +cgroup2_base() { + grep -qw cgroup2 /proc/filesystems || return 0 + local base + base="$(cgroup2_find_path)" + mkdir -p "${base}" + mount -t cgroup2 none -o "${CGROUP_OPTS},nsdelegate" "${base}" 2> /dev/null || + mount -t cgroup2 none -o "${CGROUP_OPTS}" "${base}" + return 0 +} + +cgroup2_controllers() { + grep -qw cgroup2 /proc/filesystems || return 0 + local active cgroup_path x y + cgroup_path="$(cgroup2_find_path)" + [ -z "${cgroup_path}" ] && return 0 + [ -e "${cgroup_path}/cgroup.controllers" ] && read -r active < "${cgroup_path}/cgroup.controllers" + for x in ${CGROUP_CONTROLLERS}; do + for y in ${active}; do + [ "$x" = "$y" ] && [ -e "${cgroup_path}/cgroup.subtree_control" ] && + echo "+${x}" > "${cgroup_path}/cgroup.subtree_control" + done + done + return 0 +} + +cgroups_hybrid() { + cgroup1_base + cgroup2_base + cgroup2_controllers + cgroup1_controllers + return 0 +} + +cgroups_legacy() { + cgroup1_base + cgroup1_controllers + return 0 +} + +cgroups_unified() { + cgroup2_base + cgroup2_controllers + return 0 +} + +mount_cgroups() { + case "${CGROUP_MODE}" in + hybrid) cgroups_hybrid ;; + legacy) cgroups_legacy ;; + unified) cgroups_unified ;; + esac + return 0 +} + +mount_cgs() { + if [ -d /sys/fs/cgroup ];then + mount_cgroups + return 0 + fi + return 1 +} + +mount_cgs diff --git a/xi/s6/skel/rc.init b/xi/s6/skel/rc.init new file mode 100644 index 0000000..b467448 --- /dev/null +++ b/xi/s6/skel/rc.init @@ -0,0 +1,9 @@ +#!/bin/sh -e + +rl="$1" +shift + +s6-rc-init -c /etc/s6/db/current /run/service + +exec /etc/s6/base/scripts/runlevel "$rl" + diff --git a/xi/s6/skel/rc.shutdown b/xi/s6/skel/rc.shutdown new file mode 100644 index 0000000..bc5771d --- /dev/null +++ b/xi/s6/skel/rc.shutdown @@ -0,0 +1,3 @@ +#!/bin/sh -e + +exec s6-rc -bda change diff --git a/xi/s6/skel/rc.shutdown.final b/xi/s6/skel/rc.shutdown.final new file mode 100644 index 0000000..3f46b87 --- /dev/null +++ b/xi/s6/skel/rc.shutdown.final @@ -0,0 +1,18 @@ +#!/bin/sh -e + +### Things to do *right before* the machine gets rebooted or +### powered off, at the very end of the shutdown sequence, +### when all the filesystems are unmounted. + +### This is a last resort hook; normally nothing should be +### done here (your rc.shutdown script should have taken care +### of everything) and you should leave this script empty. + +### Some distributions, however, may need to perform some +### actions after unmounting the filesystems: typically if +### an additional teardown action is required on a filesystem +### after unmounting it, or if the system needs to be +### pivot_rooted before it can be shut down, etc. + +### Those are all exceptional cases. If you don't know for +### certain that you need to do something here, you don't. diff --git a/xi/s6/skel/runlevel b/xi/s6/skel/runlevel new file mode 100644 index 0000000..f9db6e4 --- /dev/null +++ b/xi/s6/skel/runlevel @@ -0,0 +1,5 @@ +#!/bin/sh -e + +test "$#" -gt 0 || { echo 'runlevel: fatal: too few arguments' 1>&2 ; exit 100 ; } + +exec s6-rc -up change "$1" diff --git a/xi/s6/sv/agetty2/dependencies.d/hostname b/xi/s6/sv/agetty2/dependencies.d/hostname new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/agetty2/dependencies.d/hostname diff --git a/xi/s6/sv/agetty2/run b/xi/s6/sv/agetty2/run new file mode 100644 index 0000000..1bb017f --- /dev/null +++ b/xi/s6/sv/agetty2/run @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ Services ] : Enabling tty2" } +exec /sbin/agetty -L -8 tty2 115200 diff --git a/xi/s6/sv/agetty2/type b/xi/s6/sv/agetty2/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/xi/s6/sv/agetty2/type @@ -0,0 +1 @@ +longrun diff --git a/xi/s6/sv/agetty3/dependencies.d/hostname b/xi/s6/sv/agetty3/dependencies.d/hostname new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/agetty3/dependencies.d/hostname diff --git a/xi/s6/sv/agetty3/run b/xi/s6/sv/agetty3/run new file mode 100644 index 0000000..5a5cf19 --- /dev/null +++ b/xi/s6/sv/agetty3/run @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ Services ] : Enabling tty3" } +exec /sbin/agetty -L -8 tty3 115200 diff --git a/xi/s6/sv/agetty3/type b/xi/s6/sv/agetty3/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/xi/s6/sv/agetty3/type @@ -0,0 +1 @@ +longrun diff --git a/xi/s6/sv/agetty4/dependencies.d/hostname b/xi/s6/sv/agetty4/dependencies.d/hostname new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/agetty4/dependencies.d/hostname diff --git a/xi/s6/sv/agetty4/run b/xi/s6/sv/agetty4/run new file mode 100644 index 0000000..3f6a88e --- /dev/null +++ b/xi/s6/sv/agetty4/run @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ Services ] : Enabling tty4" } +exec /sbin/agetty -L -8 tty4 115200 diff --git a/xi/s6/sv/agetty4/type b/xi/s6/sv/agetty4/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/xi/s6/sv/agetty4/type @@ -0,0 +1 @@ +longrun diff --git a/xi/s6/sv/agetty5/dependencies.d/hostname b/xi/s6/sv/agetty5/dependencies.d/hostname new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/agetty5/dependencies.d/hostname diff --git a/xi/s6/sv/agetty5/run b/xi/s6/sv/agetty5/run new file mode 100644 index 0000000..2f2e326 --- /dev/null +++ b/xi/s6/sv/agetty5/run @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ Services ] : Enabling tty5" } +exec /sbin/agetty -L -8 tty5 115200 diff --git a/xi/s6/sv/agetty5/type b/xi/s6/sv/agetty5/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/xi/s6/sv/agetty5/type @@ -0,0 +1 @@ +longrun diff --git a/xi/s6/sv/agetty6/dependencies.d/hostname b/xi/s6/sv/agetty6/dependencies.d/hostname new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/agetty6/dependencies.d/hostname diff --git a/xi/s6/sv/agetty6/run b/xi/s6/sv/agetty6/run new file mode 100644 index 0000000..49f8a3a --- /dev/null +++ b/xi/s6/sv/agetty6/run @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ Services ] : Enabling tty6" } +exec /sbin/agetty -L -8 tty6 115200 diff --git a/xi/s6/sv/agetty6/type b/xi/s6/sv/agetty6/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/xi/s6/sv/agetty6/type @@ -0,0 +1 @@ +longrun diff --git a/xi/s6/sv/cgroups/dependencies.d/mount-procfs b/xi/s6/sv/cgroups/dependencies.d/mount-procfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/cgroups/dependencies.d/mount-procfs diff --git a/xi/s6/sv/cgroups/dependencies.d/mount-sysfs b/xi/s6/sv/cgroups/dependencies.d/mount-sysfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/cgroups/dependencies.d/mount-sysfs diff --git a/xi/s6/sv/cgroups/dependencies.d/vkfs b/xi/s6/sv/cgroups/dependencies.d/vkfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/cgroups/dependencies.d/vkfs diff --git a/xi/s6/sv/cgroups/type b/xi/s6/sv/cgroups/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/cgroups/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/cgroups/up b/xi/s6/sv/cgroups/up new file mode 100644 index 0000000..51e4246 --- /dev/null +++ b/xi/s6/sv/cgroups/up @@ -0,0 +1,7 @@ +#!/bin/execlineb -P +if { s6-echo "[ Read-Only Mode ] 1/9 : Mounting cgroups" } +envfile /etc/s6/s6.conf +importas -iu CGROUP_MODE CGROUP_MODE +importas -iu CGROUP_CONTROLLERS CGROUP_CONTROLLERS +importas -iu HAVE_CONTROLLER1_GROUPS HAVE_CONTROLLER1_GROUPS +exec sh /etc/s6/scripts/mount-cgroups $CGROUP_MODE $CGROUP_CONTROLLERS $HAVE_CONTROLLER1_GROUPS diff --git a/xi/s6/sv/checkfs/dependencies.d/udev b/xi/s6/sv/checkfs/dependencies.d/udev new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/checkfs/dependencies.d/udev diff --git a/xi/s6/sv/checkfs/type b/xi/s6/sv/checkfs/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/checkfs/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/checkfs/up b/xi/s6/sv/checkfs/up new file mode 100644 index 0000000..9dd2952 --- /dev/null +++ b/xi/s6/sv/checkfs/up @@ -0,0 +1,12 @@ +envfile /etc/s6/s6.conf +importas -iu FORCECHECK FORCECHECK +ifelse -X { s6-test $FORCECHCK = yes } + { + redirfd -w 1 /dev/console + if { s6-echo -- "[ Checkrootfs ] >>>>> Check of filesystem was asked, please wait" } + foreground { fsck -A -T -a -f noopts=_netdev } + s6-echo -- "[ Checkrootfs ] >>>>> Check of filesystem was asked, please wait" +} +if -t { + fsck -A -T -a noopts=_netdev +} diff --git a/xi/s6/sv/cleantmp/dependencies.d/remount-root b/xi/s6/sv/cleantmp/dependencies.d/remount-root new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/cleantmp/dependencies.d/remount-root diff --git a/xi/s6/sv/cleantmp/down b/xi/s6/sv/cleantmp/down new file mode 100644 index 0000000..c5f65cc --- /dev/null +++ b/xi/s6/sv/cleantmp/down @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ Shutdown ] : Cleaning /tmp" } +/bin/sh -c "/etc/s6/scripts/clean_tmp.sh" diff --git a/xi/s6/sv/cleantmp/type b/xi/s6/sv/cleantmp/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/cleantmp/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/cleantmp/up b/xi/s6/sv/cleantmp/up new file mode 100644 index 0000000..9c24500 --- /dev/null +++ b/xi/s6/sv/cleantmp/up @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ ReadWrite Mode ] 0/6 : Cleaning /tmp" } +/bin/sh -c "/etc/s6/scripts/clean_tmp.sh" diff --git a/xi/s6/sv/console/dependencies.d/udev b/xi/s6/sv/console/dependencies.d/udev new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/console/dependencies.d/udev diff --git a/xi/s6/sv/console/type b/xi/s6/sv/console/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/console/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/console/up b/xi/s6/sv/console/up new file mode 100644 index 0000000..416edb9 --- /dev/null +++ b/xi/s6/sv/console/up @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ Read-Only Mode ] 2/9 : Setting up console" } +sh -c "/etc/s6/scripts/console_set.sh" diff --git a/xi/s6/sv/default/contents.d/machine b/xi/s6/sv/default/contents.d/machine new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/default/contents.d/machine diff --git a/xi/s6/sv/default/contents.d/services b/xi/s6/sv/default/contents.d/services new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/default/contents.d/services diff --git a/xi/s6/sv/default/contents.d/vkfs b/xi/s6/sv/default/contents.d/vkfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/default/contents.d/vkfs diff --git a/xi/s6/sv/default/type b/xi/s6/sv/default/type new file mode 100644 index 0000000..757b422 --- /dev/null +++ b/xi/s6/sv/default/type @@ -0,0 +1 @@ +bundle diff --git a/xi/s6/sv/dmesg/dependencies.d/remount-root b/xi/s6/sv/dmesg/dependencies.d/remount-root new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/dmesg/dependencies.d/remount-root diff --git a/xi/s6/sv/dmesg/dependencies.d/vkfs b/xi/s6/sv/dmesg/dependencies.d/vkfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/dmesg/dependencies.d/vkfs diff --git a/xi/s6/sv/dmesg/type b/xi/s6/sv/dmesg/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/dmesg/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/dmesg/up b/xi/s6/sv/dmesg/up new file mode 100644 index 0000000..872a8d7 --- /dev/null +++ b/xi/s6/sv/dmesg/up @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ ReadWrite Mode ] 2/6 : Logging kernel boot" } +pipeline { dmesg } s6-setuidgid s6log exec -c s6-log -b -- n3 s2000000 T /var/log/dmesg diff --git a/xi/s6/sv/getty/contents.d/agetty2 b/xi/s6/sv/getty/contents.d/agetty2 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/getty/contents.d/agetty2 diff --git a/xi/s6/sv/getty/contents.d/agetty3 b/xi/s6/sv/getty/contents.d/agetty3 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/getty/contents.d/agetty3 diff --git a/xi/s6/sv/getty/contents.d/agetty4 b/xi/s6/sv/getty/contents.d/agetty4 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/getty/contents.d/agetty4 diff --git a/xi/s6/sv/getty/contents.d/agetty5 b/xi/s6/sv/getty/contents.d/agetty5 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/getty/contents.d/agetty5 diff --git a/xi/s6/sv/getty/contents.d/agetty6 b/xi/s6/sv/getty/contents.d/agetty6 new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/getty/contents.d/agetty6 diff --git a/xi/s6/sv/getty/type b/xi/s6/sv/getty/type new file mode 100644 index 0000000..757b422 --- /dev/null +++ b/xi/s6/sv/getty/type @@ -0,0 +1 @@ +bundle diff --git a/xi/s6/sv/hostname/dependencies.d/mount-procfs b/xi/s6/sv/hostname/dependencies.d/mount-procfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/hostname/dependencies.d/mount-procfs diff --git a/xi/s6/sv/hostname/type b/xi/s6/sv/hostname/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/hostname/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/hostname/up b/xi/s6/sv/hostname/up new file mode 100644 index 0000000..72f519e --- /dev/null +++ b/xi/s6/sv/hostname/up @@ -0,0 +1,5 @@ +#!/bin/execlineb -P +if { s6-echo "[ Read-Only Mode ] 3/9 : Setting hostname" } +if -t { s6-test -s /etc/hostname } backtick -n HOSTNAME { head -1 /etc/hostname } +importas -iu HOSTNAME HOSTNAME +if -t { s6-test -n $HOSTNAME } redirfd -w 1 /proc/sys/kernel/hostname echo $HOSTNAME diff --git a/xi/s6/sv/hwclock/dependencies.d/udev b/xi/s6/sv/hwclock/dependencies.d/udev new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/hwclock/dependencies.d/udev diff --git a/xi/s6/sv/hwclock/down b/xi/s6/sv/hwclock/down new file mode 100644 index 0000000..5349d21 --- /dev/null +++ b/xi/s6/sv/hwclock/down @@ -0,0 +1,6 @@ +#!/bin/execlineb -P +if { s6-echo "[ Shutdown ] : Saving sytem clock to rtc0" } +envfile /etc/s6/s6.conf +importas -iu HARDWARECLOCK HARDWARECLOCK +foreground { if { s6-test $HARDWARECLOCK = UTC } hwclock --systohc --utc --noadjfile } +foreground { if { s6-test $HARDWARECLOCK = localtime } hwclock --systohc --localtime --noadjfile } diff --git a/xi/s6/sv/hwclock/type b/xi/s6/sv/hwclock/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/hwclock/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/hwclock/up b/xi/s6/sv/hwclock/up new file mode 100644 index 0000000..ee88cbf --- /dev/null +++ b/xi/s6/sv/hwclock/up @@ -0,0 +1,6 @@ +#!/bin/execlineb -P +if { s6-echo "[ Read-Only Mode ] 4/9 : Setting system clock from rtc0" } +envfile /etc/s6/s6.conf +importas -iu HARDWARECLOCK HARDWARECLOCK +foreground { if { s6-test $HARDWARECLOCK = UTC } hwclock --systz --utc --noadjfile } +foreground { if { s6-test $HARDWARECLOCK = localtime } hwclock --systz --localtime --noadjfile } diff --git a/xi/s6/sv/kermod/dependencies.d/mount-procfs b/xi/s6/sv/kermod/dependencies.d/mount-procfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/kermod/dependencies.d/mount-procfs diff --git a/xi/s6/sv/kermod/dependencies.d/mount-sysfs b/xi/s6/sv/kermod/dependencies.d/mount-sysfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/kermod/dependencies.d/mount-sysfs diff --git a/xi/s6/sv/kermod/type b/xi/s6/sv/kermod/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/kermod/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/kermod/up b/xi/s6/sv/kermod/up new file mode 100644 index 0000000..f8d4d90 --- /dev/null +++ b/xi/s6/sv/kermod/up @@ -0,0 +1,4 @@ +#!/bin/execlineb -P +if { s6-echo "[ Read-Only Mode ] 5/9 : Setting up Kernel Static Node(s)" } +foreground { if -n { test -d /run/tmpfiles.d } mkdir /run/tmpfiles.d } +foreground { kmod static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf } diff --git a/xi/s6/sv/machine/contents.d/rofs b/xi/s6/sv/machine/contents.d/rofs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/machine/contents.d/rofs diff --git a/xi/s6/sv/machine/contents.d/rwfs b/xi/s6/sv/machine/contents.d/rwfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/machine/contents.d/rwfs diff --git a/xi/s6/sv/machine/dependencies.d/vkfs b/xi/s6/sv/machine/dependencies.d/vkfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/machine/dependencies.d/vkfs diff --git a/xi/s6/sv/machine/type b/xi/s6/sv/machine/type new file mode 100644 index 0000000..757b422 --- /dev/null +++ b/xi/s6/sv/machine/type @@ -0,0 +1 @@ +bundle diff --git a/xi/s6/sv/mnt-devpts/dependencies.d/mount-procfs b/xi/s6/sv/mnt-devpts/dependencies.d/mount-procfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/mnt-devpts/dependencies.d/mount-procfs diff --git a/xi/s6/sv/mnt-devpts/dependencies.d/prep-dev b/xi/s6/sv/mnt-devpts/dependencies.d/prep-dev new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/mnt-devpts/dependencies.d/prep-dev diff --git a/xi/s6/sv/mnt-devpts/type b/xi/s6/sv/mnt-devpts/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/mnt-devpts/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/mnt-devpts/up b/xi/s6/sv/mnt-devpts/up new file mode 100644 index 0000000..32609fa --- /dev/null +++ b/xi/s6/sv/mnt-devpts/up @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ Virtual-FS ] 3/6 : Mounting /dev/pts" } +s6-mount -t devpts -o mode=0620,gid=5,nosuid,noexec devpts /dev/pts diff --git a/xi/s6/sv/mnt-shm/dependencies.d/mount-procfs b/xi/s6/sv/mnt-shm/dependencies.d/mount-procfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/mnt-shm/dependencies.d/mount-procfs diff --git a/xi/s6/sv/mnt-shm/dependencies.d/prep-dev b/xi/s6/sv/mnt-shm/dependencies.d/prep-dev new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/mnt-shm/dependencies.d/prep-dev diff --git a/xi/s6/sv/mnt-shm/type b/xi/s6/sv/mnt-shm/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/mnt-shm/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/mnt-shm/up b/xi/s6/sv/mnt-shm/up new file mode 100644 index 0000000..a461bfc --- /dev/null +++ b/xi/s6/sv/mnt-shm/up @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ Virtual-FS ] 4/6 : Mounting /dev/shm" } +s6-mount -t tmpfs -o mode=1777,nosuid,nodev shm /dev/shm diff --git a/xi/s6/sv/modules/dependencies.d/mount-procfs b/xi/s6/sv/modules/dependencies.d/mount-procfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/modules/dependencies.d/mount-procfs diff --git a/xi/s6/sv/modules/dependencies.d/udev b/xi/s6/sv/modules/dependencies.d/udev new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/modules/dependencies.d/udev diff --git a/xi/s6/sv/modules/type b/xi/s6/sv/modules/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/modules/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/modules/up b/xi/s6/sv/modules/up new file mode 100644 index 0000000..a475dc9 --- /dev/null +++ b/xi/s6/sv/modules/up @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ Read-Only Mode ] 6/9 : Loading any kernel modules" } +sh -c "modules-load" diff --git a/xi/s6/sv/mount-devfs/contents.d/mnt-devpts b/xi/s6/sv/mount-devfs/contents.d/mnt-devpts new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/mount-devfs/contents.d/mnt-devpts diff --git a/xi/s6/sv/mount-devfs/contents.d/mnt-shm b/xi/s6/sv/mount-devfs/contents.d/mnt-shm new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/mount-devfs/contents.d/mnt-shm diff --git a/xi/s6/sv/mount-devfs/contents.d/prep-dev b/xi/s6/sv/mount-devfs/contents.d/prep-dev new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/mount-devfs/contents.d/prep-dev diff --git a/xi/s6/sv/mount-devfs/dependencies.d/mount-procfs b/xi/s6/sv/mount-devfs/dependencies.d/mount-procfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/mount-devfs/dependencies.d/mount-procfs diff --git a/xi/s6/sv/mount-devfs/type b/xi/s6/sv/mount-devfs/type new file mode 100644 index 0000000..757b422 --- /dev/null +++ b/xi/s6/sv/mount-devfs/type @@ -0,0 +1 @@ +bundle diff --git a/xi/s6/sv/mount-efivars/dependencies.d/mount-sysfs b/xi/s6/sv/mount-efivars/dependencies.d/mount-sysfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/mount-efivars/dependencies.d/mount-sysfs diff --git a/xi/s6/sv/mount-efivars/type b/xi/s6/sv/mount-efivars/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/mount-efivars/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/mount-efivars/up b/xi/s6/sv/mount-efivars/up new file mode 100644 index 0000000..3c2fe6e --- /dev/null +++ b/xi/s6/sv/mount-efivars/up @@ -0,0 +1,7 @@ +#!/bin/execlineb -P +if { s6-echo "[ Virtual-FS ] 6/6 : Mounting EFI-vars-fs" } +foreground { + if { test -d /sys/firmware/efi } + if -n { mountpoint -q /sys/firmware/efi/efivars } + mount -n -t efivarfs -o ro efivarfs /sys/firmware/efi/efivars +} diff --git a/xi/s6/sv/mount-ksecurity/dependencies.d/mount-sysfs b/xi/s6/sv/mount-ksecurity/dependencies.d/mount-sysfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/mount-ksecurity/dependencies.d/mount-sysfs diff --git a/xi/s6/sv/mount-ksecurity/type b/xi/s6/sv/mount-ksecurity/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/mount-ksecurity/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/mount-ksecurity/up b/xi/s6/sv/mount-ksecurity/up new file mode 100644 index 0000000..b7c4240 --- /dev/null +++ b/xi/s6/sv/mount-ksecurity/up @@ -0,0 +1,8 @@ +#!/bin/execlineb -P +if { s6-echo "[ Virtual-FS ] 5/6 : Mounting securityfs" } +foreground { + if { test -d /sys/kernel } + if -n { mountpoint -q /sys/kernel/security } + mount -n -t securityfs securityfs /sys/kernel/security + +} diff --git a/xi/s6/sv/mount-procfs/type b/xi/s6/sv/mount-procfs/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/mount-procfs/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/mount-procfs/up b/xi/s6/sv/mount-procfs/up new file mode 100644 index 0000000..130a2a9 --- /dev/null +++ b/xi/s6/sv/mount-procfs/up @@ -0,0 +1,4 @@ +#!/bin/execlineb -P +if { s6-echo "|--((( S6+S6-rc Bootscripts v 5.0.0 )))---| " } +if { s6-echo "[ Virtual-FS ] 1/6 : Mounting /proc" } +s6-mount -t proc -o nosuid,noexec,nodev proc /proc diff --git a/xi/s6/sv/mount-sysfs/dependencies.d/mount-procfs b/xi/s6/sv/mount-sysfs/dependencies.d/mount-procfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/mount-sysfs/dependencies.d/mount-procfs diff --git a/xi/s6/sv/mount-sysfs/type b/xi/s6/sv/mount-sysfs/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/mount-sysfs/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/mount-sysfs/up b/xi/s6/sv/mount-sysfs/up new file mode 100644 index 0000000..c655ddc --- /dev/null +++ b/xi/s6/sv/mount-sysfs/up @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ Virtual-FS ] 2/6 : Mounting /sys" } +s6-mount -t sysfs -o nosuid,noexec,nodev sys /sys diff --git a/xi/s6/sv/net-lo/dependencies.d/remount-root b/xi/s6/sv/net-lo/dependencies.d/remount-root new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/net-lo/dependencies.d/remount-root diff --git a/xi/s6/sv/net-lo/dependencies.d/vkfs b/xi/s6/sv/net-lo/dependencies.d/vkfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/net-lo/dependencies.d/vkfs diff --git a/xi/s6/sv/net-lo/type b/xi/s6/sv/net-lo/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/net-lo/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/net-lo/up b/xi/s6/sv/net-lo/up new file mode 100644 index 0000000..a1b6f9e --- /dev/null +++ b/xi/s6/sv/net-lo/up @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ ReadWrite Mode ] 3/6 : Setting up network loopback device" } +ip link set up dev lo diff --git a/xi/s6/sv/networking/dependencies.d/machine b/xi/s6/sv/networking/dependencies.d/machine new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/networking/dependencies.d/machine diff --git a/xi/s6/sv/networking/dependencies.d/vkfs b/xi/s6/sv/networking/dependencies.d/vkfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/networking/dependencies.d/vkfs diff --git a/xi/s6/sv/networking/down b/xi/s6/sv/networking/down new file mode 100644 index 0000000..f749735 --- /dev/null +++ b/xi/s6/sv/networking/down @@ -0,0 +1,13 @@ +#!/bin/execlineb -P +fdmove -c 2 1 +if { s6-echo -- [ Shutdown ] : Shutting down WiFi & Ethernet... } +export IN_BOOT 1 +foreground { echo "[ Shutdown ] : Stopping networking interfaces..." } +elglob -0 FILES /etc/sysconfig/ifconfig.* +forx INTERFACE { ${FILES} } + importas -u INTERFACE INTERFACE + backtick IFACE { pipeline { echo ${INTERFACE} } cut -d . -f 2 } + importas -nu IFACE IFACE + /sbin/ifdown ${IFACE} + +s6-echo -- [ Shutdown ] : Networking Disabled. diff --git a/xi/s6/sv/networking/type b/xi/s6/sv/networking/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/networking/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/networking/up b/xi/s6/sv/networking/up new file mode 100644 index 0000000..b7213b6 --- /dev/null +++ b/xi/s6/sv/networking/up @@ -0,0 +1,12 @@ +#!/bin/execlineb -P +fdmove -c 2 1 +if { s6-echo -- "[ Networking ] : Bringing up any network interfaces..." } +export IN_BOOT 1 +elglob -0 FILES /etc/sysconfig/ifconfig.* +forx INTERFACE { ${FILES} } + importas -u INTERFACE INTERFACE + backtick IFACE { pipeline { echo ${INTERFACE} } cut -d . -f 2 } + importas -nu IFACE IFACE + /sbin/ifup ${IFACE} + +if { s6-echo -- "[ Networking ] : Setup done" } diff --git a/xi/s6/sv/prep-dev/dependencies.d/mount-procfs b/xi/s6/sv/prep-dev/dependencies.d/mount-procfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/prep-dev/dependencies.d/mount-procfs diff --git a/xi/s6/sv/prep-dev/type b/xi/s6/sv/prep-dev/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/prep-dev/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/prep-dev/up b/xi/s6/sv/prep-dev/up new file mode 100644 index 0000000..abb0bd4 --- /dev/null +++ b/xi/s6/sv/prep-dev/up @@ -0,0 +1,4 @@ +#!/bin/execlineb -P +if { s6-echo "[ Virtual-FS ] 0/6 : Creating mount points" } +s6-mkdir /dev/shm +s6-mkdir /dev/pts diff --git a/xi/s6/sv/random-seed/dependencies.d/mount-devfs b/xi/s6/sv/random-seed/dependencies.d/mount-devfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/random-seed/dependencies.d/mount-devfs diff --git a/xi/s6/sv/random-seed/dependencies.d/mount-procfs b/xi/s6/sv/random-seed/dependencies.d/mount-procfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/random-seed/dependencies.d/mount-procfs diff --git a/xi/s6/sv/random-seed/dependencies.d/mount-sysfs b/xi/s6/sv/random-seed/dependencies.d/mount-sysfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/random-seed/dependencies.d/mount-sysfs diff --git a/xi/s6/sv/random-seed/dependencies.d/remount-root b/xi/s6/sv/random-seed/dependencies.d/remount-root new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/random-seed/dependencies.d/remount-root diff --git a/xi/s6/sv/random-seed/dependencies.d/udevadm b/xi/s6/sv/random-seed/dependencies.d/udevadm new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/random-seed/dependencies.d/udevadm diff --git a/xi/s6/sv/random-seed/type b/xi/s6/sv/random-seed/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/random-seed/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/random-seed/up b/xi/s6/sv/random-seed/up new file mode 100644 index 0000000..9591e6c --- /dev/null +++ b/xi/s6/sv/random-seed/up @@ -0,0 +1,8 @@ +#!/bin/execlineb -P +if { s6-echo "[ ReadWrite Mode ] 4/6 : Restoring random seed" } +#foreground { umask 077; cp /var/lib/random-seed /dev/urandom } +foreground { cp /var/lib/random-seed /dev/urandom } +backtick -n bytes { cat /proc/sys/kernel/random/poolsize } +importas -iu bytes bytes +foreground { if { s6-test -z $bytes } define bytes 512 } +foreground { redirfd -w 2 /dev/null dd if=/dev/urandom of=/var/lib/random-seed count=1 bs=$bytes } diff --git a/xi/s6/sv/remount-root/dependencies.d/checkfs b/xi/s6/sv/remount-root/dependencies.d/checkfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/remount-root/dependencies.d/checkfs diff --git a/xi/s6/sv/remount-root/type b/xi/s6/sv/remount-root/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/remount-root/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/remount-root/up b/xi/s6/sv/remount-root/up new file mode 100644 index 0000000..da6bf4c --- /dev/null +++ b/xi/s6/sv/remount-root/up @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ ReadWrite Mode ] 1/6 : Remounting root filesystem as rw" } +s6-mount -o remount,rw / / diff --git a/xi/s6/sv/rofs/contents.d/cgroups b/xi/s6/sv/rofs/contents.d/cgroups new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rofs/contents.d/cgroups diff --git a/xi/s6/sv/rofs/contents.d/checkfs b/xi/s6/sv/rofs/contents.d/checkfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rofs/contents.d/checkfs diff --git a/xi/s6/sv/rofs/contents.d/console b/xi/s6/sv/rofs/contents.d/console new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rofs/contents.d/console diff --git a/xi/s6/sv/rofs/contents.d/hostname b/xi/s6/sv/rofs/contents.d/hostname new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rofs/contents.d/hostname diff --git a/xi/s6/sv/rofs/contents.d/hwclock b/xi/s6/sv/rofs/contents.d/hwclock new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rofs/contents.d/hwclock diff --git a/xi/s6/sv/rofs/contents.d/kermod b/xi/s6/sv/rofs/contents.d/kermod new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rofs/contents.d/kermod diff --git a/xi/s6/sv/rofs/contents.d/modules b/xi/s6/sv/rofs/contents.d/modules new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rofs/contents.d/modules diff --git a/xi/s6/sv/rofs/contents.d/swap b/xi/s6/sv/rofs/contents.d/swap new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rofs/contents.d/swap diff --git a/xi/s6/sv/rofs/contents.d/sysctl b/xi/s6/sv/rofs/contents.d/sysctl new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rofs/contents.d/sysctl diff --git a/xi/s6/sv/rofs/contents.d/udev b/xi/s6/sv/rofs/contents.d/udev new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rofs/contents.d/udev diff --git a/xi/s6/sv/rofs/dependencies.d/vkfs b/xi/s6/sv/rofs/dependencies.d/vkfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rofs/dependencies.d/vkfs diff --git a/xi/s6/sv/rofs/type b/xi/s6/sv/rofs/type new file mode 100644 index 0000000..757b422 --- /dev/null +++ b/xi/s6/sv/rofs/type @@ -0,0 +1 @@ +bundle diff --git a/xi/s6/sv/rwfs-end/dependencies.d/dmesg b/xi/s6/sv/rwfs-end/dependencies.d/dmesg new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs-end/dependencies.d/dmesg diff --git a/xi/s6/sv/rwfs-end/dependencies.d/net-lo b/xi/s6/sv/rwfs-end/dependencies.d/net-lo new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs-end/dependencies.d/net-lo diff --git a/xi/s6/sv/rwfs-end/dependencies.d/random-seed b/xi/s6/sv/rwfs-end/dependencies.d/random-seed new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs-end/dependencies.d/random-seed diff --git a/xi/s6/sv/rwfs-end/dependencies.d/remount-root b/xi/s6/sv/rwfs-end/dependencies.d/remount-root new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs-end/dependencies.d/remount-root diff --git a/xi/s6/sv/rwfs-end/dependencies.d/tmpfiles-dev b/xi/s6/sv/rwfs-end/dependencies.d/tmpfiles-dev new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs-end/dependencies.d/tmpfiles-dev diff --git a/xi/s6/sv/rwfs-end/dependencies.d/tmpfiles-setup b/xi/s6/sv/rwfs-end/dependencies.d/tmpfiles-setup new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs-end/dependencies.d/tmpfiles-setup diff --git a/xi/s6/sv/rwfs-end/type b/xi/s6/sv/rwfs-end/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/rwfs-end/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/rwfs-end/up b/xi/s6/sv/rwfs-end/up new file mode 100644 index 0000000..6946d37 --- /dev/null +++ b/xi/s6/sv/rwfs-end/up @@ -0,0 +1 @@ +s6-true diff --git a/xi/s6/sv/rwfs/contents.d/cleantmp b/xi/s6/sv/rwfs/contents.d/cleantmp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs/contents.d/cleantmp diff --git a/xi/s6/sv/rwfs/contents.d/dmesg b/xi/s6/sv/rwfs/contents.d/dmesg new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs/contents.d/dmesg diff --git a/xi/s6/sv/rwfs/contents.d/net-lo b/xi/s6/sv/rwfs/contents.d/net-lo new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs/contents.d/net-lo diff --git a/xi/s6/sv/rwfs/contents.d/random-seed b/xi/s6/sv/rwfs/contents.d/random-seed new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs/contents.d/random-seed diff --git a/xi/s6/sv/rwfs/contents.d/remount-root b/xi/s6/sv/rwfs/contents.d/remount-root new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs/contents.d/remount-root diff --git a/xi/s6/sv/rwfs/contents.d/rwfs-end b/xi/s6/sv/rwfs/contents.d/rwfs-end new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs/contents.d/rwfs-end diff --git a/xi/s6/sv/rwfs/contents.d/tmpfiles-dev b/xi/s6/sv/rwfs/contents.d/tmpfiles-dev new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs/contents.d/tmpfiles-dev diff --git a/xi/s6/sv/rwfs/contents.d/tmpfiles-setup b/xi/s6/sv/rwfs/contents.d/tmpfiles-setup new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs/contents.d/tmpfiles-setup diff --git a/xi/s6/sv/rwfs/dependencies.d/rofs b/xi/s6/sv/rwfs/dependencies.d/rofs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs/dependencies.d/rofs diff --git a/xi/s6/sv/rwfs/dependencies.d/vkfs b/xi/s6/sv/rwfs/dependencies.d/vkfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/rwfs/dependencies.d/vkfs diff --git a/xi/s6/sv/rwfs/type b/xi/s6/sv/rwfs/type new file mode 100644 index 0000000..757b422 --- /dev/null +++ b/xi/s6/sv/rwfs/type @@ -0,0 +1 @@ +bundle diff --git a/xi/s6/sv/services/contents.d/getty b/xi/s6/sv/services/contents.d/getty new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/services/contents.d/getty diff --git a/xi/s6/sv/services/contents.d/networking b/xi/s6/sv/services/contents.d/networking new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/services/contents.d/networking diff --git a/xi/s6/sv/services/type b/xi/s6/sv/services/type new file mode 100644 index 0000000..757b422 --- /dev/null +++ b/xi/s6/sv/services/type @@ -0,0 +1 @@ +bundle diff --git a/xi/s6/sv/swap/dependencies.d/mount-sysfs b/xi/s6/sv/swap/dependencies.d/mount-sysfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/swap/dependencies.d/mount-sysfs diff --git a/xi/s6/sv/swap/dependencies.d/udev b/xi/s6/sv/swap/dependencies.d/udev new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/swap/dependencies.d/udev diff --git a/xi/s6/sv/swap/down b/xi/s6/sv/swap/down new file mode 100644 index 0000000..09fda29 --- /dev/null +++ b/xi/s6/sv/swap/down @@ -0,0 +1 @@ +swapoff -a diff --git a/xi/s6/sv/swap/type b/xi/s6/sv/swap/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/swap/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/swap/up b/xi/s6/sv/swap/up new file mode 100644 index 0000000..29bf079 --- /dev/null +++ b/xi/s6/sv/swap/up @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ Read-Only Mode ] 7/9 : Turning on any swap/swap-files" } +swapon -a diff --git a/xi/s6/sv/sysctl/dependencies.d/mount-procfs b/xi/s6/sv/sysctl/dependencies.d/mount-procfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/sysctl/dependencies.d/mount-procfs diff --git a/xi/s6/sv/sysctl/dependencies.d/mount-sysfs b/xi/s6/sv/sysctl/dependencies.d/mount-sysfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/sysctl/dependencies.d/mount-sysfs diff --git a/xi/s6/sv/sysctl/dependencies.d/udev b/xi/s6/sv/sysctl/dependencies.d/udev new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/sysctl/dependencies.d/udev diff --git a/xi/s6/sv/sysctl/type b/xi/s6/sv/sysctl/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/sysctl/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/sysctl/up b/xi/s6/sv/sysctl/up new file mode 100644 index 0000000..670f8e3 --- /dev/null +++ b/xi/s6/sv/sysctl/up @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ Read-Only Mode ] 0/9 : Setting kernel parameters" } +redirfd -w 1 /dev/null sysctl --system diff --git a/xi/s6/sv/tmpfiles-dev/dependencies.d/cleantmp b/xi/s6/sv/tmpfiles-dev/dependencies.d/cleantmp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/tmpfiles-dev/dependencies.d/cleantmp diff --git a/xi/s6/sv/tmpfiles-dev/dependencies.d/remount-root b/xi/s6/sv/tmpfiles-dev/dependencies.d/remount-root new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/tmpfiles-dev/dependencies.d/remount-root diff --git a/xi/s6/sv/tmpfiles-dev/dependencies.d/vkfs b/xi/s6/sv/tmpfiles-dev/dependencies.d/vkfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/tmpfiles-dev/dependencies.d/vkfs diff --git a/xi/s6/sv/tmpfiles-dev/type b/xi/s6/sv/tmpfiles-dev/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/tmpfiles-dev/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/tmpfiles-dev/up b/xi/s6/sv/tmpfiles-dev/up new file mode 100644 index 0000000..84cea2a --- /dev/null +++ b/xi/s6/sv/tmpfiles-dev/up @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ ReadWrite Mode ] 6/6 : Setting up tmpfiles" } +tmpfiles --prefix=/dev --create --boot diff --git a/xi/s6/sv/tmpfiles-setup/dependencies.d/cleantmp b/xi/s6/sv/tmpfiles-setup/dependencies.d/cleantmp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/tmpfiles-setup/dependencies.d/cleantmp diff --git a/xi/s6/sv/tmpfiles-setup/dependencies.d/remount-root b/xi/s6/sv/tmpfiles-setup/dependencies.d/remount-root new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/tmpfiles-setup/dependencies.d/remount-root diff --git a/xi/s6/sv/tmpfiles-setup/dependencies.d/rofs b/xi/s6/sv/tmpfiles-setup/dependencies.d/rofs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/tmpfiles-setup/dependencies.d/rofs diff --git a/xi/s6/sv/tmpfiles-setup/type b/xi/s6/sv/tmpfiles-setup/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/tmpfiles-setup/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/tmpfiles-setup/up b/xi/s6/sv/tmpfiles-setup/up new file mode 100644 index 0000000..e694ec8 --- /dev/null +++ b/xi/s6/sv/tmpfiles-setup/up @@ -0,0 +1,3 @@ +#!/bin/execlineb -P +if { s6-echo "[ ReadWrite Mode ] 5/6 : Cleaning tempfiles" } +tmpfiles --exclude-prefix=/dev --create --remove --boot diff --git a/xi/s6/sv/udev/contents.d/udevadm b/xi/s6/sv/udev/contents.d/udevadm new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/udev/contents.d/udevadm diff --git a/xi/s6/sv/udev/contents.d/udevd b/xi/s6/sv/udev/contents.d/udevd new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/udev/contents.d/udevd diff --git a/xi/s6/sv/udev/dependencies.d/vkfs b/xi/s6/sv/udev/dependencies.d/vkfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/udev/dependencies.d/vkfs diff --git a/xi/s6/sv/udev/type b/xi/s6/sv/udev/type new file mode 100644 index 0000000..757b422 --- /dev/null +++ b/xi/s6/sv/udev/type @@ -0,0 +1 @@ +bundle diff --git a/xi/s6/sv/udevadm/dependencies.d/mount-devfs b/xi/s6/sv/udevadm/dependencies.d/mount-devfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/udevadm/dependencies.d/mount-devfs diff --git a/xi/s6/sv/udevadm/dependencies.d/mount-procfs b/xi/s6/sv/udevadm/dependencies.d/mount-procfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/udevadm/dependencies.d/mount-procfs diff --git a/xi/s6/sv/udevadm/dependencies.d/mount-sysfs b/xi/s6/sv/udevadm/dependencies.d/mount-sysfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/udevadm/dependencies.d/mount-sysfs diff --git a/xi/s6/sv/udevadm/dependencies.d/udevd b/xi/s6/sv/udevadm/dependencies.d/udevd new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/udevadm/dependencies.d/udevd diff --git a/xi/s6/sv/udevadm/type b/xi/s6/sv/udevadm/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/xi/s6/sv/udevadm/type @@ -0,0 +1 @@ +oneshot diff --git a/xi/s6/sv/udevadm/up b/xi/s6/sv/udevadm/up new file mode 100644 index 0000000..8e77db2 --- /dev/null +++ b/xi/s6/sv/udevadm/up @@ -0,0 +1,9 @@ +#!/bin/execlineb -P +# Initiate udev devices & subsystems +fdmove -c 2 1 +if { s6-echo "[ Read-Only Mode ] 9/9 : Setting up devices & subsystems" } +if { + foreground { udevadm trigger --action=add --type=subsystems } + foreground { udevadm trigger --action=add --type=devices } + udevadm settle +} diff --git a/xi/s6/sv/udevd/dependencies.d/mount-devfs b/xi/s6/sv/udevd/dependencies.d/mount-devfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/udevd/dependencies.d/mount-devfs diff --git a/xi/s6/sv/udevd/dependencies.d/mount-procfs b/xi/s6/sv/udevd/dependencies.d/mount-procfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/udevd/dependencies.d/mount-procfs diff --git a/xi/s6/sv/udevd/dependencies.d/mount-sysfs b/xi/s6/sv/udevd/dependencies.d/mount-sysfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/udevd/dependencies.d/mount-sysfs diff --git a/xi/s6/sv/udevd/run b/xi/s6/sv/udevd/run new file mode 100644 index 0000000..552ab1d --- /dev/null +++ b/xi/s6/sv/udevd/run @@ -0,0 +1,6 @@ +#!/bin/execlineb -P +# Initiate udev +fdmove -c 2 1 +if { s6-echo "[ Read-Only Mode ] 8/9 : Intializing udev daemon" } +exec -c +udevd diff --git a/xi/s6/sv/udevd/type b/xi/s6/sv/udevd/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/xi/s6/sv/udevd/type @@ -0,0 +1 @@ +longrun diff --git a/xi/s6/sv/vkfs/contents.d/mount-devfs b/xi/s6/sv/vkfs/contents.d/mount-devfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/vkfs/contents.d/mount-devfs diff --git a/xi/s6/sv/vkfs/contents.d/mount-efivars b/xi/s6/sv/vkfs/contents.d/mount-efivars new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/vkfs/contents.d/mount-efivars diff --git a/xi/s6/sv/vkfs/contents.d/mount-ksecurity b/xi/s6/sv/vkfs/contents.d/mount-ksecurity new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/vkfs/contents.d/mount-ksecurity diff --git a/xi/s6/sv/vkfs/contents.d/mount-procfs b/xi/s6/sv/vkfs/contents.d/mount-procfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/vkfs/contents.d/mount-procfs diff --git a/xi/s6/sv/vkfs/contents.d/mount-sysfs b/xi/s6/sv/vkfs/contents.d/mount-sysfs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/xi/s6/sv/vkfs/contents.d/mount-sysfs diff --git a/xi/s6/sv/vkfs/type b/xi/s6/sv/vkfs/type new file mode 100644 index 0000000..757b422 --- /dev/null +++ b/xi/s6/sv/vkfs/type @@ -0,0 +1 @@ +bundle |