あけましておめでとうございます。元日からさっそくLinuxをインストールしておりますが、今年もよろしくお願いします。
さて、DVDを使わずにLinuxをネットワークインストールする方法をメモしておきます。
前提
手順
ここではScientific Linux 6.3の例を挙げます。他のディストリビューションでもだいたい同じと思います。
まず、以下のパッケージを入れます。
- dnsmasq
- syslinux
dnsmasqを設定します。ポイントは、Proxy DHCPで応答するサブネットを指定する、PXEイメージを指定する、TFTPを有効にすることです。
# /etc/dnsmasq.conf port=0 dhcp-range=192.168.0.0,proxy pxe-service=x86PC, "Install Linux", pxelinux enable-tftp tftp-root=/home/tftpboot
/home/tftpbootに以下のファイルを配置します。
ファイル | 配置方法 |
---|---|
pxelinux.0 | /usr/share/syslinux/pxelinux.0 をコピーする。 |
vesamenu.c32 | /usr/share/syslinux/vesamenu.c32 をコピーする。 |
vmlinuz | ディストリビューションのisolinuxフォルダからダウンロードする。 |
initrd.img | ディストリビューションのisolinuxフォルダからダウンロードする。 |
/home/tftpboot/pxelinux.cfg/default に以下を記述します。なお、カーネルにksオプションを渡すことでKickStartによる自動インストールも可能です。
default vesamenu.c32 label install kernel vmlinuz append load initrd=initrd.img
こんな感じであればOKです。
31577997 8月 3 01:56 2012 /home/tftpboot/initrd.img 26828 6月 21 02:54 2012 /home/tftpboot/pxelinux.0 162860 6月 21 02:54 2012 /home/tftpboot/vesamenu.c32 3986896 8月 3 01:56 2012 /home/tftpboot/vmlinuz 81 1月 1 21:35 2013 /home/tftpboot/pxelinux.cfg/default
dnsmasqサービスを開始します。iptablesが有効の場合は、ポリシーを変更するか一時的に無効化しておきます。
インストール対象のマシンでネットワークブートします。以下の順番で画面が表示されるはずです。
- BIOS POST
- DHCP待ち
- syslinuxの選択画面
- 言語やキーボードの選択画面
- インストールイメージの選択画面(Scientific Linuxの場合は http://ftp.jaist.ac.jp/pub/Linux/scientific/6.3/x86_64/os/ とか)
- GUIインストーラの画面
うまくいかない場合は /var/log/messages を確認しましょう。ログが出ていない場合は tcpdump で切り分けましょう。