副标题#e#
转换 Live CD 镜像
使用 livecd-iso-to-disk 工具来转换 ISO 文件为一个磁盘镜像,并添加 netroot 参数到嵌入的内核命令行:
$ sudo dnf install -y livecd-tools
$ MY_SIZE=$(du-ms $MY_NAME.iso |cut-f 1)
$ ddif=/dev/zero of=$MY_NAME.img bs=1MiB count=0 seek=$(($MY_SIZE+512))
$ MY_SRVR=server-01.example.edu
$ MY_RVRS=$(echo $MY_SRVR |tr'.'" "|tac|tr" "'.'|cut-b -${#MY_SRVR})
$ MY_LOOP=$(sudo losetup –show –nooverlap –find $MY_NAME.img)
$ sudo livecd-iso-to-disk –format –extra-kernel-args netroot=iscsi:$MY_SRVR:::1:iqn.$MY_RVRS:$MY_NAME $MY_NAME.iso $MY_LOOP
$ sudo losetup -d $MY_LOOP
上传 Live 镜像到你的服务器
在你的 ISCSI 服务器上创建一个目录来存储你的 live 镜像,随后上传你修改的镜像到其中。
对于 21 及更高发布版本:
$ MY_FLDR=/images
$ scp $MY_NAME.img $MY_SRVR:$MY_FLDR/
对于 21 以前发布版本:
$ MY_FLDR=/images
$ MY_LOOP=$(sudo losetup –show –nooverlap –find–partscan $MY_NAME.img)
$ sudotune2fs-O ^has_journal ${MY_LOOP}p1
$ sudoe2fsck ${MY_LOOP}p1
$ sudodd status=none if=${MY_LOOP}p1 |ssh $MY_SRVR "dd of=$MY_FLDR/$MY_NAME.img"
$ sudo losetup -d $MY_LOOP
定义 iSCSI 目标
在你的 iSCSI 服务器上运行下面的命令:
$ sudo-i
# MY_NAME=fc27
# MY_FLDR=/images
# MY_SRVR=`hostname`
# MY_RVRS=$(echo $MY_SRVR |tr'.'" "|tac|tr" "'.'|cut-b -${#MY_SRVR})
#cat<<END>/etc/tgt/conf.d/$MY_NAME.conf
<target iqn.$MY_RVRS:$MY_NAME>
backing-store $MY_FLDR/$MY_NAME.img
readonly 1
allow-in-useyes
</target>
END
# tgt-admin –update ALL
创建一个可启动 USB 驱动器
#p#副标题#e#
启动加载程序有一个 命令,你可以使用它来连接并启动托管于你 ISCSI 服务器上运行的 live 镜像。它可以以很多不同的编译。最好的工作格式依赖于你正在运行的硬件。例如,下面的说明向你展示如何在一个 USB 驱动器上从 iPXE。
首先,下载 iPXE,并以它的 lkrn 格式构建。这应该作为一个工作站上的普通用户完成:
$ sudo dnf install -y git
$ gitclone http://git.ipxe.org/ipxe.git $HOME/ipxe
$ sudo dnf groupinstall -y "C Development Tools and Libraries"
$ cd $HOME/ipxe/src
$ make clean
$ make bin/ipxe.lkrn
$ cp bin/ipxe.lkrn /tmp
接下来,准备一个带有一个 MSDOS 分区表和一个 FAT32 文件系统的 USB 驱动器。下面的命令假设你已经连接将要格式化的 USB 驱动器。注意:你要格式正确的驱动器!