Zunächst muss der Host Kernel mit den aktuellen SKAS-Patch gepached werden. Die Kernel Sourcen inkl Patch sind unter /usr/src/linux-2.6.14.2-skas gespeichert. Die Konfig habe ich soweit angepasst das tun/tap Devices und Ethernet Bridges möglich sind. Diese werden zur anbindung der virtuellen Ethernet Karten der UMLs benötigt. Der fertig compilierte Kernel befindet sich unter /boot/vmlinuz-2.6.14.2-ipv6-skas.
Als Kernel für die UML wird der letzte stabile Linux Kernel verwendet und unter /opt/uml-kernel/<kernelversion> gespeichert. Die Kernel config erfolgt mit „make menuconfig ARCH=um“. Wichtig ist das die options für tun/tap und ubd Disk (die virtuellen Festplatten einer UML) aktiviert sind. Danach kann der Kernel mit „make linux ARCH=um“ compiliert werden. Wichtig das ARCH=um nicht vergessen!
/etc/network/interfaces Loopback (lo) auto lo iface lo inet loopback Auto Interfaces auto tap0 eth0 br0 LAN (eth0) iface eth0 inet manual up ifconfig eth0 0.0.0.0 promisc up UML 1 LAN (tap0) iface tap0 inet manual pre-up tunctl -u nobody -t tap0 up ifconfig tap0 up down ifconfig tap0 down Bridge Internal iface br0 inet static address <ip> netmask <netmask> network <network> broadcast <bcast> gateway <gw> dns-nameservers <ns> dns-search <dns-search> bridge_ports eth0 tap0 bridge_fd 1 bridge_stp off bridge_hello 1 down ifconfig br0 down
Die einzelen UMLs werden unter /opt/uml/<#> gespeichert. Wobei # die ID der UML angibt. Unter /opt/uml/1 liegt dann zB die erste UML mit den Dateien: linux, root_fs und swap_fs.
linux: Hierbei handelt es sich um den UML-Kernel
root_fs: Hierbei handelt es sich um das UML Root Filesystem Image
swap_fs: HIerbei handelt es sich um das UML Swap Filesystem Image
Mit dd if=/dev/zero of=root_fs seek=500 count=1 bs=1M das File erzeugen. In diesen Beispiel wird das image 500 MB groß sein. Danach mit mkfs.ext3 das Filesystem erzeugen. Das selbe für swap_fs mit mkswap machen. Ich empfehle für das root image ca 10-20GB und für das swap_fs ca 256-768MB. Kann aber auch mehr oder weniger sein, je nach Bedarf. Nun müssen die Distributions Dateien kopiert werden (bootstraping). Dazu muss das root_fs image via loop gemountet werden, ebenso das gentoo root_fs image. Nun die Daten von den gentoo root_fs image in unser neues UML root_fs kopieren. Ein gentoo root_fs liegt unter /opt/uml/Gentoo-2006.1-x86-root_fs.bz2. Jetzt müss das root_fs image noch angepasst werden. Siehe zB Gentoo UML Documentation
Starten der UML: Die UML wird via “./linux ubd0=root_fs ubd1=swap_fs eth0=tuntap,tap0 mem=75M umid=<UML #>“ gestartet.
Warum ist der skas kernel kleiner als der jetzige (/proc/config.gz mit kernel konfig vergleichen)
Hetzner Seriel Konsole beantragen (oder traun wir uns auch so?)
Warum muss eth0 in promisc geschalten werden?
Wie zum teufel schreibt man in ner wiki ein faches “#“??? *g*