All Projects → kisslinux → init

kisslinux / init

Licence: MIT license
KISS Linux - Init Framework

Programming Languages

shell
77523 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to init

InitKit
Neo-InitWare is a modular, cross-platform reimplementation of the systemd init system. It is experimental.
Stars: ✭ 364 (+328.24%)
Mutual labels:  posix, init, init-system
tini
A tiny but valid `init` for containers
Stars: ✭ 7,757 (+9025.88%)
Mutual labels:  init, init-system
Ecominit
eComInit is a free init system and service manager designed to scale from lightweight desktops to web-scale cloud deployments. It aims to offer feature-parity with systemd but with a modular, portable architecture compliant with software engineering best-practice.
Stars: ✭ 352 (+314.12%)
Mutual labels:  posix, init
go-init
A minimal init system for containers with pre/post hooks
Stars: ✭ 36 (-57.65%)
Mutual labels:  init, init-system
kernel-syslog
📝 Kernel module that can be used as a replacement for syslog, logger or logwrapper
Stars: ✭ 37 (-56.47%)
Mutual labels:  init, init-system
nosystemd.org
Website for arguments against systemd and further resources
Stars: ✭ 49 (-42.35%)
Mutual labels:  init, init-system
InitWare
The InitWare Suite of Middleware allows you to manage services and system resources as logical entities called units. Its main component is a service management ("init") system.
Stars: ✭ 164 (+92.94%)
Mutual labels:  init, init-system
nyx
Lean linux and OSX process monitoring written in C
Stars: ✭ 24 (-71.76%)
Mutual labels:  posix, init
install
basic script for project installation
Stars: ✭ 17 (-80%)
Mutual labels:  initscript, init
dotfiles skeleton
robust and beginner friendly dotfile skeleton
Stars: ✭ 14 (-83.53%)
Mutual labels:  posix
cubefs
CubeFS is a cloud native distributed storage platform.
Stars: ✭ 3,062 (+3502.35%)
Mutual labels:  posix
mittnite
Small init system with templated config files; to be used as container entrypoint
Stars: ✭ 21 (-75.29%)
Mutual labels:  init-system
shinit
Basic Init Daemon in POSIX sh
Stars: ✭ 17 (-80%)
Mutual labels:  init
initscripts
📜 Scripts to bring up network interfaces and legacy utilities in Fedora.
Stars: ✭ 38 (-55.29%)
Mutual labels:  initscript
sh
Collection Of My Sh Scripts.
Stars: ✭ 109 (+28.24%)
Mutual labels:  posix
coderun
⏯️ Code runner CLI that can run any languages
Stars: ✭ 23 (-72.94%)
Mutual labels:  posix
onionjuggler
Manage your Onion Services via CLI or TUI on Unix-like operating system with a POSIX compliant shell.
Stars: ✭ 31 (-63.53%)
Mutual labels:  posix
kotoriotoko
KOTORIOTOKO (little bird man) -- Extremely Compatible and Sustainable Twitter Application Written in Shell Script
Stars: ✭ 89 (+4.71%)
Mutual labels:  posix
nanoinit
A small, proper, init process for docker containers.
Stars: ✭ 43 (-49.41%)
Mutual labels:  init
juicefs-csi-driver
JuiceFS CSI Driver
Stars: ✭ 117 (+37.65%)
Mutual labels:  posix
Init Framework
________________________________________________________________________________

KISS Linux's portable init framework for use with any init, service manager or
device manager. It handles the boot (and shutdown) process and provides a
generic interface for controlling it.

The below components have been tested and work. Other software may work out of
the box as well, it just has not been tested. Send bug reports and support on
this side will be added where needed.

Tested init systems      Tested service managers      Tested device managers

* busybox init           * busybox runit              * mdev
* s6 (s6-svscan)         * s6                         * mdevd
* sinit                  * runit                      * udevd
* runit                  * no service manager         * no device manager
* shinit

NOTE: Any combination of the above can be used. If not using a service manager,
      ensure that you execute at least one getty for login to work. Also, some
      init systems handle what baseinit does internally so support for them
      here makes little sense.


[000] Index
________________________________________________________________________________

* /etc/rc.conf ........................................................... [001]
  * CONFIG_INIT .......................................................... [002]
  * CONFIG_SERVICE ....................................................... [003]
  * CONFIG_SERVICE_DIR (runit and s6 only) ............................... [004]
  * CONFIG_DEV ........................................................... [005]
* /etc/rc.d/ ............................................................. [006]
  * /etc/rc.d/*.pre.boot ................................................. [007]
  * /etc/rc.d/*.post.boot ................................................ [008]
  * /etc/rc.d/*.pre.shutdown ............................................. [009]
  * /etc/rc.d/*.post.shutdown ............................................ [010]
* Utilities .............................................................. [011]
* How To Package An Init ................................................. [012]
* Further Reading ........................................................ [013]


[001] /etc/rc.conf
________________________________________________________________________________

This file stores configuration for the boot/shutdown process and any scripts in
/etc/rc.d. [006] If the file does not exist, create it and if any options do not
exist, create them. If the options are unset (or not present) they take their
default values.


--[002] CONFIG_INIT ------------------------------------------------------------

  The init to assume is in use. This setting does not enable the init but merely
  tells baseinit which one is in use (so it can handle things accordingly).
  Valid values are currently 'busybox' (default), 's6', 'sinit', 'runit',
  'shinit'.

  +----------------------------------------------------------------------------+
  |                                                                            |
  |  CONFIG_INIT=busybox                                                       |
  |                                                                            |
  +----------------------------------------------------------------------------+


--[003] CONFIG_SERVICE ---------------------------------------------------------

  The service manager to execute at the end of the boot process. Valid values
  are currently: 'runit' (default), s6, none. If 'none' is used, baseinit will
  not start a service manager and it is up to the user to spawn gettys, etc.

  +----------------------------------------------------------------------------+
  |                                                                            |
  |  CONFIG_SERVICE=runit                                                      |
  |                                                                            |
  +----------------------------------------------------------------------------+


--[004] CONFIG_SERVICE_DIR (runit and s6 only) ---------------------------------

  The service directory to use.

  +----------------------------------------------------------------------------+
  |                                                                            |
  |  CONVIG_SERVICE_DIR=/var/service                                           |
  |                                                                            |
  +----------------------------------------------------------------------------+


--[005] CONFIG_DEV -------------------------------------------------------------

  The device manager to run during the init process. This is killed once boot is
  complete for a supervised version to take its place. Valid values are
  currently 'mdevd', 'mdev' (default) or 'udevd'.

  +----------------------------------------------------------------------------+
  |                                                                            |
  |  CONFIG_DEV=mdev                                                           |
  |                                                                            |
  +----------------------------------------------------------------------------+


[006] /etc/rc.d/
________________________________________________________________________________

Shell scripts are sourced from this directory at different stages in the boot
process based on file name. Any configuration made here will run under all
inits and service managers which use baseinit.


--[007] /etc/rc.d/*.pre.boot ---------------------------------------------------

  Scripts in /etc/rc.d ending in .pre.boot are run at the start of the boot
  process but after pseudo filesystems are mounted (/sys, /dev, etc).


--[008] /etc/rc.d/*.post.boot --------------------------------------------------

  Scripts in /etc/rc.d ending in .boot are run at the end of the boot process
  but before baseinit execs into CONFIG_SERVICE.


--[009] /etc/rc.d/*.pre.shutdown -----------------------------------------------

  Scripts in /etc/rc.d ending in .pre.shutdown are run at the start of the
  shutdown and reboot process. If a script needs to run only on one mode, it can
  discern the shutdown type by checking the basename of $0.


--[010] /etc/rc.d/*.post.shutdown ----------------------------------------------

  Scripts in /etc/rc.d ending in .post.shutdown are run at the end of the
  shutdown and reboot process. If a script needs to run only on one mode, it can
  discern the shutdown type by checking the basename of $0.


[011] Utilities
________________________________________________________________________________

The baseinit package provides two utilities. 'kpow' (signal reboot/shutdown to
the kernel) and 'respawn' (rerun command when it exits/dies).

These are only interesting to those looking to make larger modifications via
/etc/rc.d. The respawn command should allow those not using a service manager
to more easily spawn some gettys via /etc/rc.d.


[012] How To Package An Init
________________________________________________________________________________

To package an init and have it use baseinit set it to run /usr/lib/init/rc.boot
at power on, /usr/lib/init/rc.shutdown at shutdown and /usr/lib/init/rc.reboot
at reboot.

Then, the package should provide /usr/bin/init, /usr/bin/poweroff and
/usr/bin/reboot. This allows the alternatives system to be used and makes
swapping between things easy.

Last, if the init needs modifications made to baseinit open an issue here or
open a pull request. This is where CONFIG_INIT comes into play.


[013] Further Reading
________________________________________________________________________________

- #/wiki/service-management
- #/wiki/pkg/busybox
- #/wiki/pkg/s6
- #/wiki/pkg/sinit
- #/wiki/pkg/baseinit

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].