Newsgroup: it.comp.os.linux.sys
Titolo: Ramdisk, initrd, boot da compact flash e aggiornamento

Ciao a tutti,
Vorrei fare un pc che fa il boot da compact flash e tramite un
file initrd crea la root su un ramdisk.
la procedura che seguo e' questa (uso woody installata sulla compact
flash):
append ="ramdisk_size=131072" per poter usare un ramdisk da 128Mb
lancio lilo e riavvio
creo il filesystem con mke2fs -vm0 /dev/ram0 131072
monto il ramdisk in /mnt
append ="load_ramdisk=1, ramdisk_size=131072" per far caricare il
ramdisk al boot
initrd=initrd.gz sotto image=/vmlinux per far caricare l'immagine di
root
modifico fstab per montare root in /dev/ram0
copio tutte le directory (cp -a .....)
dd if=/dev/ram0 bs=1k count=131072 | gzip -v9 > /initrd.gz per creare il
ramdisk compresso
lancio lilo e riavvio.
A questo punto il sistema si carica correttamente in ramdisk leggendo
l'initrd dalla compact flash.
Il problema e': come faccio ad aggiornare il sistema?
se ricreo il file initrd.gz e lo sostituisco all'originale si blocca al
boot dandomi una sequenza di 0 e 1 oppure mi da un kernel panic.
ho provato a rieseguire lilo ma mi dice che non puo' gestire il
device....
-- 
'ao
Guercio

 Per il resto non ho capito bene.
di spazio ne ho a sufficienza (visto che sfrutto sia il ramdisk che la
compact flash), ma IMHO da qualche parte lilo va a scrivere la
dimensione del file di immagine initrd.gz :(
-- 
'ao
Guercio


No. La dimensione del file immagine la definisci tu quando usi il 
comando "dd" ;-)
Quello intendo dire. Quella dimensione viene vista come dimesione fisica 
per quella partizione. Ovviamente tu puoi definire quella immagine per 
essere grandde a sufficienza ... dipende che dimension gli dai.
Ma cmq dovrebbe darti un errore di spazio esaurito ...
--
massimiliano.

 essere grandde a sufficienza ... dipende che dimension gli dai.
io ho la debian woody fresca fresca di installazione che tiene circa
100-105Mb....ed in effetti ci sta perche' si avvia correttamente.
il problema e' che se monto in loop il mio initrd, lo modifico
(anche solo creandogli una directory vuota) e lo rizippo uguale a prima,
non funziona piu'!
-- 
'ao
Guercio


che strano.
Io su Gentoo (che credo cambi poco se si tratta di debian o gentoo) ho 
aperto tante volte l'immagine e l'ho poi modificata a mio piacimento e 
ha sempre funzionata.
Cmq 1 cosa:
noi operiamo in modo diverso.
se io devo creare una immagine di loop, io creo il file, gli applico il 
filesystem, lo monto ci copio i file dentro, lo smonto ed e' fatta.
Tu invece fai un "dd if=dev/ram0" ... funziona? Non lo so.
Un'altra cosa ... potresti non avere un numero sufficiente di inode! Lo 
dico perche' dando una occhiatina a uno script di gentoo ho visto che il 
numero di "inode" viene forzato tramite il comando mke2fs con l'opzione 
-N. Questo serve ad evitare che il numreo di inode venga autocalcolato 
... in quanto probabilmente potrebbe essere insufficiente. Come si 
visualizza il numero di inode in un filesystem. E chi si ricorda? ...
uno di questi 2 potrebbe esere il problema ... potrebbe
--
Massimiliano.

 visualizza il numero di inode in un filesystem. E chi si ricorda? ...
df -i ;)

 df -i ;)
lo sapevo che era facile ... gghrr
--
massimiliano.

 visualizza il numero di inode in un filesystem. E chi si ricorda? ...
ok, provo anche questo....
ma lo script di gentoo di cui parlavi a cosa serve? non e' che mi puo'
aiutare? :)
-- 
'ao
Guercio

 aiutare? :)
gen_initrd.sh fa parte del pacchetto genkernel.
se non riesci a trovare in rete il pacchetto genkernel dimmelo e ti 
invio questo file per posta ... ma e' un po' "specifico" per Gentoo (lo 
conosco bene). Puoi prendere degli spunti.
--
massimiliano.

 conosco bene). Puoi prendere degli spunti.
lo sto scaricando da 
http://dev.gentoo.org
adesso me lo studio :)
-- 
'ao
Guercio