Howto: Ipfire Installation als eine DomU

Dieses Howto soll zeigen wir der Ipfire in eine virtuelle Umgebung installiert werden kann.

Anlegen der Imagefile

Der folgende Befehl legt ein 4Gb großes Imagefile an, in welches wir den Fire installieren.

mkdir -p /srv/xen/ipfire/boot/
dd if=/dev/zero of=/srv/xen/ipfire.img oflag=direct bs=1M count=4096

HVM install

Es gibt nun 2 Möglichkeiten den Fire zu installieren. (Möglichkeit 2 kommt sobald ich Zeit habe) Wenn du eine aktuelle CPU besitzt, welche VT (Intel) oder Pacifica (AMD) kann, dann bevorzuge ich die HVM installation da man hier weniger von Hand machen muss.

Als erstes laden wir ein aktuelles Ipfire Iso herunter und legen eine HVM-Ipfire-Config-file an (Ich gehe davon aus, dass sich die Config sowie die Iso im Ipfire Verzeichnis befinden):

nano -w /srv/xen/ipfire-hvm.cfg
import os, re
arch = os.uname()[4]
if re.search('64', arch):
arch_libdir = 'lib64'
else:
arch_libdir = 'lib'
kernel = "/usr/lib/xen-default/boot/hvmloader"
builder='hvm'
memory = 256
name = "ipfire"
extra='console=xvc0 xencons=tty'
vcpus=1
pae=0
acpi=1
apic=1
vif = ['type=ioemu, mac=00:16:3E:BE:A1:9A, bridge=xenbrI','type=ioemu, mac=00:16:3E:BE:A1:8B, bridge=xenbrE','type=ioemu, mac=00:16:3E:BE:A1:8C, bridge=xenbrW','type=ioemu, mac=00:16:3E:BE:A1:8D, bridge=xenbrD']
disk = ['file:/srv/xen/ipfire/ipfire.img,hda,w','file:/srv/xen/ipfire/ipfire-2.3.i586-full-core28.iso,hdc:cdrom,r']
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'
device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'
boot="dc"
sdl=0
opengl=1
vnc=1
vnclisten="0.0.0.0"
vncdisplay=1
vncunused=1
stdvga=0
serial='pty'
keymap='de'

Ipfire starten und installieren

xm create /srv/xen/ipfire/ipfire-hvm.cfg

Nun verbindet man sich mit einem VNC client seiner Wahl (z.B. vncviewer unter X mit „vncviewer <ip-von-dom0>“) und folgt der Installationsroutine.

Bootreihenfolge ändern

Ipfire herunterfahren und Config anpassen.

nano -w /srv/xen/ipfire/ipfire-hvm.cfg

Dort „boot=dc“ in „boot=cd“ umändern und mit „xm create /srv/xen/ipfire/ipfire-hvm.cfg“ starten.

Kernel kopieren

Nachdem der Fire erfolgreich gestartet ist und soweit wie möglich über das Webgui konfiguriert ist, muss noch der Xen-Kernel installiert werden (in die Konsole eingeben oder im Webgui installieren).

pakfire update && pakfire install linux-xen

Anschliessend in die Konsole/Shell gehen und folgendes zum kopieren eingeben:

scp /boot/vmlinuz-2.6.27.21-ipfire-xen <ip-von-dom0>:/srv/xen/ipfire/boot/
scp /boot/ipfirerd-2.6.27.21.img <ip-von-dom0>:/srv/xen/ipfire/boot/

Neue Config erstellen

Nun erstellen wir eine neue Config mit der der Fire dann paravirtualisiert starten kann:

nano -w /srv/xen/ipfire/ipfire.cfg
kernel = "/srv/xen/ipfire/boot/vmlinuz-2.6.27.21-ipfire-xen"
ramdisk ="/srv/xen/ipfire/boot/ipfirerd-2.6.27.21.img"
memory = 512
name = "ipfire"
acpi=1
apic=1
vif = ['mac=00:16:3E:BE:A1:9A, bridge=xenbrI', 'mac=00:16:3E:BE:A1:8B, bridge=xenbrE', 'mac=00:16:3E:BE:A1:8C, bridge=xenbrW', 'mac=00:16:3E:BE:A1:8D, bridge=xenbrD']
disk = ['file:/srv/xen/ipfire/ipfire.img,xvda,w']
root = "/dev/xvda3"
vnc=1
extra =  'xencons=tty console=hvc0'

Ipfire-Xen starten

xm create -c /srv/xen/ipfire/ipfire.cfg
die “-c“ Option bewirkt, dass man eine Konsole sieht. Beenden kann man diese mit STRG-5

Wenn ich mich nicht vertippt habe, sollte der Fire so starten. Viel Spass damit.