|/
|\ISS LINUX™

News (20210723a)
Blog
Install
FAQ
Wiki
Package System
Package Manager
Testimonials
Screenshots
Contact
Donate
Archive
wiki / init / changing-init                                       Edit this page
Edited (4f18dd0) at 2023-07-07 by Dylan Araps
Changing Init Systems
________________________________________________________________________________
KISS' default init system and service manager are provided by busybox. The
service manager being an independent implementation of runit's utilities. This
default should work with all system configurations though one may still wish to
swap to the init system and service manager of their choosing.
This is very easily done via the package manager's alternatives system as
nothing is tightly coupled or dependent on a specific init or service manager.
[0.0] Index
________________________________________________________________________________
- Rebooting after switching init systems                                   [1.0]
- runit                                                                    [2.0]
- Hummingbird                                                              [3.0]
    - Setting up runsvdir                                                  [3.1]
[1.0] Rebooting after switching init systems
________________________________________________________________________________
After switching init systems, your running init system may not accept the
new poweroff commands. You will need to reboot/poweroff using the running init's
utilities for the new utilities to work. These commands are for the init system
currently running on your system and not the one you are switching to.
+------------------------------------------------------------------------------+
| Busybox                                                                      |
+------------------------------------------------------------------------------+
|                                                                              |
|   $ busybox reboot                                                           |
|                                                                              |
+------------------------------------------------------------------------------+
| Runit                                                                        |
+------------------------------------------------------------------------------+
|                                                                              |
|   $ runit-init 6                                                             |
|                                                                              |
+------------------------------------------------------------------------------+
| sinit/shinit and Hummingbird                                                 |
+------------------------------------------------------------------------------+
|                                                                              |
|   $ kill -s INT 1                                                            |
|                                                                              |
+------------------------------------------------------------------------------+
[2.0] runit
________________________________________________________________________________
Begin by first verifying that runit is installed.
+------------------------------------------------------------------------------+
|                                                                              |
|   # Available in the Community repository.                                   |
|   $ kiss b runit                                                             |
|                                                                              |
+------------------------------------------------------------------------------+
Finally, use the alternatives system to swap to runit.
+------------------------------------------------------------------------------+
|                                                                              |
|   # See #/package-manager#3.2 for more information.                          |
|   $ kiss a runit /usr/bin/init                                               |
|   $ kiss a runit /usr/bin/poweroff                                           |
|   $ kiss a runit /usr/bin/reboot                                             |
|                                                                              |
+------------------------------------------------------------------------------+
[3.0] Hummingbird
________________________________________________________________________________
Make sure to install Hummingbird.
+------------------------------------------------------------------------------+
|                                                                              |
|   # Available in the Community repository.                                   |
|   $ kiss b hummingbird-git                                                   |
|                                                                              |
+------------------------------------------------------------------------------+
Then, swap to Hummingbird by using the alternatives system.
+------------------------------------------------------------------------------+
|                                                                              |
|   $ kiss a hummingbird-git /usr/bin/init                                     |
|   $ kiss a hummingbird-git /usr/bin/reboot                                   |
|                                                                              |
+------------------------------------------------------------------------------+
Once you have booted using Hummingbird, take note that the command used to
turn the system off is "shutdown".
    [3.1] Setting up runsvdir
    ____________________________________________________________________________
    Hummingbird doesn't provide a service manager, and doesn't read from
    inittab either. Some people find it useful to have one, such as runsvdir.
    +--------------------------------------------------------------------------+
    |                                                                          |
    |   $ mkdir /etc/rc.d                                                      |
    |   $ echo 'runsvdir -P /var/service &' > /etc/rc.d/runsvdir.boot          |
    |                                                                          |
    +--------------------------------------------------------------------------+
________________________________________________________________________________
Dylan Araps (C) 2019-2021
The registered trademark Linux(R) is used pursuant to a sublicense from the
Linux Foundation, the exclusive licensee of Linus Torvalds, owner of the mark
on a world­wide basis.