On Thu, Aug 14, 2003 at 11:44:23PM +0200, Marc Mongenet wrote:
Par exemple les CD woody de www.debian.ch passent sans probl�me le md5sum, en revanche readcd n'arrive pas � en lire l'image.
Les CDs grav�s ou ceux press�s ? Le md5sum direct ou sur l'ensemble des fichiers ?
Ils sont verd�tres, je suppose donc grav�s. Le md5sum de l'ensemble des fichiers est OK sur les 7 CD Woody, du premier coup.
J'enverrais volontiers un bug report, mais o� ? Driver Linux ?Au graveur du CD concern� dans ce cas :)
Effectivement, pratique ces CD Debian pour avoir une base commune.:-)
PS: pour voir le nombre d'erreurs corrig�es par la lecture d'un CD
(permet d'�valuer la qualit� du m�dia, de la gravure et du
lecture), utiliser l'option -c2scan de readcd.
Apr�s quelques recherches sur Google, j'ai trouv� � <http://hypermail.idiosynkrasia.net/linux-kernel/archived/2001/week52/0609.html>
> e.g. dd if=/dev/cdrom of=n.iso If dd is used like that, it is surprising you do not get more errors. An iso9660 image does not necessarily fill the track. So the IDE equivalent of the SCSI READ CAPACITY command will often report a size that includes unwritten sectors at the end. Those unwritten sectors can/will cause IO errors when an attempt is made to read them.
A very useful program called "isosize" has made a return to util-linux-2.10s (and later). Execute: isosize -x /dev/cdrom to find the number of sectors and the sector size of the iso9660 fs held _within_ the first track. Then use those numbers as the "count=" and "bs=" arguments to dd respectively.
Ce programme isosize se trouve dans le paquet sg-utils (sg3-utils pour noyau 2.4.x) de Debian.
En lisant le CD 7 de Debian 3.0r0 :
# isosize -x /dev/cdrom sector count: 177024, sector size: 2048
D'apr�s ce qui suis, le noyau retourne (� readcd, cat ou dd) une taille trop grande. En revanche les acc�s � travers le syst�me de fichiers n'ont aucune raison de lire au-del� de la taille r�elle, ce qui fait que tout va bien. D'ailleurs mount et df donnent le m�me r�sultat qu'isosize.
Tout cela me donne un usage pratique de dd : la duplication de CD en contournant manuellement les d�ficiences de l'OS (je pr�f�rerais cat) : dd if=/dev/cdrom bs=2048 count=177024 of=cd7.img Fonctionne parfaitement. :-)
Mais qu'est-ce qui se trouve � la fin du CD ?
Avec le lecteur IDE Plextor PLEXCombo 20/10/40-12A sur noyau 2.4.21 :
# readcd -c2scan dev=0,0,0 Capacity: 177041 Blocks = 354082 kBytes = 345 MBytes = 362 prMB Sectorsize: 2048 Bytes Copy from SCSI (0,0,0) disk to file '/dev/null' end: 177041 readcd: Input/output error. read_cd: scsi sendcmd: no error CDB: BE 00 00 02 B3 74 00 00 1D FA 00 00 status: 0x2 (CHECK CONDITION) Sense Bytes: F0 00 03 00 02 B3 8F 0A 00 00 00 00 15 00 00 00 Sense Key: 0x3 Medium Error, Segment 0 Sense Code: 0x15 Qual 0x00 (random positioning error) Fru 0x0 Sense flags: Blk 177039 (valid) cmd finished after 0.022s timeout 40s
readcd: Input/output error. Cannot read source disk readcd: Retrying from sector 177012. ............................~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~ readcd: Input/output error. Error on sector 177039 not corrected. Total of 1 errors.
Time total: 138.649sec Read 457396.24 kB at 3299.0 kB/sec. C2 errors total: 0 bytes in 0 sectors on disk C2 errors rate: 0.000000%
noyau 2.2.25, lecteur Pioneer DR-U24X SCSI :
# readcd -c2scan dev=0,2,0 Capacity: 177041 Blocks = 354082 kBytes = 345 MBytes = 362 prMB Sectorsize: 2048 Bytes Copy from SCSI (0,2,0) disk to file '/dev/null' end: 177041 readcd: Input/output error. read_cd: scsi sendcmd: no error CDB: BE 00 00 02 B3 74 00 00 1D FA 00 00 status: 0x2 (CHECK CONDITION) Sense Bytes: F0 00 04 00 02 B3 90 0A 00 00 00 00 09 01 00 00 Sense Key: 0x4 Hardware Error, Segment 0 Sense Code: 0x09 Qual 0x01 (tracking servo failure) Fru 0x0 Sense flags: Blk 177040 (valid) cmd finished after 9.220s timeout 40s
readcd: Input/output error. Cannot read source disk readcd: Retrying from sector 177012. .............................~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~+~~~-~~~ readcd: Input/output error. Error on sector 177040 not corrected. Total of 1 errors.
Time total: 1268.647sec Read 457396.24 kB at 360.5 kB/sec. C2 errors total: 0 bytes in 0 sectors on disk C2 errors rate: 0.000000%
Tout cela semble coh�rent avec le padding que tu demandes � cdrecord : 177024 blocs valides + 15 blocs de z�ros = 177039, d�but des erreurs.
Ce qui est dommage, c'est que l'option -pad de cdrecord ajoute 15 blocs, plut�t que le nombre n�cessaire pour correspondre � la taille retourn�e par Linux. Mais l'auteur de cdrecord n'a sans doute pas une opinion mitig�e de Linux pour rien... Cette valeur de 177041 retourn�e par Linux est �trange.
Marc Mongenet
_______________________________________________ gull mailing list [EMAIL PROTECTED] http://lists.alphanet.ch/mailman/listinfo/gull
