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 && kiss i 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 && kiss i 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          |
    |                                                                          |
    +--------------------------------------------------------------------------+