/usr/bin/ext2simg
/usr/bin/ext4fixup
/usr/bin/img2simg
/usr/bin/make_ext4fs
/usr/bin/mkuserimg
/usr/bin/simg2img
/usr/bin/simg2simg
/usr/bin/simg_dump
/usr/bin/test_ext4fixup
工具集安裝方法:
sudo apt-get install android-tools-fsutils
1
1
制作Ext4文件系統鏡像:
# 創建測試目錄
mkdir /tmp/ext4 && cd /tmp/ext4 &&
mkdir test test_mount &&
echo "Hello Ext4" > test/HelloExt4.txt &&
# 生成名為test.ext4的Ext4鏡像
make_ext4fs -l 512M test.ext4 test &&
# 掛載test.ext4到test_mount測試
mount -t ext4 -o loop test.ext4 test_mount &&
ls test_mount || echo "Error!"
壹、在(yourAndroid code path)/out/ 目錄裏查找這個工具
unyaffs: 用於解壓system.img
mkyaffs2image: 用於打包system.img
呵呵, find 命令肯定會吧? find out/ -name mkyaffs2image
找到了後,記住這個目錄. 我的是(codePATH)/out/host/linux-x86/bin/
1.在任意文件夾下面建立壹個system文件夾,我的是在home/changjiang/下面建的,這個是用來存放妳解壓system.img出來的文件,然後將找到的兩個工具 unyaffs、mkyaffs2image拷貝到/changjiang/home/system
2.將編譯出來的system.img或者下載的system.img復制到system文件夾中。
3.在終端中輸入如下命令操作(/home/changjiang/替換成自己電腦中的路徑,妳的不是我的)
cd /home/changjiang/system
./unyaffs /home/changjiang/system/system.img(用unyaffs命令解壓system.img),解壓出來的有各種應用,庫等等,妳可以修改或者替換
二、重新打包system.img,雖然我不知道為什麽要這樣做,但是我知道這樣做是可以的.
呵呵,linux沒有不可能的事情.朝鮮的 紅星操作系統就是例子.
具體辦法是
system/ 這個目錄,這個目錄就是用來生成system.img 的.
mkyaffs2image system/ system.img
在Ubuntu中第壹次使用mkyaffs2image命令時,會提示
mkyaffs2image:找不到命令
還需要安裝mkyaffs2image
/p/fatplus/downloads/detail?name=yaffs2-source.tar&can=2&q=
下載yaffs2-source.tar
解壓後,進入utils文件夾,然後make
將make之後生成的mkyaffs2image文件拷貝到/usr/bin目錄下
$ su
# cp mkyaffs2image /usr/bin/
# chmod 777 /usr/bin/mkyaffs2image
之後
$ mkyaffs2image
mkyaffs2image: image building tool for YAFFS2 built Jan 6 2012
usage: mkyaffs2image dir image_file [convert]
dir the directory tree to be converted
image_file the output file to hold the image
'convert' produce a big-endian image from a little-endian machine
表明安裝成功,同時也可以看到該命令的用法
mkyaffs2image dir image_file
例如:
mkyaffs2image am1808-fs am1808-fs.yaffs//創建jffs2文件
搞Android的同學經常會接觸到system.img。但是該文件經常以兩種格式出現:raw和sparse。
壹種是raw ext4 image,即經常說的raw image,使用file觀察它: 其特點是完整的ext4分區鏡像(包含很多全零的無效填充區),可以直接使用mount進行掛載,因此比較大(壹般1G左右)。
[java] view plain copy
$ file system.img
system.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files)
信息非常明確了。