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