Prerequisites
For the installation of FreeBSD you need the following software on your system:
* SSH-client (e.g. OpenSSH / PuttY)
Start FreeBSD Live System
Start the FreeBSD Live-System, see: About the FreeBSD Live-System (RescueSystem)
Log in to your server via SSH. Before starting the installation be careful that you have an updated backup of your server.
Usually all data will be deleted at the installation.
Hint: On 64bit systems the 64bit RescueSystem will always be started by default. On this system an installation in 32 and 64bit is possible.
Starting the installation
The FreeBSD installation tool Sysinstall causes some problems, so we recommend that you run the installation manually.
Preparation of the hard drives
It's important for the installation that the system knows the existing hard drives. You can check this with the following command:
# ls -1 /dev/ad* /dev/da* /dev/twed* /dev/aacd* | grep -E '[a-z]{2}[0-9]+$'
/dev/ad8
/dev/ad10
To get more information about the hard drives, you can use dmesg:
# dmesg | grep ad8
ad8: 1430799MB <Seagate ST31500341AS CC1H> at ata4-master UDMA100 SATA 3Gb/s
# dmesg | grep ad10
ad10: 1430799MB <Seagate ST31500341AS CC1H> at ata5-master UDMA100 SATA 3Gb/s
Here are 2 SATA2 hard disks with 1.5 TB installed on the server. (ad8 and ad10).
This intstruction describes the installation of a hard drive with the designation "ad8". You have to replace this designation with the name of your hard drive.
Now the hard drives have to be formatted:
# gpart show
# gpart delete -i 1 ad8
# gpart destroy ad8
# gpart create -s mbr ad8
# gpart add -t freebsd -i 1 ad8
Creating the partitions with bsdlabel:
# bsdlabel -wB /dev/ad8s1
# bsdlabel -e /dev/ad8s1
# /dev/ad8s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: * 16 4.2BSD 0 0
b: 4G * swap 0 0
c: * 0 unused 0 0 # raw part, don't edit
Example-Label (4GB swap-Slice, rest for /):
This is the most simple kind of an example label. If you want to partitionize your hard disk otherwise, be careful that your partitions will be provided with the filesystem and mounted correctly. You have to customize your fstab accordingly.
Create the BSD filesystem:
#newfs -U -O2 /dev/ad8s1a
Mount the partitions:
#mount /dev/ad8s1a /mnt
Downloading the installation files:
#cd /mnt
#mkdir /mnt/install
#cd install
#mkdir kernels base
You can freely choose your FreeBSD version. Open your browser using the following address:
ftp://ftp.de.freebsd.org/pub/FreeBSD/releases/i386/
The 64bit versions are located in the directory /pub/FreeBSD/releases/amd64/
Choose your desired version.
Now before downloading you have to choose the corresponding folder.
For a minimal installation you need the folders "Base" and "Kernels".
Hint: Older versions can be found in the FreeBSD Archives under:
ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/
Alternative: ftp.fi.freebsd.org/pub/FreeBSD/releases/i386/7.1-RELEASE/
Example FreeBSD 8.1:
#ftp ftp.de.freebsd.org
freebsdrescue# ftp ftp.de.freebsd.org
Trying 213.83.42.56...
Connected to ftp.plusline.net.
220 ProFTPD 1.3.1 Server (FTP Plus.line AG) [::ffff:213.83.42.56]
Name (ftp.de.freebsd.org:root): anonymous
331 Anonymous login ok, send your complete email address as your password
Password: 1234
#cd /pub/FreeBSD/releases/i386/8.1-RELEASE/
# mget base base/
mget base/base.bh [anpqy?]? a
#mget kernels kernels/
mget kernels/kernels.bh [anpqy?]? A
#exit
Example Free BSD 7.1:
#ftp ftp-archive.freebsd.org
user: anonymous
#cd /pub/FreeBSD-Archive/old-releases/i386/7.1-RELEASE/
# mget base base/
mget base/base.bh [anpqy?]? a
#mget kernels kernels/
mget kernels/kernels.bh [anpqy?]? A
#exit
Installation of the basic system:
You have to set the environment variable for the installation directory, so the system can be installed on your hard drive.
#setenv DESTDIR /mnt
Now the setup files are made executable and are executed after that:
#cd /mnt/install/base
#chmod +x install.sh
#./install.sh
#cd /mnt/install/kernels
#chmod +x install.sh
#./install.sh GENERIC
The kernel is in the folder "GENERIC". The content of the folder must be copied to /mn/boot/kernel so the bootloader can find the kernel:
#mv /mnt/boot/GENERIC/* /mnt/boot/kernel/
#rmdir /mnt/boot/GENERIC
Configuration of the system:
Installation of the Bootloader:
#boot0cfg -B /dev/ad8
Hint: Make sure that you use the correct designation of your hard drives.
The file fstab must be created in /etc, so the slices are correctly mounted during the booting process. If you want to setup a software Raid, you can skip this step!
#vi /mnt/etc/fstab
dev/ad8s1a / ufs rw 1 1
dev/ad8s1b none swap sw 0 0
Example fstab
Activate the SSH root login:
#vi /mnt/etc/ssh/sshd_config
Here the line "#PermitRootLogin no" must be edited:
PermitRootLogin yes
(Do not forget to delete the #, so this line isn't a comment anymore)
Setting the nameserver in the resolv.conf:
#vi /mnt/etc/resolv.conf
search blue.kundencontroller.de
nameserver 85.31.184.61
nameserver 85.31.184.60
nameserver 85.31.185.61
nameserver 85.31.185.60
In rc.conf the configuration of the network interface is set up and SSH is activated.
Find out of the designation of the network card:
# ifconfig
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSU
M,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
inet 91.143.80.107 netmask 0xffffff00 broadcast 91.143.80.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
In this case the network card is "re0"
#vi /mnt/etc/rc.conf
#!/bin/sh
ifconfig_re0="inet XXX.XXX.XXX.XXX netmask 255.255.255.0"
sshd_enable="YES"
defaultrouter="XXX.XXX.XXX.XXX"
fsck_y_enable="YES"
background_fsck="NO"
Replace "re0" with the designation of your network card.
Important: XXX.XXX.XXX.XXX has to be replaced with the IP address of your server.
The information for the IP address, the network mask and defaultrouter (Default-Gateway) can be found under your server data in the customer center.
Changing the root password:
#cd /mnt
#chroot .
#passwd
#exit
So the installation of your FreeBSD system is finished. If you want to set up a software raid 1, proceed with the next section. Otherwise you can now unmount your file systems.
e.g.
#cd /
#umount /mnt
Optional: Setting up a Software Raid 1
the following points are necessary, if you want to set up a software Raid:
#echo geom_mirror_load="YES" > /mnt/boot/loader.conf
#vi /mnt/etc/fstab
dev/mirror/gm0s1a / ufs rw 1 1
dev/mirror/gm0s1b none swap sw 0 0
proc /proc procfs rw 0 0
Example fstab for a Software Raid 1
#cd /
#umount /mnt
#sysctl kern.geom.debugflags=16
#gmirror label -vb round-robin gm0 ad8
#gmirror load
#gmirror insert gm0 ad10
Check the raid:
# gmirror status
Name Status Components
mirror/gm0 DEGRADED ad8
ad10 (0%)
After all configuation steps have been finished, you have to deactivate the FreeBSD LiveSystem und wait a little (5 minutes). Now restart the server via "reboot".
A few minutes later your server should be reachable via SSH and you can log in with "root" and the password you have set before.
If that works, you can restart the Rescue System. Mount your partitions (e.g. mount /dev/ad8s1a /mnt) and check the configuration of the system.
If your system is booting and everything works, you can delete the installation sources:
# rm -rf /install
Frequently Asked Questions
Q: During the mounting of the partitions the error message "Operation not permitted" appears
A: Check and repair the file system:
# fsck -t ufs -y /dev/ad8s1a
Q: Can I install FreeBSD version X.Y with this instruction?
A. This instruction was tested with the versions 7.1 and 8.1. Theoretically you can install each version, which is offered by download on the FreeBSD FTP servers.