Lets say we want to add a new SCSI disk to a machine that currently only has a single drive. First turn off the computer and install the drive in the computer following the instructions of the computer, controller, and drive manufacturer. Due to the wide variations of procedures to do this, the details are beyond the scope of this document.
Login as user root
. After you have installed the
drive, inspect /var/run/dmesg.boot
to ensure the new
disk was found. Continuing with our example, the newly added drive will
be da1
and we want to mount it on
/1
(if you are adding an IDE drive, the device name
will be ad1
).
FreeBSD runs on IBM-PC compatible computers, therefore it must
take into account the PC BIOS partitions. These are different
from the traditional BSD partitions. A PC disk has up to four
BIOS partition entries. If the disk is going to be truly
dedicated to FreeBSD, you can use the
dedicated mode. Otherwise, FreeBSD will
have to live within one of the PC BIOS partitions. FreeBSD
calls the PC BIOS partitions slices so as
not to confuse them with traditional BSD partitions. You may
also use slices on a disk that is dedicated to FreeBSD, but used
in a computer that also has another operating system installed.
This is a good way to avoid confusing the fdisk
utility of
other, non-FreeBSD operating systems.
In the slice case the drive will be added as
/dev/da1s1e
. This is read as: SCSI disk,
unit number 1 (second SCSI disk), slice 1 (PC BIOS partition 1),
and e
BSD partition. In the dedicated
case, the drive will be added simply as
/dev/da1e
.
Due to the use of 32-bit integers to store the number of sectors, bsdlabel(8) is limited to 2^32-1 sectors per disk or 2TB in most cases. The fdisk(8) format allows a starting sector of no more than 2^32-1 and a length of no more than 2^32-1, limiting partitions to 2TB and disks to 4TB in most cases. The sunlabel(8) format is limited to 2^32-1 sectors per partition and 8 partitions for a total of 16TB. For larger disks, gpt(8) partitions may be used.
Navigating Sysinstall
You may use sysinstall
to
partition and label a new disk using its easy to use menus.
Either login as user root
or use the
su
command. Run
sysinstall
and enter the
Configure
menu. Within the
FreeBSD Configuration Menu
, scroll down and
select the Fdisk
option.
fdisk Partition Editor
Once inside fdisk, typing A
will
use the entire disk for FreeBSD. When asked if you want to
„remain cooperative with any future possible operating
systems”, answer YES
. Write the
changes to the disk using W
. Now exit the
FDISK editor by typing q
. Next you will be
asked about the „Master Boot Record”. Since you are adding a
disk to an already running system, choose
None
.
Disk Label Editor
Next, you need to exit sysinstall
and start it again. Follow the directions above, although this
time choose the Label
option. This will
enter the Disk Label Editor
. This
is where you will create the traditional BSD partitions. A
disk can have up to eight partitions, labeled
a-h
.
A few of the partition labels have special uses. The
a
partition is used for the root partition
(/
). Thus only your system disk (e.g,
the disk you boot from) should have an a
partition. The b
partition is used for
swap partitions, and you may have many disks with swap
partitions. The c
partition addresses the
entire disk in dedicated mode, or the entire FreeBSD slice in
slice mode. The other partitions are for general use.
sysinstall's Label editor
favors the e
partition for non-root, non-swap partitions. Within the
Label editor, create a single file system by typing
C
. When prompted if this will be a FS
(file system) or swap, choose FS
and type in a
mount point (e.g, /mnt
). When adding a
disk in post-install mode, sysinstall
will not create entries
in /etc/fstab
for you, so the mount point
you specify is not important.
You are now ready to write the new label to the disk and
create a file system on it. Do this by typing
W
. Ignore any errors from
sysinstall that
it could not mount the new partition. Exit the Label Editor
and sysinstall completely.
Finish
The last step is to edit /etc/fstab
to add an entry for your new disk.
This setup will allow your disk to work correctly with
other operating systems that might be installed on your
computer and will not confuse other operating systems'
fdisk
utilities. It is recommended
to use this method for new disk installs. Only use
dedicated
mode if you have a good reason
to do so!
#
dd if=/dev/zero of=/dev/da1 bs=1k count=1
#
fdisk -BI da1
#Initialize your new disk#
bsdlabel -B -w -r da1s1 auto
#Label it.#
bsdlabel -e da1s1
# Edit the bsdlabel just created and add any partitions.#
mkdir -p /1
#
newfs /dev/da1s1e
# Repeat this for every partition you created.#
mount /dev/da1s1e /1
# Mount the partition(s)#
vi /etc/fstab
# Add the appropriate entry/entries to your/etc/fstab
.
If you have an IDE disk, substitute ad
for da
.
If you will not be sharing the new drive with another operating
system, you may use the dedicated
mode. Remember
this mode can confuse Microsoft operating systems; however, no damage
will be done by them. IBM's OS/2® however, will
„appropriate” any partition it finds which it does not
understand.
#
dd if=/dev/zero of=/dev/da1 bs=1k count=1
#
bsdlabel -Brw da1 auto
#
bsdlabel -e da1
# create the `e' partition#
newfs -d0 /dev/da1e
#
mkdir -p /1
#
vi /etc/fstab
# add an entry for /dev/da1e#
mount /1
An alternate method is:
#
dd if=/dev/zero of=/dev/da1 count=2
#
bsdlabel /dev/da1 | bsdlabel -BrR da1 /dev/stdin
#
newfs /dev/da1e
#
mkdir -p /1
#
vi /etc/fstab
# add an entry for /dev/da1e#
mount /1
All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.