Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android手機 >> Android刷機教程 >> 安卓刷機技巧 >> 如何制作或定制Odin刷機包ROM

如何制作或定制Odin刷機包ROM

編輯:安卓刷機技巧

  定制ROM對於玩機者來說是高級玩法,與廣大機友一起玩,互動性極強,樂趣無窮。通過定制ROM,你可以簡化原來的ROM,刪除原包中的某些應用程序,同時增添一些你喜歡的新的應用程序,可以美化主題、桌面、設置等,進行Root和其它操作,等等。你也可以修改I9000的刷機包或其他ROM,移植內核或基帶,從而定制成I897的ROM。最後打包,為自己後來刷機用或發布共享。

  現在進入這一講的正題。

  一般說來,制作ROM可以簡單地分為兩個層次:

  1)定制ROM:是拿官方的ROM或他人的ROM做底包,通過解包、修改、編輯、打包幾個步驟,制作出自己定制的ROM。

  2)自制ROM:是基於Google的安卓開源系統(Android Open Source Project,簡稱AOSP),從源碼開始,自己編譯,自己打包得到自制ROM。

  本講要描述的是第一層次:如何定制ROM。更具體一點:就是如何制作或定制Odin刷機包ROM。現在網上流行的I897和I9000的刷機包主要還是基於第一層次的定制ROM。而HTC的手機則有不少是基於第二層次制作的ROM包。

  要定制出高質量的ROM,需要很多基礎知識和積累很多ROM需要的素材。我的第三講和第四講都是為了現在定制ROM做的鋪墊,打基礎。在教程向下進行的過程中,我假定讀者已經掌握了前兩講的內容,尤其是第四講的RFS文件的解包和打包。

  我把定制ROM的過程分成以下幾個步驟:

  1.底包ROM的解包

  2.RFS文件的解包

  3.RFS文件的修改、編輯、美化

  4.RFS文件的打包

  5.基帶和內核的移植及其它

  6.新刷機包ROM的打包

  7.測試和發布

  1. 底包ROM的解包

  1)解RAR/ZIP壓縮包

  I897和I9000的ROM通常以壓縮包形式傳播。文件形式為 .rar或 .zip。不管是哪一類,解壓縮包這一步可以在Windows下進行。所用的解壓工具是WinRAR,或WinZIP,或7-zip等。解壓後得到TAR文件包(刷機包)。

  在通常的ROM中,除了PIT文件外(有的ROM中沒有這個文件),所有刷機文件都打包在一個TAR文件中(例如:ROM.tar),也有的刷機包由三個TAR文件組成(PDA.tar,CSC.tar和PHONE.tar)。不管是哪一種,它們所包含的刷機文件內容是相同的,只是文件打包方式不同而已。

  2)解TAR包

  TAR包可以在Windows下用WinRAR來解,也可以在Linux下來做,視方便而定。

  如果定制ROM是在Linux系統下進行ROM打包,我建議TAR包在Linux下來解,這樣比較方便,因為你需要的所有刷機文件都放在那裡。為此,創建一個目錄/home/sunny/ROM,把ROM.tar或PDA.tar拷貝到這個目錄。然後在該目錄下產生一個子目錄PDA。把ROM.tar或PDA.tar解包到/home/sunny/ROM/PDA。

  解開後會看到有一個文件factoryfs.rfs,對應手機裡 /system 目錄的內容,修改和美化工作都在這裡。這個在第四講裡已經詳細講過了。

  2. RFS文件的解包

  這個步驟及其操作在之前已經詳細講過了,這裡不再重復。需要的自己搜一下。

  3. RFS文件的修改、編輯、美化

  同上。這個步驟及其操作在第三講和第四講裡已經詳細講過了,這裡不再重復。

  4. RFS文件的打包

  同上。這個步驟及其操作在第四講裡已經詳細講過了,這裡不再重復。

  好了!到此,我們假定factoryfs.rfs和其他的的RFS文件經過2,3,4這幾步都已經制備好了。

  5. 基帶和內核的移植及其它

  現在是你考慮用什麼基帶和采用哪一個內核的時候了。這個沒有什麼好講的,主要是你平時就要注意收集基帶和內核,多看些評測,看對那個基帶的評價好。內核主要是要跟進最新的。剩下的事就要勞你辛苦了,挨個測試吧,看那個能用,尤其是能與你要定制的ROM匹配。你為大家做ROM,是無嘗的奉獻,當然要有你的這些幕後工作。

  此外,你現在也要考慮param.lfs,或者同時增加或同時移除Bootloader boot.bin和Sbl.bin文件等。

  6. 新刷機ROM的打包

  在這一步裡,把所有准備好的刷機文件打包成TAR刷機包ROM,供刷機用。下面介紹兩種ROM打包方法。

  1) 在Linux操作系統下進行

  如果你有Linux環境和熟悉Linux操作系統,這ROM打包對你來說就是小菜一碟。

  ROM打包涉及兩步:生成TAR包和md5簽名。操作步驟如下:

  a) 把所有要打包進ROM的文件都復制到一個文件夾內,例如:/home/sunny/XXJVQ

  這些刷機文件包括:zImage,boot.bin,Sbl.bin,param.lfs,factoryfs.rfs,cache.rfs,dbdata.rfs 和modem.bin。

  b) 在超級用戶終端/home/sunny/XXJVQ,輸入:

  # tar -cf New-ROM.tar zImage boot.bin Sbl.bin param.lfs factoryfs.rfs cache.rfs dbdata.rfs modem.bin

  # md5sum -t New-ROM.tar 》》 New-ROM.tar

  # mv New-ROM.tar New-ROM.tar.md5

  第一步是TAR打包,第二步是md5簽名。打包和簽名結束。New-ROM.tar.md5就是最後定制好了的Odin刷機包ROM了。

  2) 在Windows操作系統下進行

  考慮到有些機友沒有Linux環境,這裡介紹一種在Windows下進行ROM打包的方法,很實用。需要你在你的Windows上安裝一個虛擬Linux機。這方面的軟件很多,自己去Google去吧。這裡,我們用Cygwin來完成(完全免費),它是一個在Windows平台上運行的Linux模擬環境,可以實現大部分Linux的操作。幸運的是,我們ROM打包所需要的所有東西都在。

  由於你在模擬的Linux環境下,所以ROM打包的所有操作都與上述在純Linux環境下完全相同。為清楚起見,這裡再重復一遍:

  a)在C:/cygwin/home/sunny下創建一個文件夾:XXJVQ。

  b)把所有要打包進ROM的文件都復制到這個文件夾內。

  這些刷機文件包括:zImage,boot.bin,Sbl.bin,param.lfs,factoryfs.rfs,cache.rfs,dbdata.rfs 和modem.bin。

  c)打開Cygwin 的 bash shell,提示符是“$”。這就是模擬的Linux環境。在“$”下輸入Linux命令:

  $ tar -cf New-ROM.tar zImage boot.bin Sbl.bin param.lfs factoryfs.rfs cache.rfs dbdata.rfs modem.bin

  $ md5sum -t New-ROM.tar 》》 New-ROM.tar

  $ mv New-ROM.tar New-ROM.tar.md5

  第一句是TAR打包,第二句是md5簽名。第三句是改文件名,可以省略。New-ROM.tar.md5就是最後生成的,可供刷機用的ROM了!

  注釋:如果要把ROM打包成3個TAR文件。打包過程和命令與上述完全相同,只不過是分別要進行3次而已。

  CSC.tar中包含cache.rfs

  PHONE.tar中包含modem.bin

  PDA.tar中包含zImage,boot.bin,Sbl.bin,param.lfs,factoryfs.rfs和dbdata.rfs。

  7. 測試和發布

  Odin刷機包ROM做好了,最後一步就是刷機測試。檢查你計劃要定制的所有內容都在,所有功能都正常。在可能的范圍內,把所有按鍵都掃一遍(這無疑需要很多時間)。如果有問題的話,要回頭從第二步重新做起,直到測試滿意,達到計劃要求。

  一切OK的話,定制的Odin刷機包ROM就做好了,可以收工了。如果你覺得有發布價值,就上傳發布吧!

  8. 注意事項

  1)定制ROM是一項復雜和細致的工作,要求ROM制作這有良好的工作素質和習慣。在動手之前,先做個定制計劃,逐一進行。

  2)在第三步修改/system的內容時,要遵循“先刪後添”的原則。這是由於/system的大小限制為276.3MB。如果先添加應用程序,可能會出現“磁盤已滿”或“空間不足”的問題。

  3)在TAR包的打包時,文件名的排列順序決定了刷機時文件的刷入順序。要盡量把boot.bin和Sbl.bin挨在一起,以避免不良刷機後果。建議的打包順序為zImage boot.bin Sbl.bin param.lfs factoryfs.rfs cache.rfs modem.bin,其中zImage在先測試驗證USB線是否正確連接,後面緊跟著把boot.bin 和Sbl.bin刷入手機。

  4)為了避免刷機變磚的可能性,boot.bin和Sbl.bin必須同時加或同時不加。千萬不要只加其中的一個。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved