By Rob Fantini
This is the problem & a solution from the time I had to read some old SCO tapes on a Linux 2.4 system. I also ran into the same problem with tapes created on a 2.2 kernel linux. This might be useful for someone someday.
The old tapes were written with an HP dds drive, which used variable blocking. I curently use an IBM dds-4 dat [ it is made by Seagate I assume, as /proc/scsi/scsi lists it as SEAGATE 06240-xyz ], which used fixed blocks.
There is a change in 2.4 versions of linux I'm using [mandrake and redhat] which make reading the old tapes impossible [for me].
When I try:
I get this error:
tar: /dev/st0: Cannot read: Cannot allocate memory tar: At beginning of tape, quitting now tar: Error is not recoverable: exiting now
If I adjust the software block size in tar, I get the same error.
I get a similiar error if I try 'dd' . /tar/tvf /dev/st0 [without any block size manipulation] gets the error.
To get the files off of the tape, I used 'toms root boot' disk [ https://www.toms.net/rb/ ] to boot the computer. It uses a 2.2 kernel I think, and a different tar program or tape driver. I'm not sure why it worked but it did.
I can set the block size of the tape drive to 0 and use tar if the tape was originally made using my current ibm dds drive. I won't get the 'Cannot allocate memory' error.
Got something to add? Send me email.
More Articles by Rob Fantini © 2012-07-07 Rob Fantini
Get your facts first, and then you can distort them as much as you please. (Mark Twain)