![](https://seccdn.libravatar.org/avatar/c4e72e5eca46c50d2f53277ce371d5ed.jpg?s=120&d=mm&r=g)
Hae? Wie "ohne SCSI Controller"? Ausgebaut? oder nur Treiber weggelassen oder...?
Nein, neue Maschine (Notebook [mit IDE]) konfiguriert! ;-))
Ich bin also wie folgt vorgegangen (Sorry, was folgt ist eine Art Protokoll für die spätere Doku und in Englisch, ich hoffe es ist auch verständlich):
copied the linux-2.4.19.tar.gz to /usr/src extracted linux-2.4.19.tar.gz in /usr/src mv /usr/src/linux-2.4.19 to /usr/src/linux-2.4.19a created link in /usr/src/linux to /usr/src/linux-2.4.19a
Hm. Da hast du evtl. was flasch gemacht, denn mind. bis incl. 2.4.18 sind die Kernel so getart, das sie nach 'linux' entpacken. Du hast also evtl. deinen alten Kernel ueberschrieben. Richtig waere:
Mit stellt sich das etwas anders dar: Laut SuSE Handbuch 7.3 "Die Referenz" (Seite 254) sei die Konfiguration des Kernels der Datei .config im Verzeichnis /usr/src/linux zu entnehmen. Nach meiner "Minimalen Installation mit Grafik" (7.3) gab es weder die Datei .config noch das Verzeichnis /usr/src/linux. Es gab lediglich /usr/src/, und dieses war -wenn ich mich recht entsinne- auch leer. Wenn ich die Kernel-Quelle in einem beliebigen Verzeichnis entpacke, dann wird immer in ein Unterverzeichnis mit dem Namen linux-2.4.19 entpackt und nicht nach /usr/src. Aus irgendeiner Quelle (auf die ich jetzt nicht mehr komme) wird geraten, nach entpacken der Kernel-Quelle einen Link /usr/src/linux auf /usr/src/linux-2.4.19 zu machen, in meinem Fall jedoch mit der zusätzlichen EXTRAVERSION "a". Daher die obige Vorgehensweise. Ob ich den alten Kernel überschrieben habe, kann ich nicht ganz beurteilen. Was ich jedoch mit Gewissheit behaupten kann, ist, dass der alte Kernel über lilo.conf wie u.a. noch einwandfrei startet.
cd /usr/src test -d linux && mv linux linux-`uname -r` ## a) bisheriges Kernel-dir ## umbenennen
Das wäre bei mir also fehlgeschlagen!!!
test -L linux && rm linux ## b) symlink loeschen
es gab hier auch keinen Link, also wäre dieser Befehl fehlgeschlagen
tar xzf PFAD/linux-<neue-version> ## tar auspacken
gut, das wäre eine Vereinfachung gewesen
mv linux linux-<neue-version> ## umbenennen
Unnötig, da das entpackte Verzeichnis bereits linux-2.4.19 heisst
ln -s linux-<neue-version> linux ## verlinken
hatte ich ja gemacht, halt nur mir der EXTRAVERSION "a", also ln -s linux-2.4.19a linux
discommented line "export INSTALL_PATH=/boot" in Makefile
Wieso das? Solange man nicht 'make lilo' oder 'make bzlio' verwendet stoert die Definition der Variablen...
Sorry, wusste ich nicht. Ich bin nur dem Tipp des SuSE Handbuchs 7.3 "Die Referenz" (Seite 256) gefolgt, da ist keine Rede von 'make lilo' oder 'make bzlio' in diesem Zusammenhang.
let run make oldconfig in case of no .config is available
Ist das ein Kommentar?
Durch den Befehl 'make oldconfig' konnte ich endlich über .config verfügen, die ja ursprünglich nicht da war.
zcat /proc/config.gz .config make oldconfig
Ok (denke ich, oldconfig kenne ich nicht, ich mach das per Hand ;)
gzip -cd < linux-2.4.19.xattr+acl-0.8.50.diff.gz | patch -p1
Sollte ok sein.
make menuconfig vi Makefile (EXTRAVERSION=a) time make dep clean bzImage modules modules_install 2>&1 | tee make.out cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.19a cp /usr/src/linux/System.map /boot/System.map-2.4.19a
Ok.
mv /boot/vmlinuz /boot/vmlinz-2.4.10-4GB (altes Image gesichert)
Ist dann evtl. ein 'mk_initrd' fuer diesen Kernel noetig?
Das weiss ich eben auch nicht!!! Ich denke 'mk_initrd' bezieht sich irgendwie auch auf SCSI Controller und ReiserFS. Hab jetzt nochmal die Doku durchgeschaut. Hier muss der Fehler liegen. Siehe unten.
Ja, ich sollte wohl mal mehr zur initrd schreiben...
Ja bitte! ;-)) Wie erstelle ich denn eine initrd? Ich dachte ich könnte für mein vmlinuz-2.4.19a auch /boot/initrd nehmen und hab mit 'mk_inird -k "vmlinuz-2.4.19a" -i "initrd"' versucht. Leider erfolglos. Jetzt konnte ich weder "vmlinuz-2.4.19a" noch "vmlinuz-2.4.10-4GB" starten. Über "failsafe" bin ich wieder rein gekommen und konnte mit 'mk_inird -k "vmlinuz-2.4.10-4GB" -i "initrd"' die ganze Sache rückgängig machen und nun läuft das Original Linux "vmlinuz-2.4.10-4GB" wieder. Ich habe doch ursprünglich die alte Konfiguration übernommen (zcat /proc/config.gz .config und make oldconfig), d.h. doch auch die gleichen Module und festeingebundenen Treiber wie im Original Kernel. Warum kommt der neue Kernel dann nicht mit der "/boot/initrd" zurecht? Also wie erstelle ich die passenden initrd?
Auch die initrd musst du fuer jeden Kernel erstellen -- besser aber, du laesst die initrd fuer den neuen Kernel ganz weg, d.h. alles zum booten noetige fest in den Kernel und den Rest dann als Modul.
Wei ermittele ich, was alles "noetig" ist für den Kernel? Vielen Dank nochmals für die bisherige Hilfe. MfG Peter Meyer -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net