Config_x86_intel_pstate

davidbaumann

Commodore
Registriert
Aug. 2004
Beiträge
4.867
Hallo zusammen,

vor kurzem habe ich einen Artikel gelesen, der mir Hoffnungen machte, dass ich mein I7 Laptop der 3. Generation noch etwas optimieren kann, was die Akkulaufzeit angeht.
http://www.golem.de/news/linux-kern...stungsaufnahme-auf-intel-cpus-1305-99336.html

Leider weiss ich nicht genau, wie ich am einfachsten vorgehe, um diese Funktion zu aktivieren.
Ich denke mal grob, dass ich mir einen funktionierenden 3.10er Kernel in den Quellen holen muss, und dann neu kompilieren.
Wo nehme ich den am besten her?

Hat das schon jemand gemacht hier?

Gruß,
David.
 
Das allgemeine Vorgehen ist ungefähr folgendes:

- Quellen laden nach /usr/src/linux-git (Pfad beliebig):
Code:
mkdir -p /usr/src
cd /usr/src
git clone https://github.com/torvalds/linux linux-git

- Kernel konfigurieren:
Code:
make menuconfig

- Kernel bauen und die Module installieren
Code:
make -j4
make modules_install

- Kernel "installieren"
Code:
cp arch/x86/boot/bzImage /boot/kernel-git

- Grub anpassen
grub2:
Code:
grub2-mkconfig -o /boot/grub2/grub.cfg
grub1: in /boot/grub/menu.lst einen neuen Eintrag erstellen, der auf deinen neuen Kernel verweist

Im Teil "Kernel konfigurieren" kannst du dann deine gewünschte Option aktivieren. Suchen funktioniert mit "/", dann kannst "PSTATE" eingeben und dann zeigt der dir, wo die Option im Menubaum zu finden ist und ob sie nicht vielleicht doch schon aktiviert ist.

Da das allgemeine Vorgehen aber meist nur im speziellen Fall tatsächlich anwendbar ist, solltest du schauen, wie du bei deiner Distribution einen Custom-Kernel erstellst, denn sonst wird nach dem nächsten Kernel-Update wieder der Kernel der Distribution standardmäßig hochgefahren und du musst Teile der Prozedur wiederholen.

Des weiteren empfiehlt es sich speziell für Unerfahrene, nicht mit der default-config des Kernels zu beginnen, sondern auf eine schon vorhandene aufzubauen (vor menuconfig):
Code:
cd /usr/src/linux-git
zcat /proc/config.gz > .config
make oldconfig
Dann musst du nämlich nur deine eine Option aktivieren und nicht schauen, dass alle Treiber für deine Hardware wenigstens als Modul aktiviert sind.

Viel Erfolg ;)
 
Hallo ebast,

scheinbar hast du dich ja extra angemeldet. Danke dir!
Der letzte Befehl ist das Wichtigste für mich, ich wusste bisher nicht, wie ich in etwa die Ubuntu Vorkonfiguration bekomme.

  • zcat /proc/config.gz > .config
Genial ;)

Gruß,
​David.
 
Die .config passend zu allen installierten Kernels findest du sehr wahrscheinlich in /boot jeweils mit der gleichen Versionsnummer hinten dran wie die Kernel. Liegt daran, dass man in der Regel nicht wie in Beitrag #2 manuell nach nach /boot kopiert sondern via "make install". Dann landen neuer Kernel und zugehörige .config automatisch schön mit der Versionsnummer benamst in /boot.

Dass die .config des aktiv laufenden Kernels via /proc/config.gz verfügbar ist, ist eher Glück, denn dies ist optionales Feature des Kernels (CONFIG_IKCONFIG), was in Standardeinstellung nicht aktiv ist.
 
Hier gibts ja schon den 3.9er für Ubuntu.
Installieren funktioniert auch einwandfrei.

http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.9.4-saucy/

Nur wie kann ich genau den compilieren?
3.9.4 von Kernel.org laden, dann die im oben genannten Verzeichnis liegenden patches einspielen (wie?)...
Dann die .config reinkopieren und make menuconfig?

​Gruß.
 
Saug dir irgendwo halbwegs aktuelle Quellen des Linux-Kernels [1] und lies die README im Wurzelverzeichnis. Da wird das alles schön detailliert erklärt.

[1] https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.9.8.tar.xz


Dazu kommen dann ggf. distributionsspezifische Besonderheiten, aber die kann man in der Regel
a) ignorieren oder
b) durch Lesen der mitgelieferten Doku ergründen.

Gewöhn dich daran, dass im Linuxumfeld üblicherweise Software mit Dokumentation daherkommt. Es wird allgemein erwartet, dass man sich diese Doku erstmal anschaut, bevor man woanders nachfragt. Lies also die o.g. README und probier einfach alles mal aus (Kernel konfigurieren, compilieren, patchen, installieren). Das wirst du immer wieder brauchen.
 
Zuletzt bearbeitet:
Ich denke ich muss mich noch ein bisschen beschäftigen ;).
Auch wenn ich das Feature nicht testen kann, werde ich heute eher einen Kernel in einer vm bauen und testen.
Danach kann ich auch gleich ein dist-upgrade testen.

Denke Ubuntu Config ist aber die sauberste Lösung.

Edit: hast du vorher-nachher Werte? Temperatur oder Akkulaufzeit?
 
Zurück
Oben