[餅] 餅空 blog / Nucleus支店

前の記事: コピペでMMLを鳴らす(BlogPet)
次の記事: X68000のSCSI HDDをぶっこ抜いて「もちもちねっと」復活!

2006-01-13

ネットワークブートでLinuxインスコ&DOS起動

 今までdebian Linuxには(Knoppix以外では)縁が無かったのですが、なんでもソースからインストールする事に疲れてきたのでパッケージ管理に定評があるdebianを使ってみる事にしました。

 インストールしようと考えたPCにはFDDやCD/DVD-ROMが繋がってなかったのですが、幸いにもネットワークブートに対応しているようなので、PXEBOOTを使ってネットワークブートさせてみる事にします。

 いわゆる覚え書き。(debianのインストールではなく、PXEブートの覚え書きですが)

 参考にしたのはdebian公式の「TFTP ネットブート用ファイルの準備」。

 まず、イメージをファイルを置く側であるサーバの設定です。

 DHCPサーバの設定。もともと動いていたので設定を追加。
allow booting;
allow bootp;
(中略)
host debian {
filename "pxelinux.0";
next-server 192.168.2.1;
hardware ethernet 00:10:xx:xx:xx:xx;
fixed-address 192.168.2.16;
}
設定したら、dhcpdを(再)起動させます。

 tftpサーバ。インストールされてなかったのでソースからインストール。inetd.confを書き換えて、kill -HUP。
tftp dgram udp wait root /usr/sbin/tcpd in.tftpd -s /tftpboot -r blksize -v
元々、inetd.confでコメントされてたtftpの行はrootではなくnobodyになっていたため、コメントを外しただけでは in.tftpdが起動せず、少しはまりました。

 debianのnetboot.tar.gzを /tftpboot に解凍します。debian-installer/ pxelinux.cfg pxelinux.0ができるので、/tftpboot 以下をnobody所有に変更しておきます。

 ローカルでテスト。
tftp 192.168.2.1
get pxelinux.0
 ファイルが取得できていればOK。できてない場合は、ログを確認。tftpを実行した後に、in.tftpd が動いているかどうかやfirewallの設定も重要です。

 debianをインストールするPCのブートデバイスの順位を変更し、NETWORK(LAN)を最優先に変更して、起動させます。しかし、PXEの画面が出ません。勿論、onboard LANからboot可能な設定になっています。

 「???」

 あれやこれやいじくっているうちに、どうもPROMISEのTX2000(RAID)と衝突しているっぽい事がわかり、外してみたら無事Intel Boot Agentが出現。DHCPからIPアドレスを取得後、あっという間にdebianの boot: 画面が表示されました。後のインストール関係は netinstを使う場合と同じようなので割愛します。

 ついでにCentOSのインストール用イメージを /tftpboot に置いて、起動時に選択できるようにしてみました。
/tftpboot/centos/vmlinuz にコレを。
/tftpboot/centos/initrd.img にコレを置きます。

/tftpboot/pxelinux.cfg/defaultの最下行に以下を追加します。
label centos4
kernel centos/vmlinuz
append load initrd=centos/initrd.img devfs=nomount
debianのboot: で centos4と入力すると、CentOSのインストーラが起動します。

 MACアドレスや、IPアドレスごとに起動イメージを変えることもできるようです。

 IPアドレス 192.168.2.16 の場合、16進数にすると C0.A8.02.10ですから、この数字を元にpxelinux.cfg下にファイルを作成します。
/tftpboot/pxelinux.cfg/C0A80210
--
default centos4

label centos4
kernel centos/vmlinuz
append load initrd=centos/initrd.img devfs=nomount

label debian
kernel debian-installer/i386/linux
append vga=normal initrd=debian-installer/i386/initrd.gz ramdisk_size=9424 root=/dev/rd/0 devfs=mount,dall rw --

prompt 1
timeout 100
 起動すると、プロンプトが表示され、debianと入力するとdebianのインストーラが起動します。centos4と入力するか、何もせず10秒たつとCentOSのインストーラが起動します。(他のIPアドレスを持つPCの場合は、先のdefaultが使われます。)

 MACアドレスの場合は、pxelinux.cfg/00-10-xx-xx-xx-xx というファイルを作ればいいようですが試していません。

 この調子で、Fedora Coreやその他のインストーラを集めておくと、気が向いたときに好きなディストリビューションのインストーラが起動できます。え?何の意味があるかって?いや、意味は無いけどね。

 次に、MS-DOSのフロッピーイメージをネットワークブートさせようと考えて、bpbatchを使ってみる事にしました。参考にしたのは「bpbatchを使ったネットワークブート - orz 失意体前屈」です。この参考例は成功していないのですが、環境による失敗だろうと考えて気にせず設定。

 だがしかし、結果は同じ。
Booting from floppy disk
で止まってしまうのです。同じようにWindows Meのフロッピーイメージをつっこんでみてもダメだったので諦めかけたのですが、Windows98及びWindows98SEのフロッピーイメージでは無事にブートに成功しました。いろいろ検索してみたのですが、この部分で失敗している例は他には「CD-ROM無しノートのリカバリ方法」スレにあるくらいでよくわかりません。マザーボード等の環境によって左右されるのかもしれませんね。

 bpbatchを使わずにフロッピーイメージをブートさせる方法ってないもんでしょうか?勉強不足ですなぁ。

 かなり横道にそれまくりですが、とりあえずうまくいったのでしばらくdebianを使ってみようと思います。次は、ROOT_NFSに挑戦かな。
posted at 03:53:16 on 2006-01-13 by mochy - Category: コンピュータ

Amazon

Comments

No comments yet

Add Comments



TrackBack

Trackback
There are currently no trackbacks for this item.
Use this TrackBack url to ping this item (right-click, copy link target). If your blog does not support Trackbacks you can manually add your trackback by using this form.

前後の記事

前の記事: コピペでMMLを鳴らす(BlogPet)
次の記事: X68000のSCSI HDDをぶっこ抜いて「もちもちねっと」復活!

MyMiniCity

MyMiniCity

死語ステッカー

死語ブログパーツ

著作権保護期間延長反対

著作権保護期間の延長反対

PR

富士通

ザッピング

あわせて読みたい

あわせて読みたい

TEAM -6%

今年もクールビズ

Blog Scouter