Homeに戻る  一覧に戻る 

Upgrading to NetBSD 1.5.1


NetBSD 1.4.2→1.5.1へのUpgrade[2001.09.02]



週末を利用して、Libretto 70CTの常用OSであるNetBSDを1.4.2から1.5.1にUpgradeした。
NetBSD 1.4.xと1.5.xの細かい差異のために、いくつか落し穴があったが、いずれも無事に解決できた。

大まかな作業手順は以下の通りである。
install用のFD2枚を用意する。 フォーマットした後、Windows上で作業するならrawrite.exe(NetBSD上で作業するならdd)を使って、boot1.fsとboot2.fsを書き込む。

install用のバイナリ/カーネルのソースをLibrettoに転送して、例えば、それぞれ/home/his/NetBSD-1.5.1/binary/sets/および/home/his/NetBSD-1.5.1/source/sets/に置く。 これは、GENERICカーネル上でLANカードが動作しなかった場合に備えるためである。 あらかじめ、使用するLANカードの動作が確認できているなら、ftpインストールする方が便利である。

Libretto 70CTの電源を切り、FDDユニットを装着する。
install FD(boot1.fs)で起動し、指示がでたら、FD(boot2.fs)に入れ換えて、キーを押す。 NetBSD-1.5.1のインストーラが起動するので、Upgradeを選択し、binaryセットの場所はlocal diskを、directoryは/mnt/home/his/NetBSD-1.5.1/binary/setsを指定する。

インストーラが終了したら、再起動する。 シングルユーザモードで起動される。 /etc.old(旧/etcのバックアップ)以下のファイルを参考にしながら、/etc以下のファイルを見直す。 /etc/rc.conf中のrc_configured=NOをrc_configured=YESに修正する。 NetBSD 1.5以降では、rc.confは、(FreeBSD 4.3 RELEASEと同様に)/etc/defaults/rc.confとの差分のみを記述するように変更された。 最初はviで編集するが、muleがないと後々不便なので、kay氏が移植したmule-2.3-NetBSD-1.5elfを展開し、build/installする。 日本語入力にFreeWnnを使っているので、その前に、FreeWnn 1.10aの再build/installが必要だった。

kernelソースsyssrc.tgzを展開する。 ここで、syssrc.tgzの最後の部分が壊れていることが判明し、ダイヤルアップ56K modemで約17MBのファイルを1時間以上かけて、ftp getすることになった。 Netscapeでのダウンロードで3回も失敗した(電話代が無駄になった)ので、最後にwgetを使ってやっと成功した。 kernelのconfigファイルRATは、GENERICを元に修正した。
cd /sys/arch/i386/conf
config RAT
cd ../compile/RAT
make depend; make
として、Libretto 70用に最適化されたkernelを作成する。 suでrootになって、旧kernelを名前変更(mv /netbsd /netbsd.old)し、新kernelをコピー(cp netbsd /netbsd)し、read onlyモードに変更(chmod 444 /netbsd)する。

この過程で、/home partition (wd0g)に不良ブロック(read errorを起こす)が少しできたことが判明した。 /home以下を別のマシン(NetBSD-1.5)上でnfs mountし、/home以下をバックアップした。 最初はnfsが動作せず、あせった。 原因は、/etc/rc.confで、以下のようにrpcbind(NetBSD-1.4.xではportmapと呼んでいた)をYESに設定する必要があったためだった。 セキュリティを考慮して、各種のサービスがdefaultsでOFFになっているので、必要なサービスのみをONに変更する必要がある。
nfs_client=YES                                  # enable client daemons
                        nfsiod_flags="-n 4"
nfs_server=YES                                  # enable server daemons
                        nfsd_flags="-tun 4"
rpcbind=YES             rpcbind_flags="-l"      # -l logs libwrap
を追加して解決した。 /homeをumountし、newfsして、mountし、バックアップを書き戻した。 これで、不良ブロックが解消できたかどうかは分からないが、次に進む。

XFree86を動かすために、/etc/XF86Configを編集する。 NetBSD-1.5より、wsconsが採用されたので、mouseの設定(Protocol,Device)を以下のように変更する。
Section "Pointer"
   Protocol        "Wsmouse"
   Device          "/dev/wsmouse0"
   Emulate3Timeout 50
   Emulate3Buttons
EndSection
これで、XFree86 3.3.6aも以前と同じように動作するようになり、muleで日本語ファイルの編集も可能になった。 その他のツールの再build/installは少しづつ行なうことにして、ひとまず完了する。

参考文献



Last Update: 2005.06.12
H.Nakao

Homeに戻る[Homeに戻る]  一覧に戻る[一覧2001に戻る]