Ok tried your article and it is more to the point than mine (mine was about making iso not dding them) I didn't realize they were saying the same thing about block size and volume size I will use isoinfo -d -i /dev/cdrom from now on or the script.
Never the less I will show you what happened that makes cdrecord different:
First the correct way:
$isoinfo -d -i /dev/cdrom1
this tells me bs=2048 count=2246210 so:
$dd if=/dev/cdrom1 bs=2048 count=2246210 of=bla.iso
$md5sum bla.iso
result is 9c5bcb0d4a46f9c44a6bda9b3a0dd317
$dd if=/dev/cdrom1 bs=2048 count=2246210 | md5sum
result is 9c5bcb0d4a46f9c44a6bda9b3a0dd317
doning the wrong way produces good results anyway(this time):
$dd if=/dev/cdrom1 | md5sum
result is 9c5bcb0d4a46f9c44a6bda9b3a0dd317
Take out origanal put in blank:
$growisofs -Z /dev/hdc=bla.iso
$isoinfo -d -i /dev/cdrom1
gives same peramerters as before so:
$dd if=/dev/cdrom1 bs=2048 count=2246210 | md5sum
yes your right result is 9c5bcb0d4a46f9c44a6bda9b3a0dd317 !
Now for the wrong way:
$dd if=/dev/cdrom1 | md5sum
result is 70fb90655e610aedc31f961790240877 failed to match
so you can see growisofs has added some more stuff at the end mabey in sealing the disk, funly enough a copy i made in windows on nero put back in my linux box produce the same results [the goodsum then the bad])
now put in another blank and:
$cdrecord -dao -dev=ATA:1001,0,0 bla.iso
$isoinfo -d -i /dev/cdrom1
gives same peramerters as before so:
$dd if=/dev/cdrom1 bs=2048 count=2246210 | md5sum
result is 9c5bcb0d4a46f9c44a6bda9b3a0dd317 !
Now for the wrong way:
$dd if=/dev/cdrom1 | md5sum
result is 9c5bcb0d4a46f9c44a6bda9b3a0dd317 ! So cdrecord does not affect the new disk with additional end stuff!
Your link is very useful and I understand a lot more now but I don't seem to need it for cdrecord, I think I'll do that last step the wrong way just to see if it ever fails.
So in concluding: cdrecord is different in that it doesn't add "finishing data" (if thats what it is).
Why and is this good or bad? the original I believe was home made so maybe cdrecord grabbed the "finishing data" and used it in a finishing manner again without adding more again, or maybe it just slapped it on.
I'm just wondering why growisofs and nero work so differently than cdrecord.
PS: Thanks for your help I understand dd more now.