Kernel kompilieren: Unterschied zwischen den Versionen

Aus ThinkPad-Wiki
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
[[Bild:Qsicon_inArbeit.png]]
[[Bild:Qsicon_inArbeit.png]]
== 2.6.25er Kernel und Ubuntu Hardy ==


Es lohnt sich insofern, als dass die Timer Interrupts endlich deutlich weniger sind und der Kernel etwa 0,75W +-0,25W weniger verbrät. Liege jetzt mit meinem T61 14,1" Wide + Nvidia Quadro 140 (mit dem neuesten Nvidia-Treiber) im Idle bei etwa 11,5 W mit Wlan, bei niedrigster Helligkeit und entladenen Usb-Modulen. Da waren es vorher in etwa 12,5W. Alles bezieht sich auf die 64-bit Version von Hardy :rolleyes:
Hier gehts um Kernel kompilieren, Patches einbauen und andere systemnahe Funktionen unter Linux freischalten


Ob sich die Mühe alleine für das halbe bis ganze Watt lohnt? Eher nicht, da der Nvidia-Treiber von Hand installiert und ein Softlink nachträglich angepasst werden muss (für die Intel4965 Wlan-Firmware). Da ich aber auch Hdaps nutzen wollte, hätte ich sowieso den Kernel neu backen müssen, von daher habe ich dann gleich den neuen genommen. :)
== Was bringt ein eigener Kernel ==
 
Der Sprung von 2.6.24 zu 2.6.25 lohnt sich insofern, als dass die Reschudiling un die Timer Interrupts endlich deutlich weniger sind und der Kernel dadurch bei geringer Last etwa 0,75W +-0,25W weniger Strom verbraucht. Ei T61 14,1" Wide + Nvidia Quadro 140 (mit dem neuestem Nvidia-Treiber) verbraucht im etwa 11,5 W mit Wlan, bei niedrigster Helligkeit und entladenen Usb-Modulen. Da waren es vorher in etwa 12,5W. (64-bit Version von Ubuntu Hardy).
 
In Kernel 2.6.26 funktioniert die WLAN LED endlich.
 
Ob sich die Mühe alleine für das halbe bis ganze Watt lohnt? Eher nicht, da der Nvidia-Treiber von Hand installiert und ein Softlink nachträglich angepasst werden muss (für die Intel4965 Wlan-Firmware). Da ich aber auch Hdaps nutzen wollte, hätte ich sowieso den Kernel neu backen müssen, von daher habe ich dann gleich den neuen genommen.  
 
== Kernel Config ==


Die Optionen in der Config kann man beibehalten, in erster Linie verlängern sie nur erheblich den Kompilierprozess (bei mir etwa 40min statt 1:20h) und machen das Kernel-deb-Paket etwas größer.
Die Optionen in der Config kann man beibehalten, in erster Linie verlängern sie nur erheblich den Kompilierprozess (bei mir etwa 40min statt 1:20h) und machen das Kernel-deb-Paket etwas größer.
Einziges Manko, bei den ersten Configs waren nach der Auto-Anpassung die Wlan und Soundtreiber nicht mehr aktiviert (linux-image-2.6.24-16). Man musste die also in der Config manuell anwählen. Wie das im Moment ist, weiß ich nicht, da ich seitdem meine angepasste Config "mitschleppe". Daher würde ich raten alles per Default mitzunehmen wie es ist und lieber überflüssige Module per rc.local zu entladen. Unter "Networking-> Wireless" darauf achten das der mac80211 aktiv ist. Unter "Device Drivers-> Network Device Support -> Wireless LAN" darauf achten, evtl Deine Treiber als Modul zu aktivieren (ja nach Wlan-Karte halt). Und unter "Device Drivers -> Sound" sollte ebenfalls das meiste angewählt sein.
Einziges Manko, bei den ersten Configs waren nach der Auto-Anpassung die Wlan und Soundtreiber nicht mehr aktiviert (linux-image-2.6.24-16). Man musste die also in der Config manuell anwählen. Wie das im Moment ist, weiß ich nicht, da ich seitdem meine angepasste Config "mitschleppe". Daher würde ich raten alles per Default mitzunehmen wie es ist und lieber überflüssige Module per rc.local zu entladen. Unter "Networking-> Wireless" darauf achten das der mac80211 aktiv ist. Unter "Device Drivers-> Network Device Support -> Wireless LAN" darauf achten, evtl Deine Treiber als Modul zu aktivieren (ja nach Wlan-Karte halt). Und unter "Device Drivers -> Sound" sollte ebenfalls das meiste angewählt sein.
== Ablauf ==


Der Ablauf in Kürze für den 2.6.25.7:
Der Ablauf in Kürze für den 2.6.25.7:
Zeile 29: Zeile 38:


etwas einfacher geht das mit [http://kcheck.sourceforge.net/ Kernelcheck]
etwas einfacher geht das mit [http://kcheck.sourceforge.net/ Kernelcheck]
== Nachbearbeitung ==
Firware Verzeichnis eines früheren Kernels symbolisch verlinken


== Kernel Patches / Module ==
== Kernel Patches / Module ==


* APS-Patch funktioniert nicht, da er die Datei block/ll_rw_blk.c patchen will, die nirgendwo im 2.6.26er-Baum liegt. Der letzte APS-patch ist denn ja auch für 2.6.18.3 erschienen.
* APS-Patch funktioniert nicht, da er die Datei block/ll_rw_blk.c patchen will, die nirgendwo im 2.6.26er-Baum liegt. Der letzte APS-patch ist denn ja auch für 2.6.18.3 erschienen.
:* Update: Der APS Patch geht: http://www.thinkwiki.org/wiki/HDAPS aber nicht vergessen, vorher den libata Patch zu integrieren, sonst bleibt evtl das System hängen
* Thinkpad-acpi
* Thinkpad-acpi
* PHC-Patch (2.6.25, Link aus dem Wiki)
* PHC-Patch (2.6.25, Link aus dem Wiki)

Version vom 16. Juli 2008, 19:46 Uhr

Qsicon inArbeit.png

Hier gehts um Kernel kompilieren, Patches einbauen und andere systemnahe Funktionen unter Linux freischalten

Was bringt ein eigener Kernel

Der Sprung von 2.6.24 zu 2.6.25 lohnt sich insofern, als dass die Reschudiling un die Timer Interrupts endlich deutlich weniger sind und der Kernel dadurch bei geringer Last etwa 0,75W +-0,25W weniger Strom verbraucht. Ei T61 14,1" Wide + Nvidia Quadro 140 (mit dem neuestem Nvidia-Treiber) verbraucht im etwa 11,5 W mit Wlan, bei niedrigster Helligkeit und entladenen Usb-Modulen. Da waren es vorher in etwa 12,5W. (64-bit Version von Ubuntu Hardy).

In Kernel 2.6.26 funktioniert die WLAN LED endlich.

Ob sich die Mühe alleine für das halbe bis ganze Watt lohnt? Eher nicht, da der Nvidia-Treiber von Hand installiert und ein Softlink nachträglich angepasst werden muss (für die Intel4965 Wlan-Firmware). Da ich aber auch Hdaps nutzen wollte, hätte ich sowieso den Kernel neu backen müssen, von daher habe ich dann gleich den neuen genommen.

Kernel Config

Die Optionen in der Config kann man beibehalten, in erster Linie verlängern sie nur erheblich den Kompilierprozess (bei mir etwa 40min statt 1:20h) und machen das Kernel-deb-Paket etwas größer. Einziges Manko, bei den ersten Configs waren nach der Auto-Anpassung die Wlan und Soundtreiber nicht mehr aktiviert (linux-image-2.6.24-16). Man musste die also in der Config manuell anwählen. Wie das im Moment ist, weiß ich nicht, da ich seitdem meine angepasste Config "mitschleppe". Daher würde ich raten alles per Default mitzunehmen wie es ist und lieber überflüssige Module per rc.local zu entladen. Unter "Networking-> Wireless" darauf achten das der mac80211 aktiv ist. Unter "Device Drivers-> Network Device Support -> Wireless LAN" darauf achten, evtl Deine Treiber als Modul zu aktivieren (ja nach Wlan-Karte halt). Und unter "Device Drivers -> Sound" sollte ebenfalls das meiste angewählt sein.

Ablauf

Der Ablauf in Kürze für den 2.6.25.7:

sudo apt-get install  build-essential kernel-package xmlto libqt3-mt-dev #notwendige Pakete installieren
cd /usr/src   #ins Verzeichnis der Kernelsourcen wechseln
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.7.tar.bz2   #Herunterladen des neuen Kernels
sudo -s   #nicht der Königsweg, mich würden aber die 12 mal  "sudo" die jetzt notwendig sind, nerven
tar xjf linux-2.6.25.7.tar.bz2   #entpacken
rm linux   #evtl vorhandenes Verzeichnis löschen
ln -s linux-2.6.25.7 linux   #Softlink erstellen
cd linu x   #Verzeichnis wechseln
cp /boot/config_$(uname -r) .config   #aktuelle Kernelconfig zum neuen Kernel kopieren
#patch -p1 -l < /Speicherort/des/Patches   #evtl patchen, z.B. libata und hdaps
make oldconfig   #alte Config an neuen Kernel anpassen
make xconfig   #Config editieren
make-kpkg clean   #aufräumen
make-kpkg --initrd --revision=meineeigeneVersion binary   #Kaffee oder Tee trinken gehen 
#ln -s /lib/firmware/2.6.24-19-generic /lib/firmware/2.6.25.7   #evtl noch fehlenden Softlink setzen
exit

etwas einfacher geht das mit Kernelcheck

Nachbearbeitung

Firware Verzeichnis eines früheren Kernels symbolisch verlinken

Kernel Patches / Module

  • APS-Patch funktioniert nicht, da er die Datei block/ll_rw_blk.c patchen will, die nirgendwo im 2.6.26er-Baum liegt. Der letzte APS-patch ist denn ja auch für 2.6.18.3 erschienen.
  • Thinkpad-acpi
  • PHC-Patch (2.6.25, Link aus dem Wiki)
  • tp_smapi;
  • APS: How to protect the harddisk through APS Siehe auch Problem with APS harddisk parking
  • WLAN-LED im iwlwifi-Treiber soll ja nun oob funktionieren. Naja, mal schauen, was wir zusammenstellen können.

Links

siehe auch diesen Thread und diesen im ThinkPad-Forum