Manual Installation FreeBSD/en

Aus EUserv Wiki

Wechseln zu: Navigation, Suche

Installing FreeBSD on my root server

Inhaltsverzeichnis

Installing FreeBSD on my root 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 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 (an dieser Stelle ist es egal, was man hineinschreibt)

# 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.


z.B.

# 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.