Skip to contentSkip to conversation

dd, floppy, 2.5.18

BUG Stuart MacDonald 2 participants 2 messages Jun 6, 2002

lore
Share & tools
lore
#0 lore raw
# uname -a
Linux moll 2.5.18 #1 SMP Wed May 29 15:18:20 EDT 2002 i686 unknown

[insert floppy]

# dd if=/dev/fd0 of=diskette.image
8+0 records in
8+0 records out
# ls -alF diskette.image
-rw-r--r--    1 root     root         4096 Jun  6 11:49 test

This is obviously wrong. But a second try at it:

# dd if=/dev/fd0 of=diskette.image
2880+0 records in
2880+0 records out
# ls -alF diskette.image
-rw-r--r--    1 root     root      1474560 Jun  6 11:49 test

However:

# tar xvf diskette.image
wget-1.8.1.tar.gz
# cmp wget-1.8.1.tar.gz wget-181.tar.gz
wget-1.8.1.tar.gz wget-181.tar.gz differ: char 7681, line 34

So that's wrong too. This works under RedHat's 2.4.7-10, and has worked previously in various 2.4 and 2.2 kernels.

I'm willing to help with some testing to figure out the problem; I use this dd method to make diskette images for customers all the time, and I will need it fixed for 2.6.x.

Some things I've noticed:
- the 8 records attempt always happens after a new media insertion. To say it another way, the "good" 2880 attempt only happens on the second and subsequent attempts on an already inserted floppy.
- I though I'd noticed that this would corrupt the floppy itself, but have been unable to reproduce. May have been two bad floppies in a row coincidentally.

..Stu

#1 lore raw
Quoted 3 lines · Stuart MacDonald

I'm willing to help with some testing to figure out the problem; I use this dd method to make diskette images for customers all the time, and I will need it fixed for 2.6.x.

There's a patch included in 2.5.20-dj3 from Mikael Pettersson, which should address the corruption on IO problem. You can also fish out the individual patch at..
http://www.codemonkey.org.uk/patches/merged/2.5.20/dj3/

Dave

Signature · 2 lines
| Dave Jones.        http://www.codemonkey.org.uk
| SuSE Labs