s6
contentsforbundleshas been deprecated, usecontents.dinsteaddependencieshas been deprecated, usedependencies.dinsteads6-rc-dbdoes not do topological sorting on compiled databases when listing dependencies (open a feature request)/dev/fdexists on other unices and is provided under Linux for compatibility./proc/*/fdis specific to Linux.sysctl()the syscall is officially deprecated, but the binarysysctlis what is recommended nowadays and uses/proc/sys- Do not mount
/dev/shmas we’re symlinking it to/run/shmwhich is alsotmpfs /tmpis a symlink to/run/tmpwhich gets created on every boot (the symlink however gets created only once at the start of bootstrapping/installing the system/tmp).ICE-unixand.X11-unixin/tmpbelong to Xorg and have been removedfsckdepends onsysto check for some features (and we should leave it to the initramfs?)- Consider having a
virtualor adevto bundle some services (likecore,devpts,fdandshm) - We want to be initramfs agnostic, so use mountpoint to check for
procandsys(no need fordevtmpfsbecuase the kernel has options for automount and we can control that) - We need
cgroup2to be used as older versions rely ontmpfson/sys/fs/cgroup 66,anopaandsleware based on s6/s6-rcefivarsgets automatically mounted over at/sys/efi/firmware/efivarswhen usingbooster; requires a separate service foriso- Do not remove
sh -efrom shebang inrcscripts or useexeclineb -Por removeexec devptsdoes not get mounted automatically at boot or withmount -aand requires a separate mount devptsshmrequireschmod 1777 /dev/shmto restore correct permissions- Do not provide
/usr/bin/modules-loadand/etc/sysctl.d; systemd stuff - Use
toyboxand other available user space utilities instead of depending on more packagess6-linux-utilsands6-portable-utils - It is not required that
runorfinishfiles in service directories be execline scripts (similar to daemontools), any file format that the kernel knows how to execute is acceptable (e.g. shell scripts) - Check the following
s6flags:-1ncand-1cs6-rc -a lists6-rc faq
sdnotify-wrapperis a wrapper for daemons so they can use the simple readiness notification mechanism recommended withs6and still work undersystemdwith proper readiness notification, without having to use thesd_notify()interface themselves
New Service Manager
Section titled “New Service Manager”- https://skarnet.com/projects/s6/
- https://skarnet.com/projects/s6/frontend/
- https://skarnet.com/projects/s6/frontend/servicefiles.html
- https://skarnet.com/projects/s6/rc/
- https://skarnet.com/projects/s6/rc/concepts.html
- https://skarnet.com/projects/s6/rc/s6-rc-compile.html
- https://skarnet.com/projects/s6/rc/s6-rc-db.html
- https://skarnet.com/projects/s6/rc/s6-rcd.html
- https://skarnet.com/projects/s6/rc/s6-rc.html
- https://skarnet.com/projects/s6/rc/services.html
- https://social.treehouse.systems/@ska/114201659912380653
References
Section titled “References”- https://blog.tjll.net/the-systemd-revolution-has-been-a-success/
- https://codeberg.org/alecStewart1/gentoo-s6-scripts
- https://codeberg.org/git-bruh/s6-scripts
- https://codeberg.org/smj/s6-smj
- https://codeberg.org/venomlinux/s6
- https://codeberg.org/venomlinux/s6-base
- https://codeberg.org/venomlinux/s6-scripts
- https://codeberg.org/venomlinux/s6-services
- https://gitea.artixlinux.org/artix/s6-scripts
- https://github.com/chimera-linux/dinit-chimera
- https://github.com/chris2511/meta-s6-rc
- https://github.com/dslm4515/MLFS-S6-Bootscripts/tree/sh-shell
- https://github.com/eweOS/dinit-services
- https://github.com/formula-spectre/s6-rc
- https://github.com/InitWare/InitWare/wiki/Dropped-components
- https://github.com/jhuntwork/merelinux
- https://github.com/just-containers/s6-overlay
- https://github.com/MichaelDeets/s6-scripts
- https://github.com/mumahendras3/sl6ckware
- https://github.com/rfaa-se/kisslinux
- https://github.com/skarnet/lh-bootstrap/tree/master/layout/rootfs/etc/s6-rc/source-base
- https://gitlab.alpinelinux.org/PureTryOut/dinit-alpine
- https://gitlab.exherbo.org/exherbo-misc/s6-exherbo
- https://reddit.com/r/AlpineLinux/comments/ug3ipr/any_news_about_migration_from_openrc_to_s6/
- https://ser1.net/post/systemd-really,-really-sucks/
- https://ser1.net/post/the-problem-with-the-anti-systemd-attitude/
- https://skarnet.org/lists/supervision/3271.html
- https://skarnet.org/software/execline/dieshdiedie.html
- https://skarnet.org/software/s6/s6-svscan.html
- https://whynothugo.nl/journal/2024/03/25/notes-on-s6/
- https://wiki.alpinelinux.org/wiki/User:Sertonix/Freedom_of_choice
- https://wiki.gentoo.org/wiki/S6
- https://wiki.gentoo.org/wiki/S6-rc
- https://youtube.com/watch?v=gZqIEstv5lM
- https://youtube.com/watch?v=o_AIw9bGogo
- https://youtube.com/watch?v=_ULy7jBnXdo
- https://youtube.com/watch?v=XO5LTmIhUTs