Repository navigation
Droidspaces LKM v0.2.0
Pre-release为六组 Android GKI 提供独立 PID / IPC namespace 模块,KernelSU 安装包按当前内核 KMI 自动选择载荷。设备运行时不需要内核源码。作者:Shikochin。
下载
推荐安装 Droidspaces-LKM-KernelSU-v0.2.0.zip。包内包含全部六个模块、ABI 检查器和验证记录,安装时无需手动选内核版本。
| KMI | 独立模块 |
|---|---|
| android17-6.18 | droidspaces_ns-android17-6.18-gki.ko |
| android16-6.12 | droidspaces_ns-android16-6.12-gki.ko |
| android15-6.6 | droidspaces_ns-android15-6.6-gki.ko |
| android14-6.1 | droidspaces_ns-android14-6.1-gki.ko |
| android13-5.15 | droidspaces_ns-android13-5.15-gki.ko |
| android12-5.10 | droidspaces_ns-android12-5.10-gki.ko |
KMI 取自 uname -r,与手机当前 Android 系统版本可能不同。仅支持 ARM64、4 KiB 页面。SHA256SUMS 包含 ZIP 与六个独立模块的校验值。
本版变化
- 为 6.18、6.1、5.15、5.10 移植独立实现,并纳入已有的 6.12、6.6 构建。
- 6.1 沿用原生 IPC namespace / POSIX mqueue,补入 SysV IPC,保留加载前已存在的对象。
- 5.15 / 5.10 适配 classic CFI、BTI、SCS 和旧版回调生命周期;6.18 适配新 namespace 元数据、namespace tree 与 pidfd 接口。
- 开机加载前校验载荷、内部结构布局和函数原型。缺少 BTF 时仅接受完全匹配的已验证内核构建指纹。
- KernelSU 简介显示所选 KMI 和加载状态,失败时保存原因至模块目录
load.log。
验证范围
六份最终模块均在各自固定 GKI Image 上通过 QEMU 回归:三轮加载/卸载自测、激活、PID/IPC 隔离及生命周期测试、引用回收、激活后拒绝热卸载。PID、IPC 与任务侧表计数全部归零。6.18 额外验证 namespace ID 和原生 pidfd ioctl 的保留行为。
基线支持时测试 BPF iterator、memfd namespace 策略和 pidfd namespace ioctl。5.10 基线未编入 BTF,BPF iterator 用户态测试不适用;其 perf、cgroup、FUSE 和 IPC 测试实际运行。详细基线和差异见仓库的 GKI 构建与验证。
实际发布 ZIP 已通过六 KMI 选包、文件校验、ARM64 ABI 检查器和状态显示的集成测试;该测试模拟 ksud 和内核身份,不向宿主内核加载模块。ZIP 内附 validation.json 与六份 QEMU 日志。
使用与限制
在支持 ksud insmod 的 KernelSU 管理器安装 ZIP 后重启,确认简介显示 [已加载],再执行 droidspaces check。激活后不能热卸载,禁用、卸载或更新后均需重启。
这是实验性预发布。GKI 回归通过不代表所有相同 KMI 的厂商内核均可使用,也不代表本版已通过真机或 Android 开机流程验证。 ABI 不匹配时停止加载;原生已支持 PID namespace 的内核不属于适用范围。首次测试前请保存工作。
不支持 32 位 IPC 兼容调用,SHM_HUGETLB 返回 EOPNOTSUPP;完整容器启动与长期稳定性仍需设备验证。v0.1.0 的固定设备验证结果不替代本版测试。