[[
PXE boot
]]
Fool For the City
現在位置:
なみかわみやこの技術メモwikiです。
»
linux
»
PXE boot
文書の表示
以前のリビジョン
最近の変更
索引
ログイン
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
===== PXE boot ===== 会社のネットワーク環境は既にDHCPが動いているのでPXEブートをしようと思ったらルータのDHCPを停止させてPXEに対応させたDHCPサーバを立ててやる必要がある。\\ 最近のサーバはDVDドライブなんて普通についてるからメディアからインストールすりゃ良いやって思ってたら、古くなったサーバを検証用に引き上げてきたらCDドライブしかついてない(--;\\ \\ インストーラーを起動させるだけのCDを作ってもいいのだけど、OSやバージョン毎に作るのもなぁ~と思い既にDHCPサーバが稼動している環境でPXE bootが出来ないか調べてみたら案外簡単に見つかった(w\\ \\ 参考\\ [[http://d.hatena.ne.jp/dayflower/20090810/1249875581|daily dayflower]]\\ [[http://d.hatena.ne.jp/int128/20090206/1233913925|Geek Not Found]]\\ \\ どうやらProxy DHCPサーバ(pxe-pdhcp)ってのを使えば良いようだ\\ 詳しい解説は[[http://d.hatena.ne.jp/viver/20080720/p2|こちら(古橋貞之の日記)]]\\ \\ まずはtftpサーバをインストール\\ \\ CentOSなのでyumでほにょっとインストールしてしまいます\\ <code> # yum -y install tftp-server </code> \\ 設定は後回しにしてpxe-pdhcpもインストールしてしまう\\ <code> # svn co http://svn.coderepos.org/share/lang/c/pxe-pdhcp # cd pxe-pdhcp # make #install -m 755 pxe-pdhcp /usr/local/bin </code> ネットワーク環境が悪かったのか、ファイルをダウンロードするまにで10分程度だんまりが続いたのでファイルが消えてるのかと思った(--;\\ \\ CentOSのtftpはxinetdで起動するので必要に応じてxinetdもyumでインストールしといて\\ \\ /ext/xinetd.d/tftpを修正 <code> service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no ← ここをyesからnoに変更 per_source = 11 cps = 100 2 flags = IPv4 } </code> \\ 設定ファイルを修正したらxinetdを再起動しておく\\ <code> # service xinetd restart </code> \\ pxeサーバにはsyslinuxが必要だが、普通にCentOSをインストールしていれば入ってるはず・・・会社でインストールする際に選択する最小の構成でも入ってたのでたぶん(^^;\\ \\ 心配な場合は以下のコマンドで確認\\ <code> # rpm -qa | grep syslinux </code> \\ インストールするOSイメージをマウントする\\ <code> # mkdir /mnt/iso/ # mount -t iso9660 -o loop CentOSのisoファイル /mnt/iso </code> \\ PXE boot用のイメージファイルをtftpの公開エリアにコピーする\\ デフォルトの公開エリアが/tftpbootなのでここにコピーすることにする\\ <code> # cp /mnt/iso/images/pxeboot/vmlinuz /tftpboot/ # cp /mnt/iso/images/pxeboot/initrd.img /tftpboot </code> \\ PXE boot用の設定ファイルを作成。\\ defaultにしとけば何も設定ファイルが無い場合に読んでくれる\\ 個別に設定ファイルを準備する場合はファイル名に注意!!適当にファイル名をつけても読んでくれない。\\ 基本的にはMacアドレスかIPアドレスをヘキサに変換した文字列をファイル名に用いる\\ <code> # cd /tftpboot/pxelinux.cfg/ # vi default default CentOS5 prompt 1 timeout 50 label CentOS5 menu label ^CentOS5 kernel vmlinuz append initrd=initrd </code> 基本的な設定\\ default・・・bootプロンプトで何も入力されなかった場合に実行されるラベルを指定します\\ prompt・・・bootプロンプトを表示させるか、させないかを設定。0に設定するとプロンプトが表示されません\\ timeout・・・指定した秒数だけbootプロンプトで入力待ちをします\\ \\ 個別設定\\ label…bootプロンプトで入力すると指定した設定でインストールを行う menu label…labelとどう違うのか不明 kernel・・・インストールするOSのvmlinuzでないと
linux/pxe.1258013376.txt.gz · 最終更新: 2009/11/12 08:09 by miyako
文書の表示
以前のリビジョン
文書の先頭へ