InstallationWhich file do I download to get FreeBSD?
You generally need just one floppy image, the floppies/boot.flp
file, which you image-copy onto a 1.44MB floppy and then boot from
in order to download the rest (and the installation will manage your
TCP/IP connection, deal with tapes, CDROMs, floppies, DOS
partitions, whatever's necessary to get the rest of the bits
installed).
If you need to download the distributions yourself (for a DOS
filesystem install, for instance), below are some recommendations
for distributions to grab:
bin/ manpages/ compat*/ doc/ src/ssys.*
Full instructions on this procedure and a little bit more about
installation issues in general can be found in the Help! The boot floppy image will not fit on a single floppy!
A 3.5 inch (1.44MB) floppy can accomodate 1474560 bytes of data.
The boot image is exactly 1474560 bytes in size.
Common mistakes when preparing the boot floppy are:
Not downloading the floppy image in binary mode when
using FTP.
Some FTP clients default their transfer mode to ascii
and attempt to change any end-of-line characters received to match
the conventions used by the client's system.
This will almost invariably corrupt the boot image. Check the
size of the downloaded boot image: if it is not exactly
that on the server, then the download process is suspect.
To workaround: type binary at the FTP command prompt
after getting connected to the server and before starting the
download of the image.
Using the DOS copy command (or equivalent GUI tool) to
transfer the boot image to floppy.
Programs like copy will not work as the boot
image has been created to be booted into directly. The image has
the complete content of the floppy, track for track, and is not
meant to be placed on the floppy as a regular file.
You have to transfer it to the floppy ``raw'', using the
low-level tools (e.g. fdimage or rawrite)
described in the .
Where are the instructions for installing FreeBSD?
Installation instructions can be found in the
What do I need in order to run FreeBSD?
You'll need a 386 or better PC, with 5 MB or more of RAM and at
least 60 MB of hard disk space. It can run with a low end MDA
graphics card but to run X11R6, a VGA or better video card is needed.
See also the section on I have only 4 MB of RAM. Can I install FreeBSD?
FreeBSD 2.1.7 was the last version of FreeBSD that could be installed
on a 4MB system. Newer versions of FreeBSD, like 2.2, need at least 5MB
to install on a new system.
All versions of FreeBSD, including 3.0, will RUN in 4MB of ram, they
just can't run the installation program in 4MB. You can add
extra memory for the install process, if you like, and then
after the system is up and running, go back to 4MB. Or you could
always just swap your disk into a system which has >4MB, install onto
it and then swap it back.
There are also situations in which FreeBSD 2.1.7 will not install
in 4 MB. To be exact: it does not install with 640 kB base + 3 MB
extended memory. If your motherboard can remap some of the ``lost''
memory out of the 640kB to 1MB region, then you may still be able
to get FreeBSD 2.1.7 up.
Try to go into your BIOS setup and look for a ``remap'' option.
Enable it. You may also have to disable ROM shadowing.
It may be easier to get 4 more MB just for the install. Build a
custom kernel with only the options you need and then get the 4
MB out again.
You may also install 2.0.5 and then upgrade your system to 2.1.7
with the ``upgrade'' option of the 2.1.7 installation program.
After the installation, if you build a custom kernel, it will run
in 4 MB. Someone has even succeeded in booting with 2 MB (the
system was almost unusable though :-))
How can I make my own custom install floppy?
Currently there's no way to *just* make a custom install floppy.
You have to cut a whole new release, which will include your install
floppy. There's some code in /usr/src/release/floppies/Makefile
that's supposed to let you *just* make those floppies, but it's not
really gelled yet.
To make a custom release, follow the instructions .
Can I have more than one operating system on my PC?
Have a look at Can Windows 95 co-exist with FreeBSD?
Install Windows 95 first, after that FreeBSD. FreeBSD's boot
manager will then manage to boot Win95 and FreeBSD. If you
install Windows 95 second, it will boorishly overwrite your
boot manager without even asking. If that happens, see
the next section.
Windows 95 killed my boot manager! How do I get it back?
You can reinstall the boot manager FreeBSD comes with in one of
two ways:
Running DOS, go into the tools/ directory of your FreeBSD
distribution and look for bootinst.exe. You run it like so:
bootinst.exe boot.bin
and the boot manager will be reinstalled.
Boot the FreeBSD boot floppy again and go to the Custom
installation menu item. Choose Partition. Select the drive which
used to contain your boot manager (likely the first one) and when you
come to the partition editor for it, as the very first thing (e.g.
do not make any changes) select (W)rite. This will ask for
confirmation, say yes, and when you get the Boot Manager selection
prompt, be sure to select "Boot Manager."
This will re-write the boot manager to disk. Now quit out of the
installation menu and reboot off the hard disk as normal.
Can I install on a disk with bad blocks?
FreeBSD's bad block (the
command) handling is still not 100% (to put it charitably) and
it must unfortunately be said that if you've got an IDE or ESDI drive
with lots of bad blocks, then FreeBSD is probably not for you!
That said, it does work on thousands of IDE based systems, so
you'd do well to try it first before simply giving up.
If you have a SCSI drive with bad blocks, see .
Strange things happen when I boot the install floppy!
If you're seeing things like the machine grinding to a halt or
spontaneously rebooting when you try to boot the install floppy,
here are three questions to ask yourself:-
Did you use a new, freshly-formatted, error-free floppy
(preferably a brand-new one straight out of the box, as
opposed to the magazine coverdisk that's been lying under
the bed for the last three years)?
Did you download the floppy image in binary (or image) mode?
(don't be embarrassed, even the best of us have accidentally
downloaded a binary file in ASCII mode at least once!)
If you're using one of these new-fangled operating systems
like Windows95 or Windows NT, did you shut it down and restart
the system in plain, honest DOS? It seems these OS's can
interfere with programs that write directly to hardware, which
the disk creation program does; even running it inside a DOS
shell in the GUI can cause this problem.
There have also been reports of Netscape causing problems when
downloading the boot floppy, so it's probably best to use a different
FTP client if you can.
Help! I can't install from tape!
If you are installing 2.1.7R from tape, you must create the tape
using a tar blocksize of 10 (5120 bytes). The default tar
blocksize is 20 (10240 bytes), and tapes created using this
default size cannot be used to install 2.1.7R; with these tapes,
you will get an error that complains about the record size being
too big.
Connect two FreeBSD boxes over a parallel line (PLIP)
Get a laplink cable. Make sure both computer have a kernel
with lpt driver support.
$ dmesg | grep lp
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
Plug in the laplink cable into the parallel interface.
Configure the network interface parameters for lp0 on both
sites as root. For example, if you want connect the host max
with moritz
max <-----> moritz
IP Address 10.0.0.1 10.0.0.2
on max start
# ifconfig lp0 10.0.0.1 10.0.0.2
on moritz start
# ifconfig lp0 10.0.0.2 10.0.0.1
Thats all! Please read also the manpages lp(4) and
lpt(4).
You should also add the hosts to /etc/hosts
127.0.0.1 localhost.my.domain localhost
10.0.0.1 max.my.domain max
10.0.0.2 moritz.my.domain moritz
To check if it works do:
on max:
$ ifconfig lp0
lp0: flags=8851 mtu 1500
inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000
$ netstat -r
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
moritz max UH 4 127592 lp0
$ ping -c 4 moritz
PING moritz (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms
--- moritz ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms
Can I install on my laptop over PLIP (Parallel Line IP)?
Connect the two computers using a Laplink parallel cable to use
this feature:
+----------------------------------------+
|A-name A-End B-End Descr. Port/Bit |
+----------------------------------------+
|DATA0 2 15 Data 0/0x01 |
|-ERROR 15 2 1/0x08 |
+----------------------------------------+
|DATA1 3 13 Data 0/0x02 |
|+SLCT 13 3 1/0x10 |
+----------------------------------------+
|DATA2 4 12 Data 0/0x04 |
|+PE 12 4 1/0x20 |
+----------------------------------------+
|DATA3 5 10 Strobe 0/0x08 |
|-ACK 10 5 1/0x40 |
+----------------------------------------+
|DATA4 6 11 Data 0/0x10 |
|BUSY 11 6 1/0x80 |
+----------------------------------------+
|GND 18-25 18-25 GND - |
+----------------------------------------+
See also on the Mobile Computing page.
Which geometry should I use for a disk drive?
(By the "geometry" of a disk, we mean the number of cylinders,
heads and sectors/track on a disk - I'll refer to this as
C/H/S for convenience. This is how the PC's BIOS works out
which area on a disk to read/write from).
This seems to cause a lot of confusion for some reason. First
of all, the All that matters is the For SCSI disks, the geometry to use depends on whether extended
translation support is turned on in your controller (this is
often referred to as "support for DOS disks >1GB" or something
similar). If it's turned off, then use N cylinders, 64 heads
and 32 sectors/track, where 'N' is the capacity of the disk in
MB. For example, a 2GB disk should pretend to have 2048 cylinders,
64 heads and 32 sectors/track.
If it If you are not sure about this, or FreeBSD fails to detect the
geometry correctly during installation, the simplest way around
this is usually to create a small DOS partition on the disk. The
correct geometry should then be detected (and you can always remove
the DOS partition in the partition editor if you don't want to keep
it, or leave it around for programming network cards and the like).
Alternatively, there is a freely available utility distributed with
FreeBSD called ``tools
subdirectory on the FreeBSD CDROM or on the various FreeBSD
ftp sites) which can be used to work out what geometry the other
operating systems on the disk are using. You can then enter this
geometry in the partition editor.
Any restrictions on how I divide the disk up?
Yes. You must make sure that your root partition is below 1024
cylinders so the BIOS can boot the kernel from it. (Note that this
is a limitation in the PC's BIOS, not FreeBSD).
For a SCSI drive, this will normally imply that the root partition
will be in the first 1024MB (or in the first 4096MB if extended
translation is turned on - see previous question). For IDE, the
corresponding figure is 504MB.
What about disk managers? Or, I have a large drive!
FreeBSD recognizes the Ontrack Disk Manager and makes allowances
for it. Other disk managers are not supported.
If you just want to use the disk with FreeBSD you don't need a
disk manager. Just configure the disk for as much space as the
BIOS can deal with (usually 504 megabytes), and FreeBSD
should figure out how much space you really have. If you're using
an old disk with an MFM controller, you may need to explicitly
tell FreeBSD how many cylinders to use.
If you want to use the disk with FreeBSD and another operating
system, you may be able to do without a disk manager: just make sure
the the FreeBSD boot partition and the slice for the other
operating system are in the first 1024 cylinders. If you're
reasonably careful, a 20 megabyte boot partition should be plenty.
When I boot FreeBSD I get ``Missing Operating System''
This is classically a case of FreeBSD and DOS or some other OS
conflicting over their ideas of disk You will have to reinstall FreeBSD, but obeying the
instructions given above will almost always get you going.
I can't get past the boot manager's `F?' prompt.
This is another symptom of the problem described in the preceding
question. Your BIOS geometry and FreeBSD geometry settings do
not agree! If your controller or BIOS supports cylinder
translation (often marked as ``>1GB drive support''), try
toggling its setting and reinstalling FreeBSD.
I have >16MB of RAM. Will this cause any problems?
Apart from performance issues, no. FreeBSD 2.X comes with bounce
buffers which allow your bus mastering controller access to greater
than 16MB. (Note that this should only be required if you are using
ISA devices, although one or two broken EISA and VLB devices may
need it as well).
Also look at the section on if you have that much memory,
or if you're using a Compaq or other BIOS that lies about
the available memory.
Do I need to install the complete sources?
In general, no. However, we would strongly recommend that you
install, at a minimum, the ``. With the exception
of the kernel sources, our build structure is set up so that you
can read-only mount the sources from elsewhere via NFS and still
be able to make new binaries. (Because of the kernel-source
restriction, we recommend that you not mount this on
/usr/src directly, but rather in some other location
with appropriate symbolic links to duplicate the top-level
structure of the source tree.)
Having the sources on-line and knowing how to build a system with
them will make it much easier for you to upgrade to future
releases of FreeBSD.
To actually select a subset of the sources, use the Custom
menu item when you are in the Distributions menu of the
system installation tool. The src/install.sh script
will also install partial pieces of the source distribution,
depending on the arguments you pass it.
Do I need to build a kernel?
Building a new kernel was originally pretty much a required
step in a FreeBSD installation, but more recent releases have
benefited from the introduction of a much friendlier kernel
configuration tool. When at the FreeBSD boot prompt (boot:),
use the "-c" flag and you will be dropped into a visual
configuration screen which allows you to configure the kernel's
settings for most common ISA cards.
It's still recommended that you eventually build a new
kernel containing just the drivers that you need, just to save a
bit of RAM, but it's no longer a strict requirement for most
systems.
I live outside the US. Can I use DES encryption?
If it is not absolutely imperative that you use DES style
encryption, you can use FreeBSD's default encryption for even
Since the DES encryption algorithm cannot legally be exported
from the US, non-US users should not download this software (as
part of the There is however a replacement libcrypt available, based on
sources written in Australia by David Burren. This code is now
available on some non-US FreeBSD mirror sites. Sources for the
unencumbered libcrypt, and binaries of the programs which use it,
can be obtained from the following FTP sites:
ftp://ftp.internat.freebsd.org/pub/FreeBSDftp://storm.sea.uct.ac.za/pub/FreeBSDftp://ftp.iqm.unicamp.br/pub/FreeBSD
ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt
The non-US Non-US users should please not download any encryption software
from the USA. This can get the maintainers of the sites from
which the software is downloaded into severe legal difficulties.
A non-US distribution of Kerberos is also being developed, and
current versions can generally be obtained by anonymous FTP from
braae.ru.ac.za.
There is also a for the
discussion of non-US encryption software. For more information, send
an email message with a single line saying ``<majordomo@braae.ru.ac.za>.
The boot floppy starts but hangs at the ``Probing Devices...''
screen.
If you have a IDE Zip or Jaz drive installed, remove it and try again.
The boot floppy can get confused by the drives.
After the system is installed you can reconnect the drive. Hopefully
this will be fixed in a later release.
I get a ``panic: cant mount root'' error when rebooting the system after installation.
This error comes from confusion between the boot block's and the
kernel's understanding of the disk devices. The error usually
manifests on two-disk IDE systems, with the hard disks arranged as the
master or single device on separate IDE controllers, with FreeBSD
installed on the secondary IDE controller. The boot blocks think
the system is installed on wd1 (the second BIOS disk) while the kernel
assigns the first disk on the secondary controller device wd2. After
the device probing, the kernel tries to mount what the boot blocks
think is the boot disk, wd1, while it is really wd2, and fails.
To fix the problem, do one of the following:
At the Boot: prompt, enter
1:wd(2,a)kernel and press Enter. If the system starts, then
run the command
echo "1:wd(2,a)kernel" > /boot.config
to make it the default boot string.
Move the FreeBSD disk onto the primary IDE controller, so the
hard disks are consecutive.
modify the wd configuration lines to read:
controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
disk wd0 at wdc0 drive 0
# disk wd1 at wdc0 drive 1 # comment out this line
controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
disk wd1 at wdc1 drive 0 # change from wd2 to wd1
disk wd2 at wdc1 drive 1 # change from wd3 to wd2
Install the new kernel.
If you moved your disks and wish to restore the previous
configuration, replace the disks in the desired configuration and reboot.
Your system should boot successfully.
What are the limits for memory?
For memory, the (theoretical) limit is 4 gigabytes. One gigabyte
has been tested; you generally can't buy i386 PCs that can support
much more than that.
What are the limits for ffs filesystems?
For ffs filesystems, the maximum theoretical limit is 8 terabytes
(2G blocks), or 16TB for the default block size of 8K.
In practice, there is a soft limit of 1 terabyte, but with modifications
filesystems with 4 terabytes are possible (and exist).
The maximum size of a single ffs file is approximately 1G blocks
(4TB) if the block size is 4K.
maxfilesize
----------------------------------
2.2.7 3.0
fs block size -stable -current works should-work
------------- ------- -------- ----- -----------
4K 4T-1 4T-1 4T-1 4+T
8K 32+G 8T-1 32+G 16T-1
16K 128+G 16T-1 128+G 32T-1
32K 512+G 32T-1 512+G 64T-1
64K 2048+G 64T-1 2048+G 128T-1
When the fs block size is 4K, triple indirect blocks work and
everything should be limited by the maximum fs block number that can
be represented using triple indirect blocks (approx. 1K^3 + 1K^2 +
1K), but everything is limited by a (wrong) limit of 1G-1 on fs block
numbers. The limit on fs block numbers should be 2G-1. There are
some bugs for fs block numbers near 2G-1, but such block numbers are
unreachable when the fs block size is 4K.
For block sizes of 8K and larger, everything should be limited
by the 2G-1 limit on fs block numbers, but is actually limited by the
1G-1 limit on fs block numbers, except under -stable triple indirect
blocks are unreachable, so the limit is the maxiumum fs block number
that can be represented using double indirect blocks
(approx. (blocksize/4)^2 + (blocksize/4)), and under -current
exceeding this limit may cause problems. Using the correct limit of
2G-1 blocks does cause problems.
How can I put 1TB files on my floppy?
I keep several virtual ones on floppies :-). The maxiumum
file size is not closely related to the maximum disk size. The
maximum disk size is 1TB. It is a feature that the file size can be
larger than the disk size.
The following example creates a file of size 8T-1 using a
whole 32K of disk space (3 indirect blocks and 1 data block) on a
small root partition. The dd command requires a dd that works with
large files.
ttyv0:bde@alphplex:/tmp/q> cat foo
df .
dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1
ls -l z
du z
df .
ttyv0:bde@alphplex:/tmp/q> sh foo
Filesystem 1024-blocks Used Avail Capacity Mounted on
/dev/sd0a 64479 27702 31619 47% /
1+0 records in
1+0 records out
1 bytes transferred in 0.000187 secs (5346 bytes/sec)
-rw-r--r-- 1 bde bin 8796093022207 Sep 7 16:04 z
32 z
Filesystem 1024-blocks Used Avail Capacity Mounted on
/dev/sd0a 64479 27734 31587 47% /
ttyv0:bde@alphplex:/tmp/q> exit