Linux From Scratch 安装步骤是什么
小樊
43
2025-12-26 03:00:43
Linux From Scratch 安装步骤
一 准备与规划
- 明确目标版本:选择与官方手册一致的 LFS 版本,并准备对应的 软件包与补丁,版本不一致极易引发编译与运行错误。
- 准备宿主系统:在一台已运行的 Linux 宿主上进行构建(可使用虚拟机);LFS 项目早期提供的 LiveCD 已停止维护,不建议依赖。
- 规划磁盘与分区:为目标系统准备磁盘/分区(如 /、/boot、swap),并规划文件系统(如 ext4)。
- 设定工作变量与目录:设置环境变量 LFS(如 /mnt/lfs),创建 $LFS/sources 用于存放源码,创建 $LFS/tools 作为临时工具链目录,并建议建立符号链接 /tools -> $LFS/tools 以简化后续命令。
- 创建专用用户:新建 lfs 用户并赋予 $LFS/tools 与 $LFS/sources 的所有权,后续构建在该用户下进行以降低风险。
二 构建临时工具链
- 安装宿主依赖:在宿主系统安装必要的构建工具(如 build-essential、texinfo、gawk、bison 等),确保能编译基础软件。
- 准备编译环境:按手册准备环境(创建必要目录、设置环境变量、挂载必要文件系统如 dev、proc、sys、run 的绑定挂载等)。
- 构建交叉工具链:依次编译并安装临时工具链组件(如 Binutils、GCC、C 库 等),确保目标为 $LFS/tools 下的“临时”系统。
- 构建基础临时工具:使用上一步的工具链编译 coreutils、util-linux、e2fsprogs、iproute2、iputils、bash、coreutils 等基础包,为后续进入 chroot 做准备。
- 校验与清理:按需执行校验(如 md5sum -c md5sums),及时清理临时构建产物,保持工作区整洁。
三 进入目标系统并安装基础系统
- 准备 chroot 环境:挂载 $LFS 下必要的虚拟文件系统(如 proc、sys、dev、run),使用 chroot “$LFS” /usr/bin/env -i … /bin/bash --login 进入目标系统环境。
- 创建系统目录与基础配置:建立 /etc、/var、/usr、/lib、/bin、/sbin 等目录结构,配置 /etc/passwd、/etc/group、/etc/hosts 等基础文件,设置 PATH、HOME、TERM 等环境变量。
- 安装核心组件:按手册顺序编译并安装目标系统的核心组件(如 glibc、GCC、Binutils、Coreutils、Util-linux、E2fsprogs、IPRoute2、IPUtils、Bash、Ncurses、Readline、Zlib、File、M4、Bison、Flex、Gettext、Perl、Python 等),确保与所选初始化系统一致(如 systemd 或 SysVinit)。
- 设置系统启动与登录:配置 inittab/服务单元、/etc/fstab、/etc/hostname、时区与本地化等。
四 配置引导与首次启动
- 编译并安装内核:在 chroot 中配置并编译 Linux 内核(如 make defconfig 后按需调整,执行 make && make modules_install),将生成的 bzImage/vmlinuz 与 System.map 复制到 /boot。
- 安装引导加载器:安装并配置 GRUB(BIOS 或 UEFI 场景),在 /boot/grub/grub.cfg 中设置内核与根分区参数(如 root=/dev/sda1)。
- 收尾与退出:检查 /etc/fstab 与 grub.cfg 路径一致性,确保 $LFS/tools 不再被引用,退出 chroot 并重启。
- 首次启动验证:确认系统能正常引导至登录界面,检查网络、磁盘、日志与基础命令可用性;后续可按需扩展至 BLFS(网络、X 桌面、打印机、声音等)。