Creating boot floppies for FreeBSD
One of the most common and oft-misunderstood steps in installing FreeBSD. But
it’s quite straight forward.
Note that 3.1 and above needs two floppies. Previous
versions used only one floppy.
What are boot floppies for?
The boot floppy contains a minature version of FreeBSD. Just enough for it to
see the disk, the network, and to transfer the files it needs in order to install the full
version of the operating system.
Where do you get the files?
You’ll either be installing from CD-ROM or the Internet. In either case, each
FreeBSD release you will find a floppies directory and a tools
directory. These contain the files you need, but you don’t need everything in those
If you have a CD-ROM, it will be on the first CD.
When installing from the Internet, you can choose an FTP site from Official mirrors.
The instructions for creating boot floppies are floppies/README.TXT in the
installation set you are using. For example, ftp://ftp.FreeBSD.ORG/pub/FreeBSD/releases/i386/3.4-RELEASE/floppies/README.TXT
contains the instructions for 3.4-RELEASE.
Note that the files you are copying are not
DOS files so you can not use regular copy procedures to put them on the floppy.
Remember to use the fdimage.exe tool as found in the tools
How I did it
For this example, I assume you are installing 3.1-RELEASE.
I always find it easiest
to create boot floppies using my NT box. I used FTP to copy files from pub/FreeBSD/release/3.1-RELEASE/floppies.
In that same directory you will find README.TXT. Please read it. It
contains the instructions for creating floppies.
I downloaded the following files from the FTP site onto my drive:
/pub/FreeBSD/tools/tools/fdimage.exe /pub/FreeBSD/releases/i386/3.4-RELEASE/floppies/kern.flp /pub/FreeBSD/releases/i386/3.4-RELEASE/floppies/mfsroot.flp
Then I followed the instructions in README.TEXT (see previous paragraphs for
the location of this file) and created the two floppies. With 2.2.*, only one floppy
was needed. With 3.*, you need two floppies. However, you can create a single
floppy if you use one of those high capacity floppies. See the instructions for
The following two command will create boot floppies for you. Use one command on
each floppy (i.e. put kern.flp on one, mfsroot.flp on the other).
This step assumes you have downloaded all files to the same directory (in this
case, C:\TEMP but you can use whatever directory you wish).
C:\TEMP>fdimage kern.flp a:
<put a new floppy in the drive>C:\TEMP>fdimage mfsroot.flp a:
With the above method, I’ve always been above to create boot floppies.
Under FreeBSD, it seems to take about 50 seconds to create each floppy.
a sucessful creation looks like:
# dd if=kern.flp of=/dev/fd0c 2880+0 records in 2880+0 records out 1474560 bytes transferred in 193.898431 secs (7605 bytes/sec)
<put a new floppy in the drive>
# dd if=mfsroot.flp of=/dev/fd0c 2880+0 records in 2880+0 records out 1474560 bytes transferred in 193.197363 secs (7632 bytes/sec)
|Don’t use the raw device under FreeBSD. If you do,|
here’s what you’ll get:
# dd if=kern.flp of=/dev/rfd0 dd: /dev/rfd0: Input/output error 1+0 records in 0+0 records out 0 bytes transferred in 2.711716 secs (0 bytes/sec)
Defective floppies. If you get *any* errors when writing to or reading from the
floppies, get new floppies and start again.
If you are creating floppies from DOS, and
you get told a file is too big, you probably downloaded the file in ASCII mode, not binary
mode. Try again:
E:\FreeBSD>fdimage kern.flp a: kern.flp - File is too big
Here are the incorrect file sizes which led to the above error:
06-12-00 12:56p 1,479,370 kern.flp 06-12-00 12:56p 1,477,679 mfsroot.flp
And these are the correct file sizes:
06-12-00 01:00p 1,474,560 kern.flp 06-12-00 01:00p 1,474,560 mfsroot.flp