Android Rom移植

來源:互聯網
上載者:User

標籤:android   blog   http   使用   檔案   2014   

前言這是一篇會一直更新的內容,會將我在接下來一個星期做的事情做一些記錄和總結,當然也會頻繁的更新,希望大家也能跟帖討論
下載米2s的標準版rom

選擇線刷包下載即可
解壓和打包boot.img解壓完成後,在aries_images_4.7.4_4.1_cn/images目錄下可以得到system.img檔案和boot.img檔案
tar -zxvf aries_images_4.7.4_4.1_cn_3cb6d39979.tgz

解壓boot.img解壓工具地址:http://code.google.com/p/zen-droid/downloads/detail?name=split_bootimg.pl ,我存放在~/bin/目錄下
在rom解壓出來的images目錄下執行如下命令:
~/bin/split_bootimg.pl boot.img


解壓完之後會發現多出來兩個檔案:boot.img-kernel和boot.img-ramdisk.gz,這就是解壓出來的boot.img,其中:
  • boot.img-kernel : 這就是核心
  • boot.img-ramdisk.gz : 是ramdisk,對應的源碼編譯目錄為out/target/product/generic/root/

分解ramdisk


打包boot.img替換完ramdisk的內容就可以進行打包操作了,打包需要用到三個工具,分別是unpackbootimg、mkbootfs和mkbooting。可以直接google搜尋
unpackbootimg擷取boot.img參數1. 使用方法
usage: unpackbootimg -i | --input boot.img [-o | --output output_directory]

2. 樣本


mkbootfs打包ramdisk
mkbootfs ramdisk/ | gzip >ramdisk-new.gz


mkbooting產生boot.img1. 使用方法
usage: mkbootimg
--kernel <filename>
--ramdisk <filename>
[ --second <2ndbootloader-filename> ]
[ --cmdline <kernel-commandline> ]
[ --board <boardname> ]
[ --base <address> ]
[ --pagesize <pagesize> ]
-o | --output <filename>

2. 樣本



解壓和打包system.img接下來,會講到另一個重要的img檔案,system,img
解壓system.img解壓system.img使用的是simg2img工具,命令如下:
simg2img system.img system.img.ext4

為system.img.ext4建立掛載目錄tmp
mkdir tmp

掛在system.img.ext4到tmp目錄
sudo mount -t ext4 -o loop system.img.ext4 tmp/

修改system目錄一般是根據移植rom的init.rc檔案進行對比,然後修改system目錄
打包system.img使用如下命令將tmp目錄重新打包成system.img檔案
make_ext4fs -s  -l 1024M -a system system-new.img tmp/

參數註解:
  • -s : 產生ext4的s模式
  • -l  : 指定system的分區大小
  • -a : 指定這個img用於android系統,掛載分區為system

解壓和打包userdata.img最後一步,解包和打包userdata.img檔案,這個跟解包打包system.img檔案是類似的操作
解壓userdata.img解壓userdata.img檔案也是使用simg2img工具,命令如下:
simg2img userdata.img userdata.img.ext4

為userdata.img建立掛載目錄data
mkdir data

掛在userdata.img.ext4到data目錄
sudo mount -t ext4 -o loop userdata.img.ext4 data/


打包userdata.img還是使用make_ext4fs工具,注意掛載點是data分區

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.