init=peut prendre n'importe quel exécutable
init=peut prendre n’importe quel exécutable, y compris les scripts shell .
Ici, par exemple, je montre comment créer une compilation arbitraire en C minimal init: Comment créer une distribution Linux personnalisée n’exécutant qu’un programme et rien d’autre?
Alors , pourquoi ne serait - il pas accepter /bin/bash, de toutes les choses, ce qui est juste un exécutable régulier, et peut effectivement être utile? :-)
Ensuite, vous devriez également essayer de comprendre quels seront les compromis avec vos initclients habituels, tels que systemd ou Busybox.
En gros, avec un brut /bin/bash, vous:
Le contrôle du travail peut être restauré sur init Busybox 'et d'autres entrées similaires avec une avance -dans le inittab:
tty3::respawn:-/bin/sh
Les inittabentrées les plus normales , qui utilisent login et gardent les shells générés si vous faites Ctrl + D sont:
::respawn:/sbin/getty -L ttyS0 0 vt100
qui utilisent l' gettyexécutable, mais TODO: Je n'ai pas été en mesure de les générer moi-même sans la Busybox init: getty start depuis la ligne de commande?
Vous pouvez utiliser cette configuration pour jouer avec et atteindre les conclusions ci-dessus.