讲师博文
制作SD卡android文件系统 来源 : 未知     2018-09-21

在做的过程中,发现通过普通的make_ext4fs制作的文件系统镜像烧写后无法成功启动系统,几番尝试之后,使用如下的方式能够成功制作文件系统并且成功启动android系统。这里只介绍如何制作适用于SD卡上的文件系统,不介绍如何烧写。

文件系统制作

编译完成进入"out/target/product/fs210"目录,可以看到有下图所示的内容。

$ cd out/target/product/fs210

 

 

用户在该目录下看到的system.img、userdata.img、ramdisk-uboot.img就是一般android系统所需要的镜像,但是本文档针对的是SD卡启动android,所以需要重新制作文件系统的镜像,制作过程如下。

NOTE:建议用户在该目录下进行操作!

使用dd if=/dev/zero of=system.img bs=512K count=400制作一个img文件,如下图:

 

 

使用linux系统工具 mkfs.ext4 –F system.img,如下图:

 

 

创建一个文件夹mkdir mnt,建议叫做mnt,如下图:

 

 

将img文件挂载到mnt目录下sudo mount system.img mnt/ //mount需要使用超级用户权限sudo

 

 

将下图中system文件夹内的所有文件复制到mnt文件夹下cp system/* mnt/ -a

 

 

改变mnt文件夹下所有文件的权限 sudo chmod 777 mnt/* -R //必须做,否则系统有可能无法启动

 

 

到此system.img已经成功做好,做完之后,需要将之前挂载的镜像目录卸载,使用如下命令

 

 

下面开始制作userdata.img,过程和system.img基本一致。

使用dd if=/dev/zero of=userdata.img bs=512K count=400制作一个img文件,如下图:

NOTE:该镜像文件用户可以根据自己的需要改变大小,但是大不能够超过1024M。

 

 

使用linux系统工具 mkfs.ext4 –F userdata.img,如下图:

 

 

mnt文件夹已经创建过,跳过

将img文件挂载到mnt目录下sudo mount userdata.img mnt/ //mount需要使用超级用户权限sudo

 

 

将下图中system文件夹内的所有文件复制到mnt文件夹下cp data/* mnt/ -a

 

 

后一步,将挂载到mnt目录下的userdata.img卸载 sudo umount mnt

 

 

我们再次ls查看目录的所有文件,如下图:

 

 

图中红色框内的镜像文件就是我们需要烧写到SD卡的镜像,将这些镜像拷贝到虚拟机的共享目录下。

扫码申领本地嵌入式教学实录全套视频及配套源码

上一篇:Java自动装箱和拆箱原理分析

下一篇:保险丝的基本知识

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号