歷趣首頁 手機客戶端

當前位置:歷趣APP下載>資訊>教程>刷機和ROM原理

刷機和ROM原理

時間:2012-01-04 11:37:08瀏覽:500萬+
先了解幾個刷機中常常提到的詞:

什么是Recovery

Recovery是一個在Linux下的系統恢復模式。籠統的說,就是一個刷機的工程界面。如果你裝過系統,你可能知道dos界面或者winPE,安裝了Recovery相當于給系統安了一個dos界面。在recovery界面可以選擇進行刷機,備份,重啟,安裝系統,清空數據,ghost備份系統,恢復系統等等,系統的OTA升級也是通過調用Recovery來進行的。

如何進入Recovery的界面

關機狀態下,按住音量增加鍵和關機鍵,等出現開機畫面時松手,即可進入Recovery(也有少數不一樣)。


什么是Fastboot

Fastboot也是一個刷機界面,不過比Recovery更接近硬件層;當你不能進入Recovery模式的時候,快可以通過此模式挽救,如果Fastboot模式都進不去時那么你的手機就真成磚了。三星進入Fastboot是按住 關機、音量-、音量+三個鍵,俗稱為挖煤模式。





一、刷機原理

刷機就是兩種方法,線刷或者卡刷

卡刷:一般簡單的可以理解為在內存卡中刷機。

過程:
1.將“刷機包.zip”放入到SD卡。
2.關機再進入到recovery界面分別選擇wipe data/fACTory reset 恢復出廠設置,wipe cache partition 擦除cache(簡稱雙清)
3.在recovery界面再選擇“刷機包.zip”文件刷入。
     
原理:這種方法是調用了recovery的方法將各種img或文件進行復制等操作。

備注:刷機格式都為zip。手機進入recovery的方法不一樣,卡刷需要找個跟自己機型合適的recovery,因為為了保證Rom的可靠性,在安裝程序中都會對一些安裝環境進行一些確定,另外,Recovery程序本身也有一些環境驗證。

        在卡刷刷機的全過程中,如果你的recovery跟ROM都已經OK了的情況下,是不用將數據線跟電腦連接的,所以稱之為卡刷。卡刷的難點就是找到合適的recovery刷入到手機中。recovery刷好后,只是一個利用recovery選擇刷機包的過程。



線刷:可以簡單的理解為用USB線將手機根電腦連接起來,利用電腦軟件幫手機刷機。

過程:

1.手機進入Fastboot 模式。
2.用USB線將電腦跟手機連接起來,安裝驅動,確保刷機工具可以識別到手機。
3.把線刷ROM解壓后,按照指定路徑分別把各個文件刷入到指定位置 

原理:將已有的各分區映象文件(img文件,意義上類似我們對光盤做的映象文件)通過刷機工具直接覆蓋寫到指定分區中。

備注:確保已安裝好驅動;刷入文件路徑正確。

線刷其實是一種比較暴力,也是一種比較通用的刷機方式。這種方式一般都是恢復到的系統。線刷的難點在于安裝驅動,是安裝你的手機進入Fastboot模式的驅動。

這兩種方法哪種更好,這就不好比高低了,總的來說:

Recovery方法更簡單,只需要傻瓜式的將update.zip放到SD卡的要目錄下,然后進入Recovery模式選擇刷機包就可以了,但和任何傻瓜式東西一樣,他的靈活度就很小了,而且出錯了也都不知道如何解決。不過最常用的刷機模式就是卡刷。

線刷刷方法更靈活,功能也更強大,fastboot方法不需要依賴于recovery,甚至linux底層刷壞了recovery模式都進不了的情況下也可以通過fastboot方工刷回來。所以線刷方法一般用于救磚,為你的卡刷保駕護航。





二、回頭再來說說Android系統中的各分區(可能分區這個說法不太準確)

我了解到的Android系統中的分區有:

hboot(我們刷的SPL就是這玩意),這個分區是最基本的引導分區(類似電腦中的Bios),這個區壞了,差不多就變磚了,所以我們刷SPL時才要如此小心啊。

boot,這個分區應該是linux操作系統的引導分區。

radio,這個分區是手機的一些底層設備相關的驅動或功能程序吧,如打電話和發短信等,不同的系統版本會有不同的radio配套,我們平時刷了高版本的ROM后,如果不刷高版本的Radio就有可能導致打電話不正常之類的。

recovery,這個分區裝的就是前面提到的recovery程序了,這個刷不同的recovery版本可以帶來不同的功能,有興趣的同學可以基于recovery的源碼自己編譯出一個自己的recovery出來。但一般來說,刷recovery最主要的就是提Root權限。

system,是一般發布的ROM的主要功能程序分區了,我們說的ROM功能和自帶程序的定制應該就是基于這個分區的修改和編譯了。

userdata,用戶數據,不說了。

cache,緩存,一般是用來OTA升級時的緩存,我們說刷SPL可以增加程序區的空間大小就是主要將這個區的大小縮水了然后加大了程序區的分區大小。



三、一個典型ROM的剖析

我們平時升級的Rom都是打包成適合Recovery方式刷機的包。能夠被Recovery程序識別并處理的包應該有一個固定的格式,我理解的一些重要的約束如下:

1)必須是標準的zip壓縮包;

2)recovery腳本必須存入在META-INF\com\google\android\update-script;

3)其它的一些證書和簽名信息應該都放在\META-INF\下。


四、我們有沒有可能自己定制ROM呢

理論上我們是可以自己定制的。

最簡單的定制應該就是拿一個現有的認為還不錯的基礎ROM,替換一些資源,加一些系統自帶程序,然后打包發布;

再玩高級一點,就應該自己去修改一些系統自帶的程序,如漢化一些系統原始程序;

還玩高級一點,就應該自己到android站點去下載android系統的源碼來編譯,并基于系統級的定制和移植了,如現在火熱的android2.0源碼編譯系統移植。

如果是簡單一點的自制ROM,主要應該會要解決如下幾個問題:

1)選定一個比較好和穩定的內核和基礎,就是update.zip包中的哪個boot.img,另外,system目錄中大部分也是直接可用的,就可以作為自定義Rom的基礎。

2)修改系統。例如可以這樣來定制的東西:system\etc\apns-conf.xml,這是設置APN接入點的;system\etc\hosts,這是設置Host文件的,現在有很多人用的包綁定不了GMail,就可以在這個Host文件中增加一條:74.125.93.113 android.clients.google.com (當然,這個地址能用多久也不好說)...還有什么東西要自己去定制就自己去翻看瞧瞧。

3)Rom的重新打包簽名。前文已經介紹了一個Rom包的基本結構,但完全按照這個結構打包還是不能被Recovery安裝的,因為沒有簽名!Rom簽名可以下載一個自動簽名工具Auto-sign,具體到哪下,請Google。(注:Rom簽名工具需要Java1.6支持,所以系統還得有JRE1.6的環境)。

再往下就有點高深了,目前只留心一下這些基礎的東西,錯誤在所難免,歡迎指正,拍磚輕些。

熱門APP排行
熱門APP標簽
手機在線視頻軟件手機直播軟件 手機音樂播放器手機視頻播放器手機二維碼掃描軟件手機一鍵清理軟件手機定位軟件手機視頻編輯軟件手機拍照軟件手機翻譯軟件
熱門手游標簽
手機捕魚游戲手機賽車游戲手機RPG游戲手機MOBA游戲手機三國游戲手機開羅游戲手機麻將游戲手機戀愛養成游戲手機沙盒游戲手機槍戰游戲
熱門APP電腦版
唱吧電腦版快手電腦版陌陌電腦版網易云音樂電腦版內涵段子電腦版qq同步助手電腦版嗶哩嗶哩下載電腦版美團外賣商家版電腦版蜻蜓fm收音機電腦版百詞斬電腦版下載
熱門電腦軟件
微信電腦版官方下載wifi萬能鑰匙電腦版手游模擬器安卓版釘釘電腦版uc瀏覽器電腦版美篇電腦版全民k歌電腦版360免費wifi電腦版鈴聲多多電腦版wifi快速破解器電腦版
熱門ROM刷機包
小米 M2S/M2 4.1.1 ROM刷機包 電信版可救磚 線刷版OPPO A31c(8G) 4.4.4 ROM刷機包 可救磚 線刷版魅藍m3 5.1 ROM刷機包 公開全網通版本 Android_Flyme 固件金立 GN3003L 5.1 ROM刷機包 可救磚 線刷版Google Nexus 6 MOS 安卓 6.0.1 ROM刷機包 穩定版V2 步步高 VIVO X7 5.0 ROM刷機包 官方固件 可救磚【線刷包】酷派 大神 F1 4.2.2 ROM刷機包 官方原版三星 G920P美版 5.1.1 ROM刷機包 可救磚 線刷版OPPO R2017 4.2.2 ROM刷機包 V1.0,官方 流暢 穩定小米 Max 6.0.1 ROM刷機包 標準版 MIUI 開發版305周6.10.13 極度精簡 大內存
關注我們
手机彩票软件排名