I was going through a tutorial on setting up a custom initramfs where it states:
The only thing that is missing is /init, the executable in the root of the initramfs that is executed by the kernel once it is loaded. Because sys-apps/busybox includes a fully functional shell, this means you can write your /init binary as a simple shell script (instead of making it a complicated application written in Assembler or C that you have to compile).
and gives an example of init as a shell script that starts with #!/bin/busybox sh
So far, I was under the impression that init is the main process that is launched and that all the other user space process are eventually children of init. However, in the given example, the first process is actually bin/busybox/ sh
from which later init is spawned.
Is this a correct interpertation? If I were, for example, have a available interpreter available at that point, I could write init as a Python script etc.?