电竞比分网-中国电竞赛事及体育赛事平台

分享

Linux下Android手機刷機實例

 黑傳說 2012-09-28

現(xiàn)在用的手機是前年這個時候買的Moto Defy,由于工作比較忙沒時間折騰它,直到今年的11月份也一直用的是Android 2.1系統(tǒng)。不過隨著身邊用Android的同事陸續(xù)多了起來,看到他們用的Android 2.3系統(tǒng)還不錯,終于在前些天忍不住了,經(jīng)歷了我人生中第二次刷機經(jīng)歷。

為什么是第二次刷機經(jīng)歷?其實這也是另一個我一直不刷機的原因。以前在大學(xué)時玩過Moto P2k類型的手機,甚至由于感興趣還做過主題包和ROM,IT168的Moto論壇現(xiàn)在還能找到我當時發(fā)的一些精品貼,所以知道刷機沒什么技術(shù)含量也沒什 么意思。這次的刷機經(jīng)歷我的感受還是和以前一樣,糟透了。大家整天都喊這刷機刷機,卻很少有人真正去把刷機這件小事當回事兒,以至于我在刷機時遇到很多問 題時最后都是參照國外論壇里面的解決方案解決,國內(nèi)根本找不到。尤其像Linux用戶,Linux的下刷機方案更是少之又少少之又少!所以,我覺得有必要 寫一篇blog記錄一下,希望能幫到其他Linux&Android用戶。

本指南將會以Moto Defy為例告訴你關(guān)于Android刷機的一切相關(guān)知識,我會盡全力來向你解釋這款手機如何工作,怎么去Root,怎么安裝SBF。最重要的是:這些固件如何起作用,這樣你就不會因為安裝一個不正確的Rom而讓你的手機變磚了。

(注意:對你手機造成的任何破壞,我可概不負責(zé) )

一、為什么你的Android手機不會“變磚”? 被鎖的Bootloader,這又是什么意思?

對一些人來講,被鎖的Bootloader這個設(shè)置比較操蛋,而對大多數(shù)人來講(一般不是高級玩家),這確實是一個相當酷的功能,這相當于給你的手機加了一道保險。這個鎖定的Bootloader, 就意味著你沒有辦法重寫官方的Bootloader, 或者官方版的Recovery。

當手機打開Bootloader的時候,也就意味著基本上手機的全部硬件都打開了,手機處于可用的狀態(tài)。我們就能使用官方恢復(fù)功能,手機的這一個功能也被鎖定,它既不能被刪除,也不能被修改,但它具有恢復(fù)出廠功能,以及安裝升級包的功能。

起初的時候,這個設(shè)置造成了一定的麻煩,因為有了這個被鎖的Bootloader,你就沒有辦法安裝一個像CM一樣自定義的Rom。這時,2nd Init登場了,這個不起眼的應(yīng)用可以在Bootloader運行之后取得權(quán)限,允許Defy去加載一個不同的,非官方版的Android版本。

你甚至可以安裝一個自定義的恢復(fù)軟件,這個恢復(fù)軟件可以在手機內(nèi)存中運行,而不是從手機恢復(fù)分區(qū)中運行,這意味著什么呢?這就是說,即使你的手機變成磚了,或者不慎刪除了你的資料,又或者手機系統(tǒng)分區(qū)出現(xiàn)問題,你都可以利用它來進行恢復(fù),手機仍能夠被RSD(Linux下的一個刷機腳本,Windows下叫RSD Lite,很老的刷機軟件了。)以引導(dǎo)模式狀態(tài)來識別,手機還能夠用官方或者修改的Rom重新刷機。這樣,手機又能正常使用了。

幸虧有了這個被鎖的Bootloader, 這樣即使你想把Android變磚也相當困難。

國內(nèi)論壇中出現(xiàn)的眾多問題實際上并不是真的變磚了,而是沒有正確的刷SBFs。手機要是真的變磚了就意味著手機不能加載引導(dǎo)程序,也不能初始化手機硬件,這時你就需要用JTAG來直接重新給你的手機寫程序(這個軟件我也不是很確定能不能在Defy上使用。)

二、root你的Android!

什么是root,為什么人人都在討論它?

Android手機本質(zhì)是Linux系統(tǒng),生來文件系統(tǒng)就是被鎖定的,這就是說用戶只能對手機進行一些簡單的操作,安裝/卸載 應(yīng)用程序,更換手機鈴聲或者其他的一些基本的東西。你可以看到系統(tǒng)文件,但是不能對其進行操作,也不能更改Android系統(tǒng)的實際操作。

ROOT也就是說你可以像Linux系統(tǒng)管理員一樣來訪問手機系統(tǒng)。也就說你可以訪問和改變系統(tǒng)文件,刪除/創(chuàng)建 文件或文件夾等等。想要安裝像2ndInit一樣需要訪問Android系統(tǒng)文件的權(quán)限的應(yīng)用的話,你就得取得讀寫系統(tǒng)文件的權(quán)限。

慶幸的是,給Defy Root是一件相對簡單的事情,而且一般不會有什么問題。

友情提示:如果你買的是國行手機,取得root權(quán)限會使設(shè)備無法保修。

獲取root權(quán)限:

1.安裝ADB。

1.)下載ADB for Linux的工具包,解壓到你便于找到的地方。下載地址
2.)新建并編輯一個文件:

1
sudo vi /etc/udev/rules.d/51-android.rules

在里面寫入:

1
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666"

其中ATTR{idVendor}的值不同廠商的標識不一樣,請按照自己的手機更改。參照表如下:

Manufacturer USB Vendor ID
Acer 0502
Dell 413c
Foxconn 0489
Garmin-Asus 091E
HTC (Older Phones) 0bb4
HTC (Newer phones) 18d1
Huawei 12d1
Kyocera 0482
LG 1004
Motorola 22b8
Nexus One/S 18d1
Nvidia 0955
Pantech 10A9
Samsung 04e8
Sharp 04dd
Sony Ericsson 0fce
ZTE 19D2

3.)保存退出,設(shè)置權(quán)限:

1
sudo chmod a+rx /etc/udev/rules.d/51-android.rules

4.)編輯 ~/.bashrc 文件加入ADB tool的路徑:

1
vi ~/.bashrc

在末尾加入剛下載的工具包解壓的路徑:

1
export PATH=${PATH}:/home/rabbit/Documents/platform-tools

5.)重啟你的Ubuntu,然后USB連接手機,確保usb調(diào)試已打開,在終端下輸入

1
2
adb start-server
adb devices

如果一切正常,就能顯示出當前連接到電腦的android設(shè)備。

2. 下載 rageinthecage-arm5和 Superuser package:

rageagainstthecage-arm5:下載地址
md5: bfa28d457b54508326ab55d11399c586
Superuser package:下載地址
md5: 43d9a40b63e916635d5ad7ca32433fab

3.解壓 rageinthecage-arm5 和 Superuser package 到 adb 所在目錄(Android SDK 安裝目錄的 /platform-tools 下)。
4.用 USB 數(shù)據(jù)線將 Motorola Defy 連上電腦。
5.在電腦上打開終端并運行下列命令:

1
2
3
4
adb push rageagainstthecage-arm5.bin /data/local/tmp/
adb shell
chmod 755 /data/local/tmp/rageagainstthecage-arm5.bin
/data/local/tmp/rageagainstthecage-arm5.bin

運行完畢后繼續(xù)執(zhí)行下列命令:

1
2
3
4
exit
adb kill-server
adb start-server
adb shell

注意:這時命令行的提示符應(yīng)該是“#”。如果你看到的是“$”說明命令沒有正確執(zhí)行,請重試第4和第5步。

1
2
3
4
5
mount -o rw,remount /system
exit
adb push su /system/xbin/
adb shell chmod 4755 /system/xbin/su
adb push Superuser.apk /system/app/

6.現(xiàn)在,你的 Motorola Defy 現(xiàn)在就擁有 ROOT 權(quán)限了。

三、刷機!

1.Linux下刷入SBF文件

什么是SBF?

SBF文件是Android打包的刷到你手機上全部信息的一個刷機包。在這個刷機包中,有眾多的文件,每個文件都以CG XX命名,XX是數(shù)字,表示一個序號。

所以,當你給手機刷一個完整版的SBF文件時,它會先取得手機內(nèi)存權(quán)限、格式化內(nèi)存、創(chuàng)建新的分區(qū),然后把刷機包中的文件拷貝到新的分區(qū)中。每個分區(qū)都對應(yīng)著一個CG XX的文件。

刷機包中包含著眾多的CG文件,這些CG文件中含有Android系統(tǒng)的版本號。假設(shè)你在用Android 2.0,第一版,沒有任何升級包,沒有任何其他亂七八糟的應(yīng)用。這個版本的版本號就是第一版。

當手機升級之后,其版本號變成第二版,以此類推。每個Android版本都有獨有的一個ID, 一旦你升級了,你就不能回滾到上個版本,在這個版本信息中保存在刷機包的CG31和CG39的文件中。

SBF修改版

這個版本就是說移除CG31和CG39的SBF版本,這樣就能在不同Android版本中自由遷移。但是,因為修改版的SBF不能創(chuàng)建 /System (CG39) 和nd CDT (CG31)2個分區(qū),我們需要自己用軟件Nandroid Backup來復(fù)制系統(tǒng)文件,否則的話,手機可能在缺失/System的分區(qū)下不能正常使用。

這個軟件就是一款能讀寫的可自定義恢復(fù)的zip文件,它能刪除/拷貝 /system分區(qū)內(nèi)的所有文件以及其他分區(qū)的文件,并且在操作的同時不會格式化分區(qū)也不會重新劃分分區(qū),這樣就既不會修改系統(tǒng)配置。這也就意味著你不可 能在操作的時候把你的手機變成磚,但你可能會使Android系統(tǒng)不能啟動,新的SBF包或者Nandroid就需要安裝。

CG 版本

有了以上的解釋,順便來說說CG版本。

如果你刷機的版本低于手機本來的版本,那么在手機啟動之后會看到黑屏,或者是提示你刷一個官方的Rom版本。只要記住這一點,你就可以在不同Android版本之間來回刷機了,這樣也不會讓你的手機變磚。如果你有一塊Android 2.0版的defy,而且希望它一直保持降級的能力,你只需要安裝一個你想要的Android版本的修改版SBF,然后用相應(yīng)的Nandroid來進行恢復(fù)系統(tǒng)文件。

官方SBF

這里是所有官方的SBF清單(目前這個清單下載鏈接已經(jīng)失效,但可以作為參考,下載請看這個清單), 就是說它們都包含全部的CG文件,刷這些SBF后你的手機就像剛從Moto賣給你一樣,你要記著刷了這種完整的SBF包進行升級,你就不能降級到一個低版 本了。了解了這些,你就應(yīng)該能嘗試不同的Android版本咯,也能毫無壓力的去商店咯。只要弄清楚CG文件的原理,大膽刷機吧。

Do it!

0.)保持你的手機電量超過50%。(至少!)
1.)下載你想刷的SBF文件。
2.)下載sbf_flash文件到你的ADB目錄下:下載。sbf_flash作者blog
3.)

1
2
chmod +x sbf_flash
sudo ./sbf_flash xxxxxx.sbf

現(xiàn)在,命令行應(yīng)該會提示你重啟手機到bootloader模式。

2.通過fastboot刷入img文件

1.)下載fastboot:點擊下載
2.)

1
2
sudo chmod a+x fastboot
sudo ./fastboot devices

成功識別到設(shè)備會出現(xiàn)一行字,如果沒有成功則什么都沒有。
3.)寫一個文件到閃存分區(qū),如寫入一個文件到boot分區(qū):

1
sudo ./fastboot boot XXX.img

友情提示:想要從任何一個ROM版降級,你只需要刷裝一個完整版的官方版的SBF(切記檢查CG版本)。

四、常見問題及解決辦法:
1.啟動的時候黑屏:嘗試安裝一個比目前手機系統(tǒng)中CG版本更低的系統(tǒng)。
2.安裝修改版SBF后出現(xiàn)靈異問題:安裝一個與手機SBF相匹配的Nandroid備份,記著先在Recovery模式中清除系統(tǒng)緩存。
3.如何進入恢復(fù)模式?同時按下手機電源鍵和音量減,直到屏幕上出現(xiàn)一個黃色的三角形,一旦看到這個,就意味著進入了recovery模式?,F(xiàn)在同時按住音量加、音量減,屏幕上就會出現(xiàn)一個菜單,如果你的是 éclair 版,不用按任何鍵就會出現(xiàn)這個菜單。
4.如何進入Bootloader模式?按住電源鍵和音量+鍵直到手機屏幕上出現(xiàn)一些白色的字,這就進入了Bootloader模式。

五、參考文章:
Motorola Defy: Full Update Guide
All-in-One Defy Beginner’s guide
How to root Defy via Linux!
Fastboot

====================================

黑傳說的看法:

不錯

加個微投的驅(qū)動不知道怎么弄?????就是這個華陽微投


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多