Una mia distro GNU/Linux : Minimalix
Inviato: gio 15 set 2005, 14:53
Ho cominciato a lavorare alla creazione di una mia distribuzione GNU/Linux : Minimalix
Come suggerisce il nome, Minimalix conterrà un insieme ristrettissimo di funzionalità, e il target per questa distro è, per adesso, il mio 486.
Il mio 486 per adesso sta acceso giorno e notte con un unico scopo: fornire l'accesso a internet agli altri computer sulla mia LAN per mezzo di qualche regola di iptables.
Dal momento quindi che cio che fa è estramamente semplice (praticamente lavora sempre e soltanto il kernel) , mi sono detto: perché non provare a costrurire dai sorgenti un sistema minimale adatto per quella macchina ?
Indubbiamente questo lavoro mi sta servendo anche da un punto di vista puramente didattico.
Al fine di ridurre al minimo la complessita di questo sistema, ho fatto le seguenti scelte:
- Nessun supporto per eseguibili dinamici: gli eseguibili ( ls, cat, less ...) devono essere linkati staticamente.
--> Dal sito gnu.org ho scaricato il pacchetto coreutils compilandolo con l'opzione -static
--> Kernel 2.4.31 senza alcun supporto per i moduli: tutto è compilato all'interno del kernel. In questo modo elimino la necessita di fargli caricari altri moduli ! (rozzo, ma molto più semplice !)
--> Non c'è il classico init Sys V, e con esso quindi i RunLevel: al posto di init viene avviata una shell di root, e questo è quanto !
--> La shell di root in questione è una piccola shell che mi sono scritto da zero, sersh.
Adesso però ho questo problema:
sersh prova ad eseguire una
open("/dev/tty", O_RDONLY );
e ottiene un errore.
Avevo letto che l'apertura di un terminale necessita di altri file di dispositivo (che io non ho creato ...)
... quali sono ? Quali Major e Minor Number ?
Come suggerisce il nome, Minimalix conterrà un insieme ristrettissimo di funzionalità, e il target per questa distro è, per adesso, il mio 486.
Il mio 486 per adesso sta acceso giorno e notte con un unico scopo: fornire l'accesso a internet agli altri computer sulla mia LAN per mezzo di qualche regola di iptables.
Dal momento quindi che cio che fa è estramamente semplice (praticamente lavora sempre e soltanto il kernel) , mi sono detto: perché non provare a costrurire dai sorgenti un sistema minimale adatto per quella macchina ?
Indubbiamente questo lavoro mi sta servendo anche da un punto di vista puramente didattico.
Al fine di ridurre al minimo la complessita di questo sistema, ho fatto le seguenti scelte:
- Nessun supporto per eseguibili dinamici: gli eseguibili ( ls, cat, less ...) devono essere linkati staticamente.
--> Dal sito gnu.org ho scaricato il pacchetto coreutils compilandolo con l'opzione -static
--> Kernel 2.4.31 senza alcun supporto per i moduli: tutto è compilato all'interno del kernel. In questo modo elimino la necessita di fargli caricari altri moduli ! (rozzo, ma molto più semplice !)
--> Non c'è il classico init Sys V, e con esso quindi i RunLevel: al posto di init viene avviata una shell di root, e questo è quanto !
--> La shell di root in questione è una piccola shell che mi sono scritto da zero, sersh.
Adesso però ho questo problema:
sersh prova ad eseguire una
open("/dev/tty", O_RDONLY );
e ottiene un errore.
Avevo letto che l'apertura di un terminale necessita di altri file di dispositivo (che io non ho creato ...)
... quali sono ? Quali Major e Minor Number ?