PDA

Visualizza la versione completa : Building Tiny Linux Systems with Busybox


aleocel
15-05-2009, 15:24
Che ne dite di tradurre questi articoli molto interessanti (almeno per me e sempre che non siano stati già tradotti, nel qual caso potete postare l'indirizzo):

http://www.linuxjournal.com/article/4395 Building Tiny Linux Systems with Busybox, Part 1, 2 e 3

Ciao a tutti.

detroit
15-05-2009, 18:45
comincia tu no? :D

aleocel
15-05-2009, 23:30
Originariamente inviato da detroit
comincia tu no? :D

Costruire Tiny Linux Sistemi con Busybox, parte 2: Configurazione del Kernel
Bruce Perens 1 ° gennaio 2001
Il tuo voto: None Media: 5 (5 voti)

Per questo esempio uso la versione del kernel Linux 2.2.17. Il kernel 2.4.0-test8 che ho provato non dimensiona correttamente la RAM per file system di root, il che porta a un messaggio di `` non abbastanza memoria'' al momento del boot. Questo bug sarà probabilmente riparato nella serie 2.4 del kernel nel momento in cui leggete questo articolo.
Prepareremo il nostro esempio per l'esecuzione su un sistema i386-PC compatibile con tastiera e monitor VGA, il boot da disco floppy ed l'esecuzione del file system di root interamente nella RAM una volta che il sistema viene avviato. Questo esempio dovrebbe fare il boot anche da dischi IDE e da dispositivi di memoria EEPROM mascherati come dischi IDE. Può anche essere configurato per fare il boot da CD-ROM.
Costruisci un kernel stile bzImage con tutte le utilità necessarie per l'applicazione, oltre a questi tre:
RAM disk support (nel menu di dispositivi a blocchi)
Initial RAM disk (initrd) support (anche nel menù dei dispositivi a blocchi)
ROM file system support (nel menu File Systems)
Non utilizzare i moduli del kernel, in quanto questo esempio di sistema non li supporta. Non mettere alcuna utilità nel kernel che non sia necessaria, in quanto occuperebbe spazio, di cui hai bisogno, sul disco floppy. Un kernel con le utilità necessarie dovrebbe aver una dimensione di mezzo megabyte dovrebbe andare facilmente su un floppy con il ROM file system di root. Un kernel con molte inutili campane e fischietti sarà di un megabyte o più e non lascierebbe spazio sufficiente per il vostro ROM file system di root.
Se non hai familiarità con la costruzione e l'installazione del kernel di Linux su un normale PC, è necessario che studi fino a che tu non lo sia. In breve, ho messo i sorgenti del kernel in / usr / src / linux e *ran* corse:
xhost + localhost
su
make xconfig
make dep
make bzImage
Questo ha creato kernel di Linux compilato in / usr/src/linux/arch/i386/boot/bzImage.
Costruzione di una Busybox linkata staticamente.
Nella directory dei sorgenti di Busybox, modificare il Makefile, cambiando la variabile DOSTATIC da false a true. Poi eseguire make. That will create a static-linked version of busybox. Questo creerà una versione di busybox linkata staticamente. Conferma che è linkata staticamente con l'esecuzione di questo comando:
ldd busybox
Ciò dovrebbe stampare qualcosa come:
staticamente linkata (ELF)
È importante per ottenere questo; se si installa una dinamica legata versione di Busybox linkata dinamicamente, il sistema non funziona perché non stiamo installando il runtime dynamic linker e le sue librerie sul dischetto per questo esempio.
Creazione di un file system di root ROM
Stiamo per passare attraverso tutti i passi per la creazione a mano di un file system di root minimale in modo che si capisca quanto poco sia necessario per avviare il sistema, piuttosto che copiare tutti i file di root della vostra distribuzione Linux ed aver paura di eliminare qualcosa, perché non sai se è necessario. Avrai bisogno di diventare root (il superuser) per eseguire la procedura descritta di seguito in quanto il comando mknod richiede privilegi di superutente.
Crea la directory tiny-linux ed entraci:
mkdir tiny-linux
cd tiny-linux
Crea la directory standard in essa:
mkdir dev etc etc/init.d bin proc mnt tmp var var/shm
chmod 755 . dev etc etc/init.d bin proc mnt tmp var var/shm
Entra nella directory tiny-linux/dev:
cd dev
Crea il device terminale generico:
mknod tty c 5 0
mknod console c 5 1
chmod 666 tty console
# Consenti a chiunque di aprire e scrivere terminali.
Crea il dispositivo terminale virtuale per il monitor VGA:
mknod tty0 c 4 0
chmod 666 tty0
Crea il dispositivo disco RAM :
mknod ram0 b 1 0
chmod 600 ram0
.......

Loading