Linux工具使用情况buildroot

首次完整编译(慢,建立缓存)

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 镜像

编译进度判断

内核编译通常按这个顺序进行:

  1. arch/xxx/ → 架构相关代码(已完成)
  2. kernel/ → 核心调度(已完成)
  3. mm/ → 内存管理(已完成)
  4. fs/ → 文件系统(已完成)
  5. drivers/ → 设备驱动(当前在这里,最长)
  6. net/ → 网络协议栈
  7. modules → 编译模块
  8. 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 内核确实需要较长时间。

相关推荐
anew___几秒前
《从零手写操作系统 (49):虚拟内存进阶——Demand Paging、Swap与缺页异常处理》
linux·服务器·php
迷途之人不知返19 分钟前
【基础IO】-4-再谈重定向
linux
Android系统攻城狮39 分钟前
Linux Gstreamer深度解析之gst_audio_ring_buffer_parse_caps调用流程与实战(八十)
linux·运维·服务器·gstreamer音视频·音视频进阶
l1t44 分钟前
DeepSeek总结的 DuckDB 2.0 文档新内容
服务器·网络·数据库
erzong2311 小时前
Linux网络:UDP编程踩坑日记
linux·网络·udp
盐焗鹌鹑蛋1 小时前
【Linux】线程库与封装
linux
lwx9148521 小时前
Deepin操作系统
linux·服务器·网络
Lsetea1 小时前
OpenSSL指定-cipher仍协商TLS1.3:证书排查中的套件与协议边界
运维·https·ssl证书·openssl·tls
先知后行。1 小时前
进程间通信(IPC)
linux·运维·服务器
weixin_571667412 小时前
Windows 通过 SSH 反向隧道向 Ubuntu 转发代理
linux·运维·windows·代理