PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : kernel kompilieren redhat 7.3


morpheus2001
31.01.03, 16:34
hi,

problem:
ich muss Fritz!Card PCI auf einem Redhat 7.3 Server installieren. Dank dem wunderbaren Support von AVM darf ich hierfür einen riesen Zirkus machen.

Ich muss unter anderem den Kernel neu übersetzen, ein paar zusätzliche Module (ISDN Subsystem) mit einbinden.

Ok hierfür mach ich folgendes:
hab den kernel-source installiert, der auf der RH CD war.
danach hab ich "make oldconfig" in /usr/src/linux ausgeführt.
dann make config -> meine Module hinzugefügt, alles andere so belassen wie es war.
dann: "make bzImage" "make modules" "make modules_install"
soweit alles super kein Fehler.

Nun gibt es in /lib/modules neben dem urpsrünglichen Ordner "2.4.18-3" einen neuen "2.4.18-3custom". Also vertausch ich beide Ordner, boote mit dem neuen Kernel.

Resultat: Er hat Probleme bei irgendeinem USB Mount, und die Netzwerkkarten funktionieren nicht. Ich bekomme millionen von "unresolved symbols" wenn ich depmod -a ausführe.

Wenn mir ein AVM Mitarbeiter in die Arme rennt, fehlt ihm ein Kopf.
Ich bitte dringend um Hilfe!!!

gruss
daniel

Belkira
31.01.03, 17:30
1. Warum vertauschst Du die beiden Modulverzeichnisse? :rolleyes: Das 2.4.18-3custom ist nur für Deinen 2.4.18-3custom Kernel. Module, die für einen Kernel mit der Version 2.4.18-3custom sind, laufen nicht mit einem Kernel mit der Version 2.4.18-3. Du hättest also den 2.4.18-3custom Kernel und die 2.4.18-3custom Module nehmen müssen, anstatt irgendwas zu tauschen. Du kannst vor dem Compilieren aber auch das "custom" wegmachen, im Kernel Makefile. Solltest Du aber nur, wenn Du die Kernel Config nicht änderst oder auch den neu compilierten Kernel verwendest.

2. Die Config für den 2.4.18-3 Kernel von Red Hat findest Du im /usr/src/linux-2.4/configs Verzeichnis.

morpheus2001
01.02.03, 11:14
hi Belkira,
vielen Dank für deine Antwort.

das hat ja schon was, was du sagst!
eine kleine frage hät ich trotzdem noch:

wie genau sag ich meinem linux, dass ich jetzt mit dem 2.4.18-3custom kernel starten will? ich nehme das hat was mit vmlinuz oder so zu tun? ich hab den lilo bootmanager installiert, kann ich das mithilfe von lilo erreichen?

thx a lot
daniel

Belkira
01.02.03, 12:00
Ja, indem Du nicht nur die Kernel Module mit "make modules_install" installierst, sondern auch den Kernel selbst mit "make install". Danach vervielfältigst Du in Deiner /etc/lilo.conf einen existierenden Bootmenu Eintrag und änderst ihn für die neue Kernel Version und achtest darauf, daß Du die angegebene Kernel Datei (z.B. /boot/vmlinuz-2.4.18-3custom) auch wirklich hast. Verwendest Du eine RAM-Disk beim Booten (die initrd-2.4.18-3.img Datei), so mußt Du diese ebenfalls neu erzeugen (siehe man page, z.B. mit "mkinitrd /boot/initrd-2.4.18-3custom.img 2.4.18-3custom"). Und da Du LILO verwendest, anstatt den mächtigeren GRUB, wirst Du LILO neu in den Bootsektor schreiben müssen, indem Du "lilo -v" aufrufst. Auf Fehler achten.

Das "custom" in der Kernel Version dient als Schutz, damit sich kein Newbie aus Versehen die Dateien des laufenden Kernels zerhackt. Bist Du in der Kernel Compilierung sicher, darfst Du es gerne wegmachen oder nur Module zu einem Kernel hinzucompilieren, anstatt einen komplett eigenen Kernel zu bauen und zu installieren.

Zudem empfehle ich die Suchfunktion im Forum. Denn wir haben Kernel-Compilierung und Installation regelmäßig. Dein "make oldconfig" vor "make config" macht z.B. keinen Sinn. Zudem ist "make config" eher für Masochisten und "make menuconfig" komfortabler.

morpheus2001
01.02.03, 12:07
hi,

merci. ich werd mich mal dransetzen.
gruss