付録A ブートデバイス
自動インストール (または キックスタート) は効率的なシステムのプロビジョニングに欠かせません。本付録では、クライアントのキックスタートに使用する様々なタイプのブートメディアを作成する方法について説明します。
Red Hat Enterprise Linux CD のブートイメージとなる
boot.iso
はブートデバイスの作成に必須の要件です。 このイメージがシステムのどこにあるのかを確認して、 その場所を書き留めてください。
重要
syslinux
および syslinux-extlinux
パッケージをインストールして、以下の手順を実行します。
yum install syslinux syslinux-extlinux
# yum install syslinux syslinux-extlinux
syslinux
パッケージは、Red Hat Enterprise Linux 6 用の /usr/share/syslinux/
にファイルをインストールします。Red Hat Enterprise Linux 5 を使用している場合、このディレクトリーを /usr/lib/syslinux/
に置き換えてください。
syslinux-extlinux
パッケージは、USB ブートメディア作成用のツールをインストールします。
手順A.1 CD および DVD ブートメディア
注記
以下で使用するバックスラッシュ「
\
」はコマンドが一行で構成されているためシェルプロンプトでも改行せず一行として入力するという意味です。
- ブートイメージ用の作業ディレクトリーを作成します。
mkdir -p temp cd/isolinux
# mkdir -p temp cd/isolinux
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ブートイメージを
temp
ディレクトリーにマウントします。mount -o loop boot.iso temp
# mount -o loop boot.iso temp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ブートメディアデバイスに必要なファイルを、上記で作成したディレクトリーにコピーします。
cp -aP temp/isolinux/* cd/isolinux/
# cp -aP temp/isolinux/* cd/isolinux/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow temp
ディレクトリーをアンマウントし、cd
ディレクトリーのパーミッションをユーザーに対して読み取りと書き込みに変更します。umount temp chmod -R u+rw cd
# umount temp # chmod -R u+rw cd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ./cd
ディレクトリーに移動します。cd ./cd
# cd ./cd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/syslinux/menu.c32
ファイルを./cd
ディレクトリーにコピーします。cp -p /usr/share/syslinux/menu.c32 isolinux
# cp -p /usr/share/syslinux/menu.c32 isolinux
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必要に応じて、CD による起動用に
isolinux.cfg
内のブートパラメータとターゲットをカスタマイズします。 mkisofs
を使用して ISO を作成し、CD または DVD に焼き付けます。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 Red Hat Enterprise Linux Boot" . -boot-load-size 4 -boot-info-table -J -l -r -T -v -V "Custom Red Hat Enterprise Linux Boot" .
# 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 Red Hat Enterprise Linux Boot" .
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ディレクトリーを CD または DVD に焼き付けたら手順は終了です。
手順A.2 PXE ブート
- ブートイメージ用の作業ディレクトリーを作成します。
mkdir -p temp pxe/pxelinux.cfg
# mkdir -p temp pxe/pxelinux.cfg
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ブートイメージを
temp
ディレクトリーにマウントします。mount -o loop boot.iso temp
# mount -o loop boot.iso temp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - PXE ブートデバイスに必要なファイルを、上記で作成したディレクトリーにコピーします。
cp -aP temp/isolinux/* pxe/
# cp -aP temp/isolinux/* pxe/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow temp
ディレクトリーをアンマウントし、cd
ディレクトリーのパーミッションをユーザーに対して読み取りと書き込みに変更します。umount temp chmod -R u+rw pxe
# umount temp # chmod -R u+rw pxe
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /pxe
ディレクトリーに移動します。cd ./pxe
# cd ./pxe
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/syslinux/menu.c32
ファイルを/pxe
ディレクトリーにコピーします。cp -p /usr/share/syslinux/menu.c32 .
# cp -p /usr/share/syslinux/menu.c32 .
Copy to Clipboard Copied! Toggle word wrap Toggle overflow isolinux.cfg
ファイルをpxelinux.cfg/default
に移動します。mv isolinux.cfg pxelinux.cfg/default
# mv isolinux.cfg pxelinux.cfg/default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 一時ファイルを削除します。
rm -f isolinux.bin TRANS.TBL
# rm -f isolinux.bin TRANS.TBL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/syslinux/pxelinux.0
ファイルを/pxe
ディレクトリーにコピーします。cp -p /usr/share/syslinux/pxelinux.0 .
# cp -p /usr/share/syslinux/pxelinux.0 .
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - テキストエディタで
pxelinux.cfg/default
ファイルを開いて PXE ブートに必要なブートパラメータやターゲットをカスタマイズします。
手順A.3 USB ブートメディア
警告
root としてこれらのコマンドを実行する際には (最も重要な部分で必要とされます)、極めて慎重に行ってください。これらのコマンドは、デバイスファイルにアクセスするため、これらのコマンドを正しく使用しないと、システムが回復不可能なダメージを受ける可能性があります。以下の例では、マウントに
/dev/loop0
を使用しています。losetup -f
のコマンドを使用すると、どれが正しいデバイスかを確認することができます。
- ブートイメージ用の作業ディレクトリーを作成します。
mkdir -p temp usb/extlinux
# mkdir -p temp usb/extlinux
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ブートイメージを
temp
ディレクトリーにマウントします。mount -o loop boot.iso temp
# mount -o loop boot.iso temp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - USB メディアブートデバイスに必要なファイルを、上記で作成したディレクトリーにコピーします。
cp -aP temp/isolinux/* usb/extlinux/
# cp -aP temp/isolinux/* usb/extlinux/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow temp
ディレクトリーをアンマウントし、cd
ディレクトリーのパーミッションをユーザーに対して読み取りと書き込みに変更します。umount temp chmod -R u+rw usb
# umount temp # chmod -R u+rw usb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/syslinux/menu.c32
ファイルを./usb/extlinux/
ディレクトリーにコピーします。cp -p /usr/share/syslinux/menu.c32 ./usb/extlinux/
# cp -p /usr/share/syslinux/menu.c32 ./usb/extlinux/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow usb/extlinux/isolinux.cfg
ファイルをusb/extlinux/extlinux.conf
に移動します。mv usb/extlinux/isolinux.cfg usb/extlinux/extlinux.conf
# mv usb/extlinux/isolinux.cfg usb/extlinux/extlinux.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 一時ファイルを削除します。
rm -f usb/extlinux/isolinux.bin usb/extlinux/TRANS.TBL
# rm -f usb/extlinux/isolinux.bin usb/extlinux/TRANS.TBL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow custom-boot.img
ファイルを変換して、コピーします。dd if=/dev/zero of=./custom-boot.img bs=1024 count=300000
# dd if=/dev/zero of=./custom-boot.img bs=1024 count=300000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ループバックデバイスをマウントするための正しい場所を確認します。
losetup -f
# losetup -f /dev/loop0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ブートイメージを使用して、ループバックデバイスを設定します。losetup /dev/loop0 ./custom-boot.img
# losetup /dev/loop0 ./custom-boot.img
Copy to Clipboard Copied! Toggle word wrap Toggle overflow fdisk
ユーティリティーを開きます。fdisk /dev/loop0
# fdisk /dev/loop0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow デバイス上にブート可能なプライマリーパーティションを 1 つ作成します。次のキーの組み合わせを押すと、これを作成できます。 n p 1 Enter Enter a 1 p w- マスターブートレコード (MBR) をループバックデバイスにコピーします。
dd if=/usr/share/syslinux/mbr.bin of=/dev/loop0
# dd if=/usr/share/syslinux/mbr.bin of=/dev/loop0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ループバックデバイスにパーティションマップを追加します。
kpartx -av /dev/loop0
# kpartx -av /dev/loop0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイルシステムを作成します。
mkfs.ext2 -m 0 -L "Custom Red Hat Enterprise Linux Boot" /dev/mapper/loop0p1
# mkfs.ext2 -m 0 -L "Custom Red Hat Enterprise Linux Boot" /dev/mapper/loop0p1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - デバイスをマウントします。
mount /dev/mapper/loop0p1 temp
# mount /dev/mapper/loop0p1 temp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 一時的なファイル群を削除します。
rm -rf temp/lost+found
# rm -rf temp/lost+found
Copy to Clipboard Copied! Toggle word wrap Toggle overflow usb/extlinux/
ディレクトリーを一時ディレクトリーにコピーします。cp -a usb/extlinux/* temp/
# cp -a usb/extlinux/* temp/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ブートローダーを一時ディレクトリにインストールします。
extlinux -i temp
# extlinux -i temp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 一時ディレクトリーをアンマウントします。
umount temp
# umount temp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ループバックデバイス上のパーティションマップを削除します。
kpartx -dv /dev/loop0
# kpartx -dv /dev/loop0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ループバックデバイスを削除します。
losetup -d /dev/loop0
# losetup -d /dev/loop0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルシステムの変更を同期します。sync
# sync
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - テキストエディタで
extlinux.conf
ファイルを開いて USB ブートに必要なブートパラメータとターゲットをカスタマイズします。 - イメージを USB デバイスに移動したら手順は完了です。デバイスを挿入して、
dmesg
のコマンドを実行しマウントの場所を確認します。この例では/dev/sdb
になります。USB デバイスをアンマウントします。umount /dev/sdb
# umount /dev/sdb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージを USB デバイスにコピーします。dd if=./custom-boot.img of=/dev/sdb
# dd if=./custom-boot.img of=/dev/sdb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow