make_ext4fs是谷歌为了在Android平台上制作ext4文件系统的镜像而开发的工具,由于Google在 Android 4.4 上正式推出的一套以 SELinux 为基础于核心的系统安全机制SEAndroid,因此make_ext4fs的一些选项可以支持对文件系统中文件安全上下文进行设置。
具体的安全上下文设置方法可参考《使用make_ext4fs制作文件系统时写入文件安全上下文的方法》
https://blog.csdn.net/keheinash/article/details/78502973
本文主要讲述在同时使用make_ext4fs的-s选项(将文件系统制作成sparse模式)和-a选项时遇到的问题。
问题背景
-a可用于指定target上的挂载路径,但是如果和-s同时使用生成sparse image,再利用simg2img将sparse image还原为raw image,将得到的raw image烧录到target机器上后,文件系统将无法加载。
原因
未知。。。
解决方案
不使用-a选项指定挂载点,由于原先的file_contexts中文件/目录的路径是按照target上的挂载点写好的,去除-a选项后,同时需要修改file_contexts,将挂载点对应的路径删除。
假设-a指定的挂载点位/,file_contexts中的路径应做以下修改
file_contexts修改前:
file_contexts修改后:
修改后完后,再次用make_ext4fs进行image制作: