温馨提示×

如何制作debian fromscratch

小樊
49
2026-10-19 19:24:52
栏目: 智能运维

制作 Debian From Scratch(DFS) 可以理解为:
从零开始构建一个最小可用的 Debian 系统,而不是使用 debootstrap 一键安装。常见做法有两种:


一、概念澄清

  • Debian From Scratch(DFS):通常指手动构建根文件系统、选择内核、初始化系统等
  • LFS(Linux From Scratch):从源码编译,更底层
  • Debootstrap / mmdebstrap:官方推荐方式,半自动

如果你要的是 “真正手工从零构建 Debian”,下面以 x86_64 为例。


二、基本思路

  1. 准备分区与文件系统
  2. 构建基础根目录
  3. 手动安装 Debian 核心包(dpkg)
  4. 配置系统(fstab / inittab / network)
  5. 安装并配置内核
  6. 安装引导程序(GRUB)
  7. 启动测试

三、最小环境准备

# 宿主机(已有 Linux)
sudo apt install debootstrap dpkg-dev

创建目标目录:

mkdir -p /mnt/debian

四、方式一:半手工(推荐起步)

1. 使用 debootstrap 初始化

debootstrap --arch=amd64 stable /mnt/debian http://deb.debian.org/debian

2. chroot 进入

mount --bind /dev /mnt/debian/dev
mount --bind /proc /mnt/debian/proc
mount --bind /sys /mnt/debian/sys
chroot /mnt/debian

3. 基础配置

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

五、方式二:完全 From Scratch(手工)

1. 创建根目录结构

mkdir -p /mnt/debian/{bin,sbin,etc,usr,var,lib,dev,proc,sys}

2. 下载核心 .deb 包

例如:

  • libc6
  • bash
  • coreutils
  • dpkg
apt download libc6 bash coreutils dpkg

3. 手动解包

dpkg-deb -x libc6_*.deb /mnt/debian
dpkg-deb -x bash_*.deb /mnt/debian

⚠️ 注意依赖顺序,非常繁琐。


六、内核与引导

1. 编译或安装内核

apt install linux-image-amd64

或自己编译:

make menuconfig
make -j$(nproc)
make modules_install
make install

2. 安装 GRUB

grub-install /dev/sdX
update-grub

七、关键配置文件示例

/etc/fstab

/dev/sda1 / ext4 defaults 0 1
proc /proc proc defaults 0 0

/etc/hostname

debian-from-scratch

/etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

八、启动方式

  • 物理机 / 虚拟机(QEMU / VirtualBox)
  • 推荐先用 QEMU 测试:
qemu-system-x86_64 -hda debian.img -m 1024

九、常见坑

  • glibc 版本不匹配
  • 缺少 /dev/console
  • init 系统未启动(sysvinit / systemd)
  • 忘了 passwd root

十、学习建议路径

  1. ✅ debootstrap(理解 Debian 结构)
  2. ✅ LFS(理解 Linux 启动)
  3. ✅ 自己写 init 脚本
  4. ✅ 裁剪 Debian(embedded)

如果你愿意,我可以:

  • 给你一个 可运行的 shell 脚本
  • 教你做 Debian 最小容器
  • 或帮你做 Raspberry Pi 的 Debian From Scratch

你更偏向哪种?

0 踩