J'ai réussi à créer un petit CD Linux live entièrement fonctionnel qui ne contient que le noyau (compilé avec les options par défaut) et BusyBox (compilé avec les options par défaut + statique, toutes les applets présentes, y compris /sbin/init
). Je n'ai eu aucun problème à créer initrd
et à remplir /dev
, /proc
et /sys
je n'ai eu aucun problème avec mon /init
script shell.
Récemment, j'ai lu que BusyBox prend en charge les /etc/inittab
configurations (au moins à un certain niveau) et j'aimerais beaucoup faire l'une des choses suivantes:
- Oubliez mon
/init
script shell et comptez entièrement sur la/etc/inittab
configuration. - Utilisez à la fois le
/init
script shell et la/etc/inittab
configuration.
Maintenant, le problème réel - il semble que ce /etc/inittab
soit complètement ignoré lorsque ma distribution démarre. Les symptômes sont:
- Quand je retire
/init
et laisse seulement,/etc/inittab
je me retrouve avec la panique du noyau. Mon hypothèse est que le noyau ne s'exécute pas/sbin/init
du tout, ou qu'il/sbin/init
ne trouve pas (ou ne lit pas)/etc/inittab
. - J'ai lu que BusyBox devrait bien fonctionner même sans
/etc/inittab
. Donc, j'ai supprimé les deux/init
et/etc/inittab
et devinez quoi - la panique du noyau à nouveau. - J'ai essayé d'exécuter à
/sbin/init
partir de mon shell et après plusieurs suppositions qui comprenaientexec /sbin/init
,setsid /sbin/init
etexec setsid /sbin/init
je me suis retrouvé avec la panique du noyau. Avec et sans / etc / inittab présent sur le système de fichiers.
Voici le contenu de mon /init
script shell:
#!/bin/sh
dmesg -n 1
mount -t devtmpfs none /dev
mount -t proc none /proc
mount -t sysfs none /sys
setsid cttyhack /bin/sh
À ce stade, je me fiche du contenu du /etc/inittab
, tant que j'ai un moyen de savoir que la configuration y fonctionne réellement. J'ai essayé plusieurs /etc/inittab
configurations, toutes basées sur les informations que j'ai trouvées ici .
Au minimum, mon / etc / inittab ne contenait qu'une seule ligne:
::sysinit:/bin/sh
Encore une fois - je me suis retrouvé avec une panique du noyau et il semble que cela ait /etc/inittab
été ignoré.
Toutes les suggestions pour forcer ma petite distribution en direct à fonctionner correctement avec BusyBox /etc/inittab
sont très appréciées!
Mise à jour:
- Juste pour être clair - je n'ai pas de problèmes de panique du noyau avec mon
/init
script shell actuel avec et sans/etc/inittab
. Tout fonctionne bien, ma/bin/ash
console fonctionne très bien et je ne rencontre aucun problème inattendu. Le seul problème est qu'il/etc/inittab
est complètement ignoré, comme je l'ai décrit ci-dessus. - J'ai examiné 3 distributions Linux live différentes: Slax, Finnix et SysResCD. Tous l'ont fait
/init
et aucun ne l'a fait/etc/inittab
. De plus, cet article Wiki conclut ma suspicion qui/sbin/init
n'est pas du tout invoquée.