OpenBSD を PxeBoot でインストール
久々の更新になっちゃいました。
ノートPCが手に入ったのでOpenBSDをインストールすることにしました。
もらってから発覚したのですが、CDROMが壊れているマシンでした。インストールCDからインストールできない訳です。
それならと言うことで、以前から興味のあったPxeBootでインストールしてみることにしました。
構成としてはGentooマシンでdhcpdとtftpをホストしました。
やってみた感想としては、インストールするのにISOを焼く作業がなくなるし、設定もそんなに難しくないのでおすすめです。
インストール作業なんかはそんなに頻繁に行う作業ではないでしょうが、OpenBSDは半年に一回Updateがありますし。
参考にさせてもらったのは以下のドキュメント。
The Gentoo Linux alternative installation method HOWTO
OpenBSD FAQ 6.10 How do I boot using PXE? (i386, amd64)
ハマった所は、dhcpd.confで next-server を指定しないといけなかった所と、
PxeBoot環境では Grub は OpenBSD をうまく起動できない所でした。
dhcpdについてですが、設定ファイルでnext-serverを指定しないとサーバ機のIPアドレスを認識してくれませんでした。
また、OpenBSDをpxegrubで起動しようとしたのですが、起動時に下記のようなエラーがでて先に進めませんでした。
うまくいった手順についてですが、まずはGentoo機にdhcpdとtftpをインストールします。
Bootファイル設置用のディレクトリを作成します。
次に pxeboot を取得して、 /diskless 配下に置きます。
最終的な /etc/dhcp/dhcpd.conf の内容は以下のようになりました。
/etc/conf.d/in.tftp
クライアントをネットワークブートし、起動後に boot> プロンプトが表示されるので、 bsd.rd と入力します。
後は通常のインストールと変わりません。
ノートPCが手に入ったのでOpenBSDをインストールすることにしました。
もらってから発覚したのですが、CDROMが壊れているマシンでした。インストールCDからインストールできない訳です。
それならと言うことで、以前から興味のあったPxeBootでインストールしてみることにしました。
構成としてはGentooマシンでdhcpdとtftpをホストしました。
やってみた感想としては、インストールするのにISOを焼く作業がなくなるし、設定もそんなに難しくないのでおすすめです。
インストール作業なんかはそんなに頻繁に行う作業ではないでしょうが、OpenBSDは半年に一回Updateがありますし。
参考にさせてもらったのは以下のドキュメント。
The Gentoo Linux alternative installation method HOWTO
OpenBSD FAQ 6.10 How do I boot using PXE? (i386, amd64)
ハマった所は、dhcpd.confで next-server を指定しないといけなかった所と、
PxeBoot環境では Grub は OpenBSD をうまく起動できない所でした。
dhcpdについてですが、設定ファイルでnext-serverを指定しないとサーバ機のIPアドレスを認識してくれませんでした。
また、OpenBSDをpxegrubで起動しようとしたのですが、起動時に下記のようなエラーがでて先に進めませんでした。
panic: /boot too old: upgrade!Grubの設定を下記のようにすればよいとの情報があったのですが、現状には当てはまらないようです。
title=Diskless OpenBSD root (nd) kernel --type=openbsd /bsd.rd
うまくいった手順についてですが、まずはGentoo機にdhcpdとtftpをインストールします。
$ sudo emerge dhcp $ sudo emerge tftp-hpa
Bootファイル設置用のディレクトリを作成します。
$ sudo mkdir -p /disklessまず bsd.rd を取得して、 /diskless 配下に置きます。
次に pxeboot を取得して、 /diskless 配下に置きます。
最終的な /etc/dhcp/dhcpd.conf の内容は以下のようになりました。
ddns-update-style none ;
option routers 192.168.1.10;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option domain-name-servers 218.176.253.97;
next-server 192.168.1.12;
default-lease-time 120;
max-lease-time 120;
subnet 192.168.1.0 netmask 255.255.255.0 {
# クライアントにロードさせるブートファイルを指定
filename "pxeboot";
range 192.168.1.36 192.168.1.250;
}
tftpの起動オプションは以下のようになります。/etc/conf.d/in.tftp
INTFTPD_PATH="/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"
クライアントをネットワークブートし、起動後に boot> プロンプトが表示されるので、 bsd.rd と入力します。
後は通常のインストールと変わりません。
2009-03-03 Tue 10:15
> インストール作業なんかはそんなに頻繁に行う作業ではないでしょうが、OpenBSDは半年に一回Updateがありますし。
ネットワークに接続していて、コンソールにアクセスできる環境であれば、bsd.rdでネットワーク経由でアップグレードできます。
新しいバージョンのbsd.rdを/直下に置いて、bsd.rdを起動すればOKです。
boot> bsd.rd
詳しくはboot(8)
2009-03-03 Tue 13:02
へー知らなかったです。
今度やってみます!