Ubuntu in Gentoo installieren (Folge 2 – UML)
Freitag, 14. April 2006 um 21:24 Uhr Christian
Sodele, das frisch installierte Ubuntu läuft schonmal in einer chroot Umgebung. Aber das ist natürlich nicht sehr sinnvoll, weil sich so Prozesse des Hosts Systems (in unserem Fal Gentoo) und des Gast Systems (Ubuntu) in die Quere kommen. Also wird ein Usermode Linux für Ubuntu eingerichtet, darin kann man dann alles ausprobieren ohne das Hostsystem zu beeinträchtigen.
Dazu muss erstmal der Usermode-Kernel installiert werden, das passiert per:
echo "sys-kernel/usermode-sources ~x86" >> /etc/portage/packages.keywords USE="-symlink" emerge sys-kernel/usermode-sources emerge sys-apps/usermode-utilities
USE=”-symlink” deshalb, damit der link von /usr/src/linux nicht auf die usermode sources umgeändert wird, die sollen ja nicht der Standardkernel werden. Als nächstes wird der usermode kernel kompiliert und als binary installiert. Ich habe hier für folgendes verwendet:
genkernel --no-bootsplash --no-gensplash \ --kerneldir=/usr/src/linux-2.6.15-usermode-r1 --arch-override=um kernel
Wenn man mit der Kernel Konfiguration nicht zufrieden ist, kann man noch –menuconfig hinzufügen. Allerdings ist die Konfiguration die genkernel für UML verwendet soweit okay, denke ich. Also nächstes wird das gebaute Kernel Binary noch eine per PATH erreichbare Stelle, bei mir ist das ~/bin, und die module ins Ubuntu Image kopiert.
mount /ubuntu.file /mnt/ubuntu -o loop cp /usr/src/linux-2.6.15-usermode-r1/linux ~/bin/ cp -R /lib/modules/2.6.15-usermode-r1-bs2 /mnt/ubuntu/lib/modules/
Sollte beim kompilieren etwas schief gehen, ich hatte z.B. Probleme mit einer aktuellen glibc Version, kann man einen Binary Kernel runterladen, z.B. von hier: http://www.user-mode-linux.org/~blaisorblade/
im weiteren Verlauf müssen noch ein paar Konfigurationsdateien des Gastsystems angepasst werden, damit UML einwandfrei läuft. Das Dateisystem sollte noch unter /mnt/ubuntu gemountet sein, also liegen dort auch die entsprechenden Dateien.
Die /etc/fstab des Gastsystems:
/dev/ubd0 / ext3 defaults 0 0 /dev/ubd1 none swap sw 0 0 proc /proc proc defaults 0 0 sys /sys sysfs defaults 0 0
/etc/inittab: Alle bis auf eine konsole auskommentieren:
1:2345:respawn:/sbin/getty 38400 tty1 # 2:23:respawn:/sbin/getty 38400 tty2 # 3:23:respawn:/sbin/getty 38400 tty3 # ...
zusätzlich
echo "vc/0" >> etc/securetty
ein entsprechendes swap file wie oben in der fstab erwähnt sollte noch angelegt werden, z.B mit:
dd if=/dev/zero of=/ubuntu.swap bs=1024k count=500 mkswap /ubuntu.swap
ACHTUNG: Vorher auf jeden Fall /mnt/ubuntu mit umount /mnt/ubuntu unmounten. Sonst fliegt einem das Dateisystem um die Ohren (Ja, ich spreche aus Erfahrung
)
Als letzten Schritt für heute können wir das UML mit ubuntu dann booten:
linux ubd0=/ubuntu.file ubd1=/ubuntu.swap con=pty \ con0=null,fd:2 con1=fd:0,fd:1 mem=32M
mem=32M ist die Speichergröße, die dem UML zugewiesen wird, zum testen reichen erstmal 32MB. Wenn man aber richtig arbeiten will, sind 256 MB schon empfehlenswert. Natürlich abhängig davon, wie groß der RAM des Host System ist (in meinem Fall 1 GB, da sind 256 MB für das Gastsystem kein Problem).
Weitere Infos:
http://www.gentoo.org/doc/en/uml.xml
http://user-mode-linux.sourceforge.net
Fortsetzung: Ubuntu in Gentoo installieren (Folge 3 – Netzwerk)
Artikel gespeichert unter: OpenSource / Linux
Ihr Kommentar
Folgende HTML-Tags sind erlaubt:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">
Trackback | PDF