Put 1.7MB Onto 1.44MB Floppies
1680K Floppies, Name Servers and DHCP
By Trevor Marshall
November 08, 1999
Those of you who have been following the evolution of my floppy-based Linux gateway in the August and October columns have probably noticed I have been squeezing just about as much onto a 1440K floppy disk as was humanly possible. The gateway disk is now full, yet I still want to add features, such as a caching name server and a small Web server. Yet the elegance of booting from a floppy is indisputable -- your OS can't be hacked, the floppy is write protected, and a push of the reset button puts a clean version of Linux up again.*
Microsoftt's DMF 1680K Floppies
Microsoft uses this format only for distribution of its own software, and it is essentially undocumented (a search of Microsoft's developer database elicits only the information that "DMF ... is a special read-only format for 3.5-inch floppy disks that permits storage of 1.7 MB of data").
By failing to supply Windows users with any disk-copying or formatting utilities for DMF, Microsoft was presumably trying to prevent copying of its own software-distribution diskettes.
Yet DMF is not a "read-only" format. The 1680K disks can be manipulated normally by Windows Explorer. They even work in my Mac OS machine.
Linux has supported DMF, in addition to a number of other high-density floppy formats, for several years. Up until now I have avoided using them for the gateway because proper support software under Windows was not available.
But, recently, Donovan Chun left a message on my Linux BBS pointing to a Windows Shareware product called GRDuw from GR Software, which is capable of formatting DMF diskettes. It even manipulates the larger image files in much the same way as RAWRITE does with 1.44-Mbyte disks. GRDuw also supports an associated diskette format called MDF that packs another 42K onto two additional tracks.
* Make sure your BIOS ROM is write protected so it can't be overwritten.)
Two additional tracks? What is going on here? How can I get 82 tracks onto an 80-track diskette drive?
Well, the 1.44-Mbyte format was devised in the late 1980s. At that time, the speeds of the servo motors used in diskette drives were not tightly controlled and the mechanical variations between drives from differing manufacturers were significant. The 1440K standard was a conservative response to disk-drive variability. Eighteen 512-byte sectors of data were defined for each of the 80 tracks on a 3.5-inch diskette. This allowed for a large gap between the sectors (the inter-sector gap) to accommodate speed variations between the various drive motors.
By the early 1990s, most manufacturers were producing drives of higher quality. More powerful motors and accurate speed controllers made the data rate more consistent, and this reduced the need for a wide inter-sector gap. So the DMF standard uses narrower gaps to squeeze 21 sectors of data on each track instead of 18, for a total capacity of 1680K.
The 1720K MDF Format
Floppy-diskette media also improved, and manufacturers were typically burnishing (or polishing) more of the rotating media than was required to hold the 80 tracks of data. In order to get 82 tracks of data onto the diskette, the 1720K MDF format makes your head move closer to the center of the floppy media. The danger with the MDF format, of course, is if you try to put 82 tracks on a cheap, low-tolerance floppy you will be forcing your heads onto unburnished areas, and rapid deterioration will result. This is not a risk with 1680K diskettes, and I recommend you only use the 1720K MDF format if you absolutely need that extra 40K of data on your disks.
Are 1680K Floppies Reliable?
In a word, yes. They use the same data-rate and bit spacing as the 1440K format and are equally reliable, except if you happen to hit a drive that is not spinning at the correct speed. I found all the 486 and Pentium machines in my workshop were fine and I only had problems with one old 386 vintage computer. After all, would Microsoft use these disks to distribute its own software if they were unreliable?
Handling High-Density Floppies With Linux
The device that handles DMF floppies is /dev/fd0u1680, while MDF floppies use /dev/fd0u1722. So, to format a blank disk in DMF format, and create an MSDOS file system on it, you could use the following commands:
fdformat /dev/fd0u1680 mkfs -t msdos /dev/fd0u1680
The DD command to create a floppy from the image file would be:
dd if=1680k.bin of=/dev/fd0u1680 bs=1k
I wanted to add a caching name server, BIND, to the original gateway software, but there was no way I could make available the extra 160K of floppy space needded for that executable. BIND caches name requests, and greatly reduces the latency when fetching pages from frequently visited sites. Additionally, it is no longer necessary to have two name servers programmed into each of the PCs on the network. Each PC points at the gateway (192.168.1.1) for its DNS server, and BIND does the rest.
Please remember to program in the name servers of your actual ISP when you are configuring the BIND package. I have provided two default nameserver addresses, but the response from them will generally be slower than the response from your own ISP's server.
Running Real Domain Name Services
Of course, now that you have BIND operational, the only thing stopping you from turning your gateway into a REAL name server, one that supplies name services to the Internet backbone, is a continuous connection to that backbone at a fixed IP address. Tim Orbaker wrote an excellent article describing the formats you need to use when creating the configuration files for a real DNS. I also gave some background on fixed IP and DNS issues in my first column, in May. Since I wrote that column, one of my ISPs, DockNet, has provided me with a dial-in account at a fixed IP, exactly what I needed to get my own DNS services up and running.
This Month's Disk Download
I have put together a 1680K disk image containing all the previous modules, together with BIND. The image can be downloaded from this link address. You can either use Linux's DD program or Roberto Grassi's GRDuw to write the image onto a floppy.
You will need at least 12 megabytes of DRAM to run BIND, the Linux kernel, and the PPP software.
Tulip And NE2000 Card Modules
I have used a little more of the available space to compile both the modules for Tulip and NE2000 network interface cards into this version. Provided you only have one NIC in your system it will be recognized at eth0 and the software will work correctly regardless of whether you are running 10 BaseT or 100 BaseT interfaces.
Some readers have reported trouble configuring their Windows computers on the internal LAN so they can use the gateway correctly. I recommend that the network interface options be set to obtain an IP address automatically, use DHCP for WINS resolution and installed gateway of 192.168.1.1, enable DNS with a single DNS server address of 192.168.1.1.
Steve Gibson has written a neat little (16K) Windows executable that reports the IP that has been assigned by your DHCP system. It is called "IP Agent" and can be downloaded from this link.. I suggest you copy the executable into \\Windows\\Start Menu\\Programs so it is easier to locate when you need to run it again. Gibson Research also offers a "Shields Up" analysis of your Internet security. I suggest you run it just to see what Steve can find out about your system's configuration.
While we are talking about security, log in to your gateway as "root" and execute the program "passwd" to allocate a password to root. Right now. This version of the gateway has Telnet access enabled, and if you don't select a good password you will one day find some unknown hacker has been exploring your network.
Remember, however, that if you write protect the gateway boot diskette there is nothing a hacker can do that will prevent your gateway from being rebooted with a simple press of the Reset button.
Next month, I am going to describe how to configure the gateway to implement a small Web server on your intranet.
(Again let me thank Mike Arnold, whose Dialout package provided much of the inspiration for this column, and Dion Whittaker, who helps me think through so many of those confusing Linux command lines and scripts.) my Linux BBS.
Trevor Marshall is an engineering management consultant, with interests ranging from RF and Hardware design to Linux internals, Internet infrastructure, MPEG, and Digital Video. He started his career in the '70s, designing the Maplin Electronic Music Synthesizers. When the Microcomputer came along, he got sidetracked into computer software, programming the 2650, 8080, Z80, Z8000, 8048, 8306, 6805, 80x86, and Power PC families. Along the way, he also picked up a little expertise in RF system design, biomedical engineering, and the printing industry. His web site is www.trevormarshall.com. Page 1 of 1