微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 如何快速验证SELinux Policy问题

如何快速验证SELinux Policy问题

时间:10-02 整理:3721RD 点击:
[Description]

当您修改了SElinux Policy 配置后,如何快速进行Debug 确认,以便快速确认厘清呢?

[Keyword]

android, SELinux, SELinux Policy, SELinux Debug

[Solution]

在Android KK 4.4 版本后,Google 有正式有限制的启用SELinux, 来增强android 的安全保护。
KK 版本: 在mtk Solution 中,我们将SELinux Policy 文件存放在三个目录中。
1). Google 原生目录 alps/external/sepolicy
2). MTK 配置目录 alps/mediatek/custom/common/sepolicy
3). 客户配置目录 alps/mediatek/custom/{Project}/sepolicy (默认没有配置)
在编译时,系统会以文件为单位整合替换,优先级: 客户配置目录 》MTK 配置目录 》 Google 原生目录.
L 版本以后: 将SELinux Policy 文件存放在下面目录。
1). Google 原生目录 alps/external/sepolicy
2). MTK 配置目录 alps/device/mediatek/common/sepolicy
3). MTK 配置目录 alps/device/mediatek/{platform}/sepolicy (M版本后才添加使用,主要是针对平台客制化)
在编译时, 系统会以合并的方式(union), 将MTK 配置目录下的policy 附加到Google 原生的policy 上,而非替换.
如果在alps/device/mediatek/common/sepolicy 下面新增SELinux Policy file, 在L 版本需要更新
alps/device/mediatek/common/BoardConfig.mk 中的BROAD_SEPOLICY_UNION 增加对应的xxxx.te, M 版本已经取消了
这个宏,无需再操作.
1). 确认问题是否与SELinux 相关,可以参考FAQ: [SELinux] 如何设置确认selinux 模式?
2). 快速编译验证
在已经编译过的版本上, 首先编译出新的selinux policy,然后打包boot image.
KK: ./mk project_name mm external/sepolicy
./mk project_name bootimage
L:
mmm external/sepolicy
make -j24 ramdisk-nodeps
make -j24 bootimage-nodeps
然后再重新刷bootimage 测试.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top