手斧Linux – 从LFS到Funtoo (129)

来源:互联网 发布:淘宝9.9包邮专区在哪 编辑:程序博客网 时间:2024/05/18 00:08

第15章 制作启动U盘-方法2

和方法1相比,方法1从一个squashfs的image文件里加载rootfs,而这个方法直接将rootfs放在U盘的另一个分区上。方法1能用于更多情况下的启动,但方法2使用更象在硬盘上安装的方法来运行linux系统,可以向文件系统里写入数据。

假设试验的机器上己有一个硬盘了,将会对应于设备文件/dev/sda,U盘会是第二个盘,对应于设备文件/dev/sdb。

以下步骤和方法1有很多是相同的,但为了阅读的连贯性,还是复述相同的内容。

step1:准备syslinux。

在之前的步骤里,己编译安装了syslinux5.00,因此这里不需要再做什么了。

step2:准备U盘。

在之前的步骤里,己将一个8G的U盘分成两个区:一个msdos分区和一个linux分区。假设这两个分区对应/dev/sdb1 /dev/sdb2两个设备文件,用以下命令重建U盘上的文件系统:

mkfs.msdos -n U1 /dev/sdb1

mkfs.ext3 -L U2 /dev/sdb2

step3:安装mbr。

保险起见,如U盘己被mount上来,先卸载。命令如下:

umount /dev/sdb1

umount /dev/sdb2

然后,

cd $LFS/../

dd if=syslinux-5.00/mbr/mbr.bin of=/dev/sdb

step4:将一些文件拷到U盘上,但不拷贝squashfs的image文件。命令如下:

if [ -d udisk ]; then rm -rf udisk; fi

if [ -d myfuntoo ]; then rm -rf myfuntoo; fi

mkdir -v udisk myfuntoo

mount /dev/sdb1 udisk

mount -o loop myfuntoo.iso myfuntoo

rsync -av  --exclude=image.squ myfuntoo/* udisk/

step5:在做cd的iso里,用的是isolinux启动,现在要改用适用于U盘的syslinux启动,需要移动一些文件和改名。命令如下:

mv udisk/isolinux/* udisk/

mv udisk/isolinux.cfg udisk/syslinux.cfg

rm -rf udisk/isolinux*

0 0