Root des HTC Dream/T-Mobile G1 – Cyanogenmod 5.0.8

Das HTC Dream (in Deutschland als G1 bekannt) war das erste Mobiltelefon mit Googles Android Betriebsystem. Die Leistung und Ausstattung des Telefons ist allerdings bereits jetzt werkseitig nicht mehr ohne weiteres ausreichend um das neuste Android flüssig laufen zu lassen. Wer sich allerdings nicht mit der offiziell aktuellsten Version 1.6 für das G1 zufrieden geben möchte, muss auf ROMs ausweichen wie z.B. Cyanogenmod.

Cyanogenmod is a free, community built distribution of Android 2.2 which greatly extends the capabilities of your phone.”

Da der Mod für Android Version 2.2 (Froyo) noch recht unstabil ist, habe ich mich für die Installation von CyanogenMod-5.0.8 (Android 2.1 – Eclair) auf meinem G1 entschieden. Wer diese Version dennoch testen möchte, findet hier eine passende Anleitung.
Um nicht alle im weiteren verwendete Dateien einzeln runterladen zu müssen, habe ich diese in ein Paket gepackt. Man kann entweder alle Dateien aus dem Paket auf einmal auf die SD Karte kopieren (Umbenennen nötig!) oder Schritt für Schritt die im Text verlinkten Dateien runterladen und/oder kopieren. Es ist natürlich möglich, dass es in der Zwischenzeit neuere Versionen gibt.

An dieser Stelle möchte ich darauf hinweisen, dass ich keinerlei Verantwortung für Schäden jeder Art übernehme. In fast allen hier verwendeten Quellen (siehe unten) wird ausdrücklich auf das strenge Befolgen der Anweisungen hingewiesen. Im schlimmsten Fall dient das Telefon nachher nur noch als Flaschenöffner, daher lieber bei Unklarheit nochmal in den angegeben Quellen nach einer vielleicht deutlicheren Formulierung suchen oder in den Kommentaren oder per E-Mail nachfragen. Vor der Installation sollte man in jedem Fall alle Daten sichern. Ich habe sowohl mittels MyBackup Pro ein Onlinebackup als auch direkt über USB eine Sicherung der Daten angefertigt.

Da scheinbar besonders bei Verwendung der originalen 2GB SD Karte häufig die Meldung “not allowed” beim Flashen im Bootloader erscheint, beschreibe ich hier direkt die Erstellung einen Goldcard um dieses Problem zu beheben. Die Goldcard wird mit Hilfe einer Identifikationsnummer (CID) der SD Karte erstellt und erlaubt es anschließend Softwareeinspielungen vorzunehmen. Dazu müssen wir zu Beginn die CID auslesen.

  • Als erstes muss unter Menü -> Einstellungen -> SD-Karte und Speicher -> SD-Karte entnehmen -> SD-Karte formatieren die SD Karte formatiert werden. Mit dem Linda File Manager oder ASTRO File Manager (beides im Market zu finden) navigiert man anschließend zu sys/class/mmc_host/mmc1/mmc1:aaaa. Hier kann auch anstatt aaaa beispielsweise bbbb stehen. Die Datei cid öffnen und die Nummer abtippen. Hat man keinen Texteditor oder ähnliches zur Verfügung, kann man sich die Datei aus der Anwendung heraus auch per E-Mail schicken und spart sich so das Abtippen. Eine alternative Möglichkeit zum Herausfinden der CID ist die Verwendung des  Terminal Emulator. Eine entsprechende Anleitung gibt es hier. Die CID muss nun paarweise umgedreht werden. Dazu am Besten diesen Online Converter verwenden. Als nächstes lassen wir uns auf http://revskills.de/pages/goldcard.html unter Angabe der umgeschriebenen CID und E-Mail Adresse, ein goldcard.img per E-Mail zuschicken. (Da diese Datei von der verwendeten Speicherkarte abhängig ist, ist sie nicht im Paket enthalten). Die Datei speichern und mittels dd if=goldcard.img of=/dev/sdd bs=512 auf die SD Karte schreiben, wobei /dev/sdd die nicht(!) gemountete SD Karte am PC ist.
  • Anschließend die Cupcake Update.zip in update.zip umbenennen und zusammen mit DREAIMG.NBH auf die Karte kopieren.
  • Die SD Karte aushängen und das Telefon ausschalten. Kamera- und Powerknopf gleichzeitig gedrückt halten bis der Bootloader erscheint und den Anweisungen folgen (Der Actionkey ist der Trackball). Sobald der Vorgang beendet ist wird durch gleichzeitiges drücken von Menu, Power und Telefonhörer neugestartet.
  • Da die update.zip bereits auf der Karte ist, beim Neustart die Home- und Powertaste gedrückt halten bis das Warndreieck erscheint. Mit ALT + L wird das Menu angezeigt und mit ALT + S das Update installiert. Mit Home- und Zurücktaste wird anschließend neugestartet.
  • Dem Einrichtungsassistent folgen und mit dem Googlekonto verbinden. Evtl. muss hierfür ein neuer APN eingetragen werden. Die benötigten Einstellungen für den eigenen Provider findet man schnell bei Google.
  • Die Dateien FlashRec.apk und recovery-RA-dream-v1.7.0.img runterladen (wenn nicht das Paket genutzt wurde) und auf die SD Karte kopieren. Letztere in recovery.img umbenennen! Im Market den Linda File Manager wieder installieren und starten. Zur SD Karte wechseln und flashrec-1.1.3-20091107-2.apk installieren. Das Programm anschließend starten und auf Backup Recovery Image klicken, anschließend im Textfeld /sdcard/recovery.img eingeben und Flash Recovery Image auswählen. Sobald der Vorgang beendet ist, das Telefon ausschalten.
  • Beim Neustart Home und Power gedrückt halten bis das Recoverymenu erscheint. Hier [Alt+P] Partition sdcard -> [Alt+0] Partition SD auswählen und folgende Werte setzen: Swap-size = 96 MB, Ext2-size = 412 MB. FAT32-size ist dann automatisch Remainder. Anschließend nacheinander [Alt+2] SD:ext2 to ext3 und [Alt+3] SD:ext3 to ext4 auswählen.
  • Wieder im Hauptmenu [Alt+T] USB-MS toggle auswählen und die neuste Radio Version, Google Apps, DangerSPL und CM-5.0.8 auf die SD Karte kopieren. USB wieder deaktivieren und mittels [Alt+F] Flash zip from sdcard und der Auswahl von G1-radio-2_22_23_02.zip das neuste Radio installieren. Neustarten und die Home-Taste gedrückt halten um wieder ins Recoverymenu zu gelangen. [Alt+F] Flash zip from sdcard und diesmal spl-signed.zip auswählen.
  • Nach einem weiteren Neustart (Home und Zurück) wählt man im Recoverymenu den Punkt [Alt+W] Wipe -> [Alt+0] Wipe data/factory reset. Mit [Alt+F] Flash zip from sdcard wird anschließend update-cm-5.0.8-DS-signed.zip und direkt danach gapps-ds-ERE36B-signed.zip installiert. Ein letzter Neustart mit Home und Zurück und man sollte den Android Einrichtungsassistenten vorfinden.

Viel Spaß!

Update 13.08.2010 HowTo: Deutsches Tastaturlayout

Quellen:
forum.xda-developers.com – Cyanogenmod-5 For Dream/Magic – V5.0.8
forum.xda-developers.com – [Recovery] RA-dream-v1.7.0
Howto root HTC G1/Dream unter Mac OS X und Linux
http://theunlockr.com/2010/04/26/how-to-root-the-htc-g1dream/
http://theunlockr.com/2010/04/26/how-to-load-a-custom-rom-on-the-htc-g1-dream/
http://wiki.cyanogenmod.com/index.php?title=Full_Update_Guide_-_HTC_Dream
http://wiki.cyanogenmod.com/index.php?title=DangerSPL_and_CM_5_for_Dream
http://www.androidpit.de/de/android/wiki/view/Goldcard_erstellen
http://hexrev.soaa.me/

  • Twitter
  • Facebook
  • del.icio.us
  • Digg
  • LinkedIn
  • Slashdot
  • Identi.ca
  • FriendFeed
  • Ping.fm
  • StumbleUpon
  • Google Bookmarks
  • Add to favorites

Backup von MySQL Datenbanken

Warum das Rad neu erfinden, wenn es schon ein zuverlässiges Skript zum automatischen Sichern der MySQL Datenbanken gibt? WipeOut’s – Automatic MySQL Backup
Aktuelle Version von Sourceforge runterladen und einige Informationen eintragen.

USERNAME=wordpressBackup
PASSWORD=P@ssw0rd
DBHOST=localhost
DBNAMES=”wordpress”
BACKUPDIR=”/var/backups/db”

Mit der Option DBNAMES ist es möglich einzelne Datenbank aufzulisten oder mittels “ALL” alle zu sichern. Dies bietet sich z.B. an, wenn man die Rechte des Backup-Users auf die jeweilige Datenbank beschränken möchte.
Neben einigen erweiterten Optionen bietet das Skript die Möglichkeit einen Bericht oder die Sicherungen an eine angegebene E-Mail Adresse zu schicken.

MAILCONTENT=”files”
MAILADDR=”root@carrier-lost.org”

Das angepasste Skript zum Abschluss noch ins /etc/cron.daily/ Verzeichnis kopieren und testweise ausführen.

  • Twitter
  • Facebook
  • del.icio.us
  • Digg
  • LinkedIn
  • Slashdot
  • Identi.ca
  • FriendFeed
  • Ping.fm
  • StumbleUpon
  • Google Bookmarks
  • Add to favorites

Running TweetDeck on the Linux XFCE desktop

Update: For a full tutorial on how to setup Adobe Air and Tweetdeck on 64bit Ubuntu, take a look here.

Starting TweetDeck on a Linux desktop other then Gnome or KDE will result in the error message

Oops, TweetDeck can’t find your data

because TweetDeck doesn’t support them by default. But you only get to know about it, when starting from the command line

Unknown desktop manager, only Gnome and KDE are supported

To use TweetDeck you need e.g. a running gnome-keyring-daemon, otherwise TweetDeck doesn’t know how to save your account/password information. To start TweetDeck change the DIRNAME to your needs and use this script.

#!/bin/bash
GNOME_KEYRING=`pidof gnome-keyring-daemon`
DIRNAME=”/opt/TweetDeck/bin”
GNOME_DESKTOP_SESSION_ID=$GNOME_KEYRING $DIRNAME/TweetDeck &

  • Twitter
  • Facebook
  • del.icio.us
  • Digg
  • LinkedIn
  • Slashdot
  • Identi.ca
  • FriendFeed
  • Ping.fm
  • StumbleUpon
  • Google Bookmarks
  • Add to favorites

Virtual Box: Shared Folder on Linux host and Linux guest

Much like setting up a shared folder on a Linux host and a Windows guest, you need to create the folder to share on your host system and add it to your shared folders list in Virtualbox. You also need a mountpoint inside your virtual system (in this case: /mnt/VirtualBoxExchange).
Mounting it is done with the command

mount -t vboxsf VirtualBoxExchange /mnt/VirtualBoxExchange

Done.

  • Twitter
  • Facebook
  • del.icio.us
  • Digg
  • LinkedIn
  • Slashdot
  • Identi.ca
  • FriendFeed
  • Ping.fm
  • StumbleUpon
  • Google Bookmarks
  • Add to favorites

Using a SSH config file

Create the config file in your .ssh directory if it doesn’t already exist.

touch /home/pat/.ssh/config

Open the file and add your configuration:

Host xmp
HostName example.com
User username
Port 2222

Where Host is the name of the shortcut. You can also add other options like

PubkeyAuthentication yes
PasswordAuthentication no
ServerAliveInterval 25
ServerAliveCountMax 150

or another Host to your configuration. Take a look at the ssh_config manpage for more options.
You can now use your shortcut with

ssh xmp

  • Twitter
  • Facebook
  • del.icio.us
  • Digg
  • LinkedIn
  • Slashdot
  • Identi.ca
  • FriendFeed
  • Ping.fm
  • StumbleUpon
  • Google Bookmarks
  • Add to favorites

Opera Mini on Android also a Proxy-Browser

Today Marc Ruef released an article about Opera Mini on the iPhone and pointed out that all traffic is routed through Opera’s own proxy server. Opera isn’t allowed to use his own rendering engine on the iPhone because of Apple’s strict license. Opera Mini just provides another frontend for Apple’s safari engine, while the rendering happens on Opera’s server.
Users of Opera Mini should be aware that all their traffic could be analysed and used for data mining.

A quick test reveals that the Android version of Opera Mini also uses Opera’s own server as a proxy.

t09-07.opera-mini.net – - [16/Apr/2010:13:27:39 +0200] “GET /blog HTTP/1.1″ 301 198 “http://www.carrier-lost.org/blog/about/” “Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18302/764; U; en) Presto/2.4.15″
t09-07.opera-mini.net – - [16/Apr/2010:13:27:39 +0200] “GET /blog/ HTTP/1.1″ 200 3886 “http://www.carrier-lost.org/blog/about/” “Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18302/764; U; en) Presto/2.4.15″
t09-07.opera-mini.net – - [16/Apr/2010:13:27:39 +0200] “GET /blog/wp-content/themes/decoder/img/bg-meta.gif HTTP/1.1″ 404 2400 “http://www.carrier-lost.org/blog/” “Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18302/764; U; en) Presto/2.4.15″

Where t09-07.opera-mini.net is the proxy server.

  • Twitter
  • Facebook
  • del.icio.us
  • Digg
  • LinkedIn
  • Slashdot
  • Identi.ca
  • FriendFeed
  • Ping.fm
  • StumbleUpon
  • Google Bookmarks
  • Add to favorites

Virtual Box: Shared Folder on Linux host and Windows guest

1. Create the folder on your host you like to share with the virtual machine (e.g. /home/pat/VirtualBoxExchange).
2. Add the shared folder to your virtual machine.
Shared Folder 1

Shared Folder 2

3. Open the command prompt on the windows machine (Start -> Run -> cmd.exe) and type

net use x: \\vboxsvr\VirtualBoxExchange

Shared Folder 3

4. Have fun.

  • Twitter
  • Facebook
  • del.icio.us
  • Digg
  • LinkedIn
  • Slashdot
  • Identi.ca
  • FriendFeed
  • Ping.fm
  • StumbleUpon
  • Google Bookmarks
  • Add to favorites

syslog-ng on vServer with Debian Lenny

Starting syslog-ng on a vServer with Debian Lenny fails with the message:

/etc/init.d/syslog-ng restart
Starting system logging: syslog-ng
Error opening file for reading; filename=’/proc/kmsg’, error=’Operation not permitted (1)’
Error initializing source driver; source=’s_all’ failed!
Error initializing source driver; source=’s_all’

You have to comment out a few lines in /etc/syslog-ng/syslog-ng.conf since syslog-ng doesn’t have direct access on the kernel messages. Under “Sources”

file(”/proc/kmsg” log_prefix(”kernel: “));

and

# kern.* -/var/log/kern.log
log {
source(s_all);
filter(f_kern);
destination(df_kern);
};

Syslog-ng should start just fine now.

  • Twitter
  • Facebook
  • del.icio.us
  • Digg
  • LinkedIn
  • Slashdot
  • Identi.ca
  • FriendFeed
  • Ping.fm
  • StumbleUpon
  • Google Bookmarks
  • Add to favorites