“Ubuntu From Scratch”(UFX,或者更广义地说是 Linux From Scratch (LFS) 思路在 Ubuntu 上的实践)通常指的是从源码或最小基础系统一步步构建 Ubuntu 风格的发行版。这个过程天然很慢,因为涉及大量源码编译和系统配置。
以下是加快 Ubuntu From Scratch 构建的实用方法,按“收益大小”排序:
nproc
export MAKEFLAGS="-j$(nproc)"
make 阶段,务必开启 -j不要每次都从零开始:
示例:
# 构建完 toolchain 后
tar czf toolchain.tar.gz /mnt/ufx
如果不是“纯 from scratch 偏执模式”:
debootstrap focal /mnt/ubuntu http://archive.ubuntu.com/ubuntu
✅ 极大减少底层编译时间
❌ 不算“完全 from scratch”
避免重复编译相同源码:
apt install ccache
export CC="ccache gcc"
export CXX="ccache g++"
适合:
如果你有多台机器:
apt install distcc
export CC="distcc gcc"
适合实验室 / 服务器集群
./configure --disable-doc --disable-tests
如果你在写构建脚本:
make -j + & + waitparallel -j4 build_pkg ::: pkg1 pkg2 pkg3
推荐:
比手写 UFX 脚本快 10 倍以上
而不是从头写:
apt-get source bash
然后只改你需要的部分
如果在 x86 上构建 ARM Ubuntu:
gcc-arm-linux-gnueabihf| 方案 | 速度 | 纯度 |
|---|---|---|
| 纯源码 UFX | 极慢 | 100% |
| debootstrap + 定制 | 快 | 70% |
| live-build | 很快 | 50% |
| Yocto | 中 | 可配置 |
最快的 Ubuntu From Scratch = 少编译 + 多缓存 + 高并发 + 合理借力官方基础
如果你愿意,可以告诉我:
我可以直接给你一套定制加速构建脚本。