Anleitung: FreeBSD 6.0/amd64 auf Hetzner-Server

Björn König

Well-Known Member
Hallo,

ich musste mühselig herumtüfteln um FreeBSD 6.0/amd64 auf einem Server bei Hetzner installieren zu können. Falls das also jemand noch eventuell vor sich hat, dann will ich meinen Weg nicht vorenthalten:

Voraussetzung ist entweder eine eRIC-II-Konsole (kostet 29 EUR monatl.) oder wenn man lieb und nett darum im RZ bittet, bekommt man auch für ein paar Studen 'ne Peppercon LARA zur Verfügung gestellt. Ansonsten braucht man nur 'nen ganz normalen Server aus Hetzners Produktpalette.

Als erstes aktiviert man über die Hetzner-Verwaltung ein Rettungssystem und bootet es. Man meldet sich mit dem Kennwort an, das man auf der Webseite erhalten hat und führt dann folgende Befehle aus:
Code:
wget http://alpha-tierchen.de/dateien/boot.img.gz
gzip -d boot.img.gz
dd < boot.img > /dev/hda
Alternativ könnte auch "zcat boot.img.gz > /dev/hda" klappen, aber ich mag 'cat' irgendwie nicht, wenn ich auf Festplatten herumpfusche. :D

Dann startet man den Rechner neu und es wird ein FreeBSD 5.4 Kernel und sysinstall geladen. Ich persönlich bevorzuge die Installation über das "Custom"-Menü. Dort muss zuerst im Optionsmenü die gewünschte Version eingetragen werden, z.B. "6.0-BETA2". Anschließend setzt man die Installation wie gewohnt fort. Man muss nur darauf achten, dass das bei den Optionen eingetragene Release auf dem gewählten FTP-Server auch tatsächlich zur Verfügung steht; ich hatte mir für 6.0-BETA2 die disc1 heruntergeladen und in ein Verzeichnis per mdconfig und mount_cd9660 gemountet und so von einem eigenen FTP-Server zur Verfügung stellt; geht notfalls auch von zu Hause aus. Falls man sogar wie ich die amd64-Version installieren möchte, kommt man gar nicht darum herum, manuell einen FTP-Server anzugeben, da er sonst selbstständig eine i386-Version installieren würde; der Pfad, den man dann zur Installation angeben muss, lautet dann z.B. "ftp://ftp.blablabla.de/pub/FreeBSD/releases/amd64/6.0-BETA2".

Bei der Installation wird nun das Installations-Floppyimage mit dem neuen System überschrieben, so dass man bei einer erneuten Installation wieder über das Rettungssystem gehen muss und eine Konsole benötigt.

Nach der Installation wird man gefragt, ob man noch weitere Konfiguration durchführen will, aber das sollte man vermeiden und alles im gebooteten System erledigen, da eine 5.4/i386-Installation geladen ist und beim Versuch ein 6.0/amd64-System zu konfigurieren es schöne Fehlermeldungen hagelt. Ich habe auch das root-Kennwort erst später gesetzt.

Das war's auch schon. :ugly:

Gruß Björn
 
Maledictus schrieb:
Viel Dank Björn!
Verrätst du auch, was genau in dem boot.img drinsteckt?
Ein 2880k-Floppy-Image, das aus den Boot-Disketten aus dem /floppies-Verzeichnis vom FTP zusammengewürfelt wurde, mit einem kleingemachten Kernel, der nur das nötigtste mitbringt.

Björn
 
Das Image stammt aus dem floppies auf Ordner, welcher auf jeder FreeBSD CD enthalten ist. Auf dem FTP habe ich nur die kleineren Images finden können.
 
Das sollten alle die gleichen CDs/Images sein. Lehmanns & Co verwenden auch nur die Release-Images welche auch auf den FTPs zu finden sind.
 
cheasy schrieb:
Dankeschön! Nur noch eine Frage: wie hast Du das Floppy-Image gebaut?
Code:
dd if=/dev/zero of=boot.img count=2880 bs=1k
md=`mdconfig -a -f boot.img`
disklabel -w -B $md
newfs -O1 -i 8192 -o space -m 0 /dev/${md}a
if=/boot/mbr of=/dev/$md > /dev/null
mnt=bla
mkdir $mnt
mount /dev/${md}a $mnt
cp -r floppy/* $mnt/
umount $mnt
rm -r $mnt
mdconfig -d -u $md
Das ist im verwendeten Verzeichnis floppy/:
Code:
# find . -type f
./boot/defaults/loader.conf.gz
./boot/loader.conf
./boot/loader.rc
./boot/screen.4th.gz
./boot/loader.help.gz
./boot/frames.4th.gz
./boot/device.hints.gz
./boot/loader.4th.gz
./boot/loader
./boot/support.4th.gz
./mfsroot.gz
./kernel.gz
Kernel selbst bauen, die Datei ist z.B. in /usr/obj/usr/src/sys/${KERNCONF}/kernel; man muss sie mit "strip kernel" entkleiden und dann mit "gzip -9 kernel" klein machen. mfsroot.gz und den Rest aus dem boot-Verzeichnis bekommt man von dem Floppy-Image /floppies/boot.flp von der CD disc1 oder vom FTP.

Komplizierter wird's erst, wenn man ein eigenes mfsroot haben möchte. Demjenigen empfehle ich sich mit dem Werkzeug crunchgen aus dem Basissystem auseinanderzusetzen und auch /usr/src/release/i386/boot_crunch.conf angucken. Damit wird ein einziges dickes Binary erzeugt, das viele Programme enthält, z.B. ln, ls, mount, ifconfig, sysinstall usw.; die lassen sich dann mit "dickesbinary ls -l" oder "dickesbinary ifconfig" aufrufen. Aber das ist hier nicht notwendig.

Gruß Björn
 
Zuletzt bearbeitet:
wo bindet sich den auf dem rootserver das Hetzner-Verwaltung ein Rettungssystem?
ist das nach dem umsetzen des Howtos noch da? Gehts auch ohne Peppercon LARA und eRIC ?
Ps:ich habe dort noch kein server aber ich beabsichtige mir eins zu hollen.
 
du kannst bei hetzner in einem onlinerobot den rescue-boot beantragen.
der server wird dann neugestartet und läuft mit einem debian minimalsystem im ram.
damit kannst du die fertigen distributionspakete von einem nfs-server installieren oder mit dem richtigen wissen halt auch gentoo oder bsd installieren.

ps:
ich habe mir letzten monat einen ds3000 gegönnt.
bin also auch noch neu bei hetzner.
aber ich "durfte" schon bekanntschaft mit dem rescue system machen ^^.
 
In etwa so? (DS5000)
Code:
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD 6.1-RELEASE-p10 #0: Tue Oct 17 12:07:09 CEST 2006
    root@rivendell.desktopbsd.net:/usr/obj/usr/src/sys/RIVENDELL
ACPI APIC Table: <VIAK8T AWRDACPI>
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Athlon(tm) 64 Processor 3800+ (2399.75-MHz K8-class CPU)
  Origin = "AuthenticAMD"  Id = 0x20ff2  Stepping = 2
  Features=0x78bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2>
  Features2=0x1<SSE3>
  AMD Features=0xe2500800<SYSCALL,NX,MMX+,FFXSR,LM,3DNow+,3DNow>
  AMD Features2=0x1<LAHF>
real memory  = 2146369536 (2046 MB)
avail memory = 2065084416 (1969 MB)
ioapic0 <Version 0.3> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <VIAK8T AWRDACPI> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <VIA K8T800Pro host to PCI bridge> mem 0xf0000000-0xf7ffffff at device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
re0: <RealTek 8169SB Single-chip Gigabit Ethernet> port 0xe000-0xe0ff mem 0xfc021000-0xfc0210ff irq 16 at device 13.0 on pci0
miibus0: <MII bus> on re0
rgephy0: <RTL8169S/8110S media interface> on miibus0
rgephy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseTX, 1000baseTX-FDX, auto
re0: Ethernet address: 00:16:17:92:b4:c5
atapci0: <VIA 6420 SATA150 controller> port 0xe100-0xe107,0xe200-0xe203,0xe300-0xe307,0xe400-0xe403,0xe500-0xe50f,0xe600-0xe6ff irq 20 at device 15.0 on pci0
ata2: <ATA channel 0> on atapci0
ata3: <ATA channel 1> on atapci0
atapci1: <VIA 8237 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xe700-0xe70f at device 15.1 on pci0
ata0: <ATA channel 0> on atapci1
ata1: <ATA channel 1> on atapci1
uhci0: <VIA 83C572 USB controller> port 0xe800-0xe81f irq 21 at device 16.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0xe900-0xe91f irq 21 at device 16.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <VIA 83C572 USB controller> port 0xea00-0xea1f irq 21 at device 16.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: <VIA 83C572 USB controller> on uhci2
usb2: USB revision 1.0
uhub2: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3: <VIA 83C572 USB controller> port 0xeb00-0xeb1f irq 21 at device 16.3 on pci0
uhci3: [GIANT-LOCKED]
usb3: <VIA 83C572 USB controller> on uhci3
usb3: USB revision 1.0
uhub3: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0: <VIA VT6202 USB 2.0 controller> mem 0xfc020000-0xfc0200ff irq 21 at device 16.4 on pci0
ehci0: [GIANT-LOCKED]
usb4: EHCI version 1.0
usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3
usb4: <VIA VT6202 USB 2.0 controller> on ehci0
usb4: USB revision 2.0
uhub4: VIA EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
isab0: <PCI-ISA bridge> at device 17.0 on pci0
isa0: <ISA bus> on isab0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
orm0: <ISA Option ROMs> at iomem 0xc0000-0xc97ff,0xcc000-0xccfff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 2399752649 Hz quality 800
Timecounters tick every 1.000 msec
Fast IPsec: Initialized Security Association Processing.
ad4: 286168MB <SAMSUNG HD300LJ ZT100-12> at ata2-master SATA150
GEOM_MIRROR: Device gm0 created (id=3192911706).
GEOM_MIRROR: Device gm0: provider ad4 detected.
ad6: 286168MB <SAMSUNG HD300LJ ZT100-12> at ata3-master SATA150
GEOM_MIRROR: Device gm0: provider ad6 detected.
GEOM_MIRROR: Device gm0: provider ad6 activated.
GEOM_MIRROR: Device gm0: provider ad4 activated.
GEOM_MIRROR: Device gm0: provider mirror/gm0 launched.
Trying to mount root from ufs:/dev/mirror/gm0s1a
DS3000 sieht ähnlich aus, nur halt weniger RAM.
 
Zuletzt bearbeitet:
Gibt's dazu ein How-To?

Wäre auch an einem Hetzner Root interessiert aber nur mit BSD. Und ich hab leider nich die Zeit, dass alles selber rauszufinden...
 
Der einfachere Weg kostet 25 Euro: eine Peppercon Lara am Server und eine Installations-CD im Laufwerk. Die CDs hat Hetzner vorrätig -- einfach die Admins im RZ anrufen und bittebitte sagen. Allerdings dauert es eine Weile, bis eine Lara freiwird.
 
Hallo,

hat jemand zufällig das Image für die Version 6.2 von FreeBSD oder läßt sich das nach der Installation ganz trivial updaten problemlos? Hatte vor Urzeiten mit dieser Anleitung hier erfolgreich die 6.0 auf den Hetzner übrigens installiert, dafür schonmal danke!

Stehe jetzt wieder vor dieser Aufgabe und dachte dass ein bereits fertiges 6.2er Diskimage Arbeit spart.

Grüße
-act
 
hi leute!
hat jemand schon freebsd 7 auf den hetzner rechnern zum laufen gebracht? könnte man nicht mal versuchen, hetzner ein entsprechendes ISO für freebsd zu geben, damit die auch freebsd anbieten können? das wäre wirklich der hammer, weil aktuell finde ich es inakzeptabel, nur linux zur wahl zu haben...
 
Hetzner legt dir gern eine FreeBSD 7.0 CD ins Laufwerk und stellt für die Zeit der Installation eine Lara zur Verfügung. Wenn man nett fragt, machen sie es sogar kostenlos :)
 
Zurück
Oben