• Please review our updated Terms and Rules here

Older Linux for Disk Imaging

NeXT

Veteran Member
Joined
Oct 22, 2008
Messages
8,095
Location
Kamloops, BC, Canada
I recently built a DOS machine whose sole purpose was to read and write floppy disks but as an added benefit of having an Adaptec AHA-1522A installed I also have support for SCSI, plus the SBC that runs it all has IDE so there's yet another interface I can use.
Not all of these have a complete toolset I'm used to under DOS but I know Linux used to, especially ddrescue which has saved my meat a few times. The problem is however that any modern distro you try and install will absolutely not like the Peak 650 Socket 370 SBC system this is all running on. It's too old and doesn't have enough ram. Even a Ubuntu 8.10 live CD is too new. The X server crashes out.
I am by no means a Linux person, hence why I got several versions of ubuntu. ;) where 8.10 fails 6.06 works great and is happy with the older hardware, but not the 1522A. The system will come up and it can't see the floppy controller or the SCSI controller. That's a problem. A Linux driver for the SCSI side at least did exist at one point, but I see no mention of the driver also supporting the DP8473AV floppy controller. Added to all this I'm sure I'm about to wade into a dependency hell because this is over 15 years old so I'm expecting to find a LOT of packages (including ddrescue) where it now wants newer packages I can't install. How should I approach this?
 
There are a lot of different distributions of Linux. For older stuff, I generally go back to Debian; I do know that the 1522 is part of the aic package for BSD (which isn't strictly Linux).
You might also try an old Redhat or Slackware version.
 
Last edited:
Back in the 90s I remember being scared of the idea of Linux and SCSI drives, because when I'd install slackware it would always say something about how it wasn't designed for scsi drives with bad sectors. I don't know that I've had a bunch of scsi drives with bad sectors, but the warning always seemed important enough that it sticks with me to this day. haha
 
What is the best platform for disk imaging? I figured it would be DOS since you talk directly to the hardware.
 
DOS probably, since you're not struggling with layers of driver software running in protected mode. On the other hand, performance may suffer a bit.
 
Debian 8 and 9 support lots of floppy formats. If you also install mtools & fdutils, you have superformat, setfdprm, and getfdprm.

The various formats are in /etc/mediaprm;
Code:
# /etc/mediaprm - floppy disk parameter table
# NB: this file was formerly named /etc/fdprm.

################################################## ######################
# Standard linux disk formats. Names are of the form
# actual media capacity/maximum drive capacity
# (Note: although 5.25" HD drives can format disks at 1.44M, they're listed
# as 1200 because that's the common maximum size.)

# size sec/t hds trk stre gap rate spec1 fmt_gap

"360/360":
DS DD sect=9

"1200/1200":
DS HD sect=15

"360/720":
SS DD sect=9

"720/720":
DS DD sect=9

"360/1200":
DS DD sect=9

"720/1200":
DS QD sect=9

"1440/1440":
DS HD sect=18

"2880/2880":
DS ED sect=36

"2880/2880":
DS ED sect=36

"2880/2880":
DS ED sect=36

"1440/1200":
DS HD sect=18

"1680/1440":
DS HD sect=21

"410/1200":
DS DD sect=10 cyl=41

"820/1440":
DS DD sect=10 cyl=82

"1476/1200":
DS HD sect=18 cyl=82

"1722/1440":
DS HD sect=21 cyl=82

"420/1200":
DS DD sect=10 cyl=42

"830/1440":
DS DD sect=10 cyl=83

"1494/1200":
DS HD sect=18 cyl=83

"1743/1440":
DS HD sect=21 cyl=83

"1743/1440":
DS HD sect=21 cyl=83

"880/1200":
DS QD tracksize=11b ssize=1KB

"1040/720":
DS QD sect=13

"1120/720":
DS QD tracksize=7KB mss

"1600/1200":
DS HD tracksize=10KB mss

"1760/1440":
DS HD sect=11 ssize=1KB

"1920/1440":
DS HD tracksize=12KB mss

"3200/2880":
DS ED sect=5 ssize=4KB

"3520/2880":
DS ED tracksize=22KB ssize=4KB

"3840/2880":
DS ED sect=3 ssize=8KB

"3840/2880":
DS ED sect=3 ssize=8KB

"1840/1440":
DS HD tracksize=23b ssize=2KB

"800/720":
DS DD sect=10

"1600/1440":
DS HD sect=20

################################################## ######################
# CP/M formats
#
# the name is constructed as CODsize, where COD identifies the
# brand of the computer having formatted the disk

# Generic CP/M - SSSD 8"

"GEN250":
SS DD sect=24 dtr=0 fm=1 cyl=77 ssize=128

# ABC-80 - SSDD 48 tpi 5.25"

"ABC160":
SS DD sect=16 ssize=256

# Actrix (Access Matrix) - SSDD 48 tpi 5.25"

"ACT180":
SS DD sect=9

# Adler Textriter - SSDD 48 tpi 5.25"

"ADL160":
SS DD sect=16 ssize=256

# Advanced Digital Super 6 - SSDD 48 tpi 5.25"

"ADV160":
SS DD sect=4 ssize=1KB

# Advanced Digital Super 6 - DSDD 96 tpi 5.25"

"ADV640":
DS QD sect=4 ssize=1KB

# Altos Series 5 - DSDD 96 tpi 5.25"

"ALT720":
DS QD sect=9

# Amigo - SSDD 48 tpi 5.25"

"AMI200":
SS DD sect=10

# Ampro - SSDD 48 tpi 5.25"

"AMP200":
SS DD sect=10

# Ampro - SSDD 96 tpi 5.25"

"AMP400":
SS QD sect=5 ssize=1KB

# Amstrad PCW8256 - DSDD 96 tpi 5.25"

"AMS720":
DS QD sect=9

# Archive I - SSDD 96 tpi 5.25"

"ARC400":
SS QD sect=5 ssize=1KB

# Archive II & III - DSDD 96 tpi 5.25"

"ARC800":
DS QD sect=5 ssize=1KB

# Arisia - SSDD 48 tpi 5.25"

"ARI180":
SS DD sect=18 ssize=256

# ATR-8000 - SSDD 48 tpi 5.25"

"ATR200":
SS DD sect=5 ssize=1KB

# Beehive - DSDD 48 tpi 5.25"

"BEE400":
DS DD sect=10

# Bitelex - SSDD 48 tpi 5.25"

"BIT160":
SS DD sect=16 ssize=256

# BMC IF800 Model 20 - DSDD 48 tpi 5.25"

"BMC400":
DS DD sect=10

# Burr-Brown - DSDD 48 tpi 5.25"

"BUR360":
DS DD sect=18 ssize=256

# Cal-PC - DSDD 48 tpi 5.25"

"CAL400":
DS DD sect=5 ssize=1KB

# Cashcom 100 - DSDD 96 tpi 5.25"

"CAS640":
DS QD sect=4 ssize=1KB

# CDI-5000 - DSDD 48 tpi 5.25"

"CDI400":
DS DD sect=5 ssize=1KB

# CMC Supersystem 2 - DSDD 96 tpi 5.25"

"CMC800":
DS QD sect=5 ssize=1KB

# Coleco ADAM, 40 track - SSDD 48 tpi 5.25"

"COL160":
SS DD sect=8

# Compugraphic MCS-5 - SSDD 48 tpi 5.25"

"COM160":
SS DD sect=16 ssize=256

# Compupro (Viasyn) (1024 bytes/sector) - DSDD 96 tpi 5.25"

"COM800":
DS QD sect=5 ssize=1KB

# Cromemco CDOS - SSSD 48 tpi 5.25"

"CRO80":
SS SD sect=16 dtr=1 fm=1 ssize=128

# Cromemco CDOS - SSDD 48 tpi 5.25"

"CRO200":
SS DD sect=10

# Cromemco CP/M - SSDD 48 tpi 5.25"

"CRO200":
SS DD sect=10

# C/WP Cortex - SSDD 48 tpi 5.25"

"CWP200":
SS DD sect=10

# Cykey - DSDD 48 tpi 5.25"

"CYK320":
DS DD sect=16 ssize=256

# DEC DECMate II - SSDD 96 tpi 5.25"

"DEC400":
SS QD sect=10

# DEC Rainbow - SSDD 96 tpi 5.25"

"DEC180":
SS DD sect=9

# DEC VT-180 - SSDD 48 tpi 5.25"

"DEC180":
SS DD sect=9

# Direct 1025 - DSDD 48 tpi 5.25"

"DIR320":
DS DD sect=16 ssize=256

# Discovery - DSDD 96 tpi 5.25"

"DIS640":
DS QD sect=8

# Eagle II - SSDD 96 tpi 5.25"

"EAG400":
SS QD sect=5 ssize=1KB

# Epson QX-10 - DSDD 48 tpi 5.25"

"EPS400":
DS DD sect=10

# Epson QX-10 (256 bytes/sector) - DSDD 48 tpi 5.25"

"EPS320":
DS DD sect=16 ssize=256

# Epson PX-8 - DSDD 3.5"

"EPS320":
DS DD sect=8

# Ericsson DTC - SSDD 96 tpi 5.25"

"ERI320":
SS QD sect=16 ssize=256

# Ericsson Step One - DSDD 96 tpi 5.25"

"ERI720":
DS QD sect=9

# Florida Graphics - DSDD 96 tpi 5.25"

"FLO640":
DS QD sect=16 ssize=256

# Formula 1 - DSDD 48 tpi 5.25"

"FOR360":
DS DD sect=18 ssize=256

# Fujitsu Micro 16 - DSDD 48 tpi 5.25"

"FUJ320":
DS DD sect=16 ssize=256

# Fujitsu Micro 8 - DSDD 48 tpi 5.25"

"FUJ320":
DS DD sect=16 ssize=256

# HCL System 2 - DSDD 96 tpi 5.25"

"HCL800":
DS QD sect=5 ssize=1KB

# Heath H89, Magnolia CP/M - SSDD 48 tpi 5.25"

"HEA180":
SS DD sect=9

# Heurikon MLZ-91A - DSDD 96 tpi 5.25"

"HEU640":
DS QD sect=16 ssize=256

# IBM PC, CP/M-86 - SSDD 48 tpi 5.25"

"IBM160":
SS DD sect=8

# IMS 5000 - SSDD 48 tpi 5.25"

"IMS160":
SS DD sect=16 ssize=256

# IMS 5000 TurboDOS - DSDD 96 tpi 5.25"

"IMS800":
DS QD sect=5 ssize=1KB

# Intel iPDS 100 - DSDD 96 tpi 5.25"

"INT640":
DS QD sect=16 ssize=256

# Insight Enterprises - DSDD 48 tpi 5.25"

"INS320":
DS DD sect=16 ssize=256

# Ithaca Intersystems - SSDD 96 tpi 5.25"

"ITH360":
SS QD sect=18 ssize=256

# Jet-80 - DSDD 48 tpi 5.25"

"JET400":
DS DD sect=5 ssize=1KB

# Lexoriter - SSDD 48 tpi 5.25"

"LEX160":
SS DD sect=16 ssize=256

# LNW 2 - SSDD 48 tpi 5.25"

"LNW180":
SS DD sect=18 ssize=256

# Macsym 150 - SSDD 96 tpi 5.25"

"MAC320":
SS QD sect=8

# Magic - DSDD 48 tpi 5.25"

"MAG400":
DS DD sect=10

# MAI Basic Four - DSDD 96 tpi 5.25"

"MAI640":
DS QD sect=16 ssize=256

# Micron Quark - DSDD 48 tpi 5.25"

"MIC320":
DS DD sect=4 ssize=1KB

# Monroe 8800 Series - SSDD 96 tpi 5.25"

"MON320":
SS QD sect=16 ssize=256

# Morrow MD2 - SSDD 48 tpi 5.25"

"MOR200":
SS DD sect=5 ssize=1KB

# Morrow MD3, 5, 11, 16, 34 - DSDD 48 tpi 5.25"

"MOR400":
DS DD sect=5 ssize=1KB

# Morrow TurboDOS - DSDD 48 tpi 5.25"

"MOR320":
DS DD sect=4 ssize=1KB

# NCR FirstStep - DSDD 96 tpi 5.25"

"NCR640":
DS QD sect=16 ssize=256

# NEC PC-8001A - SSDD 48 tpi 5.25"

"NEC160":
SS DD sect=16 ssize=256

# NEC PC 8801A/8831A - DSDD 48 tpi 5.25"

"NEC320":
DS DD sect=8

# NEC PC 8500/8431A, Starlet - DSDD 3.5"

"NEC320":
SS QD sect=16 ssize=256

# Nixdorf 8810/30 - DSDD 96 tpi 5.25"

"NIX800":
DS QD sect=10

# OKI IF800 Model 20 - DSDD 48 tpi 5.25"

"OKI400":
DS DD sect=10

# Olivetti ETV300 - SSDD 48 tpi 5.25"

"OLI180":
SS DD sect=18 ssize=256

# Olivetti M20 - DSDD 48 tpi 5.25"

"OLI320":
DS DD sect=16 ssize=256

# Olivetti 250 - SSDD 3.5"

"OLI320":
SS QD sect=16 ssize=256

# Olympia EX-100 - DSDD 48 tpi 5.25"

"OLY360":
DS DD sect=9

# Olympia ETX II - SSDD 48 tpi 5.25"

"OLY180":
SS DD sect=9

# Osborne 1 - SSSD 48 tpi 5.25"

"OSB100":
SS SD sect=10 dtr=1 fm=1 ssize=256

# Osborne 1 - SSDD 48 tpi 5.25"

"OSB200":
SS DD sect=5 ssize=1KB

# Osborne Executive - SSDD 48 tpi 5.25"

"OSB200":
SS DD sect=5 ssize=1KB

# Osborne 1 + Osmosis - DSDD 96 tpi 5.25"

"OSB400":
DS DD sect=10

# Osborne Vixen - DSDD 48 tpi 5.25"

"OSB400":
DS DD sect=5 ssize=1KB

# Osborne Executive w/Z3 - DSDD 96 tpi 5.25"

"OSB800":
DS QD sect=5 ssize=1KB

# OSM Zeus 4 - DSDD 96 tpi 5.25"

"OSM640":
DS QD sect=8

# Panasonic KX-E828 - DSDD 48 tpi 5.25"

"PAN320":
DS DD sect=16 ssize=256

# Pegasus Data Logger - DSDD 48 tpi 5.25"

"PEG360":
DS DD sect=9

# Philips PC-2010 - SSDD 48 tpi 5.25"

"PHI160":
SS DD sect=16 ssize=256

# Philips PC-3000 - 3004 - SSDD 96 tpi 5.25"

"PHI320":
SS QD sect=16 ssize=256

# Pied Piper - DSDD 96 tpi 5.25"

"PIE800":
DS QD sect=10

# PMC Micromate - DSDD 48 tpi 5.25"

"PMC400":
DS DD sect=5 ssize=1KB

# Proglas 770KB - DSDD 96 tpi 5.25"

"PRO800":
DS QD sect=10

# Royal Alphatronic - DSDD 48 tpi 5.25"

"ROY320":
DS DD sect=16 ssize=256

# Sage IV - DSDD 96 tpi 5.25"

"SAG640":
DS QD sect=8

# Sanyo MBC-1000, MBC-1150 - DSDD 48 tpi 5.25"

"SAN320":
DS DD sect=16 ssize=256

# Sanyo MBC-1250 - DSDD 96 tpi 5.25"

"SAN640":
DS QD sect=16 ssize=256

# Seequa Chameleon - SSDD 48 tpi 5.25"

"SEE160":
SS DD sect=8

# Seiko - DSDD 96 tpi 5.25"

"SEI640":
DS QD sect=16 ssize=256

# Siemens PG-685 - DSDD 96 tpi 5.25"

"SIE720":
DS QD sect=9

# Siemens PG-675 DSDD 48 tpi 5.25"

"SIE360":
DS DD sect=9

# Siemens PG-635 DSDD 3.5"

"SIE720":
DS QD sect=9

# Sorbus TurboDOS - 5.25" DSHD (or 8" DSDD)

"SOR1232":
DS HD sect=8 cyl=77 ssize=1KB

# Sperry UTS 30, UTS 5000 - DSDD 96 tpi 5.25"

"SPE720":
DS QD sect=9

# Superbrain JR - SSDD 48 tpi 5.25"

"SUP175":
SS DD sect=10 cyl=35

# Superbrain 40 track - SSDD 48 tpi 5.25"

"SUP200":
SS DD sect=10

# Systel 2 - SSDD 48 tpi 5.25"

"SYS180":
SS DD sect=9

# Systel 3 - DSDD 48 tpi 5.25"

"SYS360":
DS DD sect=9

# Televideo 801, 806 - DSDD 48 tpi 5.25"

"TEL360":
DS DD sect=18 ssize=256

# Televideo 1603 - DSDD 96 tpi 5.25"

"TEL720":
DS QD sect=9

# TI Professional, CP/M-86 - SSDD 48 tpi 5.25"

"TI1160":
SS DD sect=8

# Toshiba T100, T200 - DSDD 48 tpi 5.25"

"TOS320":
DS DD sect=16 ssize=256

# TRS-80 Model 1, Omikron CP/M - SSSD 48 tpi 5.25"

"TRS0":
SS SD sect=16 dtr=1 fm=1 cyl=0 ssize=128

# TRS-80 Model 1, Color Power II - SSDD 48 tpi 5.25"

"TRS180":
SS DD sect=18 ssize=256

# TRS-80, MM CP/M - SSDD 48 tpi 5.25"

"TRS200":
SS DD sect=10

# TRS-80 Model 4, MT CP/M - SSDD 48 tpi 5.25"

"TRS180":
SS DD sect=18 ssize=256

# TRS-80 Model 4, MT CP/M - DSDD 48 tpi 5.25"

"TRS360":
DS DD sect=18 ssize=256

# TRS-80 Model 4 - SSDD 48 tpi 5.25"

"TRS160":
SS DD sect=8

# Visual 1050 - SSDD 96 tpi 5.25"

"VIS400":
SS QD sect=10

# Wangwriter - DSDD 48 tpi 5.25"

"WAN320":
DS DD sect=16 ssize=256

# Wave Mate Bullet - SSDD 48 tpi 5.25"

"WAV200":
SS DD sect=5 ssize=1KB

# Xerox 820 - SSSD 48 tpi 5.25"

"XER80":
SS SD sect=16 dtr=1 fm=1 ssize=128

# Xerox 820 II - SSDD 48 tpi 5.25"

"XER160":
SS DD sect=16 ssize=256

# Zenith Z-37 Disk - SSSD 48 tpi 5.25"

"ZEN100":
SS SD sect=10 dtr=1 fm=1 ssize=256

# Zenith Z-37 Disk - DSDD 96 tpi 5.25"

"ZEN640":
DS QD sect=16 ssize=256

# Zenith Z89, Heath H89 - DSDD 48 tpi 5.25"

"ZEN320":
DS DD sect=16 ssize=256

# Zenith Z89, Heath H89 - DSDD 96 tpi 5.25"

"ZEN640":
DS QD sect=16 ssize=256

# Zenith Z90 - SSDD 48 tpi 5.25"

"ZEN160":
SS DD sect=16 ssize=256

# Zenith Z90 - DSDD 48 tpi 5.25"

"ZEN320":
DS DD sect=16 ssize=256

# Zenith Z-100 - SSDD 48 tpi 5.25"

"ZEN160":
SS DD sect=8

# Zenith Z-100 - DSDD 48 tpi 5.25"

"ZEN320":
DS DD sect=8



################################################## ######################
# Other interesting formats, please contribute
#

# Commodore 1581 (the 3 1/2 drive of the Commodore 12
"CBM1581":
DS DD sect=10 cyl=80 ssize=512 fmt_gap=35 gap=12 swapsides

# CMD FD2000 disk drive, a third party floppy disk drive for the
# Commodore line of computers with double of the capacity:
"CMDFD2M":
DS HD sect=10 cyl=81 ssize=1024 fmt_gap=100 gap=12 swapsides

# Color computer, sides 1 and 2
"COCO1":
SS DD sect=18 cyl=35 ssize=256

"COCO2":
SS DD sect=18 cyl=35 ssize=256

# TRS-8- Color Computer os9 formats (to be confirmed). Needs
# zero-based floppy patch
"COCO360":
DS DD sect=18 cyl=40 ssize=256 tpi=48 zero-based

"COCO720":
DS DD sect=18 cyl=80 ssize=256 tpi=96 zero-based


# TO7 (Thomson), sides 1 and 2
"TO7-1":
SS DD sect=16 ssize=256

"TO7-2":
SS DD sect=16 ssize=256 swapsides

Linux's dd command can be used to write or read the floppy's. There are also ports of the IMAGEDISK utilities for Linux. So, there is access
to bin2imd, imd2raw, dmk2imd, td02imd, imda, and imdu within Linux.

Larry
 
Debian 8 and 9 support lots of floppy formats. If you also install mtools & fdutils, you have superformat, setfdprm, and getfdprm.

Linux's dd command can be used to write or read the floppy's. There are also ports of the IMAGEDISK utilities for Linux. So, there is access
to bin2imd, imd2raw, dmk2imd, td02imd, imda, and imdu within Linux.

So the general agreement then is Debian?
 
Unless you want to use BSD (netBSD, OpenBSD, etc.), Debian is more conservative in updates and implements the standard kernel. With older hardware, I steer clear of Ubuntu, since that tends to be more "bleeding edge" in its update policies.

Later Debian/Ubuntu kernels have better support for legacy devices. For example, in Squeeze, the via 8237 IDE controller is well supported, as well as being able to compile in the ftape() (QIC02 interface) drivers. I keep a binder full of CD/DVDs of older Linux and BSD releases. You never know when you'll need one.
 
The last time I wanted to do something similar I used Slackware 10, which is I happened to have lying around. Slackware at least up to 11 also has the option to install in an MS-DOS partition (Zipslack) which I've found helpful in getting it set up on machines that can't boot from a CDROM (create a DOS partition that doesn't occupy the whole drive, install Zipslack under DOS and make sure it boots, then use Linux fdisk to create a proper Linux partition and copy everything into it).

Something of that era also has the advantage that the kernel can be rebuilt in a reasonable time (should that prove necessary), even on a 'tweener system with a 300MHz Pentium II.
 
Back
Top