linux user group brescia

immagine del castello

Archivio della mailing list

Aggiungere roba ad un CD avviabile

Luca Giuzzi giuzzi a lugbs.linux.it
Mer 21 Gen 2004 21:09:36 UTC
On Tue, Jan 20, 2004 at 01:10:51PM +0100, Vernia Damiano wrote:
> 
> 	Ciao. Vorrei usare una distribuzione Linux "Live-CD" per
> distribuire dei file che ho generato. La distribuzione in particolare e'
> la "INSERT" che ho gia' citato in passato.

Che perticolarita' ha questa distribuzione ?

> 	Questa distribuzione e' GPL (e comunque ho ottenuto direttamente
> dall'autore il permesso di usarla), e ne ho l'immagine iso a disposizione.

Beh... e' sempre bene essere in buoni rapporti con l'autore originario,
 anche perche' ha fatto il grosso del lavoro :))
Voglio precisare pero' che dal punto di vista legale (da quello 
morale e' ottima cosa quanto hai fatto, intendiamoci) una distribuzione
GPL puo' essere modificata sia che l'autore originario lo voglia o no...
l'unica cosa che non si puo' fare e' cambiare la licenza.


> Montandola mi da il seguente tree:
> 
> .
> |-- INSERT
> |   |-- INSERT
> |   |-- README_Security.txt
> |   |-- insert-cheatcodes.txt
> |   |-- islogo.gif
> |   |-- md5sums
> |   |-- mkfloppy.bat
> |   |-- rawrite2-readme.txt
> |   `-- rawrite2.exe
> |-- InsideSecurityInfomaterial.pdf
> |-- autorun.bat
> |-- autorun.inf
> |-- cdrom.ico
> |-- index.html
> |-- isolinux
> |   |-- boot.cat
> |   |-- boot.msg
> |   |-- f2
> |   |-- isolinux.bin
> |   |-- isolinux.cfg
> |   |-- logo.16
> |   |-- memtest
> |   |-- miniroot.gz
> |   `-- vmlinuz
> |-- start.html
> `-- start_en.html~
> 
> 2 directories, 24 files
> 
> 	dove il file INSERT/INSERT occupa praticamente tutto il CD (48MB
> su 51), quindi immagino sia il "vero" filesystem.
> 
48 Mb su 51??? Allora e' una distribuzione per "credit card"...
capito ... mi sbaglio?

La risposta e' tendenzialmente si' (anche se dovrei guardare il
tutto per essere sicuro al 100%)


> Le prime tre linee di questo file sono:
> 
> #!/bin/sh
> #V1.0 Format
> insmod cloop.o file=$0 && mount -r -t iso9660 /dev/cloop $1
> 

Buono... stile knoppix ... ok ...
> 	dopo il quale il file continua in "binario"
> 
> 	Mi sapreste dare qualche consiglio per partire da questo CD ed
> aggiungere i dati che voglio? Dove devo guardare?
> 

Essenzialmente il file INSERT e' una immagine iso (rock ridge) compressa
con i moduli cloop (versione 1... knoppix ora usa cloop versione 2
che e' incompatibile).

Metodo che io adotto per lavorare in questi casi

a) scompattare il file INSERT con i tools opportuni (parte di cloop)
  [extract_compressed_fs] in INSERT.expl
b) montare INSERT.expl mediante loop "classico"
 mount -o loop ./INSERT.expl /mnt/tmp
 [nota... se hai il modulo cloop puoi direttamente montare INSERT con il
 comando che descrivi sopra]
c) copiare i contenuti della /mnt/tmp in una directory scrivibile, 
 diciamo ~/INSERT.dir/

 cd /mnt/tmp && tar cvpO | tar xvfp - -C ~/INSERT.dir

 potrebbe fare al caso tuo

d) entrare in INSERT.dir e fare un chroot .
e) lavorare e fare quanto di dovere
f) uscire dal chroot e generare una immagine ISO che contiene il nuovo
 filesystem con

 mkisofs -R -v -v -v -o INSERT.new.iso ~/INSERT.dir/

 [attenzione: l'opzione e' -R e non "-r" ... sono due cose diverse e
 in questo caso serve il comando "meno furbo"]

g) ricomprimere INSERT.new.iso con create_compressed_fs

create_compressed_fs INSERT.new.iso 65536 > isofs/INSERT.new

h) copiare la struttura del CD in una dir scrivibile
i) sosituire ad INSERT nella struttura cosi' copiata l'immagine generata
 [mv INSERT.new cdw/INSERT/INSERT ]
j) ricreare l'immagine ISO del disco con le opzioni opportune di mkisofs
  per l'avvio con "ElTorito"

mkisofs -J -r -v -v -v  -b isolinux/isolinux.bin -c isolinux/boot.cat \
                -no-emul-boot -boot-load-size 4 -boot-info-table \
                -o immagine.iso cdw/

k) masterizzare immagine.iso
l) incrociare le dita/sacrificare una ecatombe/etc. etc.

ciao,
 lg



Maggiori informazioni sulla lista Lug