tmytのらくがき

個人の日記レベルです

PXEブートでfedora11をインストールしてみた

今日はX61にFedora11をインストールしてみました。
X61には光学ドライブが搭載されていないので、いつもはUSBメモリとかUSB光学ドライブでインストールしたりするのですが、今回はいつもと違うPXEブートでのインストールをやってみました。

PXEがなんなのかはGoogleで調べてもらうとして、簡単に書くと、「ネットワークからブートファイルをダウンロードしてブートするやつ」です。
すでにdhcpサーバがあり、なおかつ@ITとかでも記事になっていたのでとてもらくちんでした。以下簡単な手順です。
環境としてはTFTPサーバ・DHCPサーバに異なったマシンを用いました。

  • DHCPサーバ
    • VineLinux 4.2
    • ローカルIP: 192.168.0.100
  • TFTPサーバ/HTTPサーバ
    • CentOS 5.3
    • ローカルIP: 192.168.0.103
  1. tftp-serverのインストール

CentOSリポジトリにtftp-serverは入っているのでyumでインストールするだけです。らくちんです。

# yum install tftp-server

  1. syslinuxのインストール

PXEブートさせるためのファイルをインストールするためにsyslinuxをインストールします。こっちのyumで入ります。

# yum install syslinux

  1. tftp-serverの設定

tftp-serverはxinetd経由で起動されます。設定は/etc/xinetd.d/tftp/に入っています。デフォルトではtftp-serverは実行されないようになっているので設定を変えましょう。

disabled = yes # yesとなっているのでnoにして保存

保存したら/etc/init.d/xinetd reloadでもして設定を再読込しましょう。

  1. PXEブートで使用されるファイルの配置

tftp-serverの設定はあれだけですが、読み込まれるファイルを配置しないといけません。今回は@ITのを参考にしたので、ほとんどそのままです。

// Fedora11のISOイメージをマウント
# mkdir /mnt/iso
# mount -t iso9660 -o ro,loop /path/to/Fedora-11-x86_64.iso /mnt/iso
// PXEブートに必要なディレクトリを作成
# mkdir -p /tftpboot/linux-install/pxelinux.cfg
// ブートファイルをコピー
# cp /mnt/iso/images/pxeboot/vmlinuz /mnt/iso/images/pxeboot/initrd.img /tftpboot/linux-install/
# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/linux-install/

でもって、ブート用の設定ファイルを書かないといけません。内容は次のような感じです。ほとんど@ITと変わりません。

# vi /tftpboot/linux-install/pxelinux.cfg/default
default fc11

label fc11
kernel vmlinuz
append load initrd=initrd.img devfs=nomount

ここまでが、TFTPサーバになるマシンの設定でした。

  1. DHCPサーバのインストール

VineLinuxリポジトリに入ってるのでこっちもらくちんです。ルータのDHCPを使ってるときなどは干渉するので、思い切ってDHCPサーバをメインにするか、インストール専用のネットワークを用意するかしましょう。

# apt-get install dhcpd

  1. DHCPサーバの設定

設定もそんなに難しくありません。DHCPサーバ自体の設定は詳しいサイトを参照してもらうとして、ここではPXEブートに必要なところだけかいつまんで。

# vi /etc/dhcpd.conf
...
subnet 192.168.0.0 netmask 255.255.255.0 {
...
filename "linux-install/pxelinux.0"; // syslinuxからコピーしたファイル名。tftp-serverのターゲットパスからの相対パスです。
next-server 192.168.0.103; // TFTPサーバのIPアドレス。ここにTFTPで接続しにいきます。
...
}

上書きしたら/etc/init.d/dhcpd reloadしておきましょう。

  1. HTTPサーバの設定

ここらへんはあんまり重要でないので飛ばします。今回はln -s /mnt/iso/ /path/to/public_html/fc11/シンボリックリンクを張るだけでした。

あとは、クライアントマシンからPXEブートすればインストーラが実行されます。インストールソースを聞かれたらURLを選択して、http://192.168.0.103/path/to/とかを指定してやればあとは普通にDVDなどからブートしたのと同じようにインストールが進みます。


以上、PXEブートでFedora11をインストールしてみる。でした。