Boot Splashscreen auswechseln

Auf meinem G1 kommt beim Start ein nicht gerade schöner Splashscreen mit dem T-Mobile Logo. Aus diesem Grund wollte ich den Splashscreen auswechseln, was nicht ganz so einfach ist. Wichtig ist es dabei vorsichtig zu sein, nicht das man aus seinem Telefon einen wunderschönen Ziegelstein macht.

Im ersten Schritt erzeugt man ein Bild mit einer Größe von 320×480 Pixeln und einer Farbtiefe von 8 Bit (256 Farben pro Kanal). Nachdem man nun seiner künstlerischen Ader genüge getan hat speichert man das ganze als PNG ab. Dieses Bild wird nun mittels

convert -depth 8 splash.png rgb:splash.raw

in ein Rawbild umgewandelt. Bei einem Rawbild handelt es sich um ein Bild in welchem nur noch die jeweiligen Farbwerte gespeichert werden und keine anderen Informationen (Header, Metadaten, etc.) mehr im Bild sind. Das Rawbild sollte dabei eine Größe von 460800 Byte haben.

Mit diesem Rawbild kann das Androidgerät allerdings nicht viel anfangen da es die Daten direkt in den Grafikspeicher ließt. Aus diesem Grund muss die Rawdatei nochmals umgewandelt werden. Dazu gibt es ein Tool (Linux, Windows, Sourcecode) namens rgb2565 welche diese Aufgabe für uns erledigt. Die Umwandlung erfolgt dann mittels

./rgb2565-linux-i386 < splash.raw > splash.raw565

in der Kommandozeile. Nach der Umwandlung sollte die Datei splash.raw565 exakt eine Größe von 307200 Byte haben. Es muss exakt diese Größe sein, sonst kann es passieren das man sich sein Telefon zerschießt.

Nun kann man das entsprechende Bild flashen. Dazu benötigen wir Fastboot welches unter http://developer.htc.com/adp.html bezogen werden kann. Wichtig ist auch das das G1 Fastboot unterstützt. Dazu muss der passende Hard SPL auf dem Gerät sein, jeder mit CyanogenMod 5/6 dürfte aber den entsprechenden SPL haben, ansonsten sei empfohlen in die weiteren Informationen zu schauen.

Anschließend sollte das Gerät ausgeschaltet werden und im Fastboot Modus (Back+Power) neu gestartet werden. Danach sollte das Gerät per USB mit dem Rechner verbunden werden. Nun öffnet man ein Terminal und gibt dort ein

sudo ./fastboot flash splash1 splash.raw565
sudo ./fastboot flash splash2 splash.raw565

Damit werden die Splashscreens geflasht. Sollte bei der zweiten Zeile folgender Fehler auftreten:

sending ’splash2′ (300 KB)… OKAY
writing ’splash2’… FAILED (remote: partition does not exist!)

so ist das kein Beinbruch. Auf manchen Systemen existiert zweite Splashpartion. Danach kann der SPL mittels Call + Power + Menü (bei manchen Fastboot Versionen nur mit Menü) verlassen werden. Der neue Splashscreen ist nun installiert.

Weitere Informationen gibt es unter:
http://www.ccc-mannheim.de/wiki/G1#Customizing_des_BootLogos