面白そうなので、幸いPXEブート可のノートPCを2台所有していましたので、
試してみました。
私はLinux(CentOS 5.3)上でTFTPサーバを起動したかったので
DHCPサーバ+TFPサーバのインストール&設定を行いました。
インストールは非常に簡単でしたが、設定には大変苦労しました。
(以下ではインストール手順は省略しています)
現在は、Puppy 4.3JPalpha(430)を起動しています。
簡易ネットワーク構成図)
JCOM:NET Cable
|
無線LANアクセスポイント
|
+- Server PC(CentOS 5.3)
+- Client PC1(EPSON Direct Endeavor NA702)
+- Client PC2(DELL studio 1536)
+- 空き
※PCは無線LANアクセスポイントに有線LAN接続。
◯DHCPサーバの設定
・無線LANアクセスポイントのDHCPサーバ機能を停止して
・PC(CentOS 5.3)にDHCPサーバをインストールして設定
※Server PCのIPアドレス取得がどうなるか心配したのですが、
192.168.11.2 を取得出来ていました。
なお、念のため、/etc/hosts に各PCのIPアドレスを設定しています。
Server PC上ではDNSサーバ(LAN内向け)を設定、起動しています。
# gedit /etc/dhcpd.conf
コード: 全て選択
ddns-update-style interim;
ignore client-updates;
subnet 192.168.11.0 netmask 255.255.255.0 {
option routers 192.168.11.1;
option subnet-mask 255.255.255.0;
option domain-name "mland.jp";
option domain-name-servers 192.168.11.2;
option time-offset -18000;
range dynamic-bootp 192.168.11.3 192.168.11.100;
default-lease-time 21600;
max-lease-time 43200;
}
allow booting;
allow bootp;
class "pxeclients" {
match if substring(option vendor-class-identifier,0,9)="PXEClient";
next-server 192.168.11.2;
filename "pxelinux.0";
}
host na702 {
hardware ethernet 00:1A:92:XX:XX:XX;
fixed-address 192.168.11.4;
}
host studio {
hardware ethernet 00:21:70:XX:XX:XX;
fixed-address 192.168.11.7;
}
※192.168.11.*(無線LANアクセスポイントのIPアドレスより) を各自の環境に合わせて変更する事。
range 192.168.11.
3 192.168.11.100;
このように、192.168.11.
3から始めないと、dhcpd サービスを起動出来ませんでした。
hardware ethernet は一部伏字、各自の環境に合わせて変更してください。
コード: 全て選択
# /etc/init.d/dhcpd/restart
◯TFTPサーバの設定
/tftpboot/pxelinux.0 がどうしても分からなかったのですが、
以下のページを参照して理解出来ました。
Diskless Linux by PXELinux or GRUB
5.1 tftpサーバの設定
http://vision.kuee.kyoto-u.ac.jp/~nob/d ... l#doc1_404
コード: 全て選択
# rpm -q syslinux
syslinux-3.11-4
(↑何も表示されない場合はインストールされていないのでインストールする事)
# cd /tftpboot
# cp /usr/lib/syslinux/pxelinux.0 .
(その他のファイルはCDからコピーしたり、FrugalインストールしているUSB HDDからアップロードしました)
# tree /tftpboot
/tftpboot
|-- 412 ... Puppy 4.1.2.1-JP
| |-- initrd.gz
| `-- vmlinuz
|-- 425 ... Puppy 4.3 beta3 / pup-425ja
| |-- initrd.gz
| `-- vmlinuz
|-- 430 ... Puppy 4.3JPalpha
| |-- initrd.gz
| `-- vmlinuz
|-- boot.msg
|-- pxelinux.0
`-- pxelinux.cfg
`-- default
4 directories, 9 files
※pup_save.2fsはクライアントPC上のHDDを見に行っています。
詳細な手順は省略しています。上のディレクトリツリーの内容に合わせて、
必要なディレクトリ/ファイルを作成してください。
4.3bata3 (pup-425ja)
viewtopic.php?f=28&t=1345
みのむし
記事の件名: Re: 4.3bata3 (pup-425ja)
投稿記事Posted: 09/09/14(月) 14:29
4.3JPalpha
viewtopic.php?f=28&t=1353
みのむし
記事の件名: Re: 4.3JPalpha
投稿記事Posted: 09/09/18(金) 20:15
私の環境で使用している430用ファイル)
URL:
http://www.mland.jp/pub2/pxe/430/
initrd.gz
vmlinuz
pup_430JPalpha.sfs
pup_save.2fs
コード: 全て選択
# cd pxelinux.cfg
# gedit default
コード: 全て選択
default 3
display boot.msg
label 1
kernel /412/vmlinuz
append root=/dev/ram0 initrd=/412/initrd.gz
label 2
kernel /425/vmlinuz
append root=/dev/ram0 initrd=/425/initrd.gz
label 3
kernel /430/vmlinuz
append root=/dev/ram0 initrd=/430/initrd.gz
「default
3」と「label
3」の
3 は同名である事。
コード: 全て選択
# cd /etc/xinetd.d
# gedit tftp
コード: 全て選択
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
}
「
-s /tftpboot」なので、パスには /tftpboot を付けない。
例えば、「filename "
pxelinux.0"; 」や「kernel
vmlinuz」のように。
コード: 全て選択
# /etc/init.d/xinetd reload
設定を再読み込み: ... [ OK ]
これで、有線LAN接続したノートPCを起動すればPuppyが起動出来ました。
なお、当然の事ながら「BIOSの設定」でPXEから起動するように設定して
おかなければなりません。