Etch: make-kpkg baut kein vmlinuz
Etch: make-kpkg baut kein vmlinuz
Hi,
ich habe folgendes Problem. Mit make-kpkg --revision=polaris.2.0 kernel_image konnte ich bei Sarge immer ein deb Archiv bauen, dass u.a. /boot/vmlinuz (ca. 1.6 MB) enthielt. Unter Etch klappt das nicht mehr. Dabei wird immer /boot/vmlinux (ca. 4.5 MB) verwendet, dass sich unter meiner CHRP-Plattform (Pegasos, also OpenFirmware) nicht booten lässt.
Offensichtlich pakt make-kpkg nicht mehr arch/powerpc/boot/zImage in das Archiv, denn das wäre das richtige Image zum booten.
Was mache ich falsch?
Bye
Johannes
ich habe folgendes Problem. Mit make-kpkg --revision=polaris.2.0 kernel_image konnte ich bei Sarge immer ein deb Archiv bauen, dass u.a. /boot/vmlinuz (ca. 1.6 MB) enthielt. Unter Etch klappt das nicht mehr. Dabei wird immer /boot/vmlinux (ca. 4.5 MB) verwendet, dass sich unter meiner CHRP-Plattform (Pegasos, also OpenFirmware) nicht booten lässt.
Offensichtlich pakt make-kpkg nicht mehr arch/powerpc/boot/zImage in das Archiv, denn das wäre das richtige Image zum booten.
Was mache ich falsch?
Bye
Johannes
- novalix
- Beiträge: 1909
- Registriert: 05.10.2005 12:32:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: elberfeld
Re: Etch: make-kpkg baut kein vmlinuz
Hallo und willkommen im Forum,
<rant>Auf meiner prep-workstation verweigern bislang sämtliche neueren Kernel den Dienst. Der letzte, den ich unfallfrei bauen konnte war der 2.6.15er. Danach haben die Kernelentwickler powerpc und ppc unter arch neu aufgeteilt und das sehr erfolgreich im Hinblick auf die Verwirrung des users. Ich frage mich auch, wie die Debiankernelmaintainer es geschafft haben die Images für die prep-plattform zu bauen. Irgendwo ist da vodoo im Spiel</rant>
Zum Problem:
Ich gehe davon aus, dass Du den Kernel auf der angesprochenen Maschine selber baust. Ist das mkvmlinuz-script aus etch installiert?
Welchen Kernel versuchst Du zu bauen? Welchen Kernel hast Du unter sarge zuletzt erfolgreich gebaut?
Welche config benutzt Du? Hast Du schon einmal versucht make und make-kpkg explizit die "arch" und "subarch" Variablen mitzugeben? Ach ja, gibt es an irgendeinem Punkt eine Fehlermeldung, wenn Du versuchst das Paket zu installieren?
ciao, niels
Schwer zu sagen.jgeiss hat geschrieben:Was mache ich falsch?
<rant>Auf meiner prep-workstation verweigern bislang sämtliche neueren Kernel den Dienst. Der letzte, den ich unfallfrei bauen konnte war der 2.6.15er. Danach haben die Kernelentwickler powerpc und ppc unter arch neu aufgeteilt und das sehr erfolgreich im Hinblick auf die Verwirrung des users. Ich frage mich auch, wie die Debiankernelmaintainer es geschafft haben die Images für die prep-plattform zu bauen. Irgendwo ist da vodoo im Spiel</rant>
Zum Problem:
Ich gehe davon aus, dass Du den Kernel auf der angesprochenen Maschine selber baust. Ist das mkvmlinuz-script aus etch installiert?
Code: Alles auswählen
apt-cache policy mkvmlinuz
Welche config benutzt Du? Hast Du schon einmal versucht make und make-kpkg explizit die "arch" und "subarch" Variablen mitzugeben? Ach ja, gibt es an irgendeinem Punkt eine Fehlermeldung, wenn Du versuchst das Paket zu installieren?
ciao, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.
Darum ist das Richtige selten, lobenswert und schön.
Re: Etch: make-kpkg baut kein vmlinuz
Ja.novalix hat geschrieben: Ich gehe davon aus, dass Du den Kernel auf der angesprochenen Maschine selber baust.
Ebenfalls: Janovalix hat geschrieben: Ist das mkvmlinuz-script aus etch installiert?Code: Alles auswählen
apt-cache policy mkvmlinuz
Ich versuche einen Kernel ver Version 2.6.18 zubauen. Unter Sarge war ich mit 2.6.8 erfolgreich. Die Config ist ein wenig von mir verändert und stammt aus dem linux-kernel image von Etch (2.6.18-4-powerpc). Die funktioniert auch perfekt. Wenn ich alles per Hand installiere läuft der selbstgebaute 2.6.18er Kernel (arch/powerpc/boot/zImage). Ich möchte allerdings ein deb Archiv mit make-kpkg bauen.novalix hat geschrieben: Welchen Kernel versuchst Du zu bauen? Welchen Kernel hast Du unter sarge zuletzt erfolgreich gebaut?
Welche config benutzt Du? Hast Du schon einmal versucht make und make-kpkg explizit die "arch" und "subarch" Variablen mitzugeben? Ach ja, gibt es an irgendeinem Punkt eine Fehlermeldung, wenn Du versuchst das Paket zu installieren?
Mit "arch" und "subarch" habe ich es versucht aber keinen Erfolg.
Eine Fehlermeldung bei der Installation gibt es nicht. Es wird halt vmlinux installiert statt vmlinuz (welcher eigentlich aus arch/powerpc/boot/zImage stammen sollte).
Bye
Johannes
Re: Etch: make-kpkg baut kein vmlinuz
Vermutlich haben sich die Defaults geändert, schau mal in z.B. /usr/share/kernel-package/ruleset/arches/powerpc.mk.jgeiss hat geschrieben:Mit make-kpkg --revision=polaris.2.0 kernel_image konnte ich bei Sarge immer ein deb Archiv bauen, dass u.a. /boot/vmlinuz (ca. 1.6 MB) enthielt. Unter Etch klappt das nicht mehr. Dabei wird immer /boot/vmlinux (ca. 4.5 MB) verwendet,
Hast du es schon mal mit der zusätzlichen Option ( "--zimage" oder "--bzimage" ) versucht ?
Gruß
gms
- novalix
- Beiträge: 1909
- Registriert: 05.10.2005 12:32:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: elberfeld
Hi,
erstellt make-kpkg denn ein zImage in den Quellen? Was passiert, wenn man mkvmlinuz mit den entsprechenden optionen (-a chrp) händisch darauf anwendet?
Meine Vermutung geht dahin, dass make-kpkg aus welchen Gründen auch immer die Platform nicht einwandfrei erkennt und mkvmlinuz mit falschen Optionen aufruft.
ciao, niels
erstellt make-kpkg denn ein zImage in den Quellen? Was passiert, wenn man mkvmlinuz mit den entsprechenden optionen (-a chrp) händisch darauf anwendet?
Meine Vermutung geht dahin, dass make-kpkg aus welchen Gründen auch immer die Platform nicht einwandfrei erkennt und mkvmlinuz mit falschen Optionen aufruft.
ciao, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.
Darum ist das Richtige selten, lobenswert und schön.
Re: Etch: make-kpkg baut kein vmlinuz
Das sieht ganz OK aus. Für KPKG_SUBARCH:=powerpc wird target := zImage genommen. Aber ich werde mir das File noch genauer ansehen. Es gibt ja da noch einige Haken und Ösen.gms hat geschrieben: Vermutlich haben sich die Defaults geändert, schau mal in z.B. /usr/share/kernel-package/ruleset/arches/powerpc.mk.
Ja, beides erfolglosgms hat geschrieben: Hast du es schon mal mit der zusätzlichen Option ( "--zimage" oder "--bzimage" ) versucht ?
Scheinbar wird mkvmlinuz bei mir gar nicht ausgeführt. Ich habe es jedenfalls mit einem eigenem Script ersetzt und es wurde gar nicht benutzt.novalix hat geschrieben: Meine Vermutung geht dahin, dass make-kpkg aus welchen Gründen auch immer die Platform nicht einwandfrei erkennt und mkvmlinuz mit falschen Optionen aufruft.
Bye
Johannes
Das Problem verlagert sich
Ich habe inzwischen herausgefunden, dass es ganz OK ist wenn make-kpkg kein vmlinuz Image erzeugt. Das wird nämlich erst bei der Installation (dep -i linux-image-xxxxxxx) gemacht. Allerdings löst das nicht mein Problem. Ich muß den Fehler jetzt dort suchen. Möglicherweise in einen der debian Skripte (postinst, etc.).
Bye
Johannes
Bye
Johannes
Ich habe den Fehler gefunden. Das Skript mkvmlinuz baut aus einem "normalen" Linux Kernel vmlinux ein zImage. da pssiert beim Installieren des Kernels, also bei dpkg -i linux-image-XXXXX. Darin wird u.a. die Kernelversion abgefragt und gemäß dieser die Objekte aus /usr/lib/mkvmlinuz/*.o zusammengelinkt. Offensichtlich werden für die Version 2.6.18 die falschen Objekte verwendet, denn es gibt dabei Linkerfehler.
Jetzt habe ich das Skript ein wenig verändert und nun läuft es.
Bye
Johannes
Jetzt habe ich das Skript ein wenig verändert und nun läuft es.
Bye
Johannes
- novalix
- Beiträge: 1909
- Registriert: 05.10.2005 12:32:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: elberfeld
Hallo Johannes,
falls Du Lust hast kannst Du ja einen Bugreport schreiben - mit patch. Das macht sich gut.
Für mein prep-problem habe ich ebenfalls einen Workaround aka ugly hack gefunden: cross-compiling. Ob das im Sinne des Erfinders ist, auf einer Maschine einen Kernel für die selbe Maschine auf diese Art herzustellen, weiss ich nicht aber es funktioniert. Das Problem ist, dass make-kpkg seine Vorstellungen über die Architektur von dpkg-buildarch bezieht, welches nur noch "powerpc" kennt. Dazu muss man schon bei der Konfiguration explizit "ppc" angeben, um die nötigen Optionen für die prep-architektur zu erhalten. Lässt man danach make-kpkg ein Kernelimage kompilieren, wird erneut dpkg-buildarch aufgerufen, die alte config verworfen und eine neue erstellt, die wiederum kein prep-image baut. Gibt man make-kpkg explizit ein "ppc" als arch an dann meckert es, dass dpkg-buildarch kein ppc kennt. In der Tat gibt ein kein ppc aus. Das war der Punkt, an dem ich bisher hängen geblieben war. Dieser Thread hat mich dazu bewogen, noch mal nachzuhaken, mit Erfolg: baut ein Image, das mkvmlinuz bearbeiten kann, uff.
keep on hacking, niels
falls Du Lust hast kannst Du ja einen Bugreport schreiben - mit patch. Das macht sich gut.
Für mein prep-problem habe ich ebenfalls einen Workaround aka ugly hack gefunden: cross-compiling. Ob das im Sinne des Erfinders ist, auf einer Maschine einen Kernel für die selbe Maschine auf diese Art herzustellen, weiss ich nicht aber es funktioniert. Das Problem ist, dass make-kpkg seine Vorstellungen über die Architektur von dpkg-buildarch bezieht, welches nur noch "powerpc" kennt. Dazu muss man schon bei der Konfiguration explizit "ppc" angeben, um die nötigen Optionen für die prep-architektur zu erhalten.
Code: Alles auswählen
ARCH=ppc SUBARCH=prep make menuconfig
Code: Alles auswählen
make-kpkg --rootcmd fakeroot --revision $(date +%d.%m.%Y) --append-to-version -meinrechnername --arch ppc --subarch prep kernel_image
Code: Alles auswählen
dpkg-buildarch -L
Code: Alles auswählen
make-kpkg {Optionen s.o.} --cross-compile - kernel_image
keep on hacking, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.
Darum ist das Richtige selten, lobenswert und schön.