{"id":245,"date":"2009-06-12T10:35:08","date_gmt":"2009-06-12T10:35:08","guid":{"rendered":"http:\/\/www.moucha.cc\/charon\/?p=245"},"modified":"2011-08-09T20:00:13","modified_gmt":"2011-08-09T20:00:13","slug":"customized-t-mobile-g1-android-phone","status":"publish","type":"post","link":"http:\/\/www.moucha.cc\/charon\/customized-t-mobile-g1-android-phone\/","title":{"rendered":"Customized T-Mobile G1 android phone"},"content":{"rendered":"<p>I have been using a <a href=\"http:\/\/t-mobile.cz\/Web\/Residential\/Telefony\/Telefon.aspx\/T-Mobile\/G1\/Telefon\/425\">T-Mobile G1<\/a> phone with new open source <a href=\"\">Android<\/a> operating system for a while. It was a sort of &#8220;least evil&#8221; decision first, but later I started to like the phone. One the main reasons I changed my mind was the ability to flash other firmwares that the original. This is where the real power of open source comes in &#8211; you are free to change anything you want.<\/p>\n<p>I haven&#8217;t time to play with the phone to create the environment to be able re-flash the firmware &#8211; particularly to create so called &#8220;Gold card&#8221; which enables you to store file on this SD card which will be used in the recovery mode as a source of new firmware. I approached one of the users of <a href=\"http:\/\/www.androidforum.cz\">Android forum<\/a> [czech only] to help with<br \/>\nthis. Thanks and respect to <a href=\"http:\/\/android.pocitac.com\/\">Xsoft<\/a>.<\/p>\n<p>When I got everything to flash a new firmware a natural question appeared &#8211; which one to flash? You can find quite extensive overview of the firmwares in <a href=\"http:\/\/www.simonwalkerphotos.com\/android\/default.asp\">JAB ROM database<\/a>. My experiences with the major ones are:<\/p>\n<ul>\n<li><a href=\"http:\/\/haykuro.theiphoneproject.org\/\">Haykuro<\/a> &#8211; Heavily modified with stuff  from HTC meaning more features on one hand, but bugs, a lot of chineese on the other hand. Visually more flashy and coloured, but not as polished and clean.<\/li>\n<li><a href=\"http:\/\/jf.andblogs.net\/\">Jesus Freke<\/a> &#8211; One of the first mods, the base for most other builds. Enough for everyone, visually clean and polished based on original Google user interface.<\/li>\n<li><a href=\"\">The Dude&#8217;s<\/a> &#8211; I used only version 1.2 and it is completely horrible visually with modified theme, icons and everything. Otherwise seemed allright.<\/li>\n<\/ul>\n<p>I found two others which seemed to me OK &#8211; Cyanogen (a.k.a. &#8220;Jesus Freke on steroids&#8221; performance optimized, stripped to tha base) and TwistedUmbrella (Jesus Freke with ports of some HTC enhancements), but none of them has a important feature to me because of ability use <a href=\"http:\/\/rb.cz\/osobni-finance\/bezny-ucet-ekonto\/prime-bankovnictvi\/gsm-bankovnictvi\/\">GSM banking<\/a> with my bank &#8211; <a href=\"http:\/\/en.wikipedia.org\/wiki\/SIM_Application_Toolkit\">SIM Toolkit<\/a> application. They are both based on US version of Jesus Freke firmware which probably does not contain it in contrast to EU version.<\/p>\n<p>So started hacking it &#8230; and here you have a simple guide how to create your customized firmware.<\/p>\n<ol>\n<li>Get and unpack the base firmware you would like to modify.<\/li>\n<li>Change the content of the directory structure as you wish (copy the apps into it in \/system\/apps, add media files into \/media, &#8230;). The easiest way is to reuse other firmwares, but of course you can experiment much more.<\/li>\n<li>Download and unpack <a href=\"http:\/\/www.4shared.com\/file\/79307346\/5aad5ac0\/SignApk.html\">SignApk<\/a> application to be able sign the firmware package (private keys and certificate compatible with recovery image are included).<\/li>\n<li>Delete the signature in \/META-INF &#8211; files CERT.RSA, CERT.SF and MANIFEST.SF<\/li>\n<li>Zip all the content in your structure into a your_firmware.zip file and put it into the directory where you unpacked SignApk.<\/li>\n<li>Sign the zip file with SignApk: <code>java -jar signapk.jar testkey.x509.pem testkey.pk8 your_firmware.zip your_firmware-signed.zip<\/code><\/li>\n<\/ol>\n<p>Now you can proceed firmware flash with this signed file. If you do not want to get into here is my modified Cyanogen&#8217;s firmware version 3.4. Changes are: <\/p>\n<ul>\n<li>SIM Toolkit added<\/li>\n<li>MarketEnabler 3.0 beta added<\/li>\n<li>few media files from JF 1.51 (ringtones, notification etc.) added<\/li>\n<\/ul>\n<p>Download it here: <a href=\"\/charon\/files\/update-cm-3.4-mod_ch-signed.zip\">update-cm-3.4-mod_ch-signed.zip<\/a> [46.8 MB].<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have been using a T-Mobile G1 phone with new open source Android operating system for a while. It was a sort of &#8220;least evil&#8221; decision first, but later I started to like the phone. One the main reasons I changed my mind was the ability to flash other firmwares that the original. This is&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7],"tags":[],"class_list":["post-245","post","type-post","status-publish","format-standard","hentry","category-technology"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p20Iro-3X","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/www.moucha.cc\/charon\/wp-json\/wp\/v2\/posts\/245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.moucha.cc\/charon\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.moucha.cc\/charon\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.moucha.cc\/charon\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.moucha.cc\/charon\/wp-json\/wp\/v2\/comments?post=245"}],"version-history":[{"count":2,"href":"http:\/\/www.moucha.cc\/charon\/wp-json\/wp\/v2\/posts\/245\/revisions"}],"predecessor-version":[{"id":256,"href":"http:\/\/www.moucha.cc\/charon\/wp-json\/wp\/v2\/posts\/245\/revisions\/256"}],"wp:attachment":[{"href":"http:\/\/www.moucha.cc\/charon\/wp-json\/wp\/v2\/media?parent=245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.moucha.cc\/charon\/wp-json\/wp\/v2\/categories?post=245"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.moucha.cc\/charon\/wp-json\/wp\/v2\/tags?post=245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}