I tried gfloppy on another machine, but this time without success.
I also tried fdformat many time with various densities, again without
success.
Finally, I tried superformat:-
# setfdprm /dev/fd0 hd
# superformat /dev/fd0 hd
Measuring drive 0's raw capacity
warmup cycle: 0 11168 11168
Fatal error while measuring raw capacity
0: 40
1: 80
2: 40
3: 00
4: 00
5: 01
6: 08
#
I also ran superformat under strace:-
---------------------------------------------------------
execve("/usr/bin/superformat", ["superformat", "/dev/fd0", "hd"], [/* 35 vars
*/]) = 0
brk(0) = 0x8059000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb77c8000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=96042, ...}) = 0
mmap2(NULL, 96042, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77b0000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
open("/lib/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220l\1\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1331652, ...}) = 0
mmap2(NULL, 1341768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) =
0xb7668000
mprotect(0xb77a9000, 4096, PROT_NONE) = 0
mmap2(0xb77aa000, 12288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x141) = 0xb77aa000
mmap2(0xb77ad000, 10568, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb77ad000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb7667000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb76676c0, limit:1048575,
seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0,
useable:1}) = 0
mprotect(0xb77aa000, 8192, PROT_READ) = 0
mprotect(0xb77e6000, 4096, PROT_READ) = 0
munmap(0xb77b0000, 96042) = 0
brk(0) = 0x8059000
brk(0x807a000) = 0x807a000
open("/dev/fd0", O_RDWR|O_EXCL|O_NONBLOCK) = 3
fstat64(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(2, 0), ...}) = 0
ioctl(3, FDRESET, 0x1) = 0
ioctl(3, FDGETDRVPRM, 0xbfe2cdf0) = 0
open("/etc/driveprm", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "Measuring drive 0's raw capacity"..., 33Measuring drive 0's raw
capacity
) = 33
ioctl(3, FDRAWCMD, 0xbfe29c8c) = 0
ioctl(3, FDRAWCMD, 0xbfe29c8c) = 0
ioctl(3, FDRAWCMD, 0xbfe29c8c) = 0
ioctl(3, FDRAWCMD, 0xbfe29c8c) = 0
ioctl(3, FDRAWCMD, 0xbfe29c8c) = 0
write(2, "warmup cycle: 1 199728 8224\r", 32warmup cycle: 1 199728 8224
) = 32
ioctl(3, FDRAWCMD, 0xbfe29c8c) = 0
ioctl(3, FDRAWCMD, 0xbfe29c8c) = 0
write(2, "\nFatal error while measuring raw"..., 42
Fatal error while measuring raw capacity
) = 42
write(2, "0: 40\n", 60: 40
) = 6
write(2, "1: 01\n", 61: 01
) = 6
write(2, "2: 00\n", 62: 00
) = 6
write(2, "3: 00\n", 63: 00
) = 6
write(2, "4: 00\n", 64: 00
) = 6
write(2, "5: 01\n", 65: 01
) = 6
write(2, "6: 08\n", 66: 08
) = 6
exit_group(1) = ?
------------------------------------------------------------------------
Thus it appears the superformat is also broken, so fdutils is involved after
all.
This under kernel 2.6.32-rc6. Has the floppy API been changed, perhaps?
ael
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]