Burned CD-R are not identical to the input iso image, why?
- by Grumbel
I have the issue that sometimes when I burn an iso image to a CD-R with:
sudo wodim -v driveropts=burnfree -data dev=/dev/scd0 input.iso
And then read it back out again with:
sudo dd if=/dev/cdrom of=output.iso
dd: reading `/dev/cdrom': Input/output error
...
That I end up with two iso images that are not identical, namely the output.iso is missing 2048 bytes at the end. When I however mount the iso image or CD-R and compare the actual files on the mountpoint, both are identical.
Is that expected behavior or is that an actually incorrect burn of the data? And if its expected, how can I verify that the burn process was successful?
The reason why I ask in the first place is that it seems to be reproducible behavior, certain iso images come out 2048 bytes short, even on repeated burns, but all burned CD-Rs are under themselves identical.
Also what is the reason behind the:
dd: reading `/dev/cdrom': Input/output error
As it happens always, I assume it is normal, but what is the technical reason behind it? I assume CDs don't allow the device to detect the size directly, so dd reads till it encounters the end the hard way.
Edit: User karol on superusers.com mentioned that both the size issue and the read error are the result of using -tao (default) in wodim instead of -dao mode. I couldn't yet test it, but it sounds like the most plausible explanation so far.