Ubuntu in Gentoo installieren (Folge 1 – debootstrap) Ubuntu in Gentoo installieren (Folge 3 – Netzwerk)

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

Pflichtfeld

Pflichtfeld, anonym

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


Kalender

April 2006
M D M D F S S
« Mrz   Mai »
 12
3456789
10111213141516
17181920212223
24252627282930

Aktuelle Artikel