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 init
clients 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 inittab
entré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' getty
exé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.