FreeBSD auf Alturo Rootserver

Alturo?

Alturo gibt es nicht mehr, trotzdem trifft das allermeiste dieser Anleitung auch auf andere Provider zu und sollte überall dort funktionieren, wo linux installiert und eine Swap-Partition >= 200 MB vorhanden ist... (Z.B. Hetzner, Strato (für Strato gibt es eine seperate Anleitung)
Ein rescue-system wird nicht benötigt, ist aber empfohlen

Voraussetzungen

IBM kompatibler PC mit FreeBSD ab Version 5, qemu als Emulator, das iso image der ersten FreeBSD Boot CD, gute FreeBSD Administrationskenntnisse, vi Grundkenntnisse.

Installation von FreeBSD auf einem Alturo Rootserver

ACHTUNG Was folgt ist die Beschreibung, wie ich auf meinem Alturo Server FreeBSD installiert habe. Bei dem Vorgang werden _ALLE_ Daten auf dem Alturo Server geloescht. Deswegen muessen alle wichtigen Daten vorher gesichert werden (auf einem anderen Rechner)!

1. Standardmaessig laeuft auf Alturo SUSE. /dev/hda2 ist eine Swap partition. Die kann man bedenkenlos loeschen. Also als root auf alturo

swapoff /dev/hda2

dann in /etc/fstab den entsprechenden Eintrag loeschen. Anschliessend mit

fdisk /dev/hda

die Partition loeschen. Dann eine 250MByte grosse Partition erstellen (primaere, nummer 2). Die Erweiterte Partition kann spaeter fuer FreeBSD genutzt werden. /dev/hda2' muss als FreeBSD Partition gekennzeichnet werden (a5 unter linux fdisk).

2. Ein temporaeres Image mit qemu erstellen. Unter BSD:

dd if=/dev/zero of=bsd.img bs=1024 count=200k

Das Iso-Image der CD sollte bereitstehen. Dann:

qemu -cdrom name_des_bsd_bootcd_images -hda bsd.img -boot d

3. BSD unter qemu installieren. Bei der Partitionierung ZWEI Partitionen anlegen. Die erste nur ein paar kb gross, die dient als Platzhalter, weil BSD spaeter auf Alturo von der 2. Partition booten muss. Die 2. wird also das BSD-Slice. Beim anschliessenden Zerteilen der Partition nur eine fuer / anlegen; die anderen waerden spaeter nachtraeglich hinzugefuegt. Bei Installationstyp minimal auswaehlen. Die Netzwerkkarte manuell (unter qemu ed0) mit der ip des alturo servers konfigurieren. gateway ist 10.255.255.1. den nameserver kriegt man unter der alturo suse installation mit cat /etc/resolv.conf (Wem das zu umständlich ist, kann selbstverständlich auch yast benutzen...) . Bei netzmaske wird von sysinstall nur 0.0.0.0 akzeptiert. Macht nichts, wird spaeter geaendert.
Achtung:neben dem root Account muss ein weiterer Account angelegt werden, weil root login ueber ssh per default deaktiviert ist. Der Benutzer muss noch der Gruppe wheel hinzugefuegt werden, sonst kann er spaeter su nicht benutzen.

4. Nachdem die Installation komplett ist, warten, bis das System neu bootet, dann den Emulator beenden und wie folgt neu starten:

qemu -hda bsd.img

Nachdem das system gebooted ist, als root einloggen. Folgende Dateien anpassen:

/etc/rc.conf : hier ed0 in rl0 aendern. ausserdem die netmask in 255.255.255.255 aendern Die Zeile sollte also z.B. so aussehen (IP aendern!)

ifconfig_rl0="inet 217.160.172.142  netmask 255.255.255.255"

/etc/rc.local : anlegen. Folgende Zeilen eintragen:

route delete -net 255.255.255.255
route add -host 10.255.255.1 -link rl0: -interface -expire 1
route add default 10.255.255.1

5. System runterfahren mit init 0, dann emulator beenden.

6. wir brauchen nur slice 2 vom image, also als root zu hause:

mdconfig -a -t vnode -f bsd.img

der Befehl gibt den namen des md devices aus, meistens md0, es sei denn es existiert schon eins., dann

dd if=/dev/md0s2 of=bsds2.img

Anschliessend 'mdconfig -d -u md0' (ggf. md0 durch md1, md2... ersetzen)

7. Kopieren des Images. ACHTUNG! Folgende Zeile zweimal pruefen, da bei einem Tippfehler der gesamte alturo server unbrauchbar werden kann.

bzip2 -cvv9 bsds2.img | ssh root@meinserver.de "bzip2 -cd > /dev/hda2"

(kann ne weile Dauern; meinserver.de natuerlich durch richtigen Servernamen ersetzen;) )

8. Lilo anpassen auf alturo unter suse. Also Editor der Wahl und in /etc/lilo.conf folgende Zeilen eingefuegt:

other=/dev/hda2
label=bsd

Ausserdem muss die Zeile default=lx auf default=bsd umgestellt werden. Dann speichern, anschliessend 'lilo' ausfuehren. Fehlermeldungen beachten und ggf. lilo.conf korrigieren.

Wichtig: Bevor die Installation von BSD fortgesetzt wird, muss der Eintrag auf default=bsd umgeaendert werden, da das Linux System nicht mehr gebooted werden kann, wenn die Installation komplett ist (und sich das System folglich bei einem erneuten Reboot aufhaengen wueurde).

9. Alturo neu booten, also init 6 oder shutdown -r now

10. Hoffen! Nach ca. 1-2 min. sollte sich der server wieder pingen lassen!

11. Jetzt NICHT sysinstall verwenden. Stattdessen mit fdisk slice 4 auf BSD umstellen und anschliessend bsdlabel -w /dev/ad0s4, dann bearbeiten mit bsdlabel -e /dev/ad0s4 (Beispiel hierfuer siehe weiter unten). Das geht leider nicht mit sysinstall, weil sich sysinstall weigert, Festplatten zu aendern, von denen Partitionen gemountet sind.

12. Partitionen mit newfs auf /dev/ad0s4a usw. anlegen und Softupdates aktivieren

tunefs -n enable /dev/ad0s4a

13. Partitionen temporaer mounten, z.b. unter /root/usr, dann alles von /usr nach /root/usr kopieren. ACHTUNG! wichtig ist, dass cp die attribute etc. mitkopiert, sonst ist das su Kommando nicht suid root, und nach einem reboot kann man sich nicht mehr als root einloggen;( (also cp -Rp)

14. Partitionen in /etc/fstab einfuegen. Anschliessend alle Partitionen ausser / unmounten, original /usr, /home, /var, /tmp unbenennen und mit 'mount /usr', ... mounten. Danach koennen die alten /usr,... geloescht werden, um Platz auf der rootpartition freizumachen

15. Gratulation! FreeBSD ist nun installiert! Weitere Programme mit pkg_add -r PAKET hinzufuegen. Manpages mit sysinstall hinzufuegen.

Dateien

Meine Eintraege in rc.conf:

# -- sysinstall generated deltas -- # Wed Sep 21 13:12:44 2005
# Created: Wed Sep 21 13:12:44 2005
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
defaultrouter="10.255.255.1"
hostname="hcesperer.org"
ifconfig_rl0="inet 217.160.172.142  netmask 255.255.255.255"
sshd_enable="YES"

Meine Entraege unter 'bsdlabel -e /dev/ad0s4':

# /dev/ad0s4:
8 partitions:
#  size     offset   fstype [fsize bsize bps/cpg]
a: 16777202 16       4.2BSD 2048   16384 28552
c: 75272400 0        unused 0 0              # "raw" part, don't edit
d: 4194302  16777218 4.2BSD 2048   16384 28552
e: 524288   20971520 4.2BSD 2048   16384 32776
f: 53776592 21495808 4.2BSD 2048   16384 28552

/etc/fstab :

# Device    Mountpoint FStype Options   Dump Pass#
/dev/ad0s2a /          ufs    rw        1    1
/dev/ad0s4a /usr       ufs    rw        2    2
/dev/ad0s4d /var       ufs    rw        2    2
/dev/ad0s4e /tmp       ufs    rw,nosuid 2    2
/dev/ad0s4f /home      ufs    rw,nosuid 2    2
/dev/acd0   /cdrom     cd9660 ro,noauto 0    0


Anmerkungen

Die Anleitung ist aus dem Gedaechtnis rekonstruiert, und obwohl ich sie mehrmals genau kontrolliert habe, kann ich Fehler nicht vollstaendig ausschliessen.

Nach erfolgter Installation kann die 4. primaere Partition geloescht und neu erstellt werden, um den Freigewordenen Platz zwischen 2. und 4. Partition mitnutzen zu koennen.

Die 1. Partition darf nicht geloescht werden, da lilo sonst nicht mehr booten kann. Ich weiss, es sind 512MB verschwendet. Es ist moeglich dass man mit boot0cfg einen funktionierenden MBR schreiben kann und dann die 1. Partition nutzen kann, ich werde es aber nicht ausprobieren;) Wenn es jemand geschafft hat, kann er gerne seine Vorgehensweise hier ergaenzen.

17.Dec: Zur Netzwerkkarte: habe erfahren, dass ausser realtek Karten auch noch andere Karten zum Einsatz kommen. Also unter Linux mit dmesg die Karte raussuchen und statt rl0 ggf. den entsprechenden Kuerzel fuer die passende Karte an den entsprechenden Stellen in /etc/rc.conf und /etc/rc.local einsetzen.

Swap: Swap ist tödlich für jeden Server. Wer aber trotzdem unbedingt einen Swapfile/eine Swappartition anlegen will, kann genaueres im FreeBSD Handbuch nachlesen. Einen guten Artikel zum Thema Swap gibt's in der OpenBSD Installationsanleitung.

Anmerkung: Die Installation ist ohne folgende Anweisung nicht komplett (-:

dmesg | sendmail `echo hcathcespererdotorg | sed 's/at/@/' | sed 's/dot/./'`

http://www.hcesperer.org/howtos/fbsd_alturo.html

dmesg -- Tägliches Backup! -- Howtos


Text (C) 2005-2006, H. Ch. Esperer. Lizenziert unter der GNU FDL. Die letzten drei Paragraphen (ab "Anmerkung: Wenn die Installation komplett..." bis einschließlich zur URI) sind unveränderliche Abschnitte.

www.hcesperer.org -- Impressum
$Id: fbsd_alturo.html 147 2008-05-21 10:38:44Z hc $