Kategorie: Linux

Iso Image unter Ubuntu erstellen

Da mein TabletPC kein integriertes CD-Laufwerk hat, kann es recht unkomfortabel sein das externe Laufwerk stets mit mir rumzutragen und dann auch anzuschließen.

Abhilfe schaffen oft die sogenannten Images, zu deutsch Abbilder. Die Images enthalten alle informationen die auch auf einer CD/DVD zu finden sind (kritisch sind hierbei manche Kopierschutzmechanismen die absichtlich ungültige Sektoren einbauen). Diese Abbilder werden als eine große Datei auf dem Rechner gespeichert. Je nach Programm mit dem man das Abbild erstellt hat man nacher eine .iso oder auch eine .nrg oder eins der vielen anderen Formate. Ich bevorzuge Iso-Dateien da diese von fast jedem Programm gelesen werden können. Unter Linux kann man diese Iso-Dateien direkt in die Ordnerstruktur einbinden (mounten) und hat dann somit ein virtuelles Laufwerk (erfordert einen Kernel mit dem sogenannten Loop-device).


Tablet-PC Funktionalität unter Linux aktivieren für Lenovo X61t (Teil 4 – energiesparende Autorotation)

Die automatische Rotation nach dem Guide war mir im Zuge meiner Energiesparoptionen ein Dorn im Auge, basiert das System doch auf Polling welches ständig prüft ob ein Ereignis nun eingetreten ist oder nicht. Dazu muss der Prozessor mehrmals aufwachen, das kostet wiederrum Energie.

Aber ansich finde ich die Möglichkeit den Bildschirm automatisch auszurichten schon sehr schön. Not macht erfinderisch.

Ich habe mir eine Möglichkeit überlegt beide Varianten zu vereinen, Ereignisgesteuert aber ohne Polling, es hat etwas weniger Komfort aber ist vielleicht noch ein wenig nützlicher als eine ständige automatische Rotation.

Das Prinzip basiert auf dem Rotier-Knopf und den ACPI Ereignissen. Die Idee ist diese, sobald man den Rotier-Knopf drückt wird geprüft in welchem Zustand sich das Tablet befindet, ist es gerade im Tabletmodus wird für 8 Sekunden die automatische Rotation eingeschaltet, dies sollte genug sein um das Tablet so zu drehen wie man möchte.

Um das ganze hier zu konkretisieren, Vorraussetzungen:

  • Installiertes hdaps Modul
  • Lukes rotate.py irgendwo funktionierend abgelegt
  • ein installiertes thinkpad_acpi Modul

(vergleiche auch: (Teil 2 – Sondertasten + Rotation) und (Teil 3 – Autorotation))
Der Rest ist nun recht einfach.

Wir schnappen uns eine Konsole und reißen die Macht an uns, für die Weltherrschaft reicht das zwar noch nicht ganz, aber wir stehen kurz davor:

1
sudo su

Dann legen wir, beispielsweise unter /usr/local/bin eine neue Datei an die wir sinnigerweise rotatebutton.sh nennen könnten:

1
nano /usr/local/bin/rotatebutton.sh

In diese fügen wir nun folgendes ein:

1
2
3
4
5
6
7
8
9
#!/bin/bash
if [ `cat /sys/devices/platform/thinkpad_acpi/hotkey_tablet_mode` = "1" ]
then
        /usr/local/bin/rotate tablet
        sleep 8
        killall -e rotate
else
        /usr/local/bin/rotate normal
fi

Zum Herunterladen: rotatebutton
eventuell muss der Pfad zum Rotationsskript angepasst werden, ebenso die Schlafzeit.
Danach noch die Datei ausführbar machen:

1
chmod +x /usr/local/bin/rotatebutton.sh

Das Skript prüft den Status des IBM Hotkeys Tablet Mode, wenn dieser gesetzt ist wird die Rotation nach HDAPS für 8 Sekunden aktiviert, danach wird das Rotationsskript wieder getötet.

Somit erreicht man: Komfort durch automatische Rotation, wenig Belastung des Prozessors durch Verhinderung des Pollings, kein versehentliches Drehen des Bildschirms bei der Arbeit.

Jetzt müssen wir nur noch den Rotierknopf unserem Skript zuweisen:

1
gconf-editor

Unter apps/metacity/keybinding-commands
Ändern wir den Wert eines freien (oder der alten Rotationsbelegung) Kommandos auf:

1
sudo /usr/local/bin/rotatebutton.sh

unter /apps/metacity/global_keybindings/ fügen wir dann beim entsprechenden run_command_X das Keyevent ein:

1
XF86User1KB

Eventuell muss die sudoers Liste noch angepasst werden:

1
visudo

Dort fügen wir in die Zeile mit %tabletgroup noch folgendes hinzu:

1
,/usr/local/bin/rotatebutton.sh

Nun noch abspeichern, wenn man durch visudo wirklich in vi gelandet ist, so hat man gewisse Schwierigkeiten bei der Bedienung, bei mir bin ich glücklicherweise in nano gelandet, man kann die Datei auch einfach mit nano /etc/sudoers aufrufen, aber wenn man einen Fehler macht kann das unangenehme Auswirkungen haben.
(sofern die Anleitungen dieser Seite befolgt wurden sollte jetzt alles funktionieren.)


Tablet-PC Funktionalität unter Linux aktivieren für Lenovo X61t (Teil 3 – Autorotation)

Der letzte Teil der spezifischen Tabletfunktionalität ist die Autorotation.
Beim Überfliegen von Lukes Rotationsskript ist mir aufgefallen, dass es wohl eine Möglichkeit gibt die Beschleunigungssensoren des Thinkpads auszulesen und so eine automatische Rotation und eventuell auch die automatische Festplattenabschaltung zu realisieren.
Dazu benötigt man HDAPS welches nicht standardmäßig installiert ist.
Die Entwickler des HDAPS Treibers empfehlen die Verwendung des gepatchten Treibers von tp_smapi.

Also installieren wir den Kerneltreiber, dazu können wir einfach den Tarball herunterladen der auf der obenstehenden Seite verlinkt ist.
Den speichern wir an einem Ort an dem wir ihn wiederfinden, zum Beispiel im Home Ordner.

Nun benutzen wir wiedereinmal die Konsole. Dort entpacken wir den Tarball:

1
tar xzvf tp_smapi-0.40.tgz

Je nach Versionsnummer heißt die Datei etwas anders.
Wir wechseln in das neu erstellte Verzeichnis:

1
cd tp_smapi-0.40

Nun müssen wir einfach die Module erstellen lassen und sie danach laden, da wir sie öfter verwenden möchten benutzen wir die Installationsoption und natürlich geht es uns primär um den HDAPS Treiber. Also installieren wir die Module mit:

1
make install HDAPS=1

Nun sollten die Module gebaut und installiert werden. Mit modprobe laden wir die neuen Module:

1
modprobe -a tp_smapi hdaps

Sollten hier bereits Fehler auftreten so ist etwas schief gelaufen welches genauerer Betrachtung bedarf.

Nun gehen wir weiter nach dieser Anleitung vor: Karol Kritzkas Guide
Ich finde die Art wie das Script funktioniert zwar nicht schön, allerdings hat bei mir die alternative Variante leider nicht funktioniert.


Energie sparen unter Linux (anhand eines X61 Tablet unter Ubuntu 8.10) – Teil 3

So jetzt kümmern wir uns noch um das Problem, dass viele der angesprochenen Änderungen nur temporärer Natur sind. So ist nach einem Neustart der Leistungsbedarf wieder bei etwa 15 Watt.

Framebuffer Compression sowie die Laptop_Mode-tools sind beide feste Änderungen gewesen, diese müssen also nicht nocheinmal aktiviert werden. Der ganze Rest ist jedoch von nicht dauerhafter Wirkung. Also sorgen wir dafür dass es dauerhafte Änderungen werden. Dazu bieten sich die Scriptdateien an die beim Start aufgerufen werden.

1
nano /etc/rc.local

Nun haben wir die Datei vor uns in der wir all die schönen Energiesparer eintragen können, am Ende (vor exit 0 fügen wir also hinzu:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#Soundkarte Stromsparmodus an
echo 5 > /sys/module/snd_hda_intel/parameters/power_save

#USB 1.1 aus
modprobe -r uhci_hcd

#SATA ALPM auf maximum
echo min_power > /sys/class/scsi_host/host0/link_power_management_policy

#Wake on Lan aus
ethtool -s eth0 wol d

#Wlan -> Stromsparmodus an
iwconfig wlan0 power on
for h in /sys/bus/pci/drivers/iwlagn/*/power_level ; do echo 5 > $h; done

#Alle PCI Geräte: Stromsparen
for i in /sys/bus/pci/devices/*/power_level ; do echo 5 > $i ; done

Damit sollten die Stromsparmodi automatisch eingeschalten sein.
Übrigens empfehle ich auch das Autorotate-Skript wieder aus dem GDM Autostart zu entfernen, es basiert auf Polling (immerwiederkehrendes Abfragen) und verursacht so auch zusätzliche Aufwacher.

Das nächste worum ich mich kümmern möchte: Neuer Kernel und Undervolting unter Linux.


Energie sparen unter Linux (anhand eines X61 Tablet unter Ubuntu 8.10) – Teil 2

Nun mal sehen ob man die Grafikkarte noch ein wenig sparender betreiben kann, die Beleuchtung bleibt auf voller Stärke, der Trick ist zu einfach.
Ein Ansatz: Framebuffer Compression
(Toll dass die Intelseiten selten beschreiben wie man die Features aktiviert)
Ich füge testweise den Code in meine xorg.conf an die Stelle bei der die Grafikhardware initialisiert wird:

1
2
3
Option "FramebufferCompression" "on"
Option "AccelMethod" "EXA"
Option "Tiling" "on"

Erstes positives Ergebnis: mein XServer startet noch. Und der „Verbrauch“? Nochmal etwa 0,3 Watt weniger, allerdings ist das wohl davon abhängig was angezeigt wird, so sind großflächig gleichfarbige Bildschirme wohl noch sparsamer, aber irgendwann wird ein weißer Bildschirm auch langweilig oder?
Externe Bildschirme deaktivieren die man nicht braucht, ob das wirklich was spart?
Bei mir sind jedenfalls alle externen Anschlüsse deaktiviert.

Soundkarten können auch stromsparen, ob es signifikant ist erfahren wir gleich. Mit:

1
echo 5 > /sys/module/snd_hda_intel/parameters/power_save

Schalten wir den Stromsparmodus an.
(Hey wenn ich in Opera Strg+Shift+V drücke fügt es den Inhalt als URL ein und ruft diesen auf, das ist bissl uncool.)
Tja und wirklich: wieder 0,1 Watt weniger.

Inzwischen bin ich bei 13,3-14,7 Watt beim Schreiben des Artikels angelangt, beim verwendeten Akku mit 14,4 Volt und 4,55 Amperestunden (also 65,52 Wattstunden) entspricht das einer verlängerten Laufzeit von circa 0,83 Stunden oder auch knapp 50 Minuten. Das ist in meinen Augen den Aufwand auf jedenfall wert.

Noch irgendwas? Nun man kann vielleicht noch nicht benötigte Module entladen, Firewire, PCMCIA vielleicht auch USB 1.1.
USB 1.1 hat eine faszinierende Wirkung:

1
modprobe -r uhci_hcd

Bringt fast 2 Watt Ersparnis (!) allerdings geht dann auch gleich Bluetooth mit über Bord, andere Dinge schienen nicht darunter zu leiden. Ein USB2 Stick wurde problemlos erkannt. Angeblich soll dieses Problem mit USB 1.1 auch gelöst sein wenn man den Treiber nicht als Modul sondern fest in den Kernel integriert.
Firewire scheint ein gutes Murmeltier zu sein, die Deaktivierung brachte keinen sichtbaren Erfolg:

1
2
3
modprobe -r ohci1394
modprobe -r sbp2
modprobe -r ieee1394

Auch PCMCIA ist ein Siebenschläfer, ebenfalls keine Wirkung zeigte:

1
modprobe -r pcmcia yenta_socket rsrc_nonstatic pcmcia_core

Tjo das war wohl erstmal der leichte Part, ohne USB 1.1 bin ich inzwischen bei 11,4-11,7 Watt bei voller Helligkeit. Wenn ich ein wenig hier rumschreibe komme ich so auf vielleicht etwa 12,5 Watt. Im Vergleich zu den 14 Watt habe ich so nochmal etwa 30 Minuten rausgeholt. Damit sollte ich schon fast 5 Stunden und 15 Minuten Batterielaufzeit erreichen.

Danke an:
http://www.lesswatts.org/ – Intel auch wenn die Informationen bissl dürftig sind stellenweise
http://think-wiki.nojoco.de/ – eine gute Wikiübersicht was alles so möglich ist
http://samwel.tk/laptop_mode/ – für die tollen Laptop_Mode-Tools
http://www.gambitchess.org/mediawiki/index.php/ThinkPad_Fan_Control – für die Lüftersteuerung – nun ist mein Laptop richtig lautlos (bis auf diese C4 Geräusche die irgendwie bissl beängstigend sind)