Die Hardwareunterstützung von Ubuntu (bzw. Linux allgemein) hat sich bekanntlich innerhalb der letzten Jahre kontinuierlich verbessert, so dass man in der Regel davon ausgehen kann, dass sowohl ältere als auch aktuelle Hardware ohne Bastelei sofort einsatzbereit ist. Das ganze nützt allerdings herzlich wenig, wenn die Notebook-Hersteller sich nicht an die Standards halten und somit doch wieder Probleme auftreten, die nicht hätten auftreten müssen. Einen Kandidaten dieser Art soll ich momentan mit Ubuntu versorgen. Dabei handelt es sich um das Netbook Acer Aspire ONE 521.
Das Interessante und gleichzeitig faszinierende an diesem Netbook ist, dass wirklich alles out of the box läuft und wirklich nirgendwo nachgebessert werden muss – zumindest auf den ersten Blick. Denn spätestens dann, wenn das Netbook sich plötzlich ausschaltet, weil der Akku leer ist, ohne vorher eine Warnung auszugeben, fällt auf, dass doch nicht alles so ist, wie es sein soll. Ein wirklich wichtiger Hardware-Bestandteil wird nämlich schlichtweg ignoriert: Der Akku!
Aber alles halb so schlimm. Wir wären nicht HalloUbuntu, hätten wir nicht eine Lösung für dieses sehr ärgerliche Problem. Leider ist die Lösung wieder einmal nicht innerhalb weniger Minuten erledigt, denn wir müssen – mal wieder – unseren eigenen Kernel kompilieren.
Achtung: Die nachfolgende Anleitung ist nur bedingt für Anfänger geeignet, da die Gefahr besteht, dass das System mit dem neuen Kernel nicht mehr hochfährt. Da der alte Kernel aber weiterhin im Bootloader auswählbar ist, kann das System im Notfall wieder hochgefahren und der neue Kernel deinstalliert werden.
Bevor wir jetzt gleich loslegen, erstellen wir erst einmal einen Ordner, in dem wir arbeiten. Ich habe diesen Ordner src genannt und ihn in meinem Home-Verzeichnis erstellt:
mkdir src && cd src
So, beginnen wir damit, unseren eigenen Kernel zu kompilieren. Zuerst müsst ihr euch den aktuellen Kernel herunterladen:
sudo apt-get install linux-source
Direkt danach folgen die zur Kernelkompilierung notwendigen Pakete:
sudo apt-get install fakeroot kernel-wedge build-essential makedumpfile kernel-package libncurses5 libncurses5-dev
Als nächstes bereiten wir die Abhängigkeiten vor:
sudo apt-get build-dep --no-install-recommends linux-image-$(uname -r)
So, nun wechseln wir in den Ordner, wo unser eigentlicher Kernel liegt:
cd linux-source-3.2.0
Nun benötigen wir den passenden Kernel-Patch, damit der Akku auch erkannt wird. Dieser ist glücklicherweise fertig im Internet verfügbar. Ich war so frei und hab ihn in meine Dropbox hochgeladen:
wget https://dl.dropbox.com/sh/q841l8yzb9ibm90/N5NjRgPBTs/ao521.patch
Jetzt kommt das eigentliche Patchen des Kernels. Dazu führen wir folgenden Befehl aus:
patch -p1 < ao521.patch
Anschließend kopieren wir noch unsere aktuelle Kernel-Konfiguration in den neuen Kernel:
cp -vi /boot/config-`uname -r` .config
make-kpkg clean
So… Jetzt sind wir soweit, dass wir den neuen Kernel kompilieren. Dies dauert leider aufgrund der bescheidenen Prozessor-Leistung des Acer Aspire ONE 521 sehr lange. Ich habe diesen Vorgang deshalb über Nacht einfach laufen lassen. Am nächsten Morgen war die Kompilierung dann fertig und der Kernel konnte installiert werden:
sudo fakeroot make-kpkg --initrd --append-to-version=-ao521 kernel-image kernel-headers
Anschließend können wir wieder in unser Ausgangsverzeichnis wechseln:
cd ..
In unserem Ausgangsverzeichnis befinden sich nun zwei *.deb-Pakete. Diese müssen beide installiert werden (Bezeichnungen können je nach Kernelversion abweichen):
sudo dpkg -i linux-image-3.2.18-ao521_3.2.18-ao521-10.00.Custom_i386.deb
sudo dpkg -i linux-headers-3.2.18-ao521_3.2.18-ao521-10.00.Custom_i386.deb
Damit ist die Installation endlich fertig und beim nächsten Neustart sollte der neue Kernel automatisch gestartet werden (sonst in GRUB auswählen).
Mit dieser Konstellation läuft das Acer Aspire ONE 521 inzwischen schon seit gut drei Wochen komplett problemlos, so dass ich diese Vorgehensweise empfehlen kann.
29. November 2012 um 19:43 Uhr
In welches Verzeichnis muss ich den unter Ubuntu 12.10 wechseln um zum Kernel zu kommen?
29. November 2012 um 20:03 Uhr
Wenn du exakt nach der Anleitung vorgegangen bist, kannst du im Ordner src in deinem home-Verzeichnis nachsehen, wie der Ordner heißt.
2. Dezember 2012 um 17:59 Uhr
Ich bin genau nach der Anleitung vorgegangen, bis man in das Kernel verzeichnis wechseln soll. Das hier angegebene wurde leider nicht gefunden. und mein src ordner komplett leer?
wäre es nun ratsam das ganze nochmal von vorne zu beginnen?
2. Dezember 2012 um 22:27 Uhr
In dem Fall würde ich das empfehlen.
5. Februar 2013 um 21:17 Uhr
Eine Super Anleitung – die habe ich schon ewig gesucht…
Zwei Fragen beschäftigen mich allerdings:
- Muss ich den Kernel erneut patchen wenn z.B. durch Updates eine neue Kernelversion installiert wird?
- Ich habe Ubuntu auch als VM auf meinem PC (mit Intel Core I5, 8 GB Ram Win7 64 Bit) laufen. Kann ich den Kernel auch in der Ubuntu VM Bauen lassen, dann die .deb Pakete auf das Netbook kopieren und installieren?
5. Februar 2013 um 21:20 Uhr
Ja und ja. Ich baue die Kernel auch auf einem potenteren System, dann dauert das nicht so ewig. Ich muss allerdings zugeben, dass ich meistens einige Kernelupdates überspringe.
6. Februar 2013 um 01:01 Uhr
Ich habe es versucht und bin bis zu der stelle gekommen wo man den patch ausführt…
die Kernel Sourcen lagen bei mir dann unter /usr/src/linux-source-3.2.0
den patch habe ich dann in diesen ordner heruntergeladen und mit dem Befehl patch -p1 < ao521.patch ausgeführt.
Jetzt komme ich nicht weiter. Folgende Ausgabe steht im Terminalfenster:
can't find file to patch at input line 3
Perhaps you used the wrong -p or –strip option?
The text leading up to this was:
————————–
|— linux-3.0-orig/drivers/acpi/ec.c 2011-10-20 01:33:25.859647256 -0600
|+++ linux-3.0/drivers/acpi/ec.c 2011-10-20 01:33:04.236312423 -0600
————————–
File to patch:
Was habe ich falsch gemacht?
Ich habe mich versucht genau an die Anleitung zu halten (die Befehle per copy & paste ins Terminalfenster kopiert)
8. Februar 2013 um 21:16 Uhr
Ich kann mir höchstens vorstellen, dass der Patch nicht zur Kernelversion passt.
Open-Source-Blog-Netzwerk
Geschenke!
Themen
Tags