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は少しづつ行なうことにして、ひとまず完了する。
参考文献
- [1]雑誌(ムック), "BSD magazine", アスキー, 2001, No.8, ISBN4-7561-3830-X, {1886円}, "NetBSD-1.5(alpha,i386,mac68k,macppc,sparc)のCD-ROM付き".
- [2]雑誌, "UNIX USER", ソフトバンクパブリッシング, 2001, No.10, {1314円}, "NetBSD-1.5.1(i386)のCD-ROM付き".
Last Update: 2005.06.12 |
H.Nakao |