首页主机资讯Debian From Scratch的文件系统如何配置

Debian From Scratch的文件系统如何配置

时间2025-12-15 13:12:03发布访客分类主机资讯浏览858
导读:Debian From Scratch 文件系统配置全流程 一 目标与总体思路 在宿主机上用 debootstrap 拉取并初始化一个最小 Debian 根文件系统,跨架构时使用 qemu-user-static 在 chroot 中完成...

Debian From Scratch 文件系统配置全流程

一 目标与总体思路

  • 在宿主机上用 debootstrap 拉取并初始化一个最小 Debian 根文件系统,跨架构时使用 qemu-user-static 在 chroot 中完成配置,最后按用途导出为 rootfs.tarrootfs.img 镜像。
  • 关键关注点:目录结构遵循 FHS,根分区必须包含 /etc、/bin、/sbin、/lib、/dev;合理规划 /usr、/var、/home 等目录的容量与挂载方式。

二 环境与工具准备

  • 安装构建工具与 binfmt 支持(跨架构必需):
    • sudo apt update & & sudo apt install -y debootstrap qemu-user-static binfmt-support
  • 选择发行版与架构(示例):
    • 发行版代号:bookworm(12)bullseye(11)buster(10)
    • 架构:amd64、arm64、armhf、armel、riscv64
    • 可用脚本查看:ls /usr/share/debootstrap/scripts;镜像源可替换为国内镜像(如 mirrors.tuna.tsinghua.edu.cn、mirrors.ustc.edu.cn)。

三 构建与初始化根文件系统

    1. 拉取基础系统(二阶段)
    • 示例(amd64):sudo debootstrap --foreign --verbose --arch=amd64 bookworm rootfs http://mirrors.tuna.tsinghua.edu.cn/debian/
    • 示例(arm64):sudo debootstrap --foreign --verbose --arch=arm64 bookworm rootfs http://mirrors.tuna.tsinghua.edu.cn/debian/
    1. 拷贝 qemu 静态二进制以在 chroot 中运行目标架构
    • amd64 主机构建 arm64:sudo cp /usr/bin/qemu-aarch64-static rootfs/usr/bin/
    • amd64 主机构建 armhf:sudo cp /usr/bin/qemu-arm-static rootfs/usr/bin/
    1. 二阶段完成初始化
    • sudo chroot rootfs /debootstrap/debootstrap --second-stage
    1. chroot 内基础配置
    • 设置密码与用户:passwd root;useradd -m -G sudo -s /bin/bash user;passwd user
    • 主机名与 hosts:echo debian12 > /etc/hostname;sed -i ‘s/localhost/\0\tdebian12/g’ /etc/hosts
    • 时区:ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    • 源列表:编辑 /etc/apt/sources.list(使用国内镜像),执行 apt update
    • 常用包:apt install -y vim curl wget openssh-server locales sudo
    • 可选图形:tasksel 选择桌面环境(如 xfce、gnome 等)
    1. 清理与退出
    • apt clean;history -c;exit
    • 删除 qemu 静态二进制:rm rootfs/usr/bin/qemu-*-static
    • 注:若构建 riscv64 等非官方主分支,可能需要 debian-ports-archive-keyring 并配置 sid/ports 源后再 apt update。

四 文件系统关键配置

    1. 目录结构与 FHS
    • 必须位于根分区的关键目录:/etc、/bin、/sbin、/lib、/dev
    • 常用目录用途:/usr(用户程序与库)、/var(日志与缓存)、/home(用户数据)、/tmp(临时文件)、/proc、/sys(虚拟文件系统)、/media、/mnt(挂载点)
    1. 挂载与 fstab
    • 在 chroot 内准备基本挂载:
      • mount -t proc proc /proc
      • mount -t sysfs sys /sys
      • mount -o bind /dev /dev
      • mount -o bind /dev/pts /dev/pts
    • 示例 /etc/fstab(按实际分区调整):
      • proc /proc proc defaults 0 0
      • sysfs /sys sysfs defaults 0 0
      • /dev/mmcblk0p2 / ext4 defaults,noatime 0 1
      • /dev/mmcblk0p1 /boot vfat defaults 0 2
    1. 网络配置
    • 有线 DHCP(/etc/network/interfaces.d/eth0):
      • auto eth0
      • iface eth0 inet dhcp
    • Wi‑Fi(示例,使用 wpa_supplicant 与 udhcpc):
      • 安装:apt install -y wpasupplicant wireless-tools udhcpc
      • /etc/wpa_supplicant/wpa_supplicant.conf(示例):
        • ctrl_interface=/var/run/wpa_supplicant
        • network={
        • ssid=“YOUR_SSID”
        • psk=“YOUR_PASS”
        • }
      • 连接与取址:wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf & & udhcpc -i wlan0
    1. SSH 服务
    • 安装:apt install -y openssh-server
    • 允许 root 登录(可选):编辑 /etc/ssh/sshd_config,设置 PermitRootLogin yes,并 systemctl enable --now ssh。

五 导出镜像与烧录验证

    1. 导出为 tar 包(便于移植与解压到分区)
    • 退出 chroot 后清理挂载:umount -R rootfs/dev/pts rootfs/dev rootfs/sys rootfs/proc
    • 打包:cd rootfs & & sudo tar cvf …/rootfs.tar .(或 tar czf …/rootfs.tar.gz .)
    1. 导出为 ext4 镜像(便于烧录到整盘或分区)
    • 创建镜像:dd if=/dev/zero of=rootfs.img bs=1M count=1024(示例 1GB)
    • 格式化:mkfs.ext4 rootfs.img
    • 挂载并拷贝:mkdir tmp & & sudo mount rootfs.img tmp & & sudo cp -a rootfs/* tmp/ & & sudo umount tmp
    • 检查与收缩:e2fsck -p -f rootfs.img;resize2fs -M rootfs.img
    1. 烧录与启动
    • SD/EMMC:使用 dd 将 rootfs.img 写入目标分区(如 /dev/mmcblk0pX),或解压 rootfs.tar 到已挂载的根分区
    • QEMU 测试:qemu-system-架构 -kernel vmlinuz -initrd initrd.img -append “root=/dev/sda2 rootfstype=ext4” -nographic
    • 启动后验证:ls /, mount, systemctl status ssh, ip a。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian From Scratch的文件系统如何配置
本文地址: https://pptw.com/jishu/771585.html
如何自定义Debian From Scratch桌面环境 如何在Debian From Scratch中安装软件

游客 回复需填写必要信息