ThinkPad X31へVine Linux 4.0
〜PXEサーバの設定〜
ThinkPad X31は標準ではFDドライブ、CD-ROMドライブがないということで、PXE(Preboot eXecution Environment)を使ったネットワークブートによりインストールしています。PXEサーバとなるもう一台のマシンはDHCPサーバとTFTPサーバを稼動させて、ThinkPad X31にブートイメージを転送します。ちなみに今回サーバとしてはFedora Core 1(ふっ古い^^;)を稼動しています。
参考にしたのは@IT:PXEネットワークブート用サーバを構築するにはと自サイトのPanasonic CF-R1へのVine Linux 2.6のインストールです。
ThinkPad X31
ThinkPad X31は決して小さくて、軽量というわけではないですが、インターフェースが標準で豊富に装備されて、基本的な性能が高くまた、ポインティングデバイスを含めた入力環境が快適ということで気に入っているマシンです。ThinkPad X31の主なハードウェア仕様は以下になります。
項目
仕様
CPU
Pentium M 1400MHz
メモリ
DDR-SDRAM(PC2100) 1GByte
チップセット
Intel 855PMチップセット
グラフィックコントローラ
ATI MOBILITY RADEON
NICコントローラ
Intel PRO/1000MT Mobile Connection(FW82546EBM)
無線LANコントローラ
Dual-band Wi-Fi Wireless Mini PCI Adapter(AR5001X)
HDD
IC25N040ATCS04-0
液晶/解像度
12.1V型/1024 x 768
I/Oポート
USB2.0 X 2、IEEE1394 X 1、ディスプレイ端子、パラレル、IrDA1.1
DHCPサーバの設定
PXEでネットブートさせる為のDHCPサーバの設定は以下のような/etc/dhcpd.confファイルになります。
server-identifier 192.168.0.1;
ddns-update-style interim;
shared-network DHCP {
option domain-name "ryusai.com";
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
max-lease-time 72000;
subnet 192.168.0.0 netmask 255.255.255.0{
range 192.168.0.10 192.168.0.100;
}
host tp {
hardware ethernet 00:09:6B:FA:12:E2; ←ThinkPadのMacアドレス
fixed-address 192.168.0.10; ←割当てるIPアドレス
# option dhcp-class-identifier "PXEClient"; ←コメントアウト
option vendor-encapsulated-options 01:04:00:00:00:00;
filename "pxelinux.0"; ←追記
# option option-135 "-i"; ←コメントアウト
}
}
ブートローダpxelinux.0ファイルがおかれるはtftpdのパスの通ったディレクトリを指定します。尚、Fedora Core 1の環境では「option dhcp-class-identifier "PXEClient";」と「option option-135
"-i";」の行があるとdhcpdを再起動する時に以下のように設定ファイルエラーをおこして起動できません。
# /sbin/service dhcpd restart
dhcpdを停止中: [ OK ]
dhcpdを起動中: Internet Software Consortium DHCP Server V3.0pl2
Copyright 1995-2003 Internet Software Consortium.
All rights reserved.
For info, please visit http://www.isc.org/products/DHCP
/etc/dhcpd.conf line 22: unknown option dhcp.dhcp-class-identifier
option dhcp-class-identifier "PXEClient"
^
/etc/dhcpd.conf line 31: unknown option dhcp.option-135
option option-135 "-i"
^
Configuration file errors encountered -- exiting
(省略)
これを回避するには、option option-135 "-i";をコメントアウトして再起動させます。
# /sbin/service dhcpd restart
dhcpdを停止中: [ OK ]
dhcpdを起動中: [ OK ]
TFTPサーバの設定
Fedora Core 1ではデフォルトではTFTPサーバは起動しない設定になっていますので、/etc/xinetd.d/tftpファイルを以下のように変更します。
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -c -s /tftpboot
disable = no # yesからnoに変更
per_source = 11
cps = 100 2
flags = IPv4
}
修正後の内容を反映させる為にxinetdを再起動します。
# /sbin/service xinetd restart
xinetdを停止中: [ OK ]
xinetdを起動中: [ OK ]
次にTFTPブートイメージをtftpdブートイメージディレクトリ/tftpbootにコピーします。
Vine LInux Home Pageの各ミラーサイトから/tmpディレクトリにダウンロードしたCDイメージファイルVine40-i386.isoを/mnt/isoにマウントし、
# mkdir /mnt/iso
# mount -t iso9660 -o loop /tmp/Vine40-i386.iso /mnt/iso
ブートイメージファイルを/tftpbootにコピーします。
# cp /mnt/iso/images/pxeboot/vmlinuz /tftpboot/
# cp /mnt/iso/images/pxeboot/initrd.img /tftpboot/
ブートローダpxelinux.0をtftpdブートイメージのおかれたディレクトリにおきます。
Fedora Core 1の場合/usr/lib/syslinuxにありますのでそれをコピーします。
# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
pxelinux.0がない場合はftp://ftp.kernel.org/pub/linux/utils/boot/syslinux/からダウンロードしたsyslinuxを解凍してできたpxelinux.0をコピーすればよいです。
起動時にブートブロンプトboot:でブートイメージを
boot:vmlinuz append load initrd=initrd.img devfs=nomount
のように指定してブートさせることも可能ですが、/tftpboot/pxelinux.cfgディレクトリを作成して設定ファイル(default)に以下のように記述しておきます。
DEFAULT install
LABEL install
kernel vmlinuz
append load initrd=initrd.img devfs=nomount
PROMPT 1
TIMEOUT 0
NFSサーバの設定
最後にインストールするパッケージを提供するNFSサーバの設定します。Vine Linux 4.0のISOイメージを/mnt/isoにマウントしていますので、/mnt/isoディレクトリをブートするマシンがマウント可能なように/etc/exportsファイルに以下の内容を追記します。
/mnt/iso *(ro)
その後、設定を反映させる為にNFSサービスを再起動します。
# /sbin/service nfs restart
NFS mountdを終了中: [ OK ]
NFSデーモンを終了中: [ OK ]
Shutting down NFS quotas: [ OK ]
NFSサービスを終了中: [ OK ]
NFSサービスを起動中: [ OK ]
NFSクォータを起動中: [ OK ]
NFSデーモンを起動中: [ OK ]
NFS mountdを起動中: [ OK ]
これで、PXEサーバの設定は終了です。
次は、設定したPXEサーバからVine Linux 4.0をネットワークブートでインストールします。