Before installing FreeBSD you should attempt to inventory the components in your computer. The FreeBSD installation routines will show you the components (hard disks, network cards, CDROM drives, and so forth) with their model number and manufacturer. FreeBSD will also attempt to determine the correct configuration for these devices, which includes information about IRQ and IO port usage. Due to the vagaries of PC hardware this process is not always completely successful, and you may need to correct FreeBSD's determination of your configuration.
If you already have another operating system installed, such as Windows® or Linux, it is a good idea to use the facilities provided by those operating systems to see how your hardware is already configured. If you are not sure what settings an expansion card is using, you may find it printed on the card itself. Popular IRQ numbers are 3, 5, and 7, and IO port addresses are normally written as hexadecimal numbers, such as 0x330.
We recommend you print or write down this information before installing FreeBSD. It may help to use a table, like this:
Table 2-1. Sample Device Inventory
Device Name | IRQ | IO port(s) | Notes |
---|---|---|---|
First hard disk | N/A | N/A | 40 GB, made by Seagate, first IDE master |
CDROM | N/A | N/A | First IDE slave |
Second hard disk | N/A | N/A | 20 GB, made by IBM, second IDE master |
First IDE controller | 14 | 0x1f0 | |
Network card | N/A | N/A | Intel® 10/100 |
Modem | N/A | N/A | 3Com® 56K faxmodem, on COM1 |
... |
Once the inventory of the components in your computer is done, you have to check if they match the hardware requirements of the FreeBSD release you want to install.
If the computer you will be installing FreeBSD on contains valuable data, then ensure you have it backed up, and that you have tested the backups before installing FreeBSD. The FreeBSD installation routine will prompt you before writing any data to your disk, but once that process has started it cannot be undone.
If you want FreeBSD to use your entire hard disk, then there is nothing more to concern yourself with at this point -- you can skip this section.
However, if you need FreeBSD to co-exist with other operating systems then you need to have a rough understanding of how data is laid out on the disk, and how this affects you.
A PC disk can be divided into discrete chunks. These chunks are called partitions. Since FreeBSD internally also has partitions, the naming can become confusing very quickly, therefore these disk chunks are referred to as disk slices or simply slices in FreeBSD itself. For example, the FreeBSD utility fdisk which operates on the PC disk partitions, refers to slices instead of partitions. By design, the PC only supports four partitions per disk. These partitions are called primary partitions. To work around this limitation and allow more than four partitions, a new partition type was created, the extended partition. A disk may contain only one extended partition. Special partitions, called logical partitions, can be created inside this extended partition.
Each partition has a partition ID, which is a number used to identify the type of data on the partition. FreeBSD partitions have the partition ID of 165.
In general, each operating system that you use will identify partitions in a particular way. For example, DOS, and its descendants, like Windows, assign each primary and logical partition a drive letter, starting with C:.
FreeBSD must be installed into a primary partition. FreeBSD can keep all its data, including any files that you create, on this one partition. However, if you have multiple disks, then you can create a FreeBSD partition on all, or some, of them. When you install FreeBSD, you must have one partition available. This might be a blank partition that you have prepared, or it might be an existing partition that contains data that you no longer care about.
If you are already using all the partitions on all your disks, then you will have to free one of them for FreeBSD using the tools provided by the other operating systems you use (e.g., fdisk on DOS or Windows).
If you have a spare partition then you can use that. However, you may need to shrink one or more of your existing partitions first.
A minimal installation of FreeBSD takes as little as 100 MB of disk space. However, that is a very minimal install, leaving almost no space for your own files. A more realistic minimum is 250 MB without a graphical environment, and 350 MB or more if you want a graphical user interface. If you intend to install a lot of third-party software as well, then you will need more space.
You can use a commercial tool such as PartitionMagic®, or a free tool such as GParted, to resize your partitions and make space for FreeBSD. Both PartitionMagic and GParted are known to work on NTFS. GParted is available on a number of Live CD Linux distributions, such as SystemRescueCD.
Problems have been reported resizing Microsoft® Vista partitions. Having a Vista installation CDROM handy when attempting such an operation is recommended. As with all such disk maintenance tasks, a current set of backups is also strongly advised.
Warning: Incorrect use of these tools can delete the data on your disk. Be sure that you have recent, working backups before using them.
Example 2-1. Using an Existing Partition Unchanged
Suppose that you have a computer with a single 4 GB disk that already has a version of Windows installed, and you have split the disk into two drive letters, C: and D:, each of which is 2 GB in size. You have 1 GB of data on C:, and 0.5 GB of data on D:.
This means that your disk has two partitions on it, one per drive letter. You can copy all your existing data from D: to C:, which will free up the second partition, ready for FreeBSD.
Example 2-2. Shrinking an Existing Partition
Suppose that you have a computer with a single 4 GB disk that already has a version of Windows installed. When you installed Windows you created one large partition, giving you a C: drive that is 4 GB in size. You are currently using 1.5 GB of space, and want FreeBSD to have 2 GB of space.
In order to install FreeBSD you will need to either:
Backup your Windows data, and then reinstall Windows, asking for a 2 GB partition at install time.
Use one of the tools such as PartitionMagic, described above, to shrink your Windows partition.
If you intend to connect to a network as part of your FreeBSD installation (for example, if you will be installing from an FTP site or an NFS server), then you need to know your network configuration. You will be prompted for this information during the installation so that FreeBSD can connect to the network to complete the install.
If you connect to an Ethernet network, or you have an Internet connection using an Ethernet adapter via cable or DSL, then you will need the following information:
IP address
IP address of the default gateway
Hostname
DNS server IP addresses
Subnet Mask
If you do not know this information, then ask your system administrator or service provider. They may say that this information is assigned automatically, using DHCP. If so, make a note of this.
If you dial up to an ISP using a regular modem then you can still install FreeBSD over the Internet, it will just take a very long time.
You will need to know:
The phone number to dial for your ISP
The COM: port your modem is connected to
The username and password for your ISP account
Although the FreeBSD project strives to ensure that each release of FreeBSD is as stable as possible, bugs do occasionally creep into the process. On very rare occasions those bugs affect the installation process. As these problems are discovered and fixed, they are noted in the FreeBSD Errata, which is found on the FreeBSD web site. You should check the errata before installing to make sure that there are no late-breaking problems which you should be aware of.
Information about all the releases, including the errata for each release, can be found on the release information section of the FreeBSD web site.
The FreeBSD installation process can install FreeBSD from files located in any of the following places:
Local Media
A CDROM or DVD
A USB Memory Stick
A DOS partition on the same computer
A SCSI or QIC tape
Floppy disks
Network
An FTP site, going through a firewall, or using an HTTP proxy, as necessary
An NFS server
A dedicated parallel or serial connection
If you have purchased FreeBSD on CD or DVD then you already have everything you need, and should proceed to the next section (Section 2.3.7).
If you have not obtained the FreeBSD installation files you should skip ahead to Section 2.13 which explains how to prepare to install FreeBSD from any of the above. After reading that section, you should come back here, and read on to Section 2.3.7.
The FreeBSD installation process is started by booting your computer into the FreeBSD installer--it is not a program you run within another operating system. Your computer normally boots using the operating system installed on your hard disk, but it can also be configured to use a “bootable” floppy disk. Most modern computers can also boot from a CDROM in the CDROM drive or from a USB disk.
Tip: If you have FreeBSD on CDROM or DVD (either one you purchased or you prepared yourself), and your computer allows you to boot from the CDROM or DVD (typically a BIOS option called “Boot Order” or similar), then you can skip this section. The FreeBSD CDROM and DVD images are bootable and can be used to install FreeBSD without any other special preparation.
To create a bootable memory stick, follow these steps:
Acquire the Memory Stick Image
The memory stick image can be downloaded from the ISO-IMAGES/ directory from ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/ISO-IMAGES/version/FreeBSD-8.1-RELEASE-arch-memstick.img. Replace arch and version with the architecture and the version number which you want to install, respectively. For example, the memory stick images for FreeBSD/i386 8.1-RELEASE are available from ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.1/FreeBSD-8.1-RELEASE-i386-memstick.img.
The memory stick image has a .img extension. The ISO-IMAGES/ directory contains a number of different images, and the one you will need to use will depend on the version of FreeBSD you are installing, and in some cases, the hardware you are installing to.
Important: Before proceeding, back up the data you currently have on your USB stick, as this procedure will erase it.
Prepare the Memory Stick
Warning: The example below lists /dev/da0 as the target device from which you will be booting. Be very careful that you have the correct device as the output target, or you may destroy your existing data.
Set the kern.geom.debugflags
sysctl to be able to write a
master boot record to the target device.
# sysctl kern.geom.debugflags=16
Write the Image File to the Memory Stick
The .img file is not a regular file you copy to the memory stick. It is an image of the complete contents of the disk. This means that you cannot simply copy files from one disk to another. Instead, you must use dd(1) to write the image directly to the disk:
# dd if=FreeBSD-8.1-RELEASE-i386-memstick.img of=/dev/da0 bs=64k
To create boot floppy images, follow these steps:
Acquire the Boot Floppy Images
Important: Please note, as of FreeBSD 8.0, floppy disk images are no longer available. Please see above for instructions on how to install FreeBSD using a USB memory stick or just use a CDROM or a DVD.
The boot disks are available on your installation media in the floppies/ directory, and can also be downloaded from the floppies directory, ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/version-RELEASE/floppies/. Replace arch and version with the architecture and the version number which you want to install, respectively. For example, the boot floppy images for FreeBSD/i386 7.3-RELEASE are available from ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/7.3-RELEASE/floppies/.
The floppy images have a .flp extension. The floppies/ directory contains a number of different images, and the ones you will need to use depends on the version of FreeBSD you are installing, and in some cases, the hardware you are installing to. In most cases you will need four floppies, boot.flp, kern1.flp, kern2.flp, and kern3.flp. Check README.TXT in the same directory for the most up to date information about these floppy images.
Important: Your FTP program must use binary mode to download these disk images. Some web browsers have been known to use text (or ASCII) mode, which will be apparent if you cannot boot from the disks.
Prepare the Floppy Disks
You must prepare one floppy disk per image file you had to download. It is imperative that these disks are free from defects. The easiest way to test this is to format the disks for yourself. Do not trust pre-formatted floppies. The format utility in Windows will not tell about the presence of bad blocks, it simply marks them as “bad” and ignores them. It is advised that you use brand new floppies if choosing this installation route.
Important: If you try to install FreeBSD and the installation program crashes, freezes, or otherwise misbehaves, one of the first things to suspect is the floppies. Try writing the floppy image files to new disks and try again.
Write the Image Files to the Floppy Disks
The .flp files are not regular files you copy to the disk. They are images of the complete contents of the disk. This means that you cannot simply copy files from one disk to another. Instead, you must use specific tools to write the images directly to the disk.
If you are creating the floppies on a computer running MS-DOS®/Windows, then we provide a tool to do this called fdimage.
If you are using the floppies from the CDROM, and your CDROM is the E: drive, then you would run this:
E:\> tools\fdimage floppies\boot.flp A:
Repeat this command for each .flp file, replacing the floppy disk each time, being sure to label the disks with the name of the file that you copied to them. Adjust the command line as necessary, depending on where you have placed the .flp files. If you do not have the CDROM, then fdimage can be downloaded from the tools directory on the FreeBSD FTP site.
If you are writing the floppies on a UNIX® system (such as another FreeBSD system) you can use the dd(1) command to write the image files directly to disk. On FreeBSD, you would run:
# dd if=boot.flp of=/dev/fd0
On FreeBSD, /dev/fd0 refers to the first floppy disk (the A: drive). /dev/fd1 would be the B: drive, and so on. Other UNIX variants might have different names for the floppy disk devices, and you will need to check the documentation for the system as necessary.
You are now ready to start installing FreeBSD.