温馨提示×

如何开始Ubuntu From Scratch

小樊
32
2026-07-14 08:42:51
栏目: 智能运维

Ubuntu From Scratch (UFS) 是一个比较冷门的项目,它的目标是让用户从零开始构建一个基于 Ubuntu 的 Linux 系统,而不是像 Ubuntu 官方那样直接安装一个现成的发行版。

在开始之前,你需要明确一点:UFS 不是 Ubuntu 官方项目,它更像是一个教学性质的实验。如果你是想学习 Linux 底层原理,我更推荐 Linux From Scratch (LFS);如果你只是想定制 Ubuntu,使用 Ubuntu MinimalDebootstrap 会更实际。

不过,如果你确实想尝试 UFS,以下是基于现有资料和社区经验的步骤指南:


一、准备工作

1. 硬件/环境要求

  • 一台运行 Linux(推荐 Ubuntu 或 Debian)的机器
  • 至少 20GB 空闲磁盘空间
  • 稳定的网络
  • 基本的 Linux 命令行知识

2. 获取 UFS 构建脚本

UFS 项目主要依赖一套构建脚本,通常托管在 GitHub 或 SourceForge 上(项目已多年未活跃)。

sudo apt update
sudo apt install git build-essential
git clone https://github.com/ubuntu-from-scratch/ufs.git
cd ufs

⚠️ 注意:如果仓库已失效,你可能需要搜索镜像或改用 LFS。


二、构建基本流程(概念性)

UFS 的构建过程大致分为以下几个阶段:

1. 准备构建环境

  • 安装必要的工具链:
    sudo apt install debootstrap binutils gcc make
    

2. 创建目标目录

mkdir -p /mnt/ufs

3. 使用 debootstrap 构建基础系统(核心步骤)

这是 UFS 与 LFS 最大的不同点:UFS 通常基于 Debian/Ubuntu 的包体系。

sudo debootstrap focal /mnt/ufs http://archive.ubuntu.com/ubuntu
  • focal 是 Ubuntu 20.04 的代号,你可以换成 jammy(22.04)等。
  • 这一步会下载并解压一个最小 Ubuntu 系统。

4. chroot 进入新系统

sudo mount --bind /dev /mnt/ufs/dev
sudo mount --bind /proc /mnt/ufs/proc
sudo mount --bind /sys /mnt/ufs/sys

sudo chroot /mnt/ufs /bin/bash

5. 配置新系统

在 chroot 环境中:

passwd root
apt update
apt install linux-image-generic grub-pc

6. 安装引导程序(GRUB)

退出 chroot 后,在宿主机上:

grub-install --root-directory=/mnt/ufs /dev/sdX

⚠️ /dev/sdX 是目标磁盘,操作前务必确认,避免损坏现有系统。


三、常见问题

1. UFS 项目还活跃吗?

不活跃。最后一次更新大约在 2010 年代初期。很多脚本和文档已经过时。

2. 和 Linux From Scratch (LFS) 有什么区别?

项目 特点
LFS 从源码编译,完全从零构建,适合学习 Linux 原理
UFS 基于 Ubuntu 包体系,更像“定制 Ubuntu”
Debootstrap Ubuntu/Debian 官方工具,最实用

3. 我应该选哪个?

  • 想学习 Linux 底层 → 选 LFS
  • 想定制 Ubuntu → 选 Debootstrap + chroot
  • 想体验“从零开始”的感觉 → UFS 可以试试,但难度较高

四、替代方案(更推荐)

如果你只是想自己“造”一个 Ubuntu 系统,可以先从以下开始:

✅ Ubuntu Minimal

sudo apt install ubuntu-minimal

✅ 使用 debootstrap 手动构建

debootstrap jammy /mnt/custom-ubuntu http://archive.ubuntu.com/ubuntu

✅ 学习 LFS(最系统)

官网:https://www.linuxfromscratch.org/


如果你愿意,我可以:

  • 给你一份 完整的 UFS 构建脚本解析
  • 或帮你 用 debootstrap 从零做一个可启动的 Ubuntu
  • 或带你 一步步走 LFS(更现代、更系统)

你更想往哪个方向走?

0