Al Bogner wrote:
Am Montag, 18. August 2003 23:21 schrieb Thomas Hertweck: [...] Nachdem ich kernel-source-2.4.21-4.i586.rpm mit rpm -Uvh installiert hatte, gab es kein 2.4.20 mehr. Ich habe darüber geflucht.
Ach, jetzt verstehe ich. Schreib das doch gleich so :-) Nun, das ist leider logisch, dass das passieren musste. Ein "rpm -Uhv" steht nun mal fuer "Update" - dabei wird immer das Alte durch das Neue _ersetzt_. In so einem Falle wie hier wuerde ich die Kernel-Quellen nicht per RPM, sondern per Tar-Archiv installieren oder _ausnahmsweise_ mal mit den Optionen "--nodeps --force" arbeiten.
Ich meinte nicht, dass ich das Verzeichnis mit menuconfig umbenennen wollte, sondern es gibt beim Mantel-Kernel eine Option BuildOptions/ConfigurationName und da glaube ich, hat was nicht so richtig funktioniert. Denn wenn ich Verzeichnis linux-2.4.21-4-mantel-own mit linux verlinke und bei ConfigurationName mantel-own angebe, dann dürfte beim Kompilieren nicht ein Pfad 2.4.21-4-own (ohne Mantel) bemängelt werden. Das ist aber nur eine Randbemerkung.
Das kann man ohne _genaue_ Fehlermeldung nicht nachvollziehen. Ich habe gestern den 2.4.21 mal compiliert und eigentlich in dieser Hinsicht keine negativen Erfahrungen gemacht. Man muss sich nur dran gewoehnen, dass nun die beiden Variablen in der .config Datei stehen, das ist ja neu.
Ok, so sehe ich es auch. Wenn ich es richtig verstanden habe, ist es völlig egal wie das Verzeichnis heißt, wo die Quellen gelagert sind.
Das ist wirklich voellig egal. Du brauchst zum Konfigurieren, Compilieren und Installieren des Kernels auch keinen Link /usr/src/linux setzen. Linus Torvalds geht sogar so weit und sagt, dieser Link sollte heutzutage gar nicht mehr existieren.
Die Bezeichnung für VERSION / PATCHLEVEL / SUBLEVEL / EXTRAVERSION ist aber entscheidend für das Verzeichnis in /lib/modules, oder?
Entscheidend ist das KERNELRELEASE.
[...] Wenn Du das so ausgefuehrt hast, bedeutet es, Du hast den Kernel und vermutlich auch die gesamte Konfiguration als Root gemacht. Das solltest Du nicht tun.
Bitte kurze Begrüdung, wo die Nachteile liegen. Ich habe es mit ssh an einer remote-Konsole im lokalen Netzwerk gemacht.
Prinzipiell gilt: man arbeitet nur als Root, wenn es wirklich notwendig ist. Zum Konfigurieren und Compilieren ist es nicht notwendig, also sollte man es vermeiden. Wie schnell gibt man mal ein falsches Kommando ein: Da willst Du irgendetwas loe- schen und machst aus Versehen eine falsche Eingabe - als Root hat das eben andere Auswirkungen im Vergleich zu einem User. Ausserdem hat es gewisse Sicherheitsaspekte, von o.a. Selbst- schutz mal abgesehen. Vor einiger Zeit gab es mal ein Problem bei ssh - wenn Du das compiliert hast, dann wurde einem Rech- ner im Internet Daten uebermittelt. Tja, das Quellcode-Paket auf einem FTP-Server war kompromitiert worden. Oder es kann mal eine falsche Angabe im Kernel-Makefile stehen, die dann nicht das macht, was sie soll, sondern eben falsche Sachen... Es gibt viele Gruende, nicht als Root zu arbeiten oder nur dann, wenn es _wirklich_ notwendig ist (z.B. fuer ein "make modules_install", das Kopieren des Kernels nac /boot oder dem Editieren der Bootloader-Konfig).
/usr/src/linux-2.4.21-4-own # rpm -qpl kernel-source-2.4.21-4.i586.rpm | grep ipt_tos.h open of kernel-source-2.4.21-4.i586.rpm failed: No such file or directory
Aha, da ist also irgendwas bei der Installation falsch gelaufen.
Nein! Ich habe das natuerlich auf das bei mir in diesem Ver- zeichnis, in dem der Befehl ausgefuehrt wurde, vorhandene RPM angewandt. Wenn Du Kernel-Source bereits installiert hast, dann musst Du ein $> rpm -ql kernel-source-2.4.21-4 | grep ipt_tos.h ausfuehren. Du solltest Dich vielleicht nebenbei auch mal ein bissl mit "rpm" beschaeftigen, nicht nur mit Kernel-Compi- lieren :-)
[...] /usr/src/linux-2.4.21-4-own/include/linux/netfilter_ipv4 # ls ipt_t* ipt_ttl.h
Da stimmt etwas nicht. Ich habe das gleiche RPM Paket und bei mir ist die Datei ipt_tos.h vorhanden! Du solltest es nochmal mit einem "fresh install" versuchen.
Ich habe sicher _keine_ Datei händisch gelöscht.
<ironie-modus> Dann war es wohl jemand anderes </ironie-modus>
Es gibt da ein für Debian einen kernel-patch-tekram-dc3x5. Wie includiere ich den in den Vanilla-Kernel bzw. wie bekomme ich den ohne apt?
Weiss ich nicht. Wie man den in den Vanilla-Kernel bekommt haengt schlicht davon ab, wie der Patch erstellt wurde... CU, Thomson