Susee Kernel Kompilen

Hallo leute!

Also nach einigen spekulationen rund um den linux kernel und der hardware
meines notebooks bin ich nun entgültig zu dem entschluss gekommen
neuer kernel muss her!

also wenn ich mein system boote funktioniert alles einwandfrei =)
außer das meine Cpu mit stolzen 800 Mhz statt 1600 Mhz rumgurkt...

naja egal dieses Problem habe ich bereits mit hilfe von bitmuncher und diesem
post http://www.linuxforen.de/forums/showthread.php?t=165014 gelöst!

nachdem ich nun dieser anleitung gefolgt bin und meinen kernel neu schrieb mit den
einstellungen laut diesem thread...
ist alles schön und gut,... er kompiliert gute 1,5 stunden mit 800 mhz und dann steht irgendwann
bzImage ready usw... dann kopiere ich fein die bzImage nach /boot/vmlinuzown und boote
von dieser vmlinuzown mit einer weiteren bootzeile in meinem grub.

Dannach kaum im linux 1598MHZ beide prozis!!!
NICE

aber dafür geht sonst gar nichts mehr!! nichts!
kein cd laufwerk, keine akkuanzeige, kein usb gerät, keine lankarte, nichts!!!
außer meinen tollen 1,6 ghz

hmmm
also ich bin nicht das genie im kernel kompilen deswegen,.... denk ich das ganze liegt nur an kleinen fehlern die mir unterlaufen....
hab auch schon mit make modules und make modules_install das ganze gemacht....
nichts
und manchmal nach dem 2ten mal kerne komilieren bootet er gar nicht mehr,.... nicht die alte vmlinuz und auch nicht meine eigene ... keine ahnung warum...

bitte um rat =)

greetz Muskatnuss
 
Vermutlich hast du einfach vergessen ein initrd-Image zu erstellen für den neuen Kernel. Hier nochmal kurz der Ablauf zum erstellen eines selbstkompilierten Kernels unter SuSE.

1. Ganz wichtig: Benutze das Kernel-Source-Paket von SuSE, nicht den Source von kernel.org, da SuSE sehr viele Patches im Kernel hat, die zusätzliche Treiber beinhalten u.ä.
2. Kopiere die Original-Kernel-Konfiguration in das Kernel-Source-Verzeichnis (cp /boot/config-<deine-kernel-version> /usr/src/linux/.config), die Ziel-Datei muß .config im Kernel-Source-Verzeichnis heißen
3. Wechsel in das Source-Verzeichnis und lasse 'make oldconfig' durchlaufen
4. Rufe 'make menuconfig' auf und überprüfe ob die Konfiguration, die im Howto beschrieben ist, korrekt gesetzt ist. (speichern der Konfiguration nicht vergessen)
5. 'make all' durchlaufen lassen
6. 'make modules' durchlaufen lassen
7. 'make install' durchlaufen lassen
8. 'make modules_install' durchlaufen lassen
9. mit 'mkinitrd' ein neues Ramdisk-Image (/boot/initrd.img-<version>) erstellen
10. die Grub-Konfiguration überprüfen und ggf. für den neuen Kernel eine neue Sektion eintragen (es ist wichtig, daß du die alten Einträge für den alten Kernel erstmal drin läßt, falls der neue Kernel nicht korrekt bootet)

Danach sollte eigentlich alles korrekt funktionieren.
 
Was ist der Vorteil von nem initrd-image?

ich mach immer nur n:
make
make modules_install
und dann den kernel in boot kopiern und im bootmanager eintragen.
 
Es gibt keinen wirklichen Vorteil außer eine minimal bessere Performance, da die Treiber immer im RAM bleiben. Schließlich werden RAM-Disks nicht geswappt. Außerdem stehen damit gewisse Treiber-Module (wie z.B. für das Dateisystem) schon beim Booten zur Verfügung. Das Problem ist nur, daß SuSE per Default einen komplett modularen Kernel und ein initrd-Image nutzt und entweder man macht sich die Mühe und baut alle Module, die beim Booten benötigt werden, fest ein (dazu sollte man sich aber ein wenig mehr mit der Kernel-Konfiguration auskennen) oder man läßt den Kernel modular und erstellt eben ein initrd-Image.
 
Zurück
Oben