Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Xen 3.01: Angepaßten Xen Kernel kompilieren?

  1. #1
    Registrierter Benutzer
    Registriert seit
    Mar 2006
    Ort
    Hamburg
    Beiträge
    20

    Xen 3.01: Angepaßten Xen Kernel kompilieren?

    Hallo alle zusammen,

    ich bin gerade dabei Xen 3.01 in Betrieb zu nehmen. Ich habe mir einen gebrauchten x86 besorgt und darin zwei Platten verbaut: Eine 6GB IDE für das Betriebssystem und eine 250 SATA (an einem Promise TX4) für die Xen Images.

    Als Betriebssystem habe ich mir ein Debian stable ausgesucht. Das Debian ist mittlerweile installiert, einen aktuellen Kernel 2.6.16 habe ich mir auch kompiliert weil der Promise TX4 SATA Controller mit dem beigelegtem Kernel nicht erkannt wurde. Mein erster Versuch mit Xen beschränkte sich darauf, die vorkompilierten Binaries herunterzuladen und mit Hilfe des Installationsscriptes zu installieren. Das klappt auch wunderbar, nur wird mein Promise TX4 vom XenKernel nicht erkannt.

    Ich wollte dann die Xen Sourcen selbst übersetzen und habe laut Anleitung per apt-get install iproute iproute-dev bridge-utils twisted libcurl3 libcurl3-dev bzip2 ncurses-dev make python python2.3-dev patch nachinstalliert.

    In /home einen Ordner /xen angelegt und dorthin die Xen 3.01 Sourcen abgelegt und entpackt. Mit einem "make world" habe ich die Sourcen übersetzt. Da sich der neue XenKernel gegenüber dem "alten" XenBinaryKernel nicht unterschied, habe ich ihn gar nicht erst nicht installiert.

    Dann habe ich meine funktionierende 2.6.16 /usr/src/linux/.config in das /home/xen/xen-3.0.1/linux-2.6.12-xen0 Verzeichnis kopiert, bin in das Verzeichnis "/home/xen/xen-3.0.1/linux-2.6.12-xen0" gewechselt und habe mit einem "make oldconfig" und "wähle immer ohne zu fragen das was Dir die Xen Programmierer empfehlen" mir eine neue .config erstellt und mit "make menuconfig" überprüft. Dann zurück in das Verzeichnis /home/xen/xen-3.0.1/ und mit einem "make" die XenSourcen neu übersetzt. Dann mit "make install" den neuen Kernel installiert und damit gebootet. Der Promise (Devices-> SCSI-> SCSI lowlevel wird explizit aufgeführt und ich habe dem menuconfig gesagt das er den Treiber fest mit einkompilieren soll, also nicht separat als Modul. Und mein Promise TX4 wird immer noch nicht erkannt. Zumindest nicht mit einem "fdisk -l".

    Jetzt muß ich gestehen: Ich habe reichlich wenig Ahnung von Linux, die o.g. Aktionen haben mich zehn Tage gekostet und ich habe vorher noch nie in meinem Leben einen Kernel kompiliert. Das alles hindert mich aber nicht daran Suchmaschinen ausführlich auszufragen und so bin ich hier im Forum gelandet.

    Frage1: Wo könnte mein Fehler beim kompilieren liegen?

    Frage2: Hat schon einmal jemand speziell den Promise TX4 unter Xen3 zum laufen gebracht?


    Im Moment verbringe ich zuviel Zeit vor dem Rechner und laufe gegen eine Wand. Mag mir jemand unter die Arme greifen?
    Geändert von Narr Fröhlich (27.03.06 um 17:58 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    Mar 2006
    Beiträge
    7
    Hallo,

    Ich bin zwar alles andere als Experte, aber mittlerweile habe ich es geschafft den xen kernel zu backen. Mein problem war zwar nicht der Kontroller, sondern dass ich das ganze auf einem software-raid habe.

    Xen 3.01 verwendet grundsätzlich nur kernel 2.6.12. Ich würde daher nochmal sauber aufsetzen: das xen verzeichnis nochmal löschen und frisch entpacken. (Vorher aber noch den vom makefile heruntergeladenen linux Kernel linux-2.6.12.tar.bz2 per mv ins /home verschieben damit er nicht nochmal downgeloaded wird).

    Statt die alte Konfig zu verwenden, dann im xen Verzeichnis:

    make linux-2.6-xen0-config CONFIGMODE=menuconfig

    Und die gewünschten Einstellungen vornehmen.

    Anschliessend:

    make world
    make install

    Und falls deine Konfig ein initrd benötigt:

    depmod 2.6.12.6-xen0
    mkinitrd -o /boot/initrd.img-2.6.12.6-xen0 2.6.12.6-xen0
    cd /boot
    ln -s -f initrd.img-2.6.12.6-xen0 initrd.img-2.6.12-xen0
    ln -s -f initrd.img-2.6.12.6-xen0 initrd.img-2.6-xen0

  3. #3
    Registrierter Benutzer
    Registriert seit
    Mar 2006
    Ort
    Hamburg
    Beiträge
    20
    Zitat Zitat von acenes
    Xen 3.01 verwendet grundsätzlich nur kernel 2.6.12. Ich würde daher nochmal sauber aufsetzen: das xen verzeichnis nochmal löschen und frisch entpacken.
    Alles schon gemacht. Vielleicht denke ich ja auch falsch und muß gar nicht den Xen0 Kernel anpassen? Man müßte ja drei Kernel konfigurieren können:

    Xen0 im Verzeichnis: linux-2.6.12-xen0
    XenU im Verzeichnis: linux-2.6.12-xenU
    und ... in welchem Verzeichnis liegt eigentlich der BootKernel? Ich kann sowohl in dem Verzeichnis 'ref-linux-2.6.12' als auch im Verzeichnis 'pristine-linux-2.6.12' ein 'make' starten. Was liegt da drin?

    Aber wenn ich mich per ssh auf der Maschine einlogge und ein 'uname -a' abrufe dann bekomme ich ein 'Linux blacksheep 2.6.12.6-xen0 #2 Tue Mar 28 12:54:59 CEST 2006 i686 GNU/Linux' zurück. Also arbeite ich mit dem Xen0 Kernel.

    Ansonsten könnte auch mein grub Eintrag falsch sein.

    Meine Partitionierung:
    =====================
    /dev/hda1 = /boot
    /dev/hda2 = swap
    /dev/hda3 = /
    /dev/hda4 = /var

    Mein Grub Eintrag:
    =====================
    title Xen 3.0 / XenLinux 2.6.12.6
    kernel /xen-3.0.1.gz dom0_mem=128476
    module /vmlinuz-2.6.12.6-xen0 root=/dev/hda3 ro console=tty0

  4. #4
    Registrierter Benutzer
    Registriert seit
    Mar 2006
    Beiträge
    7
    Das einzige welches angepasst werden muss ist dom0. DomU und der Xen Kern selber sind ja unabhängig von der Hardware. Kannst du denn jetzt auf die 2. Festplatte zugreifen? Als SATA Platte müsste sie ja z.B. unter /dev/sda oder /dev/sdb sichtbar sein.

    Versuch doch mal z.B mit

    cfdisk /dev/sda

    Ob du sie partitionieren kannst?

  5. #5
    Registrierter Benutzer
    Registriert seit
    Mar 2006
    Ort
    Hamburg
    Beiträge
    20
    Es sind definitiv die SATA_PROMISE Treiber, die den Xen-2.6.12-Sourcen beiliegen. Die kennen den Promise 300TX4 nicht.

    Der Controller wird erst ab Kernel 2.6.14 unterstützt, das erklärt auch, warum ich den Promise TX4 einwandfrei, ohne Xen, mit einem 2.6.16 Kernel zum laufen bringen kann. Na, dann schaun wir mal, wann die nächste Xen Version released wird.

    Promise bietet zwar die Treibersourcen zum Download an, aber die konnte ich bisher nicht fehlerfrei übersetzen. Ich mußte zudem das Makefile anpassen und den Pfad zu /usr/src/linunx durch den Pfad zu den Xen0 Sourcen ersetzen. Bis letzte Woche wußte ich nicht einmal was ein Makefile ist ...

    Lade ich den halbübersetzten Treiber beim Start, werden Controller und Platte einwandfrei erkannt. Rufe ich dann fdisk oder cfdisk auf, reißt es mir das System, so wie ich es bisher nur von Windows kannte.

    Weiß jemand was die Meldung "SCSI eh abort" bedeutet? Oder wie man die von Promise gestellten Treiber besser übersetzen kann? In den USA hat das anscheinend jemand geschafft, er mir auch gesagt wie ich es machen soll aber ich kriege nicht die resultate, die ich gerne hätte.

  6. #6
    Registrierter Benutzer
    Registriert seit
    Mar 2006
    Ort
    Hamburg
    Beiträge
    20
    Har, har, har. Es läuft.

    Man muß tatsächlich den von Promise gestellten Treiber mit 'make ARCH=xen DRIVER_SRC_DIR=`pwd` ' kompilieren. Und das funktioniert, obwohl während der Kompilation massig Warnungen ausgesprochen werden.

    Danach muß ulsata2.ko noch nach /lib/modules/2.6.12.6-xen0/kernel/drivers/scsi/ kopiert und der nicht funktionierende 'sata_promise' aus eben dem Verzeichnis gelöscht werden. Dann noch schnell ein 'depmode -a /lib/modules/2.6.12.6-xen0/' und alles ist in Butter.

    Mein Fehler: Ich hatte im Laufe des Gefechts vergessen den neuen Treiber 'ulsata2' wieder in die /etc/modules einzukommentieren. Und zudem hatte ich die SATA-Platte auch noch schlauerweise mit ReiserFS formatiert, was mein Xen0 Kernel nicht kannte.

    Aber jetzt läuft alles. Mal schauen wie lange ....

  7. #7
    Registrierter Benutzer
    Registriert seit
    Mar 2005
    Ort
    Weinviertel/AT
    Beiträge
    1.753
    hallo,

    ohne euer problem genau studiert zu haben denke ich dass ihr hier mal nachlesen könnt. Leider hab ich keine Ahnung wie man richtig zur Debian-Mailinglist verlinkt. naja, ich hab das ganze auch in meinem Posteingang ;-)

    http://lists.debian.org/debian-user-.../msg00404.html

Ähnliche Themen

  1. Debian: usb-storage müllt syslog zu !/
    Von KcCRz im Forum Linux Allgemein
    Antworten: 3
    Letzter Beitrag: 12.03.06, 18:02
  2. Allgemeine Frage, aber wichtig fuer mich!
    Von PCMCIA im Forum Linux Allgemein
    Antworten: 22
    Letzter Beitrag: 24.01.06, 20:21
  3. USB CardReader 2.0 unter SUSE 8.1
    Von Maindrix im Forum stationäre Hardware
    Antworten: 21
    Letzter Beitrag: 29.06.05, 10:11
  4. Samba stirbt und killt das ganze System (FC2)
    Von der2of6 im Forum Linux in heterogenen Netzen
    Antworten: 6
    Letzter Beitrag: 17.11.04, 15:53
  5. Freeze..
    Von gast44 im Forum System installieren und konfigurieren
    Antworten: 9
    Letzter Beitrag: 01.04.04, 17:43

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •