温馨提示×

怎样制作ubuntu fromscratch

小樊
42
2026-09-22 18:10:54
栏目: 智能运维

制作 Ubuntu From Scratch(UFB,类似 LFS 但基于 Ubuntu) 的核心思路是:从零构建一套可用的 Ubuntu 用户空间(rootfs),而不是从内核开始完全手写系统。Ubuntu 官方并没有像 LFS 那样完整的“From Scratch”手册,但可以通过 debootstrap + chroot 来实现“自己做一个 Ubuntu”。

下面是一套可行、实用、接近 From Scratch 的方法。


一、整体思路

  1. 准备一个 Linux 环境(已有 Ubuntu / Debian 最佳)
  2. 创建空目录作为新系统根
  3. 用 debootstrap 安装最小 Ubuntu 基础系统
  4. chroot 进入新系统
  5. 配置用户、网络、软件源
  6. (可选)编译内核、制作 ISO / 磁盘镜像

结果:一个“你自己构建的 Ubuntu”


二、准备工作

1. 宿主机要求

  • 已安装 Ubuntu / Debian
  • 有 root 权限
  • 联网

2. 安装必要工具

sudo apt update
sudo apt install debootstrap schroot mmdebstrap

三、创建基础 Ubuntu 系统(From Scratch 起点)

1. 创建目录

mkdir -p /mnt/ubuntu-from-scratch
cd /mnt/ubuntu-from-scratch

2. 使用 debootstrap 构建最小系统

以 Ubuntu 22.04 为例:

sudo debootstrap jammy ./rootfs http://archive.ubuntu.com/ubuntu

说明:

  • jammy = Ubuntu 22.04
  • ./rootfs = 新系统根目录
  • 最后一个参数是镜像源

成功后:

./rootfs/
 ├── bin
 ├── etc
 ├── usr
 ├── var
 └── ...

✅ 这已经是一个“从零开始的 Ubuntu”


四、进入你构建的系统(chroot)

1. 挂载必要文件系统

sudo mount -t proc proc ./rootfs/proc
sudo mount -t sysfs sys ./rootfs/sys
sudo mount -o bind /dev ./rootfs/dev

2. chroot 进入

sudo chroot ./rootfs /bin/bash

现在你已经在“自己做的 Ubuntu”里了。


五、基础系统配置(关键步骤)

1. 设置软件源

cat > /etc/apt/sources.list <<EOF
deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse
EOF
apt update

2. 设置主机名

echo ubuntu-from-scratch > /etc/hostname

3. 设置 root 密码

passwd

4. 创建普通用户

adduser ubuntu
usermod -aG sudo ubuntu

5. 安装基础工具

apt install -y nano vim bash-completion net-tools iproute2 systemd

六、(可选)安装内核

如果你的目标是可启动系统:

apt install -y linux-image-generic grub-pc

七、(可选)制作可启动 ISO / 磁盘

常用方式:

  • 用 live-build
  • 或把 rootfs 打包成 img,用 GRUB 启动

示例(非常简化):

dd if=/dev/zero of=ubuntu.img bs=1G count=4
mkfs.ext4 ubuntu.img
mount ubuntu.img /mnt/img
cp -a rootfs/* /mnt/img/

八、和 LFS 的区别(重要)

项目 LFS Ubuntu From Scratch
编译所有软件 ✅ ❌
使用 apt ❌ ✅
学习深度 极高 中
实用性 低 高

如果你想要**“真正从源码编译 Ubuntu”**,那基本不现实(Debian/Ubuntu 生态不支持)。


九、推荐学习路径

  1. 先做 debootstrap Ubuntu
  2. 再学 LFS(理解系统原理)
  3. 最后尝试 Live Ubuntu 构建(live-build)

十、参考资料

  • Ubuntu 官方文档
  • man debootstrap
  • LFS: https://www.linuxfromscratch.org
  • live-build: https://wiki.debian.org/DebianLive

如果你愿意,我可以:

  • 给你 一步一步命令脚本
  • 教你 做成 USB 启动盘
  • 或做一个 最小 GUI Ubuntu

你想做到哪一步?

0 踩