MTK selinux编绎及快速验证问题的方法

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 测试.

[相关FAQ]
[FAQ11414] android KK 4.4 版本后,user 版本su 权限严重被限制问题说明
[FAQ11486] 在Kernel Log 中出现"avc: denied" 要如何处理?
[FAQ11485] 权限(Permission denied)问题如何确认是Selinux 约束引起
[FAQ11484] 如何设置确认selinux 模式
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值