Red Hat Training
A Red Hat training course is available for Red Hat Satellite
第 9 章 引导设备
自动安装(或者 kickstart)是有效系统供应的重要组成部分。本章论述了如何为 kickstart 客户端准备不同类型的引导介质。
有关使用 kickstart 供应的详情请参考《RHN Satellite 服务器入门指南》。
要创建引导设备,红帽企业版 Linux CD 引导映像
boot.iso
是必要条件。请确定系统中有这个映像,并记录其位置。
过程 9.1. CD 引导介质
注意
以下使用的反斜杠 "
\
" 表示在 shell 提示符后连续的一行。
- 为引导映像生成工作目录:
mkdir -p temp cd/isolinux
- 将该引导映像挂载到
boot.iso
目录:mount -o loop boot.iso temp
- 为 CD 引导介质设备将所需文件复制到上一步生成的目录中:
cp -aP temp/isolinux/* cd/isolinux/
- 卸载
temp
目录并将cd
目录权限改为用户可读取、写入:umount temp chmod -R u+rw cd
- 进入
./cd
目录:cd ./cd
- 将
/usr/lib/syslinux/menu.c32
文件复制到 CD 中:cp -p /usr/lib/syslinux/menu.c32 isolinux
- 使用您喜欢的文本编辑器打开
isolinux/isolinux.cfg
文件,并添加以下行:mkisofs -o ./custom-boot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot \ -boot-load-size 4 -boot-info-table -J -l -r -T -v -V "Custom RHEL Boot" .
- 在
isolinux.cfg
文件中自定义 CD 引导所需的引导参数和对象。 - 将详细内容刻录到 CD 中完成此流程。
过程 9.2. PXE 引导
- 为引导映像生成工作目录:
mkdir -p temp pxe/pxelinux.cfg
- 将该引导映像挂载到
boot.iso
目录:mount -o loop boot.iso temp
- 为 PXE 引导设备将所需文件复制到上一步生成的目录中:
cp -aP temp/isolinux/* pxe/
- 卸载
temp
目录并将cd
目录权限改为用户可读取、写入:umount temp chmod -R u+rw pxe
- 进入
/pxe
目录:cd ./pxe
- 将
/usr/lib/syslinux/menu.c32
文件复制到/pxe
目录中:cp -p /usr/lib/syslinux/menu.c32 .
- 将
isolinux.cfg
文件移动到pxelinux.cfg/default
中:mv isolinux.cfg pxelinux.cfg/default
- 删除临时文件:
rm -f isolinux.bin TRANS.TBL
- 将
/usr/lib/syslinux/pxelinux.0
文件复制到/pxe
目录中:cp -p /usr/lib/syslinux/pxelinux.0 .
- 使用您喜欢的文本编辑器打开
pxelinux.cfg/default
文件,并为 PXE 引导自定义所有引导参数和对象。
过程 9.3. USB 引导介质
警告
作为 root 用户执行这些命令时要格外小心(大多数关键部分需要成为 root 用户)。这些命令可访问设备文件,如果使用不当会对您的系统造成无法挽回的损害。以下示例使用
/dev/loop0
挂载,请确定为您的系统使用正确的设备。您可以使用 losetup -f
命令结果查看哪个是正确的设备。
- 为引导映像生成工作目录:
mkdir -p temp usb/extlinux
- 将该引导映像挂载到
boot.iso
目录:mount -o loop boot.iso temp
- 为 USB 介质引导设备将所需文件复制到上一步生成的目录中:
cp -aP temp/isolinux/* usb/extlinux/
- 卸载
temp
目录并将cd
目录权限改为用户可读取、写入:umount temp chmod -R u+rw usb
- 进入
/usb
目录:cd ./usb
- 将
/usr/lib/syslinux/menu.c32
文件复制到extlinux/
目录中:cp -p /usr/lib/syslinux/menu.c32 extlinux/
- 将
extlinux/isolinux.cfg
文件移动到extlinux/extlinux.conf
:mv extlinux/isolinux.cfg extlinux/extlinux.conf
- 删除临时文件:
rm -f extlinux/isolinux.bin extlinux/TRANS.TBL
- 转换
custom-boot.img
文件并复制:dd if=/dev/zero of=./custom-boot.img bs=1024 count=30000
- 为这个回路设备找出正确的挂载点:
losetup -f /dev/loop0
使用引导映像设定回路设备:losetup /dev/loop0 ./custom-boot.img
- 打开
fdisk
程序:fdisk /dev/loop0
在该设备中创建主引导分区。您可使用以下按键组合完成此步骤:n p 1 Enter Enter a 1 p w - 将主引导记录(MBR)复制到回路设备中:
dd if=/usr/lib/syslinux/mbr.bin of=/dev/loop0
- 在回路设备中添加分区映射:
kpartx -av /dev/loop0
- 创建该文件系统:
mkfs.ext2 -m 0 -L "Custom RHEL Boot" /dev/mapper/loop0p1
- 挂载该设备:
mount /dev/mapper/loop0p1 temp
- 删除临时文件:
rm -rf temp/lost+found
- 将
extlinux/
目录复制到临时位置:cp -a extlinux/* temp/
- 在临时位置安装引导装载程序:
extlinux temp
- 卸载临时位置:
umount temp
- 在回路设备中删除分区映射:
kpartx -dv /dev/loop0
- 删除该回路:
losetup -d /dev/loop0
同步该文件系统更改:sync
- 使用您喜欢的文本编辑器打开
extlinux.conf
文件,并为 USB 引导自定义所有引导参数和对象。 - 将该映像传送到 USB 设备中以完成此流程。插入该设备,并运行
dmesg
命令检查挂载位置。在这个示例中它是/dev/sdb
。卸载 USB 设备:umount /dev/sdb
将该映像复制到 USB 设备中:dd if=./custom-boot.img of=/dev/sdb