首次完整编译(慢,建立缓存)
sudo python3 kernel_all_in_one.py --kernel-version 6.12 --mode full
日常迭代(只编译修改部分)
sudo python3 kernel_all_in_one.py --kernel-version 6.12 --mode incremental
快速验证(仅内核镜像)
sudo python3 kernel_all_in_one.py --kernel-version 6.12 --mode fast
带 Flutter 应用编译
sudo python3 kernel_all_in_one.py --kernel-version 6.12 --mode full --flutter-app /path/to/app
生成 ISO(包含内核 + Flutter + 桌面)
sudo python3 kernel_all_in_one.py --kernel-version 6.12 --mode full --build-iso
| 参数 | 说明 |
|---|---|
--mode full |
首次编译,建立 ccache 缓存 |
--mode incremental ⭐ |
日常推荐,只编译修改的文件 |
--mode fast |
仅编译内核镜像,跳过模块/deb(最快) |
--mode deb |
全量编译 + 生成 deb 包 |
--build-iso |
编译完成后生成可启动 ISO |
--flutter-app PATH |
使用自己的 Flutter 应用(不提供则创建默认系统配置界面) |
--skip-flutter |
跳过 Flutter 编译 |
--distcc-hosts "IP1 IP2" |
分布式编译加速 |
--config menuconfig |
交互式配置内核 |
--force-reconfig |
强制重新配置内核 |
--clean / --mrproper |
清理编译产物 |
kernel_all_in_one_build/output/
├── linux-image-6.12.0-custom_.deb # 内核镜像包
├── linux-headers-6.12.0-custom_ .deb # 内核头文件包
├── flutter_app/ # Flutter 应用(系统配置入口)
└── custom-ubuntu-6.12-arm64.iso # 可启动 ISO 镜像
编译进度判断
内核编译通常按这个顺序进行:
- arch/xxx/ → 架构相关代码(已完成)
- kernel/ → 核心调度(已完成)
- mm/ → 内存管理(已完成)
- fs/ → 文件系统(已完成)
- drivers/ → 设备驱动(当前在这里,最长)
- net/ → 网络协议栈
- modules → 编译模块
- bzImage/vmlinuz → 生成内核镜像
drivers/ 目录是内核最大的部分,通常占编译总时间的 50% 以上。您看到 sunxi(全志)、ti(德州仪器)等驱动,说明正在编译 ARM 平台的设备驱动,这是正常的。
预计剩余时间
以您的环境(3.8GB 内存、单线程 -j1)估算:
| 阶段 | 预计时间 |
|---|---|
| 当前 drivers/ | 可能还需要 15~40 分钟 |
| 剩余模块 + 链接 | 10~20 分钟 |
| 总计剩余 | 约 30~60 分钟 |
如果卡住了怎么办?
如果某一行停留超过 10 分钟 没有新输出:
bash
# 按回车键(只是终端没刷新,编译仍在进行)
# 或新开一个终端检查:
tail -f /proc/$(pgrep -f "make -j1")/fd/1
总结:截图显示编译完全正常,请耐心等待。单线程编译 ARM64 内核确实需要较长时间。