本文主要是介绍基于 LFS-6.3 将 系统放入 虚拟机中的 U盘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
按照 LFS详细搭建指南——适合初学者使用 https://blog.csdn.net/u012333520/article/details/50533002
搭建的 系统 是 建立在 虚拟机的硬盘中的,不太方便
为了将 系统安装到 U盘 上,做了一些探索,最终成功安装到了U盘,并从U盘启动
(还是基于虚拟机,不过系统已经全部在U盘上了,后期尝试在PC上直接从U盘启动)grub 的 stage1 stage2 (没用到stage1_5)都在 U盘上
kernel 也在U盘上
rootfs 也在U盘上
步骤
-
- U盘分区
// lfs-6.3 上
fdisk 分 /dev/sda2 为两个区
mkfs.ext3 /dev/sda2 // 实验测出不同平台 做的 ext3 不一样,不兼容 , 可能和 mkfs.ext3 有关
// 在 基于虚拟机的 lfs-6.3 无法成功,在其他系统下才成功
-
- 挂载U盘(/dev/sda2),拷贝所需文件到 /dev/sda2
// lfs-6.3 上
// 在 基于虚拟机的 lfs-6.3 不识别 U盘 ,在其他系统下才成功
// 挂载 /dev/sda2 到 /mnt
// 对 lfs-6.3 中的文件夹(bin boot etc lib sbin usr )打包(scp拷贝链接文件有问题),然后通过scp拷贝到其他 linux发行版,加压到 /mnt
// 修修补补,基于 https://blog.csdn.net/u012333520/article/details/50533002 补上其他的文件夹及文件夹下的内容 dev home media mnt opt proc root srv sys tmp var并在/mnt 下做一个动作 echo usbboot > /mnt/stamp
-
- 安装 grub 到 /dev/sda2
// lfs-6.3 上
mount -v --bind /dev /mnt/dev
chroot /mnt /usr/bin/env -i \
HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/bin/bash --login然后 通过 grub 命令行 安装 grub 到 MBR
// 此时不修改 /boot/grub/menu.lst
-
- 让VMware的BIOS 识别 U盘
VMware的BIOS不能识别USB启动设备,即使已经把USB设备连接上去。
解决这一问题的做法是直接添加硬盘,硬盘指向物理硬盘,即USB设置。
请查看 https://blog.csdn.net/JackLiu16/article/details/79800164
-
- 连接USB设备到 LFS-6.3 所在的虚拟机
-
- 启动 vmware 中的 LFS-6.3 到 BIOS,并设置 从 添加的硬盘(映射到U盘) 启动
-
- 重新启动进入grub,并修改grub启动脚本
1. 进入grub 命令行
2. find stamp,会出现 (hd0,1) // 表示 /boot 目录 在 (hd0,1)
3. root (hd0,1)
4. kernel /boot/lfskernel-2.6.22.5 root=/dev/sda2 // 通过设置 kernel /boot/lfskernel-2.6.22.5 root=/dev/hda2 ,启动后 看到了 /dev/sda2 , 挂载后发现就是我们做的U盘
5. boot
6. 启动成功后,修改 /etc/grub/menu.lst 为 // 也可添加一个 title,兼容 usb上的系统 和 之前硬盘上的系统root (hd0,1)kernel /boot/lfskernel-2.6.22.5 root=/dev/sda2
7. 重新启动
8. 成功启动进入 rootfs
测试:拿U盘做PC的启动盘 启动系统
无法启动
这篇关于基于 LFS-6.3 将 系统放入 虚拟机中的 U盘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!