Re: Testing iso downloads?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Saturday 29 April 2006 02:56, D. Hugh Redelmeier wrote:
>| From: Paul Howarth <paul@xxxxxxxxxxxx>
>
>You and I have talked about this in the past:
>  http://lists.debian.org/cdwrite/2005/06/msg00064.html
>
>My bad experiences have been due to the CD driver reading past the end
>of the burned part of the CD and getting all huffy when it doesn't
>like what it sees.
>
>The cure that has worked for me is to pad the .iso with zero blocks.
>Then the driver can read that stuff without getting indigestion.
>
>I've enclosed a script that I call "isopad".  You can use it to add
>padding (isopad + x.iso), remove padding (isopad - x.iso), or report
>padding (isopad x.iso).
>
>NOTE: this adds and removes padding to your .iso file in-place.  This
>saves a lot of disk space and file copying but it is rather daring.
>
>How do you use this program?
> # pad:
> isopad + x.iso
> # burn:
> cdrecord ... x.iso
> # remove padding:
> isopad - x.iso
>You can replace cdrecord with your favourite program.
>
>md5sum for the script:
>5ac2ec3d11e4079d400abaebc22587bf  bin/isopad
>================ start of isopad script ================
>#!/bin/sh
>
># isopad [+] [-] isofile...
>#
># The Linux IDE CD driver in 2.6 tries to read ahead, even past the
> end of the # CD or DVD.  Even when the program issuing the original
> read request was only # trying to read legitimate parts of the disc
> (albeit near the end). # The result is spurious I/O errors and read
> failures.
># It does not seem that this driver bug is going to be fixed soon.
>#
># This program is intended to facilitate a workaround.  It can pad (or
> unpad) # a .iso file so that, when it is burned, the resulting disc
> will allow # reads past the end of the content to succeed.
>#
># "+" means pad the following .iso files.
># "-" means remove all padding.
># neither means test file and iso sizes.
>#
># To see how much readahead is enabled on a drive: hdparm -a /dev/hdc
>#
># Why do the padding in place, rather than on a copy of the file?
># .iso files are usually quite large so copying takes a lot of time
> and space. #
># Copyright 2005 D. Hugh Redelmeier
># License: GPL
># Version: Sat Jun 18 02:31:48 EDT 2005
>
># stop at the least sign of trouble
>set -u -e
>
># op is "", "-", or "+": operation to be performed
>op=""
>
>for fn
>do
> case "$fn"
> in
> "-h"|"--help")
>  echo "Usage: $0 [-|+|] isofile..."
>  ;;
> "+"|"-")
>  op="$fn"
>  ;;
> *)
>  isosize -x "$fn"
>  isz=`isosize "$fn"`
>  fsz=`stat --format='%s' "$fn"`
>
>  # conventional block size for CDs
>  bs=2048
>
>  # my guess at a sufficient amount of padding (in blocks)
>  pb=64
>
>  if [ $fsz -lt $isz ]
>  then
>   echo "$fn is shorter ($fsz) than it should be ($isz)" >&2
>   exit 3
>  elif [ ` expr $fsz % $bs ` -ne 0 ]
>  then
>   echo "$fn file size ($fsz) is not a multiple of $bs" >&2
>   exit 4
>  elif [ ` expr $isz % $bs ` -ne 0 ]
>  then
>   echo "$fn isosize ($isz) is not a multiple of $bs" >&2
>   exit 5
>  else
>   case "$op" in
>   "")
>    if [ $fsz -eq $isz ]
>    then
>     echo "$fn: isosize == file size == $fsz"
>    else
>     echo "$fn: isosize $isz; file size $fsz"
>    fi
>    ;;
>   "+")
>    echo "$fn: padding with $pb blocks of $bs zero bytes"
>    dd if=/dev/zero bs=$bs count=$pb >>"$fn"
>    ;;
>   "-")
>    if [ $fsz -eq $isz ]
>    then
>     echo "$fn: already $fsz bytes"
>    else
>     echo "$fn: truncating from $fsz to $isz bytes"
>     dd if=/dev/null of="$fn" seek=$isz bs=1
>    fi
>    ;;
>   esac
>  fi
>  ;;
> esac
>done
>================ end ================

I thought "Hey, this should be neat", and proceeded to copy/paste it 
into a file called /usr/sbin/isopad.  Unforch although the copy/paste 
seems to be perfect, the md5sum I get on this isn't the same as yours.
I included a linefeed after the word 'done' is the only place I can see 
that might be different.

Running it on my directory full of FC5 cd sized iso's with the + option 
first seemed to be ok, and with the - option it restored them to where 
the sha1sum was good again, but the sha1sum failed on all files while 
the padding was in effect.  This is not on the actual burnt cd of 
course.  Should it be expected to fail when treating .iso's resideing 
on an ide hard drive?

-- 
Cheers, Gene
People having trouble with vz bouncing email to me should add the word
'online' between the 'verizon', and the dot which bypasses vz's
stupid bounce rules.  I do use spamassassin too. :-)
Yahoo.com and AOL/TW attorneys please note, additions to the above
message by Gene Heskett are:
Copyright 2006 by Maurice Eugene Heskett, all rights reserved.


[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux