Hallo,
Ich bin dabei ein neues System aufzusetzen via debootstrapping aus Ubuntu 64bit.
ich versuche einen Kernel zu kompilieren und bekomme folgendes Problem:
http://nopaste.debianforum.de/5390
Hat jemand eine Idee? Ich habe schon gegoogelt und vereinzelt solche Zeilen finden können (einmal ging es um einen Patch, ein anderes Mal war es das 64bit - 32bit Problem*), konnte damit aber leider nicht viel anfangen.
*Ich versuche den Kernel aus einem 64bit System zu erstellen.
Sicherheitshalber habe ich extra eine Live-CD erstellt und so einmal einen 32bit Kernel gestartet. Das ergebnis bleibt jedoch gleich. Ich habe auch schon versucht, make-kpkg über linux32 zu starten, gleiches Problem.
sai
Kernel komp.: Abbruch bevor er richtig anfängt [gelöst]
Kernel komp.: Abbruch bevor er richtig anfängt [gelöst]
Zuletzt geändert von sai am 14.03.2007 10:53:50, insgesamt 2-mal geändert.
-
- Beiträge: 3472
- Registriert: 30.11.2005 10:32:22
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Wald
Welchen Kernel versuchst du zu kompilieren?
Die structs deren members als fehlend bemängelt werden werden in ../include/asm-i386/sigcontext.h bzw. ../include/asm-i386/processor.h in deklariert, existieren diese Datei in deinen Kernelquellen?
Wird von make-kpkg ein symbolischer Link im ../include Verzeichnis angelegt?
Die structs deren members als fehlend bemängelt werden werden in ../include/asm-i386/sigcontext.h bzw. ../include/asm-i386/processor.h in deklariert, existieren diese Datei in deinen Kernelquellen?
Wird von make-kpkg ein symbolischer Link im ../include Verzeichnis angelegt?
Code: Alles auswählen
ls -l
lrwxrwxrwx 1 bert bert 8 2007-03-14 01:06 asm -> asm-i386
Steht doch eigentlich in der ersten Zeile des Pastes: Kernel 2.6.8Welchen Kernel versuchst du zu kompilieren?
Ja!Die structs deren members als fehlend bemängelt werden werden in ../include/asm-i386/sigcontext.h bzw. ../include/asm-i386/processor.h in deklariert, existieren diese Datei in deinen Kernelquellen?
http://paste.debian.net/23648
http://paste.debian.net/23649
Wird von make-kpkg ein symbolischer Link im ../include Verzeichnis angelegt?
Code: Alles auswählen
lrwxrwxrwx 1 root root 10 2007-03-12 20:02 asm -> asm-x86_64
Wenn es das also ist, dann würde ich gerne wissen, bei welchem Schritt genau make-kpkg hier was falsch macht, und was ich hätte dort richtig machen müssen.
Reicht ein einfacher neuer symbolischer Link auf das asm-i386 Verzeichnis?
Würde make-kpkg nicht noch mehr falsch machen, wenn es irgendwie auf 64bit hinaus will?
Hat zwar nichts mit dem Problem zu tun, wollte dich aber schon letztens fragen, warum du so einen alten Kernel baust.sai hat geschrieben: Steht doch eigentlich in der ersten Zeile des Pastes: Kernel 2.6.8
stimmt, der Link ist falsch, dieser wird vom "make ARCH=i386 prepare" gesetztsai hat geschrieben:Wird von make-kpkg ein symbolischer Link im ../include Verzeichnis angelegt?Ich glaube allerdings, das hier doch eigentlich kein "64" drin stehen dürfte, da ich doch ein 32bit System aufsetzen möchte?!Code: Alles auswählen
lrwxrwxrwx 1 root root 10 2007-03-12 20:02 asm -> asm-x86_64
make-kpkg dürfte aber nicht dafür verantwortlich sein:
Code: Alles auswählen
"make[1]: Leaving directory `/usr/src/kernel-source-2.6.8'
/usr/bin/make \
ARCH=i386 prepare
so hat es einwandfrei funktioniert:
Code: Alles auswählen
make ARCH=i386 menuconfig
make-kpkg kernel-image
Code: Alles auswählen
make menuconfig
make prepare
make ARCH=i386 menuconfig
make-kpkg kernel-image
Diesen Test habe ich allerdings unter Etch durchgeführt, es ist daher auch nicht ganz auszuschließen, daß das kernel-package aus Sarge mitverantwortlich für dein Problem ist
Gruß
gms
Juhu.
Tatsächlich, es geht auch unter sarge so, wie du es beschrieben hast.
Ich habe also mrproper gemacht und dann entsprechende Kommandosequenz, und es klappt!
Der Fehler lag also darin, dass ich zuerst fälschlicherweise menuconfig ohne den Zusatz für die Architektur (ARCH=i386) aufgerufen habe.
Ob das dann alles so ganz logisch ist, sei dahin gestellt. (Ich meine, es dürfte doch eigentlich nicht zu dem Problem kommen)...
Trotzdem vielen Dank nochmal.
Ich kompilieren den Kernel, weil es der offizielle Kernel für Debian stable ist.
Sehr wahrscheinlich werde oder muss ich sowieso noch mal einen aktuelleren Kernel kompilieren, der für meine recht neue Hardware dann besser passt. Nichts desto trotz, unabhängig vom Kernel, hätte ich wohl dieselben Problematik gehabt. Außerdem möchte ich grundlegendes über Debian/Linux lernen. Da ist es ja unabhängig, welchen Kernel ich kompiliere. Hauptsache ich lerne Fehler zu beheben und merke mir, wie und woran es lag.
Danke nochmal,
sai
Tatsächlich, es geht auch unter sarge so, wie du es beschrieben hast.
Ich habe also mrproper gemacht und dann entsprechende Kommandosequenz, und es klappt!
Der Fehler lag also darin, dass ich zuerst fälschlicherweise menuconfig ohne den Zusatz für die Architektur (ARCH=i386) aufgerufen habe.
Ob das dann alles so ganz logisch ist, sei dahin gestellt. (Ich meine, es dürfte doch eigentlich nicht zu dem Problem kommen)...
Trotzdem vielen Dank nochmal.
Ich kompilieren den Kernel, weil es der offizielle Kernel für Debian stable ist.
Sehr wahrscheinlich werde oder muss ich sowieso noch mal einen aktuelleren Kernel kompilieren, der für meine recht neue Hardware dann besser passt. Nichts desto trotz, unabhängig vom Kernel, hätte ich wohl dieselben Problematik gehabt. Außerdem möchte ich grundlegendes über Debian/Linux lernen. Da ist es ja unabhängig, welchen Kernel ich kompiliere. Hauptsache ich lerne Fehler zu beheben und merke mir, wie und woran es lag.
Danke nochmal,
sai
In diesen Fehler (Falle) wäre ich zwar genauso hineingetappt, nachträglich betrachtet ist aber alles so wie es sein soll.sai hat geschrieben: Ob das dann alles so ganz logisch ist, sei dahin gestellt. (Ich meine, es dürfte doch eigentlich nicht zu dem Problem kommen)...
In Wirklichkeit gibt es nämlich unter einem 64 bit System keine "reine 32 bit Chroot Umgebung". Du müßtest nur die 64 bit Libraries hineinkopieren und könntest dann auch 64 bit Programme drinnen laufen lassen
Wenn du daher ein "make menuconfig" ohne Angabe der Architektur startest, wird richtigerweise ein 64 bit Kernel konfiguriert.
"make-kpkg" ist dagegen ein debianspezifisches Tool und "weiß daher" für welche Architektur diese Chroot-Umgebung gebaut wurde
Gruß
gms