Pliky: How is sinit, ran into any issues?
Since I had begun using it in 2018,
sinit has been fantastic (and stable, free of problems). I have been using it exclusively on a whole host of devices with various architectures (such as: x86_64, AArch64/ARM64, ARMhf, and RISCV64), and it feels great to be in complete control (and know that if something breaks, I only have myself to blame... and to rectify the issue). It might be a few mere levels above initializing the system with an interactive shell, but, I am deeply appreciative of its
simplicity.
The main obstacle for many people seems to be the process of accepting that the principal duty of the sinit binary is to execute a single script and wait for the user to send a signal (which can be bound to a dwm key combination, or, executed through a customized dmenu script) to PID 1 (
kill -s USR1 1 to power off
or kill -s INT 1 to reboot). The aforementioned unified init/shutdown/reboot script is to be manually created by analyzing the initialization scripts supplied by a given Linux distribution and extracting the essential commands (and their arguments). Said instructions only need to be placed in the correct order within the script, with shell conditional statements isolating the init/shutdown/reboot sections (activated via first positional parameter following the executed script).
Taking all of the above into account, it is quite liberating to have certain commands set to run upon system start-up in whichever preferred order (with '/usr/bin/openvt -c 1 -- /usr/local/bin/login user' and '/usr/bin/Xorg :0 vt1 >/dev/null 2>&1 &' remaining as the final two). Manipulating just one file per machine (whether local or remote) elicits a sense of internal peace.