カーネル開発をするには、標準以外のブート方法が必要です。 以下にNetBootの方法をまとめておきます。
1. 用意する材料
Cobalt {Qube,RaQ} 1台
Unix搭載機 1台
今回は材料入手の都合もあって2700Jを1台とRedHat 6.0搭載機を用意しました。
2. 下ごしらえ
まずRedHatでDHCPサーバとNFSサーバを立ち上げます。
Installされていなかった場合は別途インストールしておきましょう。
2.1 DHCPサーバの設定
(0) DHCPで設定する内容は
ホスト名 : cobalt
IP Address : 192.168.1.1
Net mask : 255.255.255.0
default route : 192.168.1.254
MAC Address : 00:10:e0:01:02:03
とします。
(1) 2700Jのホスト名をひけるように/etc/hostsに登録ます。
(2) /etc/dhcpd.conf を設定します。
shared-network hogehoge {
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.1 192.168.1.1;
option domain-name-servers 192.168.1.254;
option domain-name "hogehoge.co.jp"
option routers 192.168.1.254;
}
host cobalt {
hardware ethernet 00:10:e0:01:02:03;
fixed-address 192.168.1.1;
}
}
(3) dhcpdを起動します。
/etc/rc.d/init.d/dhcpd start を実行します。
起動時に dhcpd が起動するように
cd /etc/rc.d/rc3.d
ln -s ../init.d/dhcpd S35dhcpd
cd /etc/rc.d/rc6.d
ln -s ../init.d/dhcpd S35dhcpd
2.2 NFSサーバの設定
(0) NFSサーバのIPアドレスを192.168.1.254とします。
(1) /nfsroot/boot ディレクトリを作成します。
(2) /etc/exports を以下のように設定します。
/nfsroot cobalt(rw,no_root_squash)
(3) /etc/rc.d/init.d/nfs restart を実行し設定を反映します。
3. 調理方法
ではさっそくNetBootの調理を行いましょう
(1) 2700Jを起動します。このときネットワーク設定を下処理で設定した内容に
合わせておきましょう。
(2) mkdir /mnt をしておきます。
(3) mount 192.168.1.254:/nfsroot /mnt でマウントします。
(4) 以下のコマンドでカーネルをコピーします。
cp /boot/vmlinux.gz /mnt/boot/vmlinux.gz
cp /boot/System.map /mnt/boot/System.map
(5) 以上で調理終了です。簡単でしょう?
4. お召し上がり方
NetBoot は以下の手順でお召し上がりください。
(1) LCDパネルの右ボタンと左ボタンを押しながら電源を投入します。
LCDパネルに Net Boot と表示されて起動すれば成功です。
(2) 起動しない時は DHCP や NFS の設定を確認してください。
June. 1999.
Thanks for Hatayama.