Una mia distro GNU/Linux : Minimalix

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
TheSnowBoarder
Linux 1.x
Linux 1.x
Messaggi: 139
Iscritto il: gio 30 giu 2005, 0:00
Località: Catania

Una mia distro GNU/Linux : Minimalix

Messaggio da TheSnowBoarder »

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 ?

Avatar utente
sid77
Linux 3.x
Linux 3.x
Messaggi: 568
Iscritto il: mer 1 giu 2005, 0:00
Slackware: 12.0/12.1/curr (ppc)
Località: PowerPC
Contatta:

Messaggio da sid77 »

pesante come idea 8O
non mi resta che farti un gran "in bocca al lupo"

P.S. non me ne intendo di programmazione fino a quel punto, ma usare una busybox? è un solo binario statico e ti levi un pò di programmi in una botta sola. In preparazione all'iCTF avevamo preparato pacchettini con binutils statiche e anche una busybox, alla fine la seconda era molto + piccola degli altri equivalenti (quella nottata non sono servite ma me lo sentivo che prima o poi ne avrei parlato :lol: ).

Avatar utente
B4sH
Linux 2.x
Linux 2.x
Messaggi: 488
Iscritto il: sab 25 giu 2005, 0:00
Contatta:

Messaggio da B4sH »

purtroppo nemmeno io ti so essere d'aiuto, comunque ti faccio i complimenti!
In bocca al lupo!

Avatar utente
TheSnowBoarder
Linux 1.x
Linux 1.x
Messaggi: 139
Iscritto il: gio 30 giu 2005, 0:00
Località: Catania

Messaggio da TheSnowBoarder »

Grazie a tutti per la fiducia !

Ho capito che per risolvere il problema (che è grosso !)
dovrò studiarmi l'architettura dei terminali sotto Linux,
appena ne saprò di più posterò tutto quanto.

P.S. Per chi ne volesse sapere di più a proposito della programmazione sotto UNIX / Linux
consiglio di scaricarsi "Gapil - Programmazione sotto Linux" , un'opera meravigliosa !

Rispondi