LeoBenelli
|
Per abilitare un masterizzatore sotto Linux occorre
considerarlo come una periferica SCSI.
Per fare questo occorre compilare il Kernel con gli elementi
per il riconoscimento della periferica.
A seconda del tipo di periferica occorre abilitare determinate cose del Kernel.
Sezione del Kernel |
Elemento del
Kernel |
Modulo |
SCSI |
IDE |
Parallelo |
BLOCK |
Enhanced IDE/MFM/RLL... |
|
|
Y |
|
BLOCK |
IDE/ATAPI CDROM |
ide-cd |
|
M |
|
BLOCK |
SCSI hostadaptor emulation |
ide-scsi |
|
M |
|
BLOCK |
Loopback device |
loop |
M |
M |
M |
PARIDE |
Parallel port IDE device |
paride |
|
|
Y/M |
PARIDE |
Parallel
port ATAPI CD-ROMs |
|
|
|
M |
PARIDE |
Parallel port generic ATAPI |
|
|
|
M |
PARIDE |
(select a low-level driver) |
|
|
|
Y |
SCSI |
SCSI support |
scsi_mod |
Y/M |
Y/M |
|
SCSI |
SCSI CD-ROM support |
sr_mod |
Y/M |
Y/M |
|
SCSI |
Enable vendor-specific |
|
Y |
Y |
|
SCSI |
SCSI generic support |
sg |
Y/M |
Y/M |
|
SCSI |
(select a low-level driver) |
|
Y |
|
|
FS |
ISO 9660 CDROM filesystem |
iso9660 |
Y/M |
Y/M |
Y/M |
FS |
Microsoft Joliet cdrom... |
joliet |
Y |
Y |
Y |
ATTENZIONE ! Per masterizzatori riconosciuti al boot come
Atapi occorre percorrere la strada dei moduli esterni al
Kernel
In caso di periferica IDE occorre fare le seguenti considerazioni :
Occorre in caso di scelta con funzionamento tramite moduli:
inserire in conf.modules le seguenti righe :
options ide-cd ignore=hdd # indica al modulo ide-cd di
ignorare hdb
alias scd0 sr_mod # carica sr_mod all'accesso di scd0
pre-install sg modprobe ide-scsi # prima di sg, carica ide-scsi
pre-install sr_mod modprobe ide-scsi # prima di sr_mod, carica ide-scsi
pre-install ide-scsi modprobe ide-cd # prima di ide-scsi, carica ide-cd
inserire in lilo.conf l'opzione append e specificare il device da non esaminare in fase di boot, altrimenti non sara' possibile emularlo come periferica SCSI :
image=/boot/zImage-2.2.14
label=Linux
read-only
append="hdb=ide-scsi"
La periferica non verra' piu' vista come HD? ma come SCD?
Quindi conviene ricostruire il link CDROM nella directory DEV.
cd /dev
rm cdrom
ln -s scd0 cdrom
Se tutte le impostazioni del Kernel andranno bene, al comando cdrecord -scanbus apparira' una videata simile a questa:
[root@localhost
/root]# cdrecord –scanbus
Cdrecord release 1.8a29 Copyright (C) 1995-1999 Jörg Schilling
Using libscg version 'schily-0.1'
scsibus0:
0,0,0 0) 'HP ' 'CD-Writer+ 8100 ' '1.0g' Removable CD-ROM
0,1,0 1) *
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
Il tipo di FileSystem porta a determinate caratteristiche :
Capacita' |
mkisofs |
mkhybrid |
ISO 9660 |
Si |
Si |
RockRidge |
Si |
Si |
El Torito |
Si |
Si |
HFS |
No |
Si |
Joliet |
Si |
Si |
Multisessione |
Si |
Si |
CD-Extra |
Si |
Si |
La differenza più ovvia fra il filesystem ISO9660 e
Extended-2 è che non si possono modificare i file una volta che sono stati
scritti. Le limitazioni del filesystem ISO-9660 sono:
· solo 8 livelli di sottodirectory (contate dalla directory
di più alto livello del CD) (meglio usare le estensioni RockRidge per aumentare
questo numero)
· lunghezza massima dei nomi di file: 32 caratteri
· 650 MB di capacità
RockRidge è un'estensione che consente nomi di file più
lunghi e una gerarchia di directory più profonda per i filesystem ISO-9660.
Leggendo un CD-ROM con estensioni RockRidge con Linux appaiono tutte le
proprietà conosciute del file come possessore, gruppo, permessi, collegamenti
simbolici (simile ad un filesystem Unix). Queste estensioni non sono
disponibili se si legge il CD-ROM sotto DOS o sistemi Windows.
El Torito El Torito serve per la creazione di CD-ROM
bootabili. Anche il BIOS del tuo PC deve supportare questa caratteristica.
Diciamo che, più o meno, i primi 1.44 (o 2.88 se supportato) Mbyte del CD-ROM
contengono l'immagine di un floppy che hai preparato. Il BIOS considera questa
immagine come un floppy di boot e da essa lo effettua (di conseguenza, durante
l'avvio di questo floppy virtuale, il drive originario A: (/dev/fd0) potrebbe
non essere accessibile).
HFS permette a un macintosh di leggere il CD-ROM come se
fosse un volume HFS (il filesystem nativo di MacOS).
Joliet introduce nomi di file lunghi (fra le altre cose) per
le nuove versioni di Windows (95, 98, NT). Che io sappia sotto DOS o Windows
3.11 ci si può scordare i nomi di file lunghi.
La procedura per creare un cd masterizzato e' di creare un immagine (con mkisofs per esempio) su H.D. per poi trasferirlo tramite cdrecord.
Per creare un'immagine su disco occorre creare una directory
con tutte la struttura e files da inserire nel cd. Poi con il comando:
mkisofs -r -o IMAGE /tmp/DIR
-r indica di usare il filesystem RockRidge che
permette di mantenere le informazioni sui permessi, possessore, gruppo ecc., se
viene omesso tutti i files avranno tali informazioni impostate allo stesso di
/tmp/DIR
IMAGE e' il nome del file da creare.
/tmp/DIR e' la
directory sorgente
Per verificare il contenuto di un file immagine e' possibile
gestirlo come un normale mount di un device con il comando :
mount -t iso9660 -o ro,loop=/dev/loop0 IMAGE /mnt/test
IMAGE e' il nome del file immagine
/mnt/test e' la directory dove verra' montato il file ( per
somantarlo e' sufficiente un normale umount /mnt/test )
Per scrivere un CD occorre usare il programma cdrecord, ma
prima occorre sapere il percorso SCSI (struttura ?.?.?), con il comando :
cdrecord -scanbus
Per scrivere un CD :
cdrecord -v speed=4 dev=0,0,0 -data IMAGE
IMAGE e' il nome del file da creare.
Speed indica la velocita' di masterizzazione
dev indica il percorso SCSI da usare
Se si deisdera simulare la masterizzazione aggiungere il
parametro-dummy.
Se si deisdera creare un cd multisessione occorre aggiungere
il parametro -multi, la prima volta e la volta successiva occorre indicare la
posizione di partenza ( dove termina il precedente tentativo di scrittura ), il
seguente script permette di eseguire cio' :
shell> NEXT_TRACK='cdrecord -msinfo
dev=0,0,0'
shell>: echo $NEXT_TRACK
shell> mkisofs -R -o IMAGE -C $NEXT_TRACK -M /dev/scd0 /tmp/DIR \