Linux From Scratch (LFS) 迁移指南
Linux From Scratch 是一个从源代码构建自定义 Linux 系统的项目,其迁移过程需围绕“系统组件兼容性”与“配置适配”展开,核心是将源构建的系统复制到新硬件/环境,并调整配置以适应新平台。
备份源系统
使用 tar 命令创建源系统的完整备份(排除临时目录如 /proc、/tmp、/sys 等),确保所有自定义配置(如 /etc/fstab、/etc/hosts)和软件源码均被包含。例如:
sudo tar -cvpzf lfs_backup.tar.gz --exclude=/proc --exclude=/tmp --exclude=/sys --exclude=/mnt --exclude=/media /
将备份文件存储至外部设备或网络位置。
记录系统配置
整理源系统的关键配置信息,包括:
/、/home 的大小与文件系统类型,如 ext4、XFS);lsmod 查看);/etc/network/interfaces 或 netplan 配置);准备目标环境
部署基础系统到目标硬件
/dev/sda1),可使用 rsync 替代 tar 以保留文件权限:sudo rsync -aAXv /mnt/lfs_backup/ /mnt/target_root/
/mnt/target_root/home、/mnt/target_root/boot),并挂载目标系统的家目录、/boot 分区(若有)。修复分区与引导配置
/etc/fstab:修改目标系统的 /etc/fstab 文件,将分区 UUID 或设备路径更新为目标硬件的实际信息(可通过 blkid 命令获取新分区 UUID)。例如:UUID=1234-5678 / ext4 defaults 0 1
UUID=abcd-efgh /home ext4 defaults 0 2
/dev/sda2 到 /mnt/target_root/boot/efi),然后执行:sudo mount /dev/sda2 /mnt/target_root/boot/efi
sudo chroot /mnt/target_root grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=LFS
/dev/sda):sudo chroot /mnt/target_root grub-install /dev/sda
sudo chroot /mnt/target_root update-grub
sudo chown -R username:group /mnt/target_root/home/username
```。
适配硬件与驱动
sudo sh NVIDIA-Linux-x86_64-xxx.xx.run
modprobe 命令加载新驱动(如 modprobe nouveau 用于开源 NVIDIA 驱动),并通过 lsmod 验证驱动是否加载成功。验证系统功能
ping www.google.com);lspci 查看 PCI 设备、lsblk 查看块设备);dmesg)是否有错误提示。引导失败
/etc/fstab 和 GRUB 配置(参考步骤二中的引导修复)。驱动缺失
lspci -k 查看当前加载的驱动,确认是否有对应的内核模块。若没有,需从硬件厂商官网下载驱动源码并编译安装。性能问题
/etc/fstab,在文件系统挂载选项中添加 discard);vm.swappiness)以优化内存使用。gcc、make);.config)一并复制到目标系统,并重新编译内核以适配新硬件;