Sono riuscito a creare un CD Linux live piccolo e perfettamente funzionante che contiene solo kernel (compilato con opzioni predefinite) e BusyBox (compilato con opzioni predefinite + statico, tutte le applet presenti, incluso /sbin/init). Non ho avuto problemi da creare initrde popolare /dev, /proce non /sysho avuto problemi con il mio /initscript shell.
Di recente ho letto che BusyBox supporta le /etc/inittabconfigurazioni (almeno a un certo livello) e mi piacerebbe molto fare una delle seguenti operazioni:
- Dimentica il mio
/initscript shell e fai affidamento interamente sulla/etc/inittabconfigurazione. - Usa sia
/initlo script della shell che la/etc/inittabconfigurazione.
Ora il vero problema - sembra che /etc/inittabvenga completamente ignorato quando la mia distribuzione si avvia. I sintomi sono:
- Quando rimuovo
/inite lascio solo/etc/inittabfinisco con il panico del kernel. La mia ipotesi è che il kernel non viene eseguito/sbin/initaffatto o che/sbin/initnon trova (o legge)/etc/inittab. - Ho letto che BusyBox dovrebbe funzionare bene anche senza
/etc/inittab. Così, ho rimosso sia/inite/etc/inittabe indovinate - Kernel Panic di nuovo. - Ho provato ad eseguire
/sbin/initdalla mia shell e dopo diverse ipotesi che includevanoexec /sbin/init,setsid /sbin/initeexec setsid /sbin/initho finito con il panico del kernel. Sia con che senza / etc / inittab presenti sul file system.
Ecco il contenuto del mio /initscript 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
A questo punto non mi interessa quale sia il contenuto di /etc/inittab, purché abbia un modo per sapere che la configurazione lì effettivamente funziona. Ho provato diverse /etc/inittabconfigurazioni, tutte basate sulle informazioni che ho trovato qui .
Come minimo mio / etc / inittab conteneva solo questa riga:
::sysinit:/bin/sh
Ancora una volta - ho finito con il panico del kernel e sembra che sia /etc/inittabstato ignorato.
Qualche suggerimento su come forzare la mia piccola distribuzione live a funzionare bene con BusyBox /etc/inittabè molto apprezzato!
Aggiornare:
- Giusto per chiarire: non ho problemi di panico nel kernel con il mio attuale
/initscript shell sia con che senza/etc/inittab. Funziona tutto bene, la mia/bin/ashconsole funziona benissimo e non ho problemi inaspettati. L'unico problema è che/etc/inittabviene completamente ignorato, come ho descritto sopra. - Ho esaminato 3 diverse distribuzioni Linux live: Slax, Finnix e SysResCD. Tutti loro hanno
/inite nessuno ha/etc/inittab. Inoltre questo articolo di Wiki conclude il mio sospetto che/sbin/initnon è stato affatto invocato.