diff options
| author | PS <p@0x53.net> | 2026-02-07 10:36:49 +0100 |
|---|---|---|
| committer | PS <p@0x53.net> | 2026-02-07 10:36:49 +0100 |
| commit | 49098cf9c6055b85a4cd0dcb4a0d57fc003310f4 (patch) | |
| tree | e2166c108782293693549eea821dd622eeba5491 /doc | |
| parent | eaf0ecff18ee063286ad423469241ca0eb2e4c6c (diff) | |
| download | goetia-linux-49098cf9c6055b85a4cd0dcb4a0d57fc003310f4.tar.gz goetia-linux-49098cf9c6055b85a4cd0dcb4a0d57fc003310f4.tar.bz2 goetia-linux-49098cf9c6055b85a4cd0dcb4a0d57fc003310f4.zip | |
Add doc
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/index.html | 279 | ||||
| -rw-r--r-- | doc/service/system/getty-12.html | 42 | ||||
| -rw-r--r-- | doc/source/system/net/nftables.html | 41 | ||||
| -rw-r--r-- | doc/source/system/other/local.html | 69 | ||||
| -rw-r--r-- | doc/source/system/other/syslog.html | 39 | ||||
| -rw-r--r-- | doc/source/system/vfs/mount-binfmt_misc.html | 81 |
6 files changed, 551 insertions, 0 deletions
diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..a0bc8db --- /dev/null +++ b/doc/index.html @@ -0,0 +1,279 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <title>goetia-linux</title> + <meta name="Description" content="goetia-linux contains scripts, service- and source directories specific to Linux." /> + <meta name="Keywords" content="goetia Linux" /> + </head> + <header> + <p> + <a href="//0x53.net/software/goetia">goetia</a> + <br /> + <a href="//0x53.net/software">Software</a> + <br /> + <a href="//0x53.net">0x53.net</a> + </p> + </header> + <body> + <h1>goetia-linux</h1> + <h2>What is it?</h2> + <p> + goetia-linux contains + <a href="https://skarnet.org/software/s6/servicedir.html">service directories</a> + and + <a href="https://skarnet.org/software/s6-rc/s6-rc-compile.html#source">source directories</a> + for the system supervision tree that are specific for the Linux Kernel. + </p> + <hr> + <h2>Installation</h2> + <h3>Requirements</h3> + <ul> + <li> + A set of POSIX tools and kernel specific tools + as described in the general + <a href="//0x53.net/software/requirements.html">requirements</a> + </li> + <li> + A POSIX-compliant implementation of make, or GNU make + </li> + <li> + <a href="//0x53.net/software/goetia/goetia-base">goetia-base</a> + </li> + <li> + Additional per-service dependencies, + e.g. the daemon itself the service corresponds to, + are listed on the respective page. + </li> + </ul> + <h3>Licensing</h3> + <p> + goetia-linux is free software. It is available under the + <a href="https://opensource.org/licenses/ISC">ISC license</a>. + </p> + <h3>Download</h3> + <ul> + <!-- + <li> + The current released version of goetia-linux is + <a href="./goetia-linux-0.0.1.0.tar.gz">0.0.1.0</a>. + You can access its checksum + <a href="./goetia-linux-0.0.1.0.tar.gz.sha256">here</a>. + </li> + --> + <li> + Alternatively, you can checkout a copy of the + <a href="https://git.0x53.net/goetia-linux">goetia-linux git repository</a>: + <pre>git clone git://git.0x53.net/goetia-linux</pre> + </li> + </ul> + <h3>Compilation</h3> + <ul> + <li> + See the enclosed INSTALL file for installation details. + </li> + </ul> + <hr> + <h2>Reference</h2> + <section id="service"> + <h3>Service directories</h3> + <p> + Service directories for early and basic services, + used without + <a href="https://skarnet.org/software/s6-rc/">s6-rc</a>. + Service directories in this package are used independent + of the kernel in use. + </p> + <h4>System service directories</h4> + <ul> + <li> + <a href="./service/system/getty-12.html">getty-12</a> + </li> + </ul> + </section> + <section id="source"> + <h3>Source directories</h3> + <p> + Following is a list of included + source directories. + Note that some daemons are so modular + and configurable, it would be nonsense + to provide a "stock" source directory. + How to set those up is explained in + an according + <a href="//0x53.net/software/goetia/tutorials/">tutorial page</a>. + </p> + <h4>System source directories</h4> + <h5>mount</h5> + <ul> + <li> + mount-fstab + </li> + <li> + mount-tmp + </li> + <li> + remount-root + </li> + </ul> + <h5>net</h5> + <ul> + <li> + dnsfunneld + </li> + <li> + hostname + </li> + <li> + iwd + </li> + <li> + net-lo + </li> + <li> + net-nm-online + </li> + <li> + net-nm-ready + </li> + <li> + networkmanager + </li> + <li> + <a href="./source/system/net/nftables.html">nftables</a> + </li> + </ul> + <h5>udev</h5> + <ul> + <li> + mdev-coldplug + </li> + <li> + mdev + </li> + <li> + mdevd-coldplug + </li> + <li> + mdevd + </li> + <li> + udevadm-settle + </li> + <li> + udevadm-trigger + </li> + <li> + udevd + </li> + </ul> + <h5>vfs</h5> + <ul> + <li> + <a href="./source/system/vfs/mount-binfmt_misc.html">mount-binfmt_misc</a> + </li> + <li> + mount-cgroups-v1 + </li> + <li> + mount-cgroups-v2 + </li> + <li> + mount-config + </li> + <li> + mount-debug + </li> + <li> + mount-dev + </li> + <li> + mount-efivars + </li> + <li> + mount-fuse-connections + </li> + <li> + mount-hugepages + </li> + <li> + mount-mqueue + </li> + <li> + mount-proc + </li> + <li> + mount-pstore + </li> + <li> + mount-pts + </li> + <li> + mount-run + </li> + <li> + mount-security + </li> + <li> + mount-selinux + </li> + <li> + mount-shm + </li> + <li> + mount-sys + </li> + <li> + mount-tracing + </li> + </ul> + <h5>web</h5> + <ul> + <li> + jellyfin + </li> + </ul> + <h5>other</h5> + <ul> + <li> + acpid + </li> + <li> + dmesg + </li> + <li> + kmod-static-nodes + </li> + <li> + <a href="./source/system/other/local.html">local</a> + </li> + <li> + modules + </li> + <li> + random-seed-load + </li> + <li> + random-seed-save + </li> + <li> + swap-fstab + </li> + <li> + sysctl + </li> + <li> + <a href="./source/system/other/syslog.html">syslog</a> + </li> + <li> + tmpfiles-dev + </li> + <li> + tmpfiles-setup + </li> + </ul> + </section> + </body> +</html> diff --git a/doc/service/system/getty-12.html b/doc/service/system/getty-12.html new file mode 100644 index 0000000..1d67a8b --- /dev/null +++ b/doc/service/system/getty-12.html @@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <title>getty-12</title> + <meta name="Description" content="System service providing a tty acccessible at slot 12." /> + <meta name="Keywords" content="goetia s6 Linux tty getty agetty system supervision tree" /> + </head> + <header> + <p> + <a href="//0x53.net/software/goetia/goetia-linux">goetia-linux</a> + <br /> + <a href="//0x53.net/software/goetia">goetia</a> + <br /> + <a href="//0x53.net/software">Software</a> + <br /> + <a href="//0x53.net">0x53.net</a> + </p> + </header> + <body> + <h1>The getty-12 service</h1> + <p> + This service tries to spawn a tty on slot 12 + (<code>ctrl + alt + F12</code>). + Using both the <code>agetty</code> + and in case it does not exist, + the <code>getty</code> command. + </p> + <section id="requirements"> + <h2>Requirements</h2> + <ul> + <li> + The device node <code>/dev/tty12</code> must exist + even when no proper filesystem + (e.g. devfs, devtmpfs) is mounted at <code>/dev</code>. + </li> + </ul> + </section> + </body> +</html> diff --git a/doc/source/system/net/nftables.html b/doc/source/system/net/nftables.html new file mode 100644 index 0000000..4bcd42b --- /dev/null +++ b/doc/source/system/net/nftables.html @@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <title>nftables service</title> + <meta name="Description" content="System oneshot to set the firewall up using nftables." /> + <meta name="Keywords" content="goetia s6-rc Linux net firewall system supervision tree" /> + </head> + <header> + <p> + <a href="//0x53.net/software/goetia/goetia-linux">goetia-linux</a> + <br /> + <a href="//0x53.net/software/goetia">goetia</a> + <br /> + <a href="//0x53.net/software">Software</a> + <br /> + <a href="//0x53.net">0x53.net</a> + </p> + </header> + <body> + <h1>The nftables service</h1> + <p> + nftables is a + <a href="https://skarnet.org/software/s6-rc/s6-rc-compile.html#source">oneshot service</a> + to use + <a href="https://wiki.nftables.org/wiki-nftables/index.php/Main_Page">nftables</a> + </p> + <ul> + <li> + It runs <code>nft -f /etc/nftables.rules</code> + when it is started. + </li> + <li> + It runs <code>nft flush ruleset</code> + when it is stopped. + </li> + </ul> + </body> +</html> diff --git a/doc/source/system/other/local.html b/doc/source/system/other/local.html new file mode 100644 index 0000000..aa943e2 --- /dev/null +++ b/doc/source/system/other/local.html @@ -0,0 +1,69 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <title>local service</title> + <meta name="Description" content="System oneshot that executes scripts." /> + <meta name="Keywords" content="goetia s6-rc Linux script system supervision tree" /> + </head> + <header> + <p> + <a href="//0x53.net/software/goetia/goetia-linux">goetia-linux</a> + <br /> + <a href="//0x53.net/software/goetia">goetia</a> + <br /> + <a href="//0x53.net/software">Software</a> + <br /> + <a href="//0x53.net">0x53.net</a> + </p> + </header> + <body> + <h1>The local service</h1> + <p> + local is a + <a href="https://skarnet.org/software/s6-rc/s6-rc-compile.html#source">oneshot service</a>. + </p> + <ul> + <li> + It tries to execute all + files <code>/etc/local.d/*.up</code> + when it is started (typically during boot). + </li> + <li> + It tries to execute all files <code>/etc/local.d/*.down</code> + when it is stopped (typically during shutdown). + </li> + </ul> + <p> + The files are executed in random order + and in parallel. + </p> + <section id="examples"> + <h2>Examples</h2> + <p> + An executable file <code>/etc/local.d/echo.up</code> + with the content + <pre> +#!/bin/execlineb -P + +echo "example" + </pre> + would be executed and write "example" to the system log + upon starting the service local. + </p> + <p> + An executable file <code>/etc/local.d/echo.down</code> + with the content + <pre> +#!/bin/execlineb -P + +echo "example" + </pre> + would be executed and write "example" to the system log + upon stopping the service local. + </p> + </section> + </body> +</html> diff --git a/doc/source/system/other/syslog.html b/doc/source/system/other/syslog.html new file mode 100644 index 0000000..c09af1a --- /dev/null +++ b/doc/source/system/other/syslog.html @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <title>syslog service</title> + <meta name="Description" content="System longrun to emulate syslog." /> + <meta name="Keywords" content="goetia s6-rc Linux syslog system supervision tree" /> + </head> + <header> + <p> + <a href="//0x53.net/software/goetia/goetia-linux">goetia-linux</a> + <br /> + <a href="//0x53.net/software/goetia">goetia</a> + <br /> + <a href="//0x53.net/software">Software</a> + <br /> + <a href="//0x53.net">0x53.net</a> + </p> + </header> + <body> + <h1>The syslog service</h1> + <p> + syslog is a + <a href="https://skarnet.org/software/s6-rc/s6-rc-compile.html#source">longrun service</a> + to support legacy applications + that only support logging through a syslog socket. + </p> + <p> + It runs an instance of + <a href="https://skarnet.org/software/s6/s6-socklog.html">s6-socklog</a> + with the socket set to <code>/dev/log</code>. + The logs are then processed by + <a href="https://skarnet.org/software/s6/s6-log.html">s6-log</a> + (see <a href="//0x53.net/software/goetia/logdir.html">logging directory</a>). + </p> + </body> +</html> diff --git a/doc/source/system/vfs/mount-binfmt_misc.html b/doc/source/system/vfs/mount-binfmt_misc.html new file mode 100644 index 0000000..09cadc8 --- /dev/null +++ b/doc/source/system/vfs/mount-binfmt_misc.html @@ -0,0 +1,81 @@ +<!DOCTYPE html> +<html> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> + <meta http-equiv="Content-Language" content="en" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <title>mount-binfmt_misc service</title> + <meta name="Description" content="System oneshot service to populate the binfmt_misc filesystem." /> + <meta name="Keywords" content="goetia s6-rc Linux bin system supervision tree" /> + </head> + <header> + <p> + <a href="//0x53.net/software/goetia/goetia-linux">goetia-linux</a> + <br /> + <a href="//0x53.net/software/goetia">goetia</a> + <br /> + <a href="//0x53.net/software">Software</a> + <br /> + <a href="//0x53.net">0x53.net</a> + </p> + </header> + <body> + <h1>The mount-binfmt_misc service</h1> + <p> + mount-binfmt_misc is a + <a href="https://skarnet.org/software/s6-rc/s6-rc-compile.html#source">oneshot service</a> + set up the + <a href="https://docs.kernel.org/admin-guide/binfmt-misc.html">binfmt_misc</a> + virtual filesystem. + </p> + <p> + When it is started: + </p> + <ul> + <li> + It mounts the binfmt_misc virtual filesystem at + <code>/proc/sys/fs/binfmt_misc</code>. + </li> + <li> + It reads all files at + <code>/etc/binfmt.d/*</code> + </li> + <li> + For each line in each file it finds there, + ignoring empty lines and lines starting with a + <code>#</code>, + it tries to apply the line + as a registration string as defined + <a href="https://docs.kernel.org/admin-guide/binfmt-misc.html">here</a> + under the following conditions: + </li> + <ul> + <li> + Files are ordered by + <a href="https://skarnet.org/software/execline/elglob.html">elglob</a>. + </li> + <li> + If <code>name</code> fields are duplicated, + the last one processed will be applied. + </li> + </ul> + </ul> + <p> + When it is stopped: + </p> + <ul> + <li> + It umounts <code>/proc/sys/fs/binfmt_misc</code>. + </li> + </ul> + <section id="examples"> + <h2>Examples</h2> + <p> + A file <code>/etc/binfmt.d/wine.conf</code> + with the content <code>:DOSWin:M::MZ::/bin/wine:</code> + would make windows binaries be executed + using wine automatically. + </p> + </section> + </body> +</html> |
