一:update.zip包的制作
1:新建一个目标,在此目录下准备好需要的文件,如system目录文件、boot.img、recovery.img等.
mkdir testupdate
cp system/ testupdate/ -tf
注:如果文件是system.img镜像可以用unyaffs解压出来得到system
2:用make-update-script工具生成update-script脚本,如下
cp make-update-script testupdate/
cp android-info.txt testupdate/
cd testupdate
./make-update-script system android-info.txt > update-script
rm make-update-script android-info.txt
vi update-script //根据需要适当修改些脚本
说明:system是要更新的目录,android-info.txt是板的版本信息,update-script是输出文件名
3:建立一个目录名称为META-INF/com/google/android,把上面生成的脚本放进去
mkdir -p META-INF/com/google/android
mv update-script META-INF/com/google/android/
4:压缩文件
zip -r update.zip system META-INF
5:给压缩文件添加签名
mv update.zip ../signapk/
cd ../signapk/
java -jar signapk.jar testkey.x509.pem testkey.pk8 update.zip signed-update.zip
6:删除多余的文件,并把生成的包重命名
rm update.zip
mv signed-update.zip ../update.zip
cd ../
7:大功告成,把更新包update.zip拷到sdcard根目录下去验证吧!
注意:
1)如果文件里有连接,应该在获取update-script之后在原文件里删除链接文件,再打包,否则symlink将出错;
2)如果原文件里有空目录,所获的签名将失去此记录,所以如果空目录必须存在,更新之后的文件将与原文件不同(少了空目录)
二:ramdisk.img 制作
方法1:
解压:
1) mv ramdisk.img ramdisk.img.gz
2) gunzip ramdisk,img.gz
3) mkdir ramdisk;cd ramdisk
4) cpio -i -F ../ramdisk.img
压缩:
1) 产生要pack的目录list,也可以自己列
cpio -i -t -F ../ramdisk.img > list
2) 利用刚生成的list文件列表,cpio归档
cpio -o -H newc -O new.img < list
3) gzip new.img
方法2:
解压: gunzip -c ../your-ramdisk-file | cpio -i
压缩: find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz
注意:在android里的做法是
1)先得到ramdisk所需要的文件,比如root目录
2)用mkbootfs制作ramdisk.img,用法如下
mkbootfs root | gzip > ramdisk.img
这里需要验证哪个能用android写下去
三:boot.img的制作
1:android正常做法
1):连接
mkbootimg --kernel your-kernel-file --ramdisk newramdisk.cpio.gz --cmdline "mem=128 console=ttymxc0,115200n8 init=/init rw" --output mynewimage.img
或
mkbootimg --kernel your-kernel-file --ramdisk newramdisk.cpio.gz --cmdline --output mynewimage.img
2):提取img中的kernel和ramdisk
./split_bootimg.pl mynewimage.img
2:uboot
直接把uImage重命名为boot.img即可
四:system.img的制作(只为 yaffs2格式)
1)压制:./mkyaffs2image system/ system.img
2)解压:./unyaffs system.img
四:system.img的制作(只为yaffs2格式)
1)压制:./mkyaffs2image system/ system.img
2)解压:./unyaffs system.img
五:recovery.img的制作
1:如果recovery的镜像是只有文件系统部分时候可以如第四所示范
2:如果recovery为ramdisk形式
=============================================
制 作ramdisk的过程。
1.在/mnt下创建rdmnt 和 rdimg 目录
mkdir rdmnt
mkdir rdimg
2.创建一个ramdisk文件,大小32768 X 1k。
dd if=/dev/zero of=rdimg/ramdisk bs=1k count=32768
3.使用ext2方式格式该文件
mke2fs -F -v -m0 rdimg/ramdisk
4.将该ramdisk文件和rdmnt挂载
mount -o loop rdimg/ramdisk rdmnt/
5.拷贝文件到挂载目录中。
文件系统目录在:/home/xrqun/workdir/filesys/
cp –av /home/xrqun/workdir/filesys/* rdmnt
6.卸载ramdisk
umount rdmnt
7压缩 ramdisk文件
gzip –c -9 <rdimg/ramdisk > rdimg/ramdisk.gz
8.拷贝该ramdisk.gz映像到tftpboot目录下
cp rdimg/ramdisk.gz /tftpboot/
9. 使用mkimage工具
mkimage -n "uboot.ramdisk.filesys" -A arm -O linux -T ramdisk -C gzip -d ramdisk.gz uboot.ramdisk.gz
参考:http://liaowb1234.blog.163.com/blog/static/771555472010027104534626/
http://www.cnblogs.com/sdphome/archive/2011/03/20/1989826.html
分享到:
相关推荐
SD 卡启动盘制作是 Android 镜像烧写实验中的重要步骤。在该步骤中,需要将 SD 卡插入电脑,虚拟机识别到 SD 读卡器,并将 Uboot 烧写到 SD 卡中。然后,将 SD 卡插入开发板 SD 卡槽内,并启动开发板。 知识点四:...
描述中提到的“已经制作好,直接烧进去即可运行”,意味着这些文件是经过完整移植流程后的产物,用户无需自己编译整个Android系统。这大大简化了部署过程,只需将这些镜像烧录到开发板的存储介质中,然后通过Vivi或...
"镜像"在这里通常指的是磁盘镜像文件,如ISO、IMG等,它们包含了完整的系统或应用数据,常用于系统恢复、备份或者制作可启动媒体。在Android设备上处理这些文件,你需要一个能够读取和操作镜像文件的应用程序,例如...
### moto系统镜像制作知识点详解 #### 一、前言 在智能手机领域,尤其是对于一些技术爱好者来说,自定义ROM的开发与制作是一项非常有趣的活动。Moto系列手机因其较高的可定制性和良好的社区支持,成为了不少开发者...
针对这款处理器的镜像制作,是开发者和工程师在进行系统部署时的一项关键技能。本手册详细介绍了如何制作适用于IMX6的Android镜像和Linux镜像,并提供了相关的命令和步骤。 在制作Android镜像方面,主要分为三个...
yaffs2img是一个专门用于制作Android刷机包的工具,通过它可以将系统镜像文件system.img转换为刷机包。 yaffs2img工具的基本使用 yaffs2img工具的使用非常简单。首先,需要打开yaffs2img浏览器,然后点击左上角的...
#### 二、制作Android ROM的两种方法 1. **编译Android源代码**:这是一种较为复杂的方式,涉及到Android源代码的编译及构建,通常需要较高的技术水平和一定的硬件资源。 2. **基于已有ROM进行定制**:这种方式更为...
本文将深入探讨如何修改和制作Android手机的Boot分区文件,同时介绍一款名为“安卓厨房”的工具,该工具适用于Win32和Win64操作系统。 首先,Boot分区的修改通常涉及到个性化定制或者优化手机性能。例如,通过更换...
总的来说,mkubimage和mkyaffsimage是嵌入式系统开发中不可或缺的工具,它们简化了镜像制作的过程,帮助开发者快速地创建出符合设备需求的定制化系统。了解并熟练使用这两个工具,对于进行嵌入式Linux系统的开发和...
在Android平台上,将操作系统镜像写入USB驱动器通常是为制作可启动的系统恢复或安装媒体。这个过程在PC上通常需要特殊的软件,而在Android设备上,由于权限限制,这通常更加复杂。然而,存在一些应用程序,如...
2. 根据实际情况设置分区大小,如Linux内核镜像文件、Android镜像文件、Data和Cache分区等。 3. 在执行fastboot命令烧写之前,确保PC端驱动安装正确,否则可能无法识别设备。 4. 在烧写完毕后,需要执行擦除命令以...
1. **获取工具**:你需要一个U盘以及两个软件:UltraISO(用于制作U盘启动)和Android X86的ISO镜像文件。 - UltraISO下载地址:http://.androidx86.net/thread-185-1-1.html - Android X86 ISO镜像下载地址:...
安卓手机内存镜像软件ADB(Android Debug Bridge)是Android开发者常用的一款工具,它在数据恢复领域也有着重要的应用。本文将深入探讨ADB的工作原理、如何使用ADB进行内存镜像以及如何通过镜像文件进行数据恢复。 ...
arm端制作yaffs2格式镜像工具mkyaffs2image,可在android手机上执行,非x86
标题中的“制作可独立分发的Android模拟器”是指创建一个可以脱离原始开发环境,单独在其他计算机上运行的Android模拟器副本。这样的模拟器通常包含所有必要的组件,使得用户无需安装完整的Android SDK或依赖外部...
Android开发者有时需要自定义Bootimg以适应特定设备的需求,这就需要用到Bootimg制作工具。 一、Bootimg的组成 Bootimg文件通常由以下几个部分构成: 1. 内核镜像(kernel image):这是Linux内核的二进制形式,...
本文将详细介绍如何使用安卓手机制作U盘启动器,以及附带的镜像文件,帮助你在电脑出现问题时,利用手边的安卓设备进行应急处理。 首先,我们需要了解的是"安卓U盘启动器"的概念。它是一种应用程序,允许用户将安卓...
1. **编译与打包**:Android厨房允许用户将自定义的改动编译成一个完整的ROM镜像,包括添加、删除或替换系统应用,修改系统设置,以及优化性能。 2. **模块管理**:用户可以安装和管理各种模块,这些模块可能包含...
2. 升级包(镜像包):广大玩家制作的底包增强包,通常表现为一个update.zip文件。升级包是对底包的扩展和增强,包含一系列的辅助工具和服务,没有中文的底包通过升级包可以实现中文。 3. Bootloader:相当于电脑...
- **ROM备份与恢复**:能够创建系统镜像,用于在刷机失败时恢复原始状态。 - **ZIP包刷入**:支持将各种ZIP格式的修改包直接刷入系统,比如Xposed框架、Magisk模块等。 - **分区管理**:允许用户查看和操作设备的...