Permalink

Linux und der Google Authenticator

Ihr kennt bestimmt die Google Authenticator App, welche euch ermöglicht euer Google/Facebbok/Microsoft Konto im Zwei-Faktor Verfahren zu nutzen. Die App generiert einen sechsstelligen Einmalcode, basierend auf Uhrzeit und einem Shared Secret (RFC 6238), welcher zusätzlich zum Benutzernamen und Passwort eingegeben werden muss.

Google Authenticator

Die Jungs von Google stellen auf der Projektseite auch ein PAM (Pluggable Authentication Module) für die Einbindung in ein Linux System zur Verfügung. Mit diesem Modul lassen sich diverse Aktionen (Einloggen, Aufwachen aus dem Bildschirmschoner, SSH Zugriff uvm.) durch dieses Verfahren absichern. Die Einbindung selber ist eigentlich kinderleicht:

Vorbereitung

Zuerst benötigen wir ein Terminal und laden uns ein Zusatzpaket für die Erstellung eines QR-Codes:

Für Debian / Ubuntu

$ apt-get install libqrencode3

Für Arch Linux

$ pacman -Sy qrencode

Installation

Danach haben wir zwei Möglichkeiten das Modul zu installieren:

Installieren über die Paketverwaltung unseres Systems

Für Debian / Ubuntu:

$ apt-get install libpam-google-authenticator

Für Arch Linux gibt es ein Paket im AUR:

$ yaourt -S libpam-google-authenticator

Wir installieren das Modul von Hand

Für Debian / Ubuntu brauchen wir folgende Pakete:

$ apt-get install libpam0g-dev make gcc-c++ wget

Für Arch Linux:

$ pacman -S pam

Nun laden wir uns das Quellpaket und entpacken dieses:

$ cd /usr/src/
$ wget https://google-authenticator.googlecode.com/files/libpam-google-authenticator-1.0-source.tar.bz2
$ tar -xvf libpam-google-authenticator-1.0-source.tar.bz2

Wir wechseln in das neue Verzeichnis, kompilieren und installieren das Modul:

$ cd libpam-google-authenticator-1.0
$ make
$ make install

Konfiguration

Als nächstes starten wir das Programm als den Nutzer, der abgesichert werden soll:

$ google-authenticator

Wir werden ein paar Dinge gefragt, die ich bei mir wie folgt beantwortet habe. Aber letztens muss jeder selbst wissen wie er das Ganze konfigurieren möchte.

Do you want authentication tokens to be time-based (y/n) Y

Do you want me to update your "/home/test/.google_authenticator" file (y/n) Y

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) Y

By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) N

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) Y

Zwischendurch bekommen wir eine URL über die man den QR-Code aufrufen kann, sofern qrencode installiert ist auch direkt einen QR Code, den Geheimen Schlüssel im Klartext, einen Verfication Code und sogenannte “Scratch codes”. Diese sind vorgenerierte Einmalcodes die euch im Notfall den Login ermöglichen. Am Besten schreibt ihr diese auf oder druckt sie aus!

Google Authenticator - Terminal

Einrichtung der App

Nun ist ein guter Zeitpunkt die App auf unseren Smartphone einzurichten (Falls noch nicht vorhanden, einfach aus dem App / Play Store installieren).

Hier beispielhaft an Android gezeigt:

Google Authenticator - App Menü
Zuerst rufen wir die App auf und wählen im Menü den Punkt “Konto Einrichten”:

Google Authenticator - App Settings
Hier haben wir die Möglichkeit unseren Linux Rechner hinzuzufügen. Der einfachste weg ist es den Barcode aus dem Terminal zu scannen.

Google Authenticator - Schlüssel hinzufügen
Alternativ kann man auch mit Hilfe des Secret Key das Konto manuell anlegen.

Aktivierung des Moduls

Als nächstes konfigurieren wir unser System so, dass das neue Modul auch genutzt wird:

1. Beispiel: Cinnamon-Screensaver

$ nano /etc/pam.d/cinnamon-screensaver

Folgende Zeile einfügen damit beim Aufwecken aus dem Bildschirmschoner (z.B. nach dem Standby / Ruhezustand) ein Einmalcode benötigt wird:

auth        required     pam_google_authenticator.so

Zum Test einmal in den Ruhezustand versetzen, wieder aufwecken und über das Ergebnis staunen.

Google Authenticator - MDM

2. Beispiel: SSH

Um SSH abzusichern müssen wir zuerst ein paar Änderungen an der ‘/etc/ssh/sshd_config‘ vornehmen:

ChallengeResponseAuthentication yes
UsePAM yes

Danach den SSH Dienst neustarten und die Datei ‘/etc/pam.d/sshd‘ bearbeiten, dass sie die Zeile von oben enthält.

Zusatzinfos

Solltet ihr euer Home-Verzechnis verschlüsselt haben (z.B. wie man es bei der Installation von Ubuntu anwählen kann) und wohl z.B. euren Login-Manager (GDM, MDM, KDM) absichern, muss die Datei ‘.google_authenticator‘ an einem lesbaren Ort liegen. Die Zeile für das Modul könnte dann wie folgt aussehen:

auth            required        pam_google_authenticator.so secret=/home/.ga/${USER}/.google_authenticator
Es gibt verschiedene Parameter für die Einbindung eines PAM:
  • required
    Erfolg ist notwendig für Gesamtbewertung: Erfolg, Fehler führt zur Gesamtbewertung: Misserfolg, es werden trotzdem alle weiteren Module von diesem type ausgeführt
  • requisite
    Erfolg ist notwendig für Gesamtbewertung: Erfolg, Fehler führt zur Gesamtbewertung: Misserfolg und termininiert den Authentisierungsprozess
  • sufficient
    Erfolg ist ausreichend für Gesamtbewertung: Erfolg, Fehler beeinflusst Gesamtbewertung nicht, Erfolg terminiert den Authentisierungsprozess, Ergebnis vorheriger required Module wird berücksichtigt
  • optional
    Erfolg oder Fehler hat nur Bedeutung, wenn es der einzige Module für diesen type ist
Für Windows Phone gibt es eine ähnliche App, diese scheint auch mit Google Konten (und damit auch mit dem Modul) zu funktionieren:
Permalink

The Humble Indie Bundle X

Gestern Abend war es mal wieder Zeit für ein neues Humble Bundle.

2014-01-08_11h02_41

Zum Preis seiner Wahl sind folgende Spiele inkl. Soundtrack dabei:

  • To the Moon
  • Joe Danger 2: The Movie
  • Papo & Yo
  • Runner2
  • Reus
  • Surgeon Simulator 2013

…wobei die letzten beiden Kandidaten und weitere Spiele, die kommende Woche freigeschaltet werden, nur dabei sind, wenn man minimal den Durchschnittspreis von momentan 5,63 US-Dollar zahlt.

Viel Spaß beim Shoppen!

-> https://www.humblebundle.com

Permalink

The Humble Bundle 8 für Mac, PC, Linux und Android

Neues vom Humble Bundle, das dieses Mal für den Mac, Windows, Linux und Android ausgelegt ist.

Bildschirmfoto 2013 12 17 um 22 33 27 minishadow

Mit dabei sind:

  • Little Inferno
  • Gemini Rue
  • AaaaaAAaaaAAAaaAAAAaAAAAA!!! for the Awesome
  • Jack Lumber
  • Hero Academy
  • Anomaly 2

Wobei die letzten beiden Spiele nur dabei sind, wenn man mehr als den Durchschnittspreis bezahlt.

Das Angebot ist die kommenden zwei Wochen gültig und wird kommenden Donnerstag, wie gewohnt, noch den einen oder anderen Neuzugang bekommen.

Viel Spaß beim Zocken!

-> https://www.humblebundle.com

Bitte daran denken, dass sich unsere Feed-Adressen geändert haben.

Permalink

The Humble Store

Diese Nachricht flog mir gerade in die Inbox und ganz ehrlich? Irgendwie musste es so kommen ;-)

Neben den überaus erfolgreichen normalen Humble Bundles und Weekly Humble Bundles haben die Jungs und Mädels nun mit dem Humble Store ein drittes Standbein aufgebaut.

Bildschirmfoto 2013 11 11 um 20 24 06

Das Ganze erinnert etwas an den Steam Store und bietet täglich neue Spiele zum Schnäppchenpreis.

Viel Spaß beim Zocken!

-> https://www.humblebundle.com/store

Permalink

Samba auf dem Pogoplug

Nachdem wir unseren Pogoplug von seinen Fesseln befreit haben (Anleitung), ist es an der Zeit diesen wieder mit Funktionen auszustatten. Also als erstes: Netzwerkfreigaben, denn irgendwo muss man ja seine Daten unterbringen!

 Samba Installation

Diese Anleitung lässt sich natürlich auch auf andere Geräte übertragen, auch wenn der Ablauf sich im Einzelnen unterscheiden kann.

Vorbereitungen

Da ein 2GB USB-Stick doch etwas klein für den Austausch von Daten ist, habe ich an meinem Pogoplug eine 320GB 2,5″ Festplatte über SATA angebunden.

Wenn ihr die SATA Platte im laufenden Betrieb einsteckt, könnt ihr diese über folgenden Befehl verfügbar machen (das ‘>’ stellt ein ‘>’ da. Leider wird das nicht geparst):

 echo "0 0 0" > /sys/class/scsi_host/host/scan

Überprüft mit

fdisk -l

ob eure Platte erkannt und wie sie angesprochen wird (im Regelfall /dev/sdbX)

Gemountet habe ich die Platte mithilfe von ‘udevil‘ über den folgenden Befehl

udevil mount /dev/sdb1

Damit wird die Platte in /media/LABELNAME eingehangen.

Die Installation

Zuerst müssen wir Samba auf unserem Pogoplug installieren. Wer Samba noch nicht kennt: Samba ist ein Netzwerkfreigabedienst, mit dem sich Dateien, Peripheriegeräte wie Drucker oder sogar die aktuelle Uhrzeit  kompatibel zu Windows, Mac, Linux, Android, iOS und jedem guten Toaster im Netzkwerk freigeben lassen.

Die eigentliche Installation ist simpel, kann aber ein paar Minuten Wartezeit in Anspruch nehmen. Es werden automatisch alle Abhängigkeiten aufgelöst und installiert – Gesamtgröße: ca. 62MB

 pacman -S samba

Die Konfiguration

Nachdem Samba installiert ist, konfigurieren wir das Ganze nun. In meinem Fall habe ich es so gehandhabt, dass es keinen Benutzer gibt und man ohne Authentifizierung alle Rechte genießt. Dies ist nur empfehlenswert wenn ihr dem Netzwerk und seinen Nutzern vertraut!

cd /etc/samba
nano smb.conf

und folgenden Inhalt einfügen (ggf. Anpassungen vornehmen):

[global]
workgroup = WORKGROUP
server string = Pogoplug Samba Server
hosts allow = 192. 127.
guest account = nobody
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
dns proxy = no
preserve case = yes
map to guest = bad user



[HD1]
comment = NASE
path = /media/LABELNAME
available = yes
public = yes
writable = yes
printable = no
create mask = 0777
guest ok = yes
browseable = yes

Jetzt noch abspeichern und die Konfiguration überprüfen mit Hilfe von

testparm

Wenn alles fehlerfrei ist, ist die Konfiguration abgeschlossen.

Der Abschluss

Zum Abschluss müssen noch die beiden Samba Dienste smbd und nmbd gestartet werden

smbd
nmbd

Nun kann man von seinem Rechner auf die Freigabe zugreifen.

Der Zugriff

Unter Windows funktioniert das Ganze recht einfach:

  1. Öffnet ein Explorer Fenster
    Windows Explorer
  2. Tragt in die Adressleiste ‘\\die.ip.des.pogoplug‘  und drückt Enter (Alternativ geht auch der Hostname)
  3. Macht einen Rechtsklick auf die Freigabe und wählt ‘Netzwerklaufwerk verbinden…
    freigabe
  4. Sucht euch einen Laufwerksbuchstaben aus und klickt auf ‘Fertig stellen’
    laufwerk

Da ich leider keinen Mac besitze, kann ich an dieser Stelle nur auf die Anleitung von Apple verweisen.

Ich besitze auch kein iOS Gerät, aber im App-Store gibt es genügend Apps die diesen Zweck erfüllen. So zum Beispiel auch: 

FileExplorer Free
Download @
App Store
Entwickler: Steven Zhang
Preis: Kostenlos

Für Android nutze ich persönlich den ‘Astro File Manager’ mit dem passenden Modul: 

 
ASTRO SMB Module
Download @
Google Play
Entwickler: Metago
Preis: Kostenlos

In dem Sinne, fröhliches Datenschleudern!

Permalink

Arch Linux auf einem Pogoplug v3 (Classic)


Im Dezember letzten Jahres gab es mal das Angebot einen Pogoplug Classic für knapp 20€ zu erstehen. Was ist ein Pogoplug? Ein Pogoplug ist ein “quasi-NAS”, ihr bestück den kleinen Kasten im Regelfall mit einer externen USB-Festplatte und könnt dann darauf wahlweise aus dem Netzwerk (mit Hilfe von Software) oder über die Internetseite des Herstellers auf diese Daten zugreifen.

Pogoplug von der Seite

Diese Zugangsmöglichkeit hat einige Nachteile, welche sich durch eine Linux Installation kompensieren lassen

  • Daten liegen in der Hand des Herstellers
  • Abhängigkeit vom Hersteller was Updates / Software angeht
  • Hersteller kann auf das Gerät zugreifen
  • Dateien nur mit extra Software einsehbar (Windows / Mac / iOS / Android)
  • Limitierte Funktionen

Ich habe das Gerät bis jetzt (neben ein paar Tests) in der Standardkonfiguration betrieben und wollte dies nun endlich mal ändern.

Der Pogoplug v3 ist folgendermaßen ausgestattet:

  • PLX 7820 ARM Dual-core Prozessor (700MHz)
  • 128MB RAM
  • 128MB NAND
  • 4x USB 2.0
  • 1x SATA II
  • Gigabit Ethernet

Wieder mal ein paar Worte der Warnung:
Dies ist nicht unbeding eine Anleitung für totale Neulinge.
Mit der Firmware eines Gerätes zu experimentieren kann schnell ins Auge gehen!
Solltet ihr euer Gerät bricken, gibt es die Möglichkeit mit Hilfe von Zusatzhardware das ganze zu korrigieren. Es gilt die Regel “Erst denken, dann handeln”.
Haftung übernehme ich auch bei diesem Projekt keine.

Das ganze funktioniert auf jeden Fall für die folgenden Modelle:

  • POGO-P21
  • POGO-P24
  • POGO-P25
  • POGO-B01
  • POGO-B02
  • POGO-B03
  • POGO-B04

Solltet ihr einen anderen Pogoplug haben, müsst ihr euch auf der Arch Linux ARM Seite umsehen.

Ihr benötigt neben dem passenden Pogoplug noch einen USB-Stick mit einer Mindestkapazität von 2GB, welcher das System beherbergen wird.

Die Installation

  1. Zuerst muss der Pogoplug registriert und online sein
  2. Dem Pogoplug muss ein SSH Passwort zugewiesen werden
  3. Trennt den Pogoplug vom Stromnetz
  4. Entfernt alle angeschlossenen Speichergeräte
  5. Steckt den USB-Stick an, von dem später Arch Linux starten soll (Alle Daten gehen verloren) und schaltet den Pogoplug ein
  6. Loggt euch über SSH (die IP Adresse sucht ihr euch am besten im Router heraus) in den Pogoplug, als ‘root’ mit eurem selbstgewählten Passwort ein
  7. Beendet den Pogoplug Dienst, damit er uns nicht in die Quere kommt
    killall hbwd
  8. Startet fdisk
    /sbin/fdisk /dev/sda
  9. Nun trefft ihr folgende Auswahl:
    o‘ – Dieses entfernt alle Partitionen vom Medium
    p‘ – Dies listet alle Partitionen auf. Logischerweise sollte hier nichts mehr angezeigt werden
    n‘ für neue Partition, dann ‘p‘ für Primärpartition und ‘1‘ für die erste Partition auf dem Medium. Nun drückt ihr Enter und übernehmt die vorgegebenen Standardwerte.
    Beendet fdisk mit Hilfe von ‘w
  10. Erstellt das ext3 Dateisystem
    sync
    cd /tmp
    wget http://www.dennert.me/pogo/mke2fs
    chmod 755 mke2fs
    ./mke2fs -j /dev/sda1
  11. Ladet euch mein modifiziertes Instalaltions Skript herunter und führt es aus
    cd /tmp
    wget http://www.dennert.me/pogo/pogoplug-install.sh
    chmod 755 pogoplug-install.sh
    ./pogoplug-install.sh

Das Installations Skript überprüft ob der Pogoplug Dienst beendet und sda1 eingehangen ist.
Dann sammelt es Informationen über die verwendete Hardware, lädt das rootfs herunter, überprüft es, entpackt es und schreibt den geänderten Kernel in den NAND.

Am Ende solltet ihr die folgende Ausgabe erhalten:

bootargs_stock=root=ubi0:rootfs ubi.mtd=2,512 rootfstype=ubifs console=ttyS0,115200 elevator=cfq mac_adr=0x00,0x30,0xe0,0x00,0x00,0x01 mem=128M poweroutage=yes
load_custom_nand=nboot 60500000 0 500000
load_custom_nand2=nboot 60500000 0 B00000
boot_custom=run load_custom_nand boot || run load_custom_nand2 boot
bootargs=root=/dev/sda1 ubi.mtd=2,512 rootfstype=ext3 console=ttyS0,115200 elevator=cfq mac_adr=0x00,0x30,0xe0,0x00,0x00,0x01 mem=128M poweroutage=yes rootdelay=15
bootcmd=run boot_custom

Hinweis: Bei dem Installations Skript oder dem rootfs handelt es sich nicht um mein Werk. Ich habe das Skript von Arch Linux ARM so angepasst das es ein aktuelles rootfs von moonman von einem meiner Server lädt und dieses dann überprüft.

Sollte alles geglückt sein, könnt ihr euren Pogoplug neustarten

/sbin/reboot
  1. Logt euch erneut per SSH in den Pogoplug (die IP könnte sich geändert haben) mit den Daten User: ‘root’, Passwort: ‘root’ ein.Sollte die Front LED nach dem starten noch immer blinken, müsst ihr die Modul Abhängikeiten erneuern
    depmod -a

    und dann neustarten

    /sbin/reboot

    Ihr noch euer root Passwort anpassen

    passwd

    und euer System aktualisieren

    pacman -Syu

Wilkkomen in Arch Linux ARM.
Was ihr nun tun könnt? Das liegt ganz an euch… aber hier ein paar Vorschläge:

- Dateifreigaben mit Samba (Anleitung folgt)
- Torrentbox mit transmission (Anleitung folgt)
- kleiner Webserver mit nginx, lighttpd, Hiawatha, Cherokee, Boa oder thttpd
- FTP Server
- Druckerserver mit CUPS
- Backup-Sklave mit Samba Freigaben / FTP

Zurück zu den Wurzlen

Solltet ihr keine Lust mehr auf Arch Linux haben (So etwas gibt es?) dann ladet ihr euch dieses Skript, macht es ausführbar und startet es.

wget http://www.dennert.me/pogo/pogoplug-revert.sh
chmod 0775 pogoplug-revert.sh
./pogoplug-revert.sh

Folgt den Anweisungen auf dem Bildschirm und startet euren Pogoplug anschließend ohne den USB Stick. Tada!

Bonus Inhalt (yay!)

Um Speichermedien schnell ohne viel Tipperei einbinden zu können nutze ich ‘udevil

Hier ein Auszug aus der man Page:

udevil mount /tmp/example.iso # ISO file
udevil mount ftp://sys.domain # ftp site - requires
curlftpfs or ftpfs
udevil mount ftp://user:pass@sys.domain/share # ftp share with
user and password
udevil mount ftp://user:pass@sys.domain:21/share # ftp share with
port, user and password
udevil mount -t ftpfs sys.domain # ftp site with ftpfs
udevil mount -t curlftpfs sys.domain # ftp site with curl
udevil mount smb://sys.domain/share # samba share w/ cifs
udevil mount smb://user:pass@10.0.0.1:50/share # samba share w/ u/p/port
udevil mount smb://WORKGROUP/user@sys.domain # samba share w/ workgroup
udevil mount //sys.domain/share # samba share w/ cifs
udevil mount //sys.domain/share -t smbfs # samba share w/ smbfs
udevil mount ssh://user@sys.domain # sshfs with user -
requires sshfs
udevil mount -t sshfs user@sys.domain # sshfs with user
udevil mount http://sys.domain/dav/ # WebDAV - requires davfs2
udevil mount tmpfs # make a ram drive

Und so sieht das ganze dann in Aktion aus:

[root@alarm mnt]# udevil mount /dev/sdb
Mounted /dev/sdb at /media/MYLINUXLIVE

Kein Editieren von /etc/fstab, kein anpassen von udev Regeln, keine Angabe des Dateisystems und kein lästiges erstellen von Ordnern!

Da der kleine im Inneren auch noch einen SATA II Port hat, muss man seine Platten nicht unbedingt per USB quälen.

Pogoplug Innenleben
Ich habe mir aus einem Molex zu SATA Adapter und einem USB Kabel, einen Stromadapter für die Platten gebaut (2,5″ sind mir aus Platzgründen lieber).Einen solchen Adapter zu bauen ist nicht schwer und auch für Lötkolben-Neulinge kein Problem

Schnell noch ein Loch in die Gehäusefront dremeln, SATA Kabel von innen nach außen gelegt und fertig ist der nicht ganz so hübsche, dafür performante Festplattenanschluss.
Das ganze funktioniert (leider) nur mit stromsparenden HDDs/SSDs. Ein Y-Kabel möchte ich persönlich aber auch nicht haben, dafür sind mir die USB Anschlüsse zu schade.

Frohes Basteln!

Permalink

Wie man ein Chromebook in einen (fast) normalen Laptop verwandelt …

Die letzten paar Wochen habe ich mich intensiv mit meinem Acer C7 und dessen Möglichkeiten beschäftigt. Nach einigen Versuchen mit crouton und chrUbuntu war mein Spieltrieb noch nicht befriedigt.

Ich fand den Blog von John Peter Lewis, über den er eine kompilierte coreboot Version anbietet. Diese Firmware ersetzt das Chromebook BIOS mit einer Kombination aus GRUB2 und SeaBIOS, welche es einem ermöglicht (fast) jedes Betriebsystem zu installieren.

Arch Linux auf dem Acer C7

Ein paar Worte der Warnung: Mit der Firmware eines Gerätes zu experimentieren kann schnell ins Auge gehen! Solltet ihr euer Gerät bricken, gibt es die Möglichkeit mit Hilfe von Zusatzhardware das ganze zu korrigieren. Es gilt die Regel “Erst denken, dann handeln”.

Was zur Zeit nicht funktioniert:

  • natives Windows (ACPI Probleme)
  • Standby/Suspend (ACPI Probleme)
  • Dualbooting Linux und Chrome OS
  • Funktionstasten (Lautstärke, Helligkeit)

Als erstes muss das Chromebook in den Entwicklermodus versetzt werden

Hierbei gehen alle Daten auf der Festplatte verloren

  1. Das Chromebook herunterfahren
  2. Während ihr ESC und Refresh (F3) drückt, betätigt den Ein-/Ausschalter
  3. Wenn der Recovery Bildschirm erscheint, drückt STRG-D und bestätig die Abfrage. Lasst das Gerät arbeiten und neustarten.
  4. (Optional) Um die Warnung beim Starten zu überspringen könnt ihr STRG-D drücken oder 30 Sekunden warten

Nun geht es dem Chromebook an den Kragen

  1. Klappt euer Chromebook zu und legt es auf die Front
  2. Schraubt die einzige Schraube auf der Unterseite heraus und schiebt die Abdeckung herunter
  3. Das ganze sollte nun so Aussehen:

    acer-c7-innenleben

    Quelle: http://www.chromium.org/chromium-os

  4. Entfernt das schwarze Klebeband, welches den Schreibschutz Jumper verdeckt
  5. Überbrückt mit einer Büroklammer, einem Schraubendreher oder etwas ähnlichen die beiden Pins. Sorgt unbedingt dafür, dass die ganze Sache hält (Klebeband hilft!)
  6. Schaltet euer Chromebook wieder ein

Sicherheit geht vor

  1. Nachdem ihr euch erneut angemeldet habt, ruft die Konsole “crosh” über die Tastenkombination STRG-ALT-T auf
  2. Tippt “shell” und drückt Enter
  3. Wechselt in euer Benutzerverzeichnis (cd /home/user/BUCHSTABENZAHLENKOMINATION)
  4. Erstellt eine Kopie von der jetzigen Firmware (sudo flashrom -r bios.bin)
  5. Kopiert diese Datei auf einen USB Stick, einen FTP Server, euer Google Drive oder an einen anderen sicheren Ort

Zeit sich die Hände schmutzig zu machen

1. Schaut euch den Beitrag auf John’s Blog an und lest ihn euch gut durch
2. Ladet euch die letzte Firmware für das Acer C7
3. Überprüft die MD5 Summe der geladenen Datei (md5sum coreboot-c7-DDMMYYYY.rom) mit der auf der Webseite. Sollten diese sich unterscheiden, ladet die Datei erneut.
4. Überschreibt die Firmware (sudo flashrom -w coreboot-c7-DDMMYYYY.rom)
5. Abwarten und Tee trinken

Wenn alles korrekt durchgeführt wurde solltet ihr eine der beiden Meldungen erhalten:

flashrom v0.9.4 : b8267a8 : Jul 26 2013 19:16:20 UTC on Linux 3.8.11 (x86_64), built with libpci 3.1.10, GCC 4.7.x-google 20130114 (prerelease), little endianErasing and writing flash chip…
spi_block_erase_20 failed during command execution at address 0x0Verifying
flash… VERIFY FAILED at 0×00000062! Expected=0xff, Read=0x0b, failed byte count from 0×00000000-0x007fffff: 0x4Your flash chip is in an unknown state.
Get help on IRC at irc.freenode.net (channel #flashrom) or mail flashrom@flashrom.org with FAILED: your board name in the subject line!——————————–—————————-DO NOT REBOOT

oder

Erasing and writing flash chip…
Verifying flash… VERIFIED.
SUCCESS

Vergleicht die Adressen bei der oberen Fehlermeldung bitte genau! Falls es Abweichungen gibt spielt eure Original Firmware zurück! (sudo flashrom -w bios.bin)

Wenn alles gut aussieht, startet euer Gerät neu

Ihr habt jetzt entweder einen tollen Briefbeschwerer oder ein Chromebook das erst GRUB2, dann SeaBIOS und zum Schluss Chrome OS startet. Als nächstest geht es daran, Linux zu installieren,

Die Linux Installation

Es wird ein Kernel mit der Version >= 3.9 benötigt. Folgende Distributionen habe ich getestet:

  • Ubtuntu 12.04/13.04 (Das Touchpad hat keine Funktion, Der Kernel unterstützt das “cyapa” Modul nicht)
  • Arch Linux (Funtkioniert einwandfrei)
  • Fedora 19 (Funktioniert einwandfrei)

Sollte eure Distribution Probleme machen hilft es den Kernel auf die letzte Version zu updaten.

  1. Besorgt euch eine ISO eurer Distro
  2. ‘Brennt’ dieses ISO auf einen USB-Stick
  3. Steckt euer Medium an das Chromebook
  4. Startet euer Chromebook und wählt SeaBIOS
  5. Drückt schnell F10
  6. Wählt eueren USB-Stick aus
  7. Sobald ihr im Boot Menü eurer Distro seit, müsst ihr die Boot Optionen anpassen und folgendes hinzufügen “mem=1800″ wenn ihr 2GB RAM habt oder “mem=3800″ bei 4GB
  8. Startet die Distro mit dem veränderten Eintrag
  9. Installiert wie gewohnt

Nun habt ihr einen vollwertigen Linux-Laptop! Da kein Standby möglich ist, muss man sich mit dem Ruhezustand begnügen. Sollte das Touchpad nach dem Aufwachen nicht mehr funktionieren müsst ihr das Script wie unten beschrieben einbinden

Ruhezustand aktivieren

Ihr benötigt:

  1. Eine Swap Partition
  2. Eine angepasst GRUB(2) Konfiguration (Diese muss die Zeile “resume=/dev/sdaX” beinhalten, wobei X euer Swap Partition ist)
  3. Folgendes, ausführbar gemachtes, Script unter “/usr/lib/systemd/system-sleep“:
#!/bin/sh
case $1 in
pre)
;;

post)
/sbin/modprobe -r cyapa
/sbin/modprobe cyapa
;;
*) echo “ERROR: used incorrectly.”
;;

esac

Somit habt nun auch die Möglichkeit den Ruhezustand zu nutzen, welcher ein guter Ersatz für den (im Moment) fehlenden Standby ist.

Wenn ihr zu Chrome OS zurückkehren möchtet, müsst ihr flashrom installieren und wie schon beschrieben die bios.bin zurückspielen. Danach reicht es wenn ihr euer Chromebook mit einem Chrome OS Recovery Medium startet.