<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>T-Mobile G1 &#8211; richliu&#039;s blog</title>
	<atom:link href="https://blog.richliu.com/tag/t-mobile-g1/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.richliu.com</link>
	<description>Linux, 工作, 生活, 家人</description>
	<lastBuildDate>Fri, 30 Apr 2010 12:20:11 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.2</generator>
	<item>
		<title>Android Dev Phone 升級 Eclair (2.1)</title>
		<link>https://blog.richliu.com/2010/04/30/917/android-dev-phone-%e5%8d%87%e7%b4%9a-eclair-2-1/</link>
					<comments>https://blog.richliu.com/2010/04/30/917/android-dev-phone-%e5%8d%87%e7%b4%9a-eclair-2-1/#comments</comments>
		
		<dc:creator><![CDATA[richliu]]></dc:creator>
		<pubDate>Fri, 30 Apr 2010 12:20:11 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[adp]]></category>
		<category><![CDATA[Eclair]]></category>
		<category><![CDATA[HTC Magic]]></category>
		<category><![CDATA[recovery]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[T-Mobile G1]]></category>
		<category><![CDATA[upgrade]]></category>
		<category><![CDATA[升級]]></category>
		<guid isPermaLink="false">http://blog.richliu.com/?p=917</guid>

					<description><![CDATA[<p>其實 Android 升級也不是像想像中麻煩, 但是升級之前需要做很多準備工作, 如果不是熟門熟路的話, 會不 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2010/04/30/917/android-dev-phone-%e5%8d%87%e7%b4%9a-eclair-2-1/">Android Dev Phone 升級 Eclair (2.1)</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>其實 Android 升級也不是像想像中麻煩, 但是升級之前需要做很多準備工作, 如果不是熟門熟路的話, 會不知道在做什麼, 但是如果熟悉了以後, 換 ROM 大概就像喝水一樣容易 .</p>
<p>以下就是我花一堆時間升級得到的心得. 希望對大家有用</p>
<p>本文章僅適用於 ADP1 (Android Dev Phone 1), 其他不適合.<br />
其他相同的機型有 HTC Magic 和 T-Mobile G1</p>
<p><span style="color: #ff0000;"><strong>* 免責聲明: 任何改機行為皆有極大風險, 請自負風險, 本人不負任何責任 *</strong></span></p>
<h1><span id="more-917"></span>名詞解釋</h1>
<p>先知道名詞是很重要的, 要不然連 Keyword 都 Search 不到 :p</p>
<h3>IPL: Initial Program Loader</h3>
<p>為一個小的 Loader, 主要負責 initial DRAM, CPU 等, 找到的資料有說到 SPL 刷死掉了以後, 可以靠 IPL 救.<br />
不過這看起來要拆機了.</p>
<h3>SPL : Second Program Loader</h3>
<p>在 IPL 之後載入的 Loader. Loader 的角色有點像是 PC 的 Bios<br />
SPL 可以燒 nbh(應該是每台機器的 key, 開發機不需要去弄這個), 提供 Fastboot 更新介面(等一下會提)<br />
更新 SPL 風險是非常高的, 請確定你的手機型號之後再更新<br />
進入 SPL 的方法, 關機時, 按住 camera + Power 鍵(掛電話鍵) 就可以進入 SPL</p>
<h3>Fastboot:</h3>
<p>進入 SPL 後, 可以切至 Fastboot mode, 可以透過 USB + Fastboot 的程式更新特定區域的 image .<br />
這是當 Recovery 不能用的時候, 拿來緊急救援用的.</p>
<h3>Recovery:</h3>
<p><a title="recovery" href="http://www.flickr.com/photos/richliu_tw/4565377896/" target="_blank" rel="noopener"><img fetchpriority="high" decoding="async" title="recovery" src="http://farm4.static.flickr.com/3479/4565377896_e0bd1c2330.jpg" alt="recovery" width="358" height="500" /></a><br />
系統提供一個 Recovery mode, 這個 Recovery 是一個簡化的 Linux 系統, 內含一個 busybox 及其他的 tool<br />
主要是用來更新 ROM 及其他開發者提供的功能. 像是 SPL 也是可以從 Recovery 內救.<br />
以我目前使用的 RA-Dream 來說, 支援以下的功能</p>
<ul>
<li>Reboot</li>
<li>Goto Console</li>
<li>USB-MS (摸擬成一個 USB Mass Storage, 就是讓 Android 變成 USB Flash 模式.</li>
<li>Backup/Restore : nandroid, 可以備份/回復 Nand, 常常換系統者必備.</li>
<li>Flash Zip from SD (這功能就是可以更新大部份的 ROM 了)</li>
<li>Wipe : 清除資料</li>
<li>Partition SDCard : 現在有的 ROM 支援 APP2SD, 尤其是 Eclair (2.1) 的系統一定要 APP2SD 才可以使用.</li>
<li>Shutdown</li>
</ul>
<p>幾乎所有燒機的功能都包含在內了, 之前可能會有人找到 cm-recovery-1.4, 不過那個功能比 RA-Dream 差太多了.</p>
<p>進入 Recovery 的方法, Home + Power On Key.</p>
<h3>RADIO:</h3>
<p>這一般指的是 GSM 部份的 Radio Code. 因為 GSM 都是自己跑一部份專有的 Code.</p>
<h3>ROM:</h3>
<p>通常講到 ROM 都是講到 Android 主系統, HTC 有協助 Google 開發系統, 也有很多第三方放出來的 ROM 可以用, 如果很愛刷 ROM 換系統, 或是自己 compile 都是可行的</p>
<p>第三方比較有名的有</p>
<p>2.1</p>
<ul>
<li><a id="thread_title_672992" href="http://forum.xda-developers.com/showthread.php?t=672992" target="_blank" rel="noopener">[ROM] CyanogenMod-5 &#8211;  Would you like a pony? (EXPERIMENTAL) [04/29 &#8211; v5.0.7-test1]</a></li>
<li><a id="thread_title_642643" href="http://forum.xda-developers.com/showthread.php?t=642643" target="_blank" rel="noopener">[ROM] [v1.2] [OPTIMIZED] KiNgxKxKlair  DroidEris2G1 {4/9/10 1:59 pm PST}</a></li>
<li> <a id="thread_title_633957" href="http://forum.xda-developers.com/showthread.php?t=633957" target="_blank" rel="noopener">[UPDATE][ROM]CaNNoN202 Complete Eclair  [v2.0](Almost Complete)[4/2/10]-[FAST][STABLE]</a></li>
</ul>
<p>1.6</p>
<ul>
<li><a id="thread_title_567610" href="http://forum.xda-developers.com/showthread.php?t=567610" target="_blank" rel="noopener">[ROM] CyanogenMod &#8211; No, you can&#8217;t have a pony  (STABLE) [UPDATED 03/04 &#8211; v4.2.15.1]</a></li>
<li><a id="thread_title_613809" href="http://forum.xda-developers.com/showthread.php?t=613809" target="_blank" rel="noopener">[ROM]Super  D 1.11  &#8220;Rehab is for Quitters&#8221; (4/28)</a></li>
</ul>
<h3>APP2SD:</h3>
<p>ADP1 的 Flash 只有 192MByte, 所以放 Application 不太夠, 所以大家就將腦筋動到 SD Card 上.<br />
這個功能就叫 APP2SD. 在 Linux 下不過就只是一個 shell script.</p>
<p>早期 APP2SD 要自己弄,<br />
現在新的 ROM 都支援 APP2SD, 更新的 2.1 都一定要啟動 APP2SD 才能使用</p>
<p>有了這些基礎知識以後, 接下來就是準備開始動手了.</p>
<p><span style="color: #ff0000;"><strong>*  免責聲明: 任何改機行為皆有極大風險, 請自負風險, 本人不負任何責任 *</strong></span></p>
<h2>準備</h2>
<ul>
<li>PC</li>
<li>USB cable</li>
<li><a href="http://developer.android.com/sdk/index.html" target="_blank" rel="noopener">Android SDK</a></li>
<li><a href="http://developer.htc.com/adp.html" target="_blank" rel="noopener">fastboot </a></li>
</ul>
<p>Android SDK 提供了 adb shell command 的功能 (要啟動到 recovery)<br />
fastboot 提供了在 SPL 狀況下可以更新 image 的機會.</p>
<h2>更新 Recovery.img</h2>
<p>我個人喜歡用 <a href="http://forum.xda-developers.com/showpost.php?p=4647751&amp;postcount=1" target="_blank" rel="noopener">RA-Dream</a> 先下載 <a href="http://rapidshare.com/files/357127614/recovery-RA-dream-v1.6.2.img" target="_blank" rel="noopener">recovery-RA-dream-v1.6.2.img</a> 然後存到 SDCard 內.</p>
<p>重開機按 Home + Power On 進入 recovery mode.</p>
<p>在 PC 端進入 adb mode</p>
<p>[shell]<br />
# adb shell<br />
切至 ADP<br />
$ su<br />
# mount -a<br />
# flash_image recovery /sdcard/recovery-RA-dream-v1.6.2.img</p>
<p>[/shell]</p>
<p>如果要用 Fastboot 升級也是可以, 但是要先更新 SPL. 那更麻煩&#8230;..</p>
<p>[shell]<br />
# fastboot devices (確認 devices)<br />
# fastboot flash recovery recovery-RA-dream-v1.6.2.img<br />
[/shell]</p>
<h2>更新 Radio Image</h2>
<p>如果不是 2.22.19_26I, 請更新你的 Radio Image, 可以啟動進 SPL 看一下現在的版本</p>
<p>可以從 HTC 下載 <a href="http://developer.htc.com/adp.html" target="_blank" rel="noopener">2.22.19_26I</a>, <a href="http://code.google.com/p/sapphire-port-dream/" target="_blank" rel="noopener">sapphire-port-dream</a> 也有一份 <a href="http://code.google.com/p/sapphire-port-dream/" target="_blank" rel="noopener"></a></p>
<p><a title="ota-radio-1_22_14_11.zip" onclick="DisplayDialogAndAcceptDownload('aHR0cDovL21lbWJlci5hbWVyaWNhLmh0Yy5jb20vZG93bmxvYWQvUm9tQ29kZS9BRFAvb3RhLXJhZGlvLTJfMjJfMTlfMjZJLnppcA==','io_device_license.htm','You  must agree to the License to download the file.');" href="javascript:void(0);">ota-radio-2_22_19_26I.zip</a> 下載之後放到 SDCard 內, 然後重開機進入 Recovery mode.<br />
如果這邊更新 Ra-dream recovery.img 己經成功了, 那就可以直接進 Recovery Mode, 切進 USB-MS mode, 就會變成 Mass Storage, 可以直接從電腦傳檔案進去.<br />
用 flash zip from SD 的功能, 就會列出來, 直接選擇就可以.<br />
解壓完重開機即可.</p>
<p><strong>這就是我愛用 Ra-dream recovery.img 的原因 XD</strong></p>
<h2>更新 SPL</h2>
<p>第一件事情就是要確認機器的版本, 這是一張 SPL 的圖案, 這是改過的<br />
<a title="SPL" href="http://www.flickr.com/photos/richliu_tw/4565377486/" target="_blank" rel="noopener"><img decoding="async" title="SPL" src="http://farm4.static.flickr.com/3334/4565377486_a34048c358.jpg" alt="SPL" width="339" height="500" /></a></p>
<p>[text]<br />
DREAM PVT 32B ENG S-OFF<br />
HBOOT-1.33.2005 (DREA10000)<br />
CPLD-4<br />
RADIO-2.22.19.26I<br />
[/text]<br />
第一行是 PVT 32B 是代表這隻是 Google ADP1 (Dream/Tmobile G1)<br />
第二行是目前 SPL 的版本, DREA***** 英國, DREA10000 美國, DREA11000 歐洲<br />
第四行是 Radio 的版本<br />
更新完 SPL 就可以裝第三方的 Android ROM, 但是 HTC 版的就不能用了. 如果要用, 就要降級</p>
<p>以下是更多的說明</p>
<blockquote><p>SPL Info<br />
&#8211; The G or H at the end identify if it&#8217;s a Google or HTC SPL<br />
&#8211; ENG : Engineering version<br />
&#8211; SHIP : Shipment version<br />
&#8211; DEV : Development version (ION)<br />
&#8211; S-off and S-on : Security on and off (writing directly to nand or not) , most probably not SPL linked.<br />
&#8211; PVT 32A : 288MB RAM / Qualcomm MSM7200a<br />
&#8211; PVT 32B : 192MB RAM / Qualcomm MSM7201a<br />
&#8211; CPLD XX : What does this mean?</p></blockquote>
<p>我目前是使用 <a href="http://code.google.com/p/sapphire-port-dream/" target="_blank" rel="noopener">Danger SPL</a></p>
<p>下載後丟到 SD Card, 進入 Recovery Mode, 然後用 Flash zip from SD card 就可以.</p>
<h2>備份系統</h2>
<p>當然我就會講, 進入 Recovery Mode, 選 Backup/Restore 的功能, 選 NAND Backup 即可.<br />
(其實我是沒有在 backup 的 (爆))</p>
<h2>規劃 SDcard</h2>
<p>我選用的這一版 Recovery 有 Partition SD Card 的功能</p>
<p>但是我當時是用 Linux 去預先規劃, 以我 2G SD Card 為例</p>
<p>Partition 1 : FAT32 :  1.4GByte<br />
Partition 2: ext3 : 500MByte<br />
Partition 3: Linux Swap : 96MBytes</p>
<p>Partition 2 也可以選用比較新的 ext4, 不過這就要比較新版的 ROM 才支援這個功能, 一般來說, 使用 ext3 是支援度最廣的.</p>
<h2>升級 ROM</h2>
<p>接下來就是下載 ROM 了.<br />
以 2.1 為例</p>
<p>2.1</p>
<ul>
<li><a id="thread_title_672992" href="http://forum.xda-developers.com/showthread.php?t=672992" target="_blank" rel="noopener">[ROM]  CyanogenMod-5 &#8211;  Would you like a pony? (EXPERIMENTAL) [04/29 &#8211;  v5.0.7-test1]</a></li>
<li><a id="thread_title_642643" href="http://forum.xda-developers.com/showthread.php?t=642643" target="_blank" rel="noopener">[ROM]  [v1.2] [OPTIMIZED] KiNgxKxKlair  DroidEris2G1 {4/9/10 1:59 pm PST}</a></li>
<li> <a id="thread_title_633957" href="http://forum.xda-developers.com/showthread.php?t=633957" target="_blank" rel="noopener">[UPDATE][ROM]CaNNoN202  Complete Eclair  [v2.0](Almost Complete)[4/2/10]-[FAST][STABLE]</a></li>
</ul>
<p>點進去後找到 ROM 下載, 丟到 SDCard 內</p>
<p>然後選 flash zip from SD.</p>
<p>以 CyanogenMod-5 為例, 會下載<br />
update-cm-5.0.7-DS-test1-signed.zip<br />
gapps-ds-ERE36B-signed.zip<br />
丟進去一起 Flash zip from SD 就好了, 如果是從 1.5/1.6 升級上來, 那記得先 wipe data. 這樣比較不會出問題.</p>
<p>如果是 2.1 的話, 第一次啟動可能需要 5~15 分鐘, 需要耐心等候.</p>
<p>有了 RA-Dream 省了很多事情, 所有的動作都可以 Flash zip from SD.<br />
而新的 ROM 都支援 APP2SD. 所以很多網路上的文件都不太適用了.</p>
<p>然後這麼方便的結果就是 ROM 一直換一直換&#8230;..</p>
<p>目前用到 CaNNoN202 這個不錯, CyanogenMod-5 也可以.</p>
<p>KiNgxsKxKlair功能很強, 但是問題很多, 連 Google Applications 都啟動不了.<br />
不過可以看一下 HTC Legend(?) 大概的樣子是長得什麼樣. 我覺得很炫就是了 <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>目前的缺點就是..<br />
我的 Camera 不知道為什麼都沒有辦法再使用了, 不知道是 Hardware 的問題還是 Software 的問題.<br />
不過之前 ADP1 早就被我玩爛了(大概是自己編kernel的關係), 所以這也不是缺點了 (默)&#8230;</p>
<p>Ref.</p>
<ul>
<li><a href="http://android-dls.com/wiki/index.php?title=Android_FAQ#Q:_What_is_an_SPL.3F" target="_blank" rel="noopener">What is SPL</a></li>
<li><a href="http://www.cnpda.com.cn/thread-322768-1-1.html" target="_blank" rel="noopener">[教 程] [G2]SPL/RADIO/RECOVERY/ROM 专用名词说明</a></li>
<li><a href="http://www.androidin.net/bbs/thread-15742-1-1.html" target="_blank" rel="noopener">【乐教：新人教程】完全刷机教程！</a></li>
<li><a href="http://forum.xda-developers.com" target="_blank" rel="noopener">http://forum.xda-developers.com (必看, 很多文件都是從這邊出來的)</a></li>
</ul>
<p>The post <a rel="nofollow" href="https://blog.richliu.com/2010/04/30/917/android-dev-phone-%e5%8d%87%e7%b4%9a-eclair-2-1/">Android Dev Phone 升級 Eclair (2.1)</a> appeared first on <a rel="nofollow" href="https://blog.richliu.com">richliu&#039;s blog</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.richliu.com/2010/04/30/917/android-dev-phone-%e5%8d%87%e7%b4%9a-eclair-2-1/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
