Wodim nasce come fork di cdrecord, in quanto la licenza di quest'ultimo non è compatibile con le linee guida Debian per il software libero. Si dovrebbe poter usare wodim
come si utilizzava cdrecord
, tant'è vero che in Debian viene creato un link simbolico di nome cdrecord
che punta a wodim
. Il programma ha la capacità di masterizzare CD, DVD-ROM e DVD-Video.
Nato come semplice front-end di mkisofs
, adesso esegue anche la registrazione dei DVD.
Nato come un fork di cdrecord, per Debian ha una licenza non-free.
Un disco DVD-RW può trovarsi in due modalità e può essere scritto con tre strategie:
Modalità | Strategie possibili |
---|---|
Sequential | Disk-at-once, Incremental Sequential |
Restricted Overwrite | Restricted Overwrite |
La strategia che offre la compatibilità più vasta è quella Disk-at-once su supporti DVD-RW. E' il formato utilizzato dai DVD video. Un DVD-RW nuovo dovrebbe essere in modalità sequential, e già pronto per essere scritto:
growisofs -dvd-compat -Z /dev/dvd -r -J /home/ftp/pub/
I comandi principali per vedere lo stato di un DVD-RW, scrivere la prima sessione, le successive, formattare, ecc…
dvd+rw-mediainfo /dev/dvd # Visualizza lo stato del disco growisofs -Z /dev/dvd -r -J /home/ftp/pub/ # Scrive la prima sessione growisofs -M /dev/dvd -r -J /home/ftp/divx/ # Scrive una sessione successiva dvd+rw-format -blank /dev/dvd # Formatta in Sequential mode (veloce) dvd+rw-format -blank=full /dev/dvd # Formatta in Sequential mode (completo) dvd+rw-format /dev/dvd # Formatta in Restricted Overwrite mode growisofs -Z /dev/dvd=image.iso # Masterizza un'immagine ISO su DVD growisofs -dvd-compat -Z /dev/dvd=image.iso # Masterizza un'immagine ISO di DVD-Video
Altamente consigliato aggiungere nelle operazioni di scrittura il parametro -dvd-compat
che ha l'effetto di chiudere il disco (impossibile aggiungere altre sessioni), ma crea un DVD maggiormente compatibile con i vari lettori.
Teoricamente un DVD+RW (ma non un DVD+R) potrebbe essere usato come un vero disco ad accesso casuale, per ospitare filesystem vfat, ext2, ecc. E' necessario l'opportuno supporto del kernel, ma data l'inaffidabilità dei supporti (il numero di cicli di riscrittura è limitato a circa un migliatio) la cosa direi che non interessa.
Come si farebbe comunque ad aggiungere dati ad un supporto DVD+RW?
Per masterizzare il contenuto di una directory:
dvd+rw-mediainfo /dev/cdrom growisofs -Z /dev/cdrom -r -J /home/ftp/pub/
Per i DVD+RW non esiste il concetto di multisessione (sarebbe teoricamente superiore, essendo un disco ad accesso random). L'opzione -dvd-compat
ha in questo caso l'effetto di scrivere il lead-out della traccia, altrimenti opzionale. Neanche il comando di formattazione visto sopra funziona, bisogna ripetere l'operazione di scrittura con growisofs -Z
. Il tentativo di formattazione genera il seguente messaggio di errore:
# dvd+rw-format -force -blank=full /dev/cdrom * DVD±RW/-RAM format utility by <appro@fy.chalmers.se>, version 4.10. * 4.7GB DVD+RW media detected. - illegal command-line option for this media. - you have the option to re-run dvd+rw-format with: -lead-out to elicit lead-out relocation for better DVD-ROM compatibility, data is not affected; -force to enforce new format (not recommended) and wipe the data.
Si ricorda che il modo più comodo per copiare i file da un DVD-Video originale è utilizzare il programma dvdbackup
(vedere la pagina Appunti Elaborazione Video):
dvdbackup -i /dev/dvd -o /PATH/TO/BACKUP/ -M
Sebbene un DVD-Video sia leggibile come un normale DVD-ROM (mount -t iso9660 -o ro /dev/dvd /mnt
), in realtà è qualcosa di diverso: anzitutto ha un filesystem UDF (quindi andrebbe montato con l'opzione -t udf
che fa apparire i nomi dei file tutti in maiuscolo, come deve essere), inoltre i file sono scritti in un'ordine specifico. L'ordine è molto importante perché pochi lettori accedono al DVD come un DVD-ROM, ma calcolano un offset dalla fine del file VMGM VIDEO_TS.IFO
.
Inoltre un DVD-Video può avere il sistema di protezione CSS e il codice di regione, in tal caso la lettura dei file può non essere possibile montando semplicemente il disco. Vedere gli appunti su dvdbackup
di cui sopra.
Quando si desidera masterizzare un DVD-Video si deve pertanto usare l'opzione -dvd-video
di mkisofs
(oppure fare in modo che growisofs
passi questo parametro a mkisofs
). Se si masterizza un DVD come normale disco dati iso9660 (DVD-ROM) potrebbe comunque funzionare con alcuni lettori DVD-Video, ma certe utility come lsdvd
potrebbero non riconoscerlo come disco Video.
Un esempio di masterizzazione con mkisofs (crea l'immagine .iso dai file contenuti in una directory) e growisofs (effettua la masterizzazione):
mkisofs -dvd-video -V DVD_TITLE -o ISONAME.iso /PATH/TO/BACKUP/ growisofs -dvd-compat -Z /dev/dvd=ISONAME.iso
Al posto di growisofs si dovrebbe poter usare dvdrecord:
dvdrecord speed=1 -dao dev=0,0,0 ISONAME.iso
Ricompilato il kernel con il supporto CONFIG_BLK_DEV_IDESCSI=m
, questo emula un device SCSI su uno IDE, utile per masterizzatori, lettori CD-ROM e simili. Infatti i vari programmi di masterizzazione e simili (soprattutto cdrecord
) si aspettano un'interfaccia SCSI, non IDE.
Per evitare che il supporto IDE (integrato nel kernel) prenda possesso del device IDE hdc prima che il modulo ide-scsi
venga caricato, si mette in /etc/lilo.conf
(o qualcosa di simile in /boot/grub/menu.lst
) la riga:
append="hdc=ide-scsi"
In /etc/modules
si caricano tutti i moduli necessari: ide-scsi
, sr_mod
, l'evenutale supporto SCSI generic sg
, etc. Nel nostro caso alcuni sono integrati nel kernel, altri caricati al boot. Modificato il link /dev/cdrom
da hdc
a scd0
.
Il supporto all'emulazione ide-scsi
nel kernel 2.6.x non ha funzionato molto bene e Linus Torvalds stesso ha espresso l'opinione che non fosse una cosa buona. Visto che cdrecord
è stato aggiornato per poter utilizzare direttamente i masterizzatori IDE (quindi con la sintassi dev=/dev/dvd
invece di dev=0,0,0
), conviene abbandonare definitivamente l'emulazione ide-scsi
.
Controllare che il modulo non venga caricato, controllare che i link /dev/cdrom
e /dev/dvd
puntino alla periferica IDE, controllare le impostazioni predefinite di cdrecord in /etc/cdrecord/cdrecord
. Utilizzando l'emulazione ide-scsi la masterizzazione di un disco potrebbe fallire con questo messaggio (caso di un DVD-RW):
# growisofs -Z /dev/scd0 -r -J /home/niccolo/honda/ Executing 'mkisofs -r -J /home/niccolo/honda/ | builtin_dd of=/dev/scd0 obs=32k seek=0' Using PART_000.PHP;1 for /part_list_block.php (part_list.php) /dev/scd0: "Current Write Speed" is 1.0x1385KBps. :-[ WRITE@LBA=0h failed with SK=4h/ASC=08h/ACQ=01h]: Input/output error :-( attempt to re-run with -dvd-compat -dvd-compat to engage DAO or apply full blanking procedure :-( write failed: Input/output error
In proposito vedere l'articolo Linux 2.6 and the ide-scsi module.
Installati i pacchetti:
mkisofs Crea file system ISO9660 cdrecord Scrive CD-ROM e CD-Audio dvdrtools non-free, dvdrecord è un fork di cdrecord
Comandi utili:
cdrecord -scanbus Mostra device compatibili cdrecord dev=/dev/dvd -atip Caratteristiche drive e supporto
Il pacchetto dvdplusrw
di Debian Woody è troppo vecchio e non supporta i DVD-RW (solo i DVD+RW). Si e' presa la nuova versione del programma, compilata e installata:
cd /usr/local/src/ mkdir dvd+rw-tools wget http://fy.chalmers.se/~appro/linux/DVD+RW/tools/dvd+rw-tools-5.10.4.5.4.tar.gz tar zxvf dvd+rw-tools-5.10.4.5.4.tar.gz cd dvd+rw-tools-5.10.4.5.4 make make install ... (chown e chmod quanto basta)
Vengono installati in /usr/local/bin/
gli eseguibili:
dvd+rw-booktype dvd+rw-format Prepara o cambia modalita' supporto DVD dvd+rw-mediainfo Mostra info sul supporto DVD growisofs Frontend a mkisofs e scrive su DVD
Nessun problema invece con il pacchetto Debian Sarge.