如何制作安卓平板系统镜像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何制作安卓平板系统镜像相关的知识,希望对你有一定的参考价值。

一: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/
参考技术A 对Android系统的所有模块进行编译之后,对编译出来的模块文件进行打包。
打包结果就是是获得一系列的镜像文件,例如system.img、boot.img、ramdisk.img、userdata.img和recovery.img等。
些镜像文件最终可以烧录到手机上运行。
Android编译系统在初始化的过程中,会通过根目录下的Makefile脚本加载build/core/main.mk脚本,接着build/core/main.mk脚本又会加载build/core/Makefile脚本,而Android系统镜像文件就是由build/core/Makefile脚本负责打包生成的。
system.img镜像文件描述的是设备上的system分区,即/system目录,它是在build/core/Makefile文件中生成的
build/core/main.mk文件定义了boot.img镜像文件的依赖规则,我们可以通过执行make bootimage命令来执行。其中,bootimage是一个伪目标,它依赖于INSTALLED_BOOTIMAGE_TARGET。
build/core/main.mk文件定义了ramdisk.img镜像文件的依赖规则,我们可以通过执行make ramdisk命令来执行。其中,ramdisk是一个伪目标,它依赖于INSTALLED_RAMDISK_TARGET。
userdata.img镜像描述的是Android系统的data分区,即/data目录,里面包含了用户安装的APP以及数据等等。
recovery.img是设备进入recovery模式时所加载的镜像。recovery模式就是用来更新系统的,我们可以认为我们的设备具有两个系统。一个是正常的系统,它由boot.img、system.img、ramdisk.img和userdata.img等组成,另外一个就是recovery系统,由recovery.img组成。平时我们进入的都是正常的系统,只有当我们需要更新这个正常的系统时,才会进入到recovery系统。因此,我们可以将recovery系统理解为在Linux Kernel之上运行的一个小小的用户空间运行时。这个用户空间运行时可以访问我们平时经常使用的那个系统的文件,从而实现对它的更新。
参考技术B 平板电脑比较特别没有镜像文件(GHO)还原这个说法...操作系统不一样!! 参考技术C 你了解多少这方面的知识呢? 参考技术D 啥是镜像啊

安卓平板开机自动启动APP

像windows开机自启动QQ一样,在安卓平板上开机直接启动app
或者有没有第三方软件来实现?

参考技术A 首先点按手机界面的设置标志
安卓手机app如何设置自动启动

如果没有将设置图标放置在手机界面 可以点按手机界面上方向下拖动 然后点按下图中箭头指向的设置按钮
安卓手机app如何设置自动启动

进入设置界面之后点按界面右上角的全部设置按钮 然后向上拖动界面
安卓手机app如何设置自动启动

找到权限管理按钮 点按该按钮
安卓手机app如何设置自动启动

在权限中点按开机自动启动
安卓手机app如何设置自动启动

此时将出现手机中的所用应用app列表 如果点按某应用后面的灰色的开关 点按之后该开关将显示为蓝色的打开状态 那么此时该应用将会在手机开机时自动启动
安卓手机app如何设置自动启动

点按界面下方的菜单按钮 将弹出快捷菜单 可以点按全部允许从而让所有的app都自动启动 或者点按全部禁止 这样设置可以让全部app在手机开机后都不能自动启动
安卓手机app如何设置自动启动

以上是关于如何制作安卓平板系统镜像的主要内容,如果未能解决你的问题,请参考以下文章

上网本,用啥操作系统好?

colorful i106q装安卓系统

平板电脑安装系统

如何制作ghost镜像文件

怎么制作系统盘镜像?

如何制作定制的ubuntu镜像