Bei der Installation von Kernel 2.6.9-1.667 erhielt ich folgende Fehlermeldungen:
Kernel: arch/x86_64/boot/bzImage is ready
sh /usr/src/redhat/BUILD/kernel-2.6.9/linux-2.6.9/arch/x86_64/boot/install.sh 2.6.9-prep arch/x86_64/boot/bzImage System.map ""
WARNING: Couldn\'t open directory /lib/modules/2.6.9-prep: No such file or directory
FATAL: Could not open /lib/modules/2.6.9-prep/modules.dep.temp for writing: No such file or directory
/lib/modules/2.6.9-prep is not a directory.
mkinitrd failed
make[1]: *** [install] Fehler 1
make: *** [install] Fehler 2
ich verwendete folgende Anleitung:
Also, erst die RPMs installieren mit
rpm -Uhv ?.rpm
(Fragezeichen natürlich ersetzen durch den Dateinamen)
Das ganze natürlich mit root account (benutze "su"-Befehl), sonst gibs ne Fehlermeldung ("transaction lock").
Nachdem Du die Source-RPMs installiert hast wechsle ins Verzeichnis mit
cd /usr/src/redhat/SPECS/
dort machst Du (ebenfalls noch mit dem root account)
rpmbuild -bp --target=i686 kernel-2.6.spec
(falls 2.6er kernel)
Sobald Dein Rechner damit fertig ist kanns losgehen unter
cd /usr/src/redhat/BUILD/kernel-2.6.9/linux-2.6.9/
Damits einfacher geht, dorthin zu gelangen, leg doch einfach einen symbolischen link an:
ln -s /usr/src/redhat/BUILD/kernel-2.6.9/linux-2.6.9 /usr/src/linux
Somit kannst Du jetzt jederzeit zu den *gepatchten* Kernelsourcen kommen, indem Du einfach
cd /usr/src/linux
eingibst. Gepatcht sind die vom fedora-Team und somit nicht mehr die originalen, wie man sie unter kernel.org bekommt. Das hast Du mit dem spec-file gemacht (und dem Befehl rpmbuild).
Jetzt kanns also losgehen mit
cd /usr/src/linux
make menuconfig
Jetzt die nvidia-Geschichten unter
Device-Drivers -> Graphics-Support -> nVidia Riva support
deaktivieren, da der Treiber von nvidia sonst nicht will!
Das Menü nun verlassen, kernel Konfiguration speichern (das Programm fragt danach) und dann
make bzImage
make modules install
ausführen.
Und nun klappts auch mit nvidia und deren installer!
Ich hab auch schon andere Kernel, andere Konfigurationen, andere Anleitungen verwendet, es kommt aber immer auf dasselbe raus.
Hab alles genauso gemacht wie in der Anleitung (ausser anstelle von dem:
rpmbuild -bp --target=i686 kernel-2.6.spec
das:
rpmbuild -bp --target=x86_64 kernel-2.6.spec
gemacht.(Da das ganze ja mit 64 bit laufen soll)
Hat Jemand eine Idee, woran das liegen könnte?
Ich probiere das jetzt schon tagelang ohne Erfolg und bin langsam am verzweifeln bzw. Linux aufzugeben.
Linux 15.070 Themen, 107.540 Beiträge
Wenn das der erste Versuch sein soll einen eigenen Betriebsystemkern zu kompilieren, hast du was vergessen: make modules
make bzImage
Du mußt erst noch die Kernelmodule kompilieren lassen.
Auch wenn du keinen Treiber als Modul kompilieren willst, wird auf jedenfall die Datei System.map angelegt:
make modules hast du vergessen
make modules install
Weißt du was ein Kernelmodul ist ?
Mit dem Befehl "make modules_install" werden die kompilierten Kernelmodule nach /lib/modules/xxxx kopiert. Es wird beim ersten Mal das Verzechnis /lib/modules/Kernelversionxxx angelegt.
Wenn du später mal einen Treiber installieren willst (nVidia zum Beipiel), werden solche Treiber als Kernelmodule kompiliert und können zur Laufzeit in den Speicher geladen werden und werden mit dem übrigen Betriebsystemkern gelinkt (verbunden). Dazu braucht man immer den passenen Programmcode des Betriebsystemkerns und einige Programmierwerkzeuge.
Kernelmodule sind kompilierte Objectdateien, also ein Teil des Betriebsystemkerns, die zur Laufzeit mit dem Befehl "modprobe Treiber" geladen und mit dem Befehl "rmmod Treiber" wieder aus dem Speicher entfernt werden können.
Vielen Dank für deine Antwort!
Leider ist mir jetzt nicht ganz klar, in welcher Reihenfolge ich die Befehle eingeben muss.
Hab s mal so probiert:
make modules
make bzImage
make modules install
Gab wieder dieselben Fehler.
Muss ich jetz "make modules install" oder "make modules_install" eingeben oder beides?
Könnten diese Fehler auch daran liegen, dass ich was bei der Config falsch eingestellt habe?
2.6er kern:
make bzImage --->erzeugt den Betriebsystemkern "bzImage"
make modules ---> übersetzt die entsprechenden Treiber als Kernelmodule
make modules_install--->installiert die Kernelmodule in /lib/modules/versionxxx
Hab s jetzt noch mal nach dieser Anleitung und Kernel 2.6.11 von kernel.org probiert:
http://www.linuxforum.com/linux_tutorials/82/1.php
Auch hier wieder dieselben Fehler.
Kann das wirklich daran liegen, dass ich einen Befehl vergessen habe?
Ich halte das für unwahrscheinlich nachdem ich schon etwa fünf verschieden Anleitungen probiert habe.
Was mach ich nur falsch??
Uff habs jetzt endlich geschfft :-).
Habs mit make_install gemacht.
So gibt es keine Fehler.
Dann muste ich noch einige symbolische Links anpassen und mir fehlte noch eine intrd Datei.
Diese hab ich dann mit dem Befehl mkinitrd gemacht und in grub eingefügt.
Danke für deine Antworten!
