Tutorials
goetia
Software
0x53.net

Booting and init

A rough overview of the boot sequence on a modern computer running a UNIX like operating system is as follows:

The last step is what is needed to be configured for a goetia based init to be started.

Linux

If the Kernel or initramfs use the defaults, /sbin/init is used as init. Symlink system-init to /sbin/init to have goetia started on init. Usually, this executable can be found at /bin/system-init or /command/system-init.

If a custom initramfs is used, the end of its scripted sequence executes into init. Change the script to point to system-init. Initramfs source files are usually found at /usr/src/initramfs.

It is alternatively possible to change the Kernel command line parameter init=/path/to/system-init. This can be done during compile time of the Kernel or in the boot manager (e.g. GNU GRUB's GRUB_CMDLINE_LINUX=init=/path/to/system-init).

The last possibility is to change the compiled in kernel default, e.g. in make menuconfig at General setup -> Default init path or by changing DEFAULT_INIT in the .config file.

FreeBSD

Open the file /boot/loader.conf. Change the line saying init_path="/sbin/init:/rescue/init" (the part after the = may vary) to init_path="/path/to/system-init:/sbin/init:/rescue/init"