Wie es in der Anleitung gesagt wurden, der einfachste Weg geht über eine "Net-inst-CD"
Den Hinweis über "debootstrap" wird erst relevant wenn z.B. ein Webserver im virtuellen Netz betrieben werden soll
Fli4l braucht für PPPoE direkten Zugriff auf eine Netzwerkkarte .
Sie muss vor Xen versteckt werden.
Das wird durch einen Eintrag in der /boot/grub/menu.lst erreicht.
Um diesen Eintrag zu erstellen ist die PCI-Nummer der Karte nötig.
Diese wird mit dem Befehl "lspci" ermittelt:
xen-dom0:~# lspci 0000:00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03) 0000:00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03) 0000:00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02) 0000:00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01) 0000:00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01) 0000:00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02) 0000:00:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS) 0000:00:0e.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 74) 0000:00:10.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 74) 0000:01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G200 AGP (rev 03) xen-dom0:~#
Die Karte die von mir verwendet wird ist eine 'Realtek 8029', der siebte Eintrag lautet:
0000:00:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS)
Von dieser Zeile wird die vordere Nummer benötigt: "0000:00:0c.0"title Xen 2.0.7 root (hd0,0) kernel /xen.gz dom0_mem=64000 physdev_dom0_hide='(00:0c.0)' module /vmlinuz-2.6-xen0 root=/dev/hd.. ro console=tty0 max_loop=16
(Der Eintrag "root=/dev/hd.." muss angepasst werden)
Wichtig ist hier der Eintrag physdev_dom0_hide='(00:0c.0)' in der Zeile "kernel"
Beim erneuten Booten wird die Karte nicht mehr gelistet.
Nun wird die Konfigurationsdatei für fli4l erzeugt und angepasst.
In dem Verzeichnis "/etc/xen" befinden sich Vorlagen, diese kopieren:
xen-dom0:~# cp /etc/xen/xmexample1 /etc/xen/fli4l xen-dom0:~#
Es wird davon ausgegangen die fli4l Dateien befinden sich im Ordner "/vm_images/fli4l/".
Dieser Pfad kann selbstverständlich angepasst werden.
Die Datei "fli4l" muss nun editiert werden:
xen-dom0:~# vi /etc/xen/fli4l
Zuerst Kernel und Ramdisk eintragen:
# Kernel image file. kernel = "/vm_images/fli4l/kernel" # Optional ramdisk. ramdisk = "/vm_images/fli4l/rootfs.img"
Nun muss Xen mitgeteilt werden wieviel Speicher und welchen Namen fli4l erhält:
# Initial memory allocation (in megabytes) for the new domain. memory = 20 # A name for your domain. All domains must have different names. name = "vm-fli4l"
Jetzt kommt die Netzwerkkarte wieder ins Spiel:
#---------------------------------------------------------------------------- # Define network interfaces. # Number of network interfaces. Default is 1. nics=1 vif = [ 'mac=aa:00:00:00:00:11, bridge=xen-br0' ] pci = [ ' 00,0c,0' ]
Wichtig: Die Doppelpunkte durch Komma ersetzen.
Als letztes noch das Rootverzeichnis und die Kernelparameter eingeben:
# Set root device. root = "/dev/tmpfs" # Sets runlevel 4. extra = "noapic nokbd load_ramdisk=1 initrd=rootfs.img inittar=1,mode=755"
Soweit ist die Konfiguration der Datei "fli4l" abgeschlossen.
Zum AnfangIn den Config-Dateien sind einige zusätzliche Änderungen nötig. Zuerst in der Datei base.txt:
Im Abschnitt "General settings" muss BOOT_TYPE und KERNEL_VERSION geändert werden:
BOOT_TYPE='integrated' # boot device: fd, fdx2, dualfd, hd, cd, ls120,
# integrated, attached, netboot, pxeboot
# (cd, cdemul, hd and ls120 need an
# installed opt hd)
MOUNT_BOOT='no' # mount boot device (floppy): ro, rw, no
TIME_INFO='MEZ-1MESZ,M3.5.0,M10.5.0' # description of local time zone,
# don't touch without reading documentation
KERNEL_VERSION='2.4.32-xen' # kernel version
Im Abschnitt "Ethernets Cards" wird nur die Karte für DSL eingetragen:
NET_DRV_N='1' # number of ethernet drivers to load, usually 1 NET_DRV_1='ne2k-pci' # 1st driver: name (e.g. NE2000 PCI clone)
Die andere Karte wird von Xen zur Verfügung gestellt und braucht nur eine IP-Adresse:
IP_NET_N='1' # number of IP ethernet networks, usually 1 IP_NET_1_DEV='eth0' # IP address of your n'th ethernet card and IP_NET_1='192.168.xx.xx/24' # netmask in CIDR (no. of set bits) IP_NET_1_TYPE='' # required: device name like ethX
Die IP-Adresse muss an das vorhandene Netzwerk angepasst werden
In der Datei "dsl.txt" noch das Netzwerk-Device überprüfen:
PPPOE_ETH='eth1' # eth card connected to ADSL modem,
# e.g. 2nd or an ethernet based
# bridge, e.g. br0
Als letzten "mkfli4l.bat" aufrufen, die Option "Files Only" wählen und den Inhalt
des Verzeichnises "build" in das Verzeichnis "/vm_images/fli4l/ kopieren.
Der einfachere Weg ist jedoch, ein Remotupdate durchzuführen.

Alternativ kann auch "Winscp" verwendet werden oder unter Linux "scp".
Auf den Xen-Server wird nun die VM gestartet:
xen-dom0:~# xm create -c fli4l
Durch den Parameter "-c" wird sofort in die Konsole von fli4l gewechselt und man sieht evtl. auftretende Fehlermeldungen sofort.
fli4l immer beenden bevor dom0 heruntergefahren wirdAufgrund des eigenen Kernels von fli4l kann Xen den Router nicht selbstständig beenden. Deshalb wird der Befehl
xen-dom0:~# xm shutdown fli4l
nicht zum gewünschten Erfolg führen.
Denn Router vorher entweder über die Weboberfläche oder Kommandozeile beenden.