[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: make-kpkg Fragen



Sven Hartge wrote:
Björn Keil <abgrund@silberdrache.net> wrote:

1. Was sind die richtigen Parameter für "--arch" und "--subarch", wenn das System Intel Xeons hat (zwei E5335)? Die Cflags wäre wohl "-march=nocona -m64" ganz sowas erwartet make-kpkg ja wohl nicht.

arch und subarch brauchst du nur, wenn du cross compilest. Hier wohl
nicht zutreffend, also weglassen.

Ich kompiliere jedenfalls nicht auf dem Zielsystem und würde die Werte gerne angeben. Im Moment arbeite ich zwar an einem Core 2 Duo (E6850) der den gleichen Code frisst wie ein neuerer Xeon, morgen, wird is aber ein athlon-xp sein. Beide Systeme verwenden eigentlich Lenny und ich verwende eine Chroot-Umgebung um den Kernel zu kompilieren. Ob das nötig ist weiß ich nicht, schaden kann es jedenfalls kaum, wenn ich Compiler verwende, die auch in Etch enthalten sind.
2. Wie funktioniert das mit "--add-module"? Muss ich das Vereichnis in dem die Sourcen liegen angeben, das Basisverzeichnis des Moduls, das kompilierte Modul oder die Header oder .c Files dafür?

Weder noch.
Sondern? Ach, und bevor Du antwortest, schau am besten nochmal in die Manpage. Ich glaube Dir entgeht nämlich, dass man tatsächlich den vollständigen Pfad angeben kann. Außerdem scheint Dir entgangen zu sein, dass ich fünf Optionen aufzähle, nicht blos zwei. Gut, eigentlich heißt es "--added-modules", ist das Dein Punkt? Na, dann kannst Du ja jetzt die Frage beantworten.

Im Moment sieht das Kommando so aus, nach bestem Wissen und Gewissen zusammengepuzzelt:
make-kpgp \
--arch amd64 \
--subarch nocona \
--initrd \
--revision 1 \
--append-version -fonane \
--add-module /usr/src/modules/igb-1.0.8/src/igb.ko


make-kpkg --initrd \
        --revision=server.1 \
        --append-to-version=-fonane \
        kernel-image modules_image

Ich habe mir angewöhnt, bei der Revision den Hostnamen des Servers mit
einzubinden.
Das Zielsystem heißt Fontane, das füge ich der Version und nicht der Revision an, weil es die Version für Fontane ist; durch alle möglichen Revisionen hinweg. In der Manpage steht allerdings nichts von einem "=" Zeichen. Ich habe mir angewöhnt mich an die beschriebene Syntax zu halten.
Wenn ich es so mache kompiliert es ohne Mullen, ohne Knullen, aber diese igb Modul ist nicht enthalten. Jedenfalls nicht laut:
dpkg-deb -c linux-image-2.6.23.12-fontane_1_amd64.deb | grep igb

Das wird auch nicht in das linux-image DEB eingebaut, sondern separat
Ich verstehe - anscheinend muss man das mit modules-config aufrufen. Dennoch bleibt die Frage, wie ich das mit --added-modules mache.
Dieses igb Modul stammt von Intel, weil der Netzwerkchip in dem Ding nicht mehr von e1000 unterstützt wird. Das ganze gibt's aber nicht als Patch sondern nur als separates Modul, siehe:
http://downloadcenter.intel.com/detail_desc.aspx?agr=Y&DwnldID=13663&lang=deu

Außerdem kannst du nach /usr/src/modules/ nicht einfach irgendwas werfen
und es funktioniert "magisch", sondern die Verzeichnisse dort müssen
einem bestimmten Format folgen.
Ich habe ja schon erwähnt, dass Dir anscheinend entgangen ist, dass man auch den vollständigen Pfad angeben kann. Mit Magie hat das also wenig zu tun. Das Verzeichnis enthält die Sourcen, den Makefile und die kompilierten Dateien.


Reply to: