<!-- $Id: install.sgml,v 18.104.22.168 1995-10-30 16:18:52 jfieber Exp $ -->
<!-- The FreeBSD Documentation Project -->
<!DOCTYPE linuxdoc PUBLIC '-//FreeBSD//DTD linuxdoc//EN'>
<chapt><heading>Installing FreeBSD<label id="install"></heading>
<p>So, you would like to try out FreeBSD on your system?
This section is a quick-start guide for what you need to
do. FreeBSD can be installed from a variety of media
including CD-ROM, floppy disk, magnetic tape, an MS-DOS
partition, and if you have a network connection, via
anonymous ftp or NFS.
Regardless of the installation media you choose, you can
get started by downleading the <bf>installation disk</bf>
as described below. Booting your computer with disk will
provide important information about compatibility between
FreeBSD and your hardware which could dictate which
installation options are possible. It can also provide
early clues to compatibilty problems that could prevent
FreeBSD running on your system at all. If you plan on
installing via anonymous FTP, then this installation disk
is all you need to download.
For more information on obtaining the FreeBSD distribution
itself, please see <ref id="mirrors" name="Obtaining
FreeBSD"> in the Appendix.
So, to get the show on the road, follow these steps:
<item>Review the <ref id="install:hw" name="supported
configurations"> section of this installation guide to
be sure that your hardware is supported by FreeBSD. It
may be helpful to make a list of any special cards you
have installed, such as SCSI controllers, etherernet
adapters or sound cards. This list should include
relevant configuration parameters such as interrupts
(IRQ) and IO port addresses. </item>
<item>Download the <url
name="installation boot disk image"> file to your hard
drive, and be sure to tell your browser to
<em>save</em> rather than <em>display</em>.
<bf>Note:</bf> This disk image can be used for
<em>both</em> 1.44 megabyte 3.5 inch floppy disks and
1.2 megabyte 5.25 inch floppy disks.</item>
<item>Make the installation boot disk from the image file:
<item>If you are using MS-DOS download
name="rawrite.exe"> (tell your browser to <em>save</em> rather than
<em>display</em>!), then run it:
program will prompt you for the floppy drive
containing the disk you want to write to (A: or
B:) and the name of the file to put on disk (boot.flp).
<item>If you are using a UNIX system:
% dd if=boot.flp of=<em>disk_device</em> bs=18k
where <em>disk_device</em> is the <tt>/dev</tt>
entry for the floppy drive. On FreeBSD systems, this
is <tt>/dev/rfd0</tt> for the A: drive and
<tt>/dev/rfd1</tt> for the B: drive.
<item>With the installation disk in the A: drive, reboot your
computer. You should get a boot prompt something like this:
>> FreeBSD BOOT ...<newline>
Use hd(1,a)/kernel to boot sd0 when wd0 is also installed.<newline>
Use ? for file list or press Enter for defaults<newline>
If you do <em>not</em> type anything, FreeBSD will automatically boot
with its default configuration after a delay of about
five seconds. As FreeBSD boots, it probes your computer
to determine what hardware is installed. The results of
this probing is displayed on the screen.
<item>When the booting process is finished, The main FreeBSD
installation menu will be displayed.</item>
<p><bf>If something goes wrong...</bf>
<p>Due to limitations of the PC architecture, it is
impossible for probing to be 100 percent reliable. In the event
that your hardware is incorrectly identified, or that the
probing causes your computer to lock up, first check the
<ref id="install:hw" name="supported
configurations"> section of this installation guide to be
sure that your hardware is indeed supported by FreeBSD.
<p>If your hardware is supported, reset the computer and when
the <tt>Boot:</tt> prompt comes up, type <bf>-c</bf>. This puts
FreeBSD into a configuration mode where you can supply
hints about your hardware. The FreeBSD kernel on the
installation disk is configured assuming that most hardware
devices are in their factory default configuration in terms
of IRQs, IO addresses and DMA channels. If your hardware
has been reconfigured, you will most likely need to use the
<bf>-c</bf> option at boot to tell FreeBSD where things are.
<p>It is also possible that a probe for a device not present
will cause a later probe for another device that is present
to fail. In that case, the probes for the conflicting
driver(s) should be disabled.
<p>In the configuration mode, you can:
<item>List the device drivers installed in the kernel.</item>
<item>Disable device drivers for hardware not present in your
<item>Change the IRQ, DRQ, and IO port addresses used by a
<p>While at the <tt>config></tt> prompt, type
<tt>help</tt> for more information on the available
commands. After adjusting the kernel to match how you have
your hardware configured, type <tt>quit</tt> at the
<tt>config></tt> prompt to continue booting with the new
After FreeBSD has been installed, changes made in the
configuration mode will be permanent so you do not have
to reconfigure every time you boot. Even so, it is likely
that you will want to build a custom kernel to optimize the
performance of your system. See <ref id="kernelconfig"
name="Kernel configuration"> for more information on
creating custom kernels.
<sect><heading>MS-DOS user's Questions and Answers</heading>
<p>Many FreeBSD users wish to install FreeBSD on PCs inhabited
by MS-DOS. Here are some commonly asked questions about
installing FreeBSD on such systems.
<p><bf>Help! I have no space! Do I need to delete
If your machine is already running MS-DOS and has little
or no free space available for FreeBSD's installation,
all is not lost! You may find the FIPS utility, provided
in the <tt>tools</tt> directory on the FreeBSD CDROM or
on the various FreeBSD ftp sites, to be quite useful.
FIPS allows you to split an existing MS-DOS partition
into two pieces, preserving the original partition and
allowing you to install onto the second free piece. You
first defragment your MS-DOS partition, using the DOS
6.xx DEFRAG utility or the Norton Disk tools, then run
FIPS. It will prompt you for the rest of the information
it needs. Afterwards, you can reboot and install FreeBSD
on the new free slice. See the <em>Distributions</em>
menu for an estimation of how much free space you'll need
for the kind of installation you want.
<bf>Can I use compressed MS-DOS filesystems from
No. If you are using a utility such as Stacker(tm) or
DoubleSpace(tm), FreeBSD will only be able to use
whatever portion of the filesystem you leave
uncompressed. The rest of the filesystem will show up as
one large file (the stacked/dblspaced file!). <bf>Do not
remove that file!</bf> You will probably regret it
It is probably better to create another uncompressed
MS-DOS primary partition and use this for communications
between MS-DOS and FreeBSD.
<!-- XXX Status???
<bf>Can I mount my MS-DOS extended partitions?</bf>
This feature isn't in FreeBSD 2.0.5 but should be in 2.1.
We've laid all the groundwork for making this happen, now
we just need to do the last 1 percent of the work involved.
<bf>Can I run MS-DOS binaries under FreeBSD?</bf>
Not yet! We'd like to add support for this someday, but
are still lacking anyone to actually do the work.
Ongoing work with Linux's DOSEMU utility may bring this
much closer to being a reality sometime soon. Send mail
to firstname.lastname@example.org if you're interested in joining
However, there's a nice application available in the
<ref id="ports" name="The Ports Collection"> called pcemu,
that allows you to run many basic MS-DOS text-mode binaries
by entirely emulating an 8088 CPU.
<sect><heading>Supported Configurations<label id="install:hw"></heading>
<p>FreeBSD currently runs on a wide variety of ISA, VLB,
EISA and PCI bus based PC's, ranging from 386sx to
Pentium class machines (though the 386sx is not
recommended). Support for generic IDE or ESDI drive
configurations, various SCSI controller, network and
serial cards is also provided.
A minimum of four megabytes of RAM is required to run FreeBSD.
To run the X-window system, eight megabytes of RAM is the
Following is a list of all disk controllers and ethernet
cards currently known to work with FreeBSD. Other
configurations may very well work, and we have simply not
received any indication of this.
<item>WD1003 (any generic MFM/RLL)
<item>WD1007 (any generic IDE/ESDI)
<item>Adaptec 152x series ISA SCSI controllers
<item>Adaptec 154x series ISA SCSI controllers
<item>Adaptec 174x series EISA SCSI controller in
standard and enhanced mode.
series EISA/VLB/PCI SCSI controllers
<!-- AIC-6260 and - actually not working, joerg -->
AIC-6360 based boards,
which includes the AHA-152x and SoundBlaster SCSI
<bf>Note:</bf> You cannot boot from the
SoundBlaster cards as they have no on-board BIOS,
which is necessary for mapping the boot device into
the system BIOS I/O vectors. They are perfectly
usable for external tapes, CDROMs, etc, however.
The same goes for any other AIC-6x60 based card
without a boot ROM. Some systems DO have a boot
ROM, which is generally indicated by some sort of
message when the system is first powered up or
reset. Check your system/board documentation for
<item>Buslogic 545S & 545c
<bf>Note:</bf> that Buslogic was formerly known as "Bustec".
<item>Buslogic 445S/445c VLB SCSI controller
<item>Buslogic 742A, 747S, 747c EISA SCSI controller.
<item>Buslogic 946c PCI SCSI controller
<item>Buslogic 956c PCI SCSI controller
<item>NCR 53C810 and 53C825 PCI SCSI controller.
<item>NCR5380/NCR53400 (``ProAudio Spectrum'') SCSI controller.
<item>DTC 3290 EISA SCSI controller in 1542 emulation mode.
<item>UltraStor 14F, 24F and 34F SCSI controllers.
<item>Seagate ST01/02 SCSI controllers.
<item>Future Domain 8xx/950 series SCSI controllers.
<item>WD7000 SCSI controllers.
With all supported SCSI controllers, full support is
provided for SCSI-I & SCSI-II peripherals,
including Disks, tape drives (including DAT) and CD ROM
The following CD-ROM type systems are supported at this
<item>Soundblaster SCSI and ProAudio Spectrum SCSI (<tt>cd</tt>)
<item>Mitsumi (all models) proprietary interface (<tt>mcd</tt>)
CR-562/CR-563 proprietary interface (<tt>matcd</tt>)
<item>Sony proprietary interface (<tt>scd</tt>)
<item>ATAPI IDE interface
(experimental and should be considered ALPHA quality!)
<item>Allied-Telesis AT1700 and RE2000 cards
<item>SMC Elite 16 WD8013 ethernet interface, and
most other WD8003E, WD8003EBT, WD8003W, WD8013W,
WD8003S, WD8003SBT and WD8013EBT based clones. SMC
Elite Ultra is also supported.
<item>DEC EtherWORKS III NICs (DE203, DE204, and DE205)
<item>DEC EtherWORKS II NICs (DE200, DE201, DE202, and DE422)
<item>DEC DC21140 based NICs (SMC???? DE???)
<item>DEC FDDI (DEFPA/DEFEA) NICs
<item>Fujitsu FMV-181 and FMV-182
<item>Isolan AT 4141-0 (16 bit)
<item>Isolink 4110 (8 bit)
<item>Novell NE1000, NE2000, and NE2100 ethernet interface.
<item>3Com 3C501 cards
<item>3Com 3C503 Etherlink II
<item>3Com 3c505 Etherlink/+
<item>3Com 3C507 Etherlink 16/TP
<item>3Com 3C509, 3C579, 3C589 (PCMCIA) Etherlink III
<item>Toshiba ethernet cards
<item>PCMCIA ethernet cards from IBM and National
Semiconductor are also supported.
<p><em>Note:</em> FreeBSD does not currently suppport
PnP (plug-n-play) features present on some ethernet
cards. If your card has PnP, it should be disabled.
<item>AST 4 port serial card using shared IRQ.
<item>ARNET 8 port serial card using shared IRQ.
<item>BOCA IOAT66 6 port serial card using shared IRQ.
<item>BOCA 2016 16 port serial card using shared IRQ.
<item>Cyclades Cyclom-y Serial Board.
<item>STB 4 port card using shared IRQ.
<item>SDL Communications Riscom/8 Serial Board.
<item>Adlib, SoundBlaster, SoundBlaster Pro,
ProAudioSpectrum, Gravis UltraSound and Roland
MPU-401 sound cards.
FreeBSD currently does not support IBM's microchannel
(MCA) bus, but support is apparently close to
materializing. Details will be posted as the situation
<sect><heading>Preparing for the installation</heading>
<p>There are a number of different methods by which FreeBSD
can be installed. The following describes what
preparation needs to be done for each type.
<sect1><heading>Before installing from CDROM</heading>
<p>If your CDROM is of an unsupported type, such as an
IDE CDROM, then please skip to <ref id="install:msdos"
There is not a lot of preparatory work that needs to be
done to successfully install from one of Walnut Creek's
FreeBSD CDROMs (other CDROM distributions may work as
well, but I can't say for sure as I have no hand or say
in their creation). You can either boot into the CD
installation directly from MS-DOS using Walnut Creek's
supplied "install" batch file or you can make a boot
floppy by writing the supplied image
(floppies/boot.flp) onto a floppy with the "go"
command, which invokes the rawrite.exe command found in
the tools/ subdirectory.
If you're creating the boot floppy from a UNIX machine,
you may find that ``dd if=floppies/boot.flp
of=/dev/rfd0'' or ``dd if=floppies/boot.flp
of=/dev/floppy'' works well, depending on your hardware
and operating system environment.
Once you've booted from MS-DOS or floppy, you should be
able to select CDROM as the media type in the Media
menu and load the entire distribution from CDROM. No
other types of installation media should be required.
After your system is fully installed and you have
rebooted from the hard disk, you should find the CD
mounted on the directory /cdrom. A utility called
`lndir' comes with the XFree86 distribution which you
may also find useful: It allows you to create "link
tree" directories to things on Read-Only media like
CDROM. One example might be something like this:
<tscreen>mkdir /usr/ports<newline>lndir /cdrom/ports
Which would allow you to then "cd /usr/ports; make" and
get all the sources from the CD, but yet create all the
intermediate files in /usr/ports, which is presumably
on a more writable media!
<sect1><heading>Before installing from Floppy</heading>
<p>If you must install from floppy disks, either due to
unsupported hardware or just because you enjoy doing
things the hard way, you must first prepare some
floppies for the install.
The first floppy you'll need is ``floppies/root.flp'',
which is somewhat special in that it's not a MS-DOS
filesystem floppy at all, but rather an "image" floppy
(it's actually a gzip'd cpio file). You can use the
rawrite.exe program to do this under DOS, or ``dd'' to
do it on a UNIX Workstation (see notes in section 2.1
concerning the ``floppies/boot.flp'' image). Once this
floppy is made, put it aside. You'll be asked for it
You will also need, at minimum, as many 1.44MB or 1.2MB
floppies as it takes to hold all files in the bin
(binary distribution) directory. THESE floppies <bf>must</bf>
be formatted using MS-DOS, using with the FORMAT
command in MS-DOS or the File Manager format command in
Microsoft Windows(tm). Factory preformatted floppies
will also work well, provided that they haven't been
previously used for something else. Note that only media
without any defects are usable for these floppies; there
is no kind of bad sector remapping available for them.
Many problems reported by our users in the past have
resulted from the use of improperly formatted media, so
we simply take special care to mention it here!
After you've MS-DOS formatted the floppies, you'll need
to copy the files onto them. The distribution files
are split into chunks conveniently sized so that 5 of
them will fit on a conventional 1.44MB floppy. Go
through all your floppies, packing as many files as
will fit on each one, until you've got all the
distributions you want packed up in this fashion.
Select ``Floppy'' from the Media menu at installation
time and you will be prompted for everything after
<sect1><heading>Before installing from a MS-DOS partition<label id="install:msdos"></heading>
<p>To prepare for installation from an MS-DOS partition,
copy the files from the distribution into a directory
called <tt>C:\FREEBSD</tt>. The directory tree structure
of the CDROM must be partially reproduced within this directory
so we suggest using the DOS <tt>xcopy</tt>
command. For example, to prepare for a minimal installation of
C> MD C:\FREEBSD
C> XCOPY /S E:\FLOPPIES C:\FREEBSD\FLOPPIES\
C> XCOPY /S E:\DISTS\BIN C:\FREEBSD\BIN\
assuming that <tt>C:</tt> is where you have free space
and <tt>E:</tt> is where your CDROM is mounted. Note
that you need the <tt>FLOPPIES</tt> directory because
the <tt>root.flp</tt> image is needed during an MS-DOS
For as many `DISTS' you wish to install from MS-DOS
(and you have free space for), install each one under
<tt>C:\FREEBSD</tt> - the <tt>BIN</tt> dist is only the
minimal requirement. If you have room on your MS-DOS
partition for all the distributions, you could replace
the last line above with:
C> XCOPY /S E:\DISTS C:\FREEBSD\
which would copy all the subdirectories of
<tt>E:\DISTS</tt> to <tt>C:\FREEBSD</tt>.
<sect1><heading>Before installing from QIC/SCSI Tape</heading>
<p>Installing from tape is probably the easiest method,
short of an on-line install using FTP or a CDROM
install. The installation program expects the files to
be simply tar'ed onto the tape, so after getting all of
the files for distribution you're interested in, simply
tar them onto the tape with a command like:
tar cvf /dev/rwt0 (or /dev/rst0) dist1 .. dist2
Make sure that the `floppies/' directory is one of the
"dists" given above, since the installation will look
for `floppies/root.flp' on the tape.
When you go to do the installation, you should also
make sure that you leave enough room in some temporary
directory (which you'll be allowed to choose) to
accommodate the FULL contents of the tape you've
created. Due to the non-random access nature of tapes,
this method of installation requires quite a bit of
temporary storage! You should expect to require as
much temporary storage as you have stuff written on
<sect1><heading>Before installing over a network</heading>
<p>You can do network installations over 3 types of
<tag>Serial port</tag> SLIP or PPP
<tag>Parallel port</tag> PLIP (laplink cable)
standard ethernet controller (includes some PCMCIA).
SLIP support is rather primitive, and limited primarily
to hard-wired links, such as a serial cable running
between a laptop computer and another computer. The link
should be hard-wired as the SLIP installation doesn't
currently offer a dialing capability; that facility is
provided with the PPP utility, which should be used in
preference to SLIP whenever possible.
If you're using a modem, then PPP is almost certainly
your only choice. Make sure that you have your service
provider's information handy as you'll need to know it
fairly soon in the installation process. You will need
to know, at the minimum, your service provider's IP
address and possibly your own (though you can also leave
it blank and allow PPP to negotiate it with your ISP).
You also need to know how to use the various "AT
commands" to dial the ISP with your particular modem as
the PPP dialer provides only a very simple terminal
If a hard-wired connection to another FreeBSD (2.0R or
later) machine is available, you might also consider
installing over a "laplink" parallel port cable. The
data rate over the parallel port is much higher than is
what's typically possible over a serial line (up to
50k/sec), thus resulting in a quicker installation.
Finally, for the fastest possible network installation,
an ethernet adaptor is always a good choice! FreeBSD
supports most common PC ethernet cards, a table of
supported cards (and their required settings) provided as
part of the FreeBSD Hardware Guide - see the
Documentation menu on the boot floppy. If you are using
one of the supported PCMCIA ethernet cards, also be sure
that it's plugged in _before_ the laptop is powered on!
FreeBSD does not, unfortunately, currently support "hot
insertion" of PCMCIA cards.
You will also need to know your IP address on the
network, the "netmask" value for your address class and
the name of your machine. Your system administrator can
tell you which values to use for your particular network
setup. If you will be referring to other hosts by name
rather than IP address, you'll also need a name server
and possibly the address of a gateway (if you're using
PPP, it's your provider's IP address) to use in talking
to it. If you do not know the answers to all or most of
these questions, then you should really probably talk to
your system administrator _first_ before trying this type
Once you have a network link of some sort working, the
installation can continue over NFS or FTP.
<sect2><heading>Preparing for NFS installation</heading>
<p>NFS installation is fairly straight-forward: Simply
copy the FreeBSD distribution files you're interested
onto a server somewhere and then point the NFS media
selection at it.
If this server supports only "privileged port" access
(as is generally the default for Sun workstations),
you will need to set this option in the Options menu
before installation can proceed.
If you have a poor quality ethernet card which
suffers from very slow transfer rates, you may also
wish to toggle the appropriate Options flag.
In order for NFS installation to work, the server
must support "subdir mounts", e.g. if your FreeBSD
2.1 distribution directory lives on:
ziggy:/usr/archive/stuff/FreeBSD Then ziggy will have
to allow the direct mounting of
/usr/archive/stuff/FreeBSD, not just /usr or
In FreeBSD's /etc/exports file, this is controlled by
the ``-alldirs'' option. Other NFS servers may have
different conventions. If you are getting
`Permission Denied' messages from the server then
it's likely that you don't have this enabled
<sect2><heading>Preparing for FTP Installation</heading>
<p>FTP installation may be done from any mirror site
containing a reasonably up-to-date version of FreeBSD
2.1, a full menu of reasonable choices from almost
anywhere in the world being provided by the FTP site
If you are installing from some other FTP site not
listed in this menu, or you are having troubles
getting your name server configured properly, you can
also specify your own URL by selecting the ``Other''
choice in that menu. A URL can also be a direct IP
address, so the following would work in the absence
of a name server: <tscreen>
If you are installing through a firewall then you
should probably select ``Passive mode'' ftp, which is
the default. If you are talking to a server which
does not support passive mode for some reason, see
the Options menu to select Active mode transfers.
<p>Once you've taken note of the appropriate
preinstallation steps, you should be able to install
FreeBSD without any further trouble.
Should this not be true, then you may wish to go back and
re-read the relevant preparation section (section 2.x)
for the installation media type you're trying to use -
perhaps there's a helpful hint there that you missed the
first time? If you're having hardware trouble, or
FreeBSD refuses to boot at all, read the Hardware Guide
provided on the boot floppy for a list of possible
The FreeBSD boot floppy contains all the on-line
documentation you should need to be able to navigate
through an installation and if it doesn't then I'd like
to know what you found most confusing! It is the
objective of the FreeBSD installation program
(sysinstall) to be self-documenting enough that painful
"step-by-step" guides are no longer necessary. It may
take us a little while to reach that objective, but
that's the objective!
Meanwhile, you may also find the following "typical
installation sequence" to be helpful:
<item>Boot the boot floppy. After a boot sequence
which can take anywhere from from 30 seconds to 3
minutes, depending on your hardware, you should be
presented with a menu of initial choices. If the
floppy doesn't boot at all, or the boot hangs at some
stage, go read the Q&A section of the Hardware Guide
for possible causes.
<item>Press F1. You should see some basic usage
instructions on the menu system and general
navigation. If you haven't used this menu system
before then PLEASE read this thoroughly!
<item>If English is not your native language, you may
wish to proceed directly to the Language option and
set your preferred language. This will bring up some
of the documentation in that language instead of
<item>Select the Options item and set any special
preferences you may have.
<item>Select Proceed, bringing you to the Installation Menu.
<sect1><heading>The installation menu</heading>
<p>You can do anything you like in this menu without
altering your system <em>except</em> for "Commit",
which will perform any requests to alter your system
you may have made.
If you're confused at any point, the F1 key usually
pulls up the right information for the screen you're
<item>The first step is generally `Partition', which
allows you to chose how your drives will be used
<item>Next, with the `Label' editor, you can specify
how the space in any allocated FreeBSD partitions
should be used by FreeBSD, or where to mount a
non-FreeBSD partition (such as DOS).
<item>Next, the `Distributions' menu allows you to
specify which parts of FreeBSD you wish to load. A
good choice is "User" for a small system or
"Developer" for someone wanting a bit more out of
FreeBSD. If none of the existing collections sound
applicable, select Custom.
<item>Next, the `Media' menu allows you to specify
what kind of media you wish to install from. If a
desired media choice is found and configured
automatically then this menu will simply return,
otherwise you'll be asked for additional details on
the media device type.
<item>Finally, the Commit command will actually
perform all the actions at once (nothing has been
written to your disk so far, nor will it until you
give the final confirmation). All new or changed
partition information will be written out, file
systems will be created and/or non-destructively
labelled (depending on how you set their newfs
flags in the Label editor) and all selected
distributions will be extracted.
<item>The Configure menu choice allows you to further
configure your FreeBSD installation by giving you
menu-driven access to various system defaults.
Some items, like networking, may be especially
important if you did a CDROM/Tape/Floppy
installation and have not yet configured your
network interfaces (assuming you have some).
Properly configuring your network here will allow
FreeBSD to come up on the network when you first
reboot from the hard disk.
<item>Exit returns you to the top menu.
At this point, you're generally done with the
sysinstall utility and can select the final `Quit'. If
you're running it as an installer (e.g. before the
system is all the way up) then the system will now
reboot. If you selected the boot manager option, you
will see a small boot menu with an `F?' prompt. Press
the function key for BSD (it will be shown) and you
should boot up into FreeBSD off the hard disk.
If this fails to happen for some reason, see the Q&A
section of the Hardware Guide for possible clues!