ID #1390

How do I install FreeBSD on my dedicated server ?

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 WWW- und FTP-Servern im Internet abzurufen. Bekannte Browser sind Netscape Navigator, Microsoft Internet Explorer, Opera und Mosaic.">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.

Tags: BSD, dedicated server, FBSD, FreeBSD

Verwandte Artikel:

Kommentieren nicht möglich