Re: dd cdrom error

Douglas Gilbert (dougg@torque.net)
Thu, 27 Dec 2001 17:33:24 -0500


Leung Yau Wai <chris@gist.q-station.net> wrote:
> I come across a problem which seem exist in kernel
> 2.4.x but not in 2.2.x.
>
> The problem is that, when I try to using dd to create
> a ISO image of a cdrom then around dumping the end of
> the disc it will give out the following error message:
>
> 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.

If you still have problems try turning DMA off via hdparm
or set the DMA mode back to 33 MHz (-X34).

Doug Gilbert
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/