I'm currently studying the boot process and composition of the different aspects of a GNU/Linux system and I can't rationaly explain this thing : you can write init
inside an initramfs
file as a shell script .
Init is supposed to be the first user-space process and the parent of all processes that are not spawned directly by the kernel . The PID of init is generally 1
which means it comes before everything else in the user space, and in that "everything" there should be your shell too .
#!/bin/sh
Now how things work when inside the init
file I'm invoking a shell which is supposed to be a child process of the same process it is creating ?