本仓库用于将 Xiaomi Pad 7(Uke,SM7675;厂商 BSP 归入 Cliffs/SM8635 兼容族)移植到主线 Linux。原厂固件与二进制模块只用作只读硬件证据;目标内核中的 驱动均从公开源码移植并重新构建。
| 路径 | 用途 |
|---|---|
docs/ |
项目状态、证据边界、硬件/源码清单和路线图;从 docs/README.md 开始。 |
artifacts/ |
可提交的派生 DTS、模块清单和启动资料;原始提取物位于被忽略的 artifacts/raw/。 |
vendor/ |
Xiaomi 公开的 Uke Android V 核心与 external-module 源码(Git submodule)。 |
lineage/ |
额外的 SM8635/Cliffs 参考源码(Git submodule)。 |
manifest/ |
历史 Android 11 manifest 参考(Git submodule);不是 Uke 的当前构建输入。 |
linux/ |
固定在 upstream v6.12 的 Linux 源码(Git submodule)。 |
scripts/ |
主机侧只读采集和分析辅助脚本。 |
uke_images_OS3.0.302.0.WOZCNXM_16.0/ |
保留的原厂恢复包;仅作只读输入。 |
工作区已完成来源固定、线刷包/运行时证据整理和设备树交叉验证。自编 upstream v6.12
kernel、静态 init_boot 与 DTBO 已构建;后置 torch 和 ABL framebuffer 的 simplefb/fbcon
控制台均已通过实机验收。完整 DRM、休眠恢复、长期稳定性和 USB 数据功能仍待分别验证。
完整阅读顺序见 文档索引。
不要对原厂镜像、GPT/rawprogram/patch 文件、启动链安全固件、radio firmware、
persist、metadata、userdata 或 super 作修改。完整约束见
AGENTS.md。
先在干净的 upstream v6.12 副本旁创建派生工作树,再构建三个离线候选镜像:
make prepare-uke-linux
make images输出为 dist/boot.img、dist/init_boot.img 与 dist/dtbo.img。所有 target 只生成本地
候选物,不执行 flash、reboot 或其他设备写入。
| Target | 用途 |
|---|---|
all / images |
构建全部三份候选镜像。 |
prepare-uke-linux |
创建 build/linux-uke/ 并应用 patches/uke/series;目录已存在时拒绝覆盖。 |
boot |
构建内核并生成 dist/boot.img。 |
init_boot |
构建静态 /init、所需模块和 dist/init_boot.img;依赖 boot。 |
dtbo |
生成包含 USB 和 simplefb 配置的 dist/dtbo.img。 |
help |
输出简短帮助。 |
子目录检查 target 为 make -C images/dtbo check 和
make -C images/init_boot check。linux/ 与 build/ 内的 Makefile 属于 upstream Kbuild
或其生成输出,不是本项目的直接入口。
常用变量可在命令行覆盖:
| 变量 | 默认值 | 用途 |
|---|---|---|
ROOT |
项目根目录 | 项目路径;通常无需覆盖。 |
BUILD |
build |
中间构建目录。 |
DIST |
dist |
候选镜像输出目录。 |
KERNEL_SRC |
build/linux-uke |
已应用 Uke 补丁的内核工作树。 |
KERNEL_OUT |
build/uke-arm64 |
Kbuild 输出目录。 |
ARCH |
arm64 |
内核目标架构。 |
JOBS |
nproc |
并行编译任务数。 |
CROSS_COMPILE |
aarch64-unknown-linux-gnu- |
内核交叉编译器前缀。 |
MUSL_CROSS_COMPILE |
aarch64-unknown-linux-musl- |
静态 /init 交叉编译器前缀。 |
INIT_CC |
$(MUSL_CROSS_COMPILE)gcc |
静态 /init 的 C 编译器。 |
HOSTCC |
cc |
init_boot 主机侧检查的 C 编译器。 |
MKBOOTIMG、MKDTBOIMG、AVBTOOL |
对应命令名 | Android 镜像打包工具路径。 |
CPIO、LZ4 |
对应命令名 | initramfs 打包与压缩工具路径。 |
例如使用独立输出目录和八个并行任务:
make images JOBS=8 BUILD="$PWD/build-test" DIST="$PWD/dist-test"KERNEL_SRC 与 KERNEL_OUT 应配套覆盖,确保 boot 和 init_boot 使用同一份内核配置和
输出目录。
克隆时使用 git clone --recurse-submodules <repo>;已有工作副本则运行
git submodule update --init --recursive。子模块固定到本仓库验证过的提交,更新时请
单独提交对应的 gitlink 变更。
原厂线刷包和实机/镜像的原始提取物均为本地只读输入,已由 .gitignore 排除。只提交从
这些输入整理出的可审阅资料,例如 DTS、设备清单、哈希、解析命令和分析日志;不要提交
镜像、ramdisk、二进制 DTB、专有 .ko 或原始运行日志。