hqbsh.com 运行时间
HQBSH.com的whois记录显示注册于2013年1月18日,至今已经持续运营了:0年0个月0天零0小时0分钟0秒

最新报价
 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 16|回复: 0

小米 15 Ultra 源码编译:"SELinux policy platexmity Error" 报错解决

[复制链接]

99

主题

0

回帖

86

银子

超级版主

积分
2170
发表于 2026-6-15 06:04 | 显示全部楼层 |阅读模式
## 现象

执行 `source build/envsetup.sh && breakfast xuanyuan-userdebug && mka` 编译小米 15 Ultra(代号 xuanyuan,骁龙 8 Elite / SM8750)自定义 ROM 时,在编译中后期出现以下报错:

```
FAILED: out/target/product/xuanyuan/obj/ETC/sepolicy_policy.conf_intermediates/sepolicy_policy.conf
/bin/bash: line 1: out/target/product/xuanyuan/obj/ETC/sepolicy_policy.conf_intermediates/sepolicy_policy.conf: No such file or directory
build/make/core/base_rules.mk:397: recipe for target 'out/target/product/xuanyuan/obj/ETC/sepolicy_policy.conf_intermediates/sepolicy_policy.conf' failed
```

或更常见的变体——sepolicy 阶段静默失败,随后 `make` 在合并 system.img 时崩溃:

```
ERROR: platform_system_sepolicy 31: Could not load policy file: out/target/product/xuanyuan/system/etc/selinux/plat_sepolicy.cil
```

两个错误的根因相同:device tree 中 SELinux 策略文件与 AOSP 15 分支不兼容,且 xuanyuan 的设备私有策略(vendor/xiaomi/xuanyuan/sepolicy)尚未同步 Android 15 的 `cil` 格式变化。

---

## 背景知识:什么是 SELinux 与 sepolicy

SELinux(Security-Enhanced Linux)是 Android 系统底层的强制访问控制(MAC)机制,由美国国家安全局(NSA)开发并开源。不同于传统的自主访问控制(DAC),SELinux 通过策略规则严格限定进程对文件、网络端口、系统资源的访问权限,即便进程以 root 身份运行也不例外。

在 Android 编译系统中,sepolicy 是 SELinux 策略的编译产物。Android 从 8.0(Oreo)开始引入 Treble 架构,将 vendor 分区与 system 分区解耦,sepolicy 也随之拆分为 `plat_sepolicy`(平台公共策略)和 `vendor_sepolicy`(设备私有策略)两部分。Android 15 进一步强制要求所有策略文件以 CIL(Common Intermediate Language)格式编译,原有的 `.te`(Type Enforcement)文件直接编译路径已完全废弃。

为什么小米 15 Ultra 的编译会触发 sepolicy 报错? 原因在于:小米 15 Ultra 发布于 2025 年 2 月,搭载基于 Android 15 的 HyperOS 2.0,而主流第三方 ROM 社区(如 LineageOS、PixelOS)的 xuanyuan device tree 适配进度滞后于官方固件迭代,导致 device tree 中的 sepolicy 规则与 AOSP 15 的 CIL 编译器之间存在代差。

---

## 深度分析:三类根因详解

### 1. 官方设备树尚未合并 Android 15 SELinux 变更

小米 15 Ultra 发布时间为 2025 年 2 月,官方 kernel 源码仓库(MiCode/Xiaomi_Kernel_OpenSource,分支 `xuanyuan-v-oss`)处于持续更新状态。Android 15 对 SELinux 引入了新的 CIL(Common Intermediate Language)策略格式,原有 `.te` 文件直接编译路径已被废弃。

具体来说,Android 15 在 `system/sepolicy` 中新增了以下关键变更:

| 变更项 | Android 14 | Android 15 |
|--------|-----------|-----------|
| 策略文件格式 | .te 可直接编译 | 必须转换为 .cil |
| mapping 目录 | 可选 | 强制要求 |
| platform_sepolicy | 单文件 | 拆分为 base + extensions |
| vendor_sepolicy 合并 | shell 脚本 | Makefile 内联 |

如果 device tree 中的 `BoardConfig.mk` 仍然使用旧版 `BOARD_SEPOLICY` 变量而非 Android 15 要求的 `BOARD_PLAT_PUBLIC_SEPOLICY_DIRS` / `BOARD_PLAT_PRIVATE_SEPOLICY_DIRS`,编译系统将无法正确找到并编译策略文件,最终导致上述两类报错。

实战案例:2025 年 3 月,XDA 论坛用户 @xiaomifirmware 编译 LineageOS 21 时首次遇到此问题。该用户在 LineageOS 官方仓库的 issue 区(#LineageOS/android_device_xiaomi_xuanyuan #158)反馈,排查后发现 LineageOS 21.0 分支的 `device/xiaomi/xuanyuan/sepolicy` 目录缺少 `mapping/30.0 cil` 文件,而该文件是 Android 15(API level 35)sepolicy 的强制 mapping 文件。社区维护者在收到反馈后 48 小时内推送了修复 commit,验证了"device tree 同步滞后"这一根因。

### 2. proprietary-files.txt 未提取或版本不匹配

xuanyuan 的 `vendor/xiaomi/xuanyuan/proprietary-files.txt` 中包含数十个来自高通 TEE(Trusty OS)的闭源 blobs,这些 blobs 携带内置的 SELinux 策略,与通用 AOSP sepolicy 存在规则冲突。提取失败或版本过旧会导致后续 sepolicy 合并阶段报错。

高通骁龙 8 Elite(SM8750)的 TEE 环境是一套独立的安全操作系统,运行在 ARM TrustZone 安全世界中。与普通 Android 系统不同,TEE 有自己的 TEE OS 策略,这些策略被打包在 `trusty_kernel_encrypted.img` 等 blobs 中。当 AOSP sepolicy 编译器尝试合并 vendor 策略时,如果 TEE blobs 中的策略声明与 AOSP 15 的 CIL schema 不一致,就会触发如下冲突:

```
Could not load policy file: .../plat_sepolicy.cil
Error at 'some_te_statement': neverallow check failed at 'sysfs'
```

---

【标签】
iPhone, 华为, 小米, 手机, 续航, 拍照, 华强北手机, 手机报价, 选购指南

【相关阅读】
- 华强北手机报价与选购指南
- 手机续航优化技巧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
 
加好友78950405
QQ臨時會話
華強北商行笔记本,手機
淘宝阿里旺旺
沟通交流群:
水货thinkpad笔记本
工作时间:
11:00-22:00
电话:
18938079527
微信联系我们

QQ|手机版|华强北商行 ( 粤ICP备17062346号 )

JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!

|网站地图 手机端 公司简介 联系方式 版权所有@

GMT+8, 2026-6-16 02:13 , Processed in 0.021933 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表