Kernelgeschichten (II)

Mein Netbook läuft nun auch schon seit beinahe zwei Jahren zu meiner vollsten Zufriedenheit mit Manjaro Linux. Damals hatte ich mir die Netbook Edition ausgesucht, weil sie gleich optimal an den kleinen Bildschirm angepasst war.
Die Netbook Edition besitzt einen Kernel aus dem Kernel-Netbook-Projekt, der speziell auf die Nutzung mit Atom-Prozessoren zugeschnitten ist. Meinereiner verwendet ja gerne aktuelle Kernel, und so stieß mir auf, dass es schon ziemlich lange keine Updates für den letzten Netbook-Kernel 3.14.59-1-MANJARO-netbook gab. Das muss nichts bedeuten, denn Kernel 3.14 ist LTS und wird noch bis August diesen Jahres unterstützt. Trotzdem kann ich ja jetzt schon mal schauen, welche Alternativen es dann gibt.

Kernel 4.4 ist ebenfalls LTS, wird aber nicht in einer speziellen Netbook-Edition angeboten. ‚Macht nichts,‘ dachte ich mir, ‚installiere ich trotzdem!‘

sudo mhwd-kernel -i linux44

Der Kernel bootet, alle verbauten Hardwarekomponenten werden erkannt und korrekt betrieben. Bei einem mobilen Gerät ist natürlich von besonderem Interesse, dass es sparsam mit der verfügbaren Akkuladung umgeht. Dazu habe ich mir powertop installiert.

sudo pacman -S powertop

Damit kann ich unter anderem die aktuellen Stromfresser sowie die Einstellungen des Powermanagements analysieren. Ganz praktisch ist es auch, dass die Ausgabe auch in HTML erfolgt und ich eine übersichtliche Darstellung im Browser erhalte.

powertop --html

powertop1

Soweit ganz gut, der erste Überblick. Mich interessiert der Reiter „Tuning“. Dort sehe ich, dass es nur wenige Einstellungen mit Tuning-Potenzial gibt. Das Meiste ist schon optimiert.

powertop2

Die vier verbliebenen Einstellungen hätte ich gerne automatisch beim Systemstart korrigiert, wozu sich der Aufruf eines Skripts in der Datei /etc/rc.local anbietet.
Die entsprechenden Befehle habe ich aus der Datei ~/powertop.html einfach in das Skript /usr/local/bin/startup.sh kopiert und anschließend das Skript ausführbar gemacht.
Leider tat das Skript nicht seinen erwarteten Dienst.

#!/bin/bash
echo '1500' > '/proc/sys/vm/dirty_writeback_centisecs';
echo '1' > '/sys/module/snd_hda_intel/parameters/power_save';
echo '0' > '/proc/sys/kernel/nmi_watchdog';
ethtool -s enp3s0 wol d;

Die Datei /etc/rc.local sieht so aus:

#!/bin/bash
#
# /etc/rc.local: local multi-user startup script.
#
/bin sleep 20 && /usr/local/bin/startup.sh
exit 0

Sleep habe ich eingebaut, um ein eventuelles Überschreiben der Einstellungen durch spätere Prozesse zu verhindern. Da alle Einträge korrekt sind, schwante mir, dass ich systemd erst noch dazu bewegen muss, rc-local.service auszuführen. Der Dienst war nicht existent und folglich nicht zu starten. Also habe ich diesen Dienst angelegt, in dem ich die Datei /lib/systemd/system/rc-local.service mit folgendem Inhalt anlegte:

[Unit]
Description=/etc/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Nun noch systemd anweisen, diesen Dienst zu verwenden:

sudo systemctl enable rc-local.service

Der nachfolgende Neustart des Netbooks zeigt, dass alle Einstellungen korrekt sind und powertop keinen Anlass für weitere Optimierungen sieht.

powertop3

Damit läuft das Netbook mit neuem Kernel und optimierten Stromspareinstellungen, und ich habe nebenher wieder etwas über systemd gelernt.


[Update 13.03.2016]

Es ergab sich gestern noch die Gelegenheit, dass ich das Netbook im Akkubetrieb laufen ließ. Mit aktiviertem WLAN, angestöpselter Maus und Ohrhörern verfolgte ich ein Internetradio mit Chat und tippte auch fleißig meinen Senf in den Chat. Nach 2:45 h meldete das Netbook einen niedrigen Ladezustand des Akkus. Das scheint mir angesichts des Alters (knapp sechseinhalb Jahre) nicht allzu schlecht.

Meinen Senf dazugeben

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s