NetBSD/pc98(based on NetBSD 1.3.1) バージョンアップ(1.2→1.3)の手引 最終更新 1998年 3月 19日 NetBSD/pc98 core team NetBSD/pc98を1.2ベースのバージョンから1.3ベースへ移行する為の 手順を2通りの方法に関して紹介します。 ※ 説明不足な点などあるかと思いますので、分かりにくい部分は netbsd98-user ML へお願いします。 ※ ドキュメント/インストーラを整備して頂ける方大募集(^^;; +-----------------------------------------------------------+ |1.3 移行後は1.2へ戻る事はできません。1.3のバイナリは1.2では| | 動作しませんし、1.2のバイナリを1.3で動作させた場合に問題が| | 発生する事もあります(大抵はリコンパイルすれば解消します)。| +-----------------------------------------------------------+ [方法1] 既存の1.2環境を残して別のディスクへインストール 特徴: 古いバイナリを持たない clean な 1.3 環境を構築出来る。 1.2環境をmountするなどして、徐々に環境を移行できる。 いざという時には1.2環境を使用できる。 FreeBSD(98)環境等からのインストールも可能。 欠点: 既存環境とは別途ディスクが必要 [方法2] 既存の1.2環境に上書きしてインストール 特徴: それまで構築した環境を引続き使用可能。 既存の環境+α程度のディスク容量で移行可能。 特にNote系の場合はこの方法しか選択出来ないかもしれない。 欠点: 1.2のバイナリがうまく動作しない事がある(再makeする)。 移行手順 これより移行手順を次のルールに従って書きます。 [共通].....どちらの方法でも共通な手順 [方法1]....別ディスクにインストールする際に必要な手順 [方法2]....上書きインストールする際に必要な手順 1.[共通] 以下のものを事前に用意します NetBSD/i386 関連 NetBSD/i386 1.3 のバイナリ(base.tgz, comp.tgz, ....) NetBSD/i386 1.3 のソース(syssrc.tgz, src.tgz, ....) → syssrc.tgzは必須。src.tgzも必要となるケースがあります。 → xsrc.tgzはXウインドウのソースですので必要ないでしょう。 NetBSD/pc98 関連 NetBSD/pc98 1.3 カーネルファイル(netbsd.GENERIC98) NetBSD/pc98 1.3 98版依存バイナリ(bin98.tgz) NetBSD/pc98 1.3 ソース差分(src.skel.tgz, patch-0001.gz,....) NetBSD/i386 関連は以下のところ等から入手できます。 ftp://ftp.iij.ad.jp/pub/NetBSD 等 (NetWork環境が良い場合) UnixUserの今月号の付録CD-ROM (CD-ROMが欲しい場合) NetBSD/pc98 関連は以下のところ等から入手できます。 ftp://egg.math.sci.hokudai.ac.jp/pub/NetBSD-pc98 ftp://ftp.spec-j.co.jp/pub/os/NetBSD-pc98 ftp://ftp.lb.u-tokai.ac.jp/pub/personal/nork/NetBSD-pc98-13 ※ egg.math.sci.hokudai.ac.jp でのディレクトリ構成を後の補足事項に 付けておきます。 注意:locale化された環境にする場合は、上記のバイナリーのlocale版を      用意します。locale化されたバイナリは上記サイトのlocale化が      明示されたdirectoryから入手出来ます。 重要な注意: 既に1.2でlocale化している場合は、必ずlocale化バイナリを使用します。  2.[共通] 1.3バイナリ等を必要に応じてNetBSD/pc98領域やDOS領域等に 置く。(CD-ROMがある場合はこの処置は不要かも) 3.[方法1] インストール先のディスクを初期化しておきます。 幾つかの方法がありますが、手軽な方法を書いておきます。環境に 応じて適宜読み変えてください。 1. FORMAT.EXE,HDFORMAT.EXEを含むDOSのブート可能FDを用意。 2. FDから起動し、対象ディスクを初期化&パーティション設定。 3. NetBSD/pc98を起動し、dospartを実行して先程確保した領域を NetBSD/pc98用とする。 4. 必要に応じてdisklabelを編集する。bootブロックの書き込みも 忘れずに。 5. newfsしてファイルシステムを構築。 FreeBSD(98)環境からのインストールも可能です。詳細は補足事項の3. を参照してください。 4.[共通] NetBSD/pc98 1.3 カーネルのインストール [方法1] インストール先ディスクの /(root) に netbsd.GENRIC98 を netbsd としてコピーする。 [方法2] まず最初に既存のカーネルを netbsd.old 等と保存した上 で、netbsd.GENRIC98 を /netbsd としてコピーする。 注意:1.2から1.3へ移行する場合は、必ずカーネルを先に1.3に置き換えます。 1.2カーネルで1.3バイナリは動作しません。        5.[方法2] NetBSD/pc98 1.3 カーネルでブート(リブート) シングルユーザモードで起動する。 6.[共通] インストール先ディスクをマウント [方法1] 先程用意したファイルシステムを適当な位置にマウント する。 [方法2] ファイルシステムをマウント(mount -a)する。 7.[共通] NetBSD/i386 バイナリのインストール 8.[共通] NetBSD/pc98 バイナリのインストール 9.[共通] NetBSD/i386 ソースのインストール 10.[共通] NetBSD/pc98 ソースのインストール [方法1] zcat base.tgz | (cd マウントポイント;tar --unlink -xvpf -) [方法2] zcat base.tgz | (cd /;tar --unlink -xvpf -) 等として、各ファイルをインストールする。etc.tgzに関しては、 [方法1] 同様にインストール。 [方法2] /etc を保存してインストールするか、最初はインストール せずに後で既存環境の設定内容を反映させて 新しい環境へ 移行する。 この作業を行う為のシェルを[upgrade1.sh]として用意してみたので、必要 に応じて修正して利用する事もできます。 重要な注意: 既存環境への上書きの場合には、インストールの際(だけではありませんが) には、union mountされていない状態である事を確認しておいてください。 以前の古いソースツリーは無用の問題が起こるのを避ける為にも、 事前に必ず削除するようにしてください。 また、/usr/includeも削除する事が望ましいのですが、プライベートな   変更や追加の可能性もありますので、各自の判断で対処してください。 11.[方法2] 一部ファイルの削除 1.2の時とファイルの位置 /sbin から /usr/sbin へ変わったものが あります。以下のが挙げられます。 dumpfs dumplfs mountd nfsd nfsiod quotacheck これらを残しておくと、PATHの関係上 1.2 のバイナリを使用して しまう事になりますので、事前に削除しておく必要があります。 /usr/sbin にこれらのファイルが存在する事を確認してから cd /sbin rm dumpfs dumplfs mountd nfsd nfsiod quotacheck としておきましょう。これも[upgrade2.sh]としてシェルを用意して みました。 12.[共通] リブートして、NetBSD/pc98 1.3 環境で起動。 13.[共通] カーネルを再構築(必要に応じて) 手順は1.2の時と同様です。 [補足事項] その1. egg.math.sci.hokudai.ac.jp での NetBSD/pc98 1.3 関連ディレクトリ その2. 1.2 〜 1.3 で追加された 98版固有の機能(コマンド)について その3. PnPデバイスサポートについて その4. FreeBSD(98)環境からのインストールする際の準備 その5. その他。重要な注意 1. egg.math.sci.hokudai.ac.jp での NetBSD/pc98 1.3 関連ディレクトリ [ファイルの内容] pub/NetBSD-pc98/1.3-alpha/README [locale化されたバイナリ(NetBSD/i386部分を含む)] ※ 分量が大きいので注意(ただしNetBSD/i386のバイナリを別途用意する 必要はない) pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/CKSUMS pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/GENERIC98.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/GENOLD98.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/INSTALL98.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/bin.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/dev.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/etc.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/sbin.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/usr.bin.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/usr.games.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/usr.include.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/usr.lib.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/usr.libexec.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/usr.misc.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/usr.sbin.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/usr.share.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/localed-binary/var.tar.gz [最小限の98版依存バイナリ(NetBSD/i386部分は含まない)] ※ ダイヤルアップ等、線が細い場合に推奨。別途i386のバイナリ等を用意 する必要がある。 pub/NetBSD-pc98/1.3-alpha/bin/minimal-non_localed-binary/bin98.tgz pub/NetBSD-pc98/1.3-alpha/bin/minimal-non_localed-binary/kernel.tgz [locale化されていないバイナリ(NetBSD/i386部分を含む)] ※ 分量が大きいので注意(ただしNetBSD/i386のバイナリを別途用意する 必要はない) pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/CKSUMS pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/GENERIC98.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/GENOLD98.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/INSTALL98.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/bin.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/dev.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/etc.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/sbin.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/usr.bin.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/usr.games.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/usr.include.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/usr.lib.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/usr.libexec.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/usr.misc.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/usr.sbin.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/usr.share.tar.gz pub/NetBSD-pc98/1.3-alpha/bin/non_localed-binary/var.tar.gz [NetBSD/pc98 1.3のカーネルソースと最新のPatchLevel40への差分] pub/NetBSD-pc98/1.3-alpha/src/patch-0039.gz pub/NetBSD-pc98/1.3-alpha/src/patch-0040.gz pub/NetBSD-pc98/1.3-alpha/src/src.skel-130-0038.tar.gz [98版 1.3 -> 1.3.1の差分 / 1.3.1 のソース] ※ 1.3.1へ移行する場合にはi386の差分も必要 pub/NetBSD-pc98/1.3.1-alpha/src/patch-0000.gz pub/NetBSD-pc98/1.3.1-alpha/src/src.skel-1.3-1.3.1-diff.gz pub/NetBSD-pc98/1.3.1-alpha/src/src.skel-131-0000.tar.gz [i386版 1.3 -> 1.3.1の差分] pub/NetBSD/NetBSD-1.3.1/BUGS pub/NetBSD/NetBSD-1.3.1/CHANGES pub/NetBSD/NetBSD-1.3.1/CHANGES.prev pub/NetBSD/NetBSD-1.3.1/LAST_MINUTE pub/NetBSD/NetBSD-1.3.1/MIRRORS pub/NetBSD/NetBSD-1.3.1/README pub/NetBSD/NetBSD-1.3.1/README.files pub/NetBSD/NetBSD-1.3.1/TODO pub/NetBSD/NetBSD-1.3.1/source/netbsd-1.3-1.3.1.diff.gz 2. 1.2 〜 1.3 で追加された 98版固有の機能(コマンド)について /sbin/apmconfig (1.2でも存在) 98のAPM(Advanced Power Management) BIOS と接続します。 接続後apmの機能が使用可能になります。 vm86モードを使用しますので、必ずvm86biosd 実行後に起動します。 また、apmconfig後apm管理デーモンapmdも起動すると良いでしょう。 つまり起動の手順はvm86biosd => apmconfig => apmdです。    デスクトップ機種で自動電源切断可能な機種は、vm86biosdと apmconfigを実行する事で、自動電源切断が可能になります。 /sbin/comctrl シリアルの設定変更を行う。各種RS232Cのパラメータの設定が可能。 /etc/comstart, /etc/com.conf も参照 /sbin/diskgen ディスクのパーティション設定を簡易的に行う。NetBSDスライスの 各パーティションのサイズ等を対話的に設定できる。 diskgen {wd?, sd?, fd?, vnd?, etc} NetBSD partitionの修正 diskgen -s {wd?, sd?, fd?, vnd?, etc} DOS partitionの修正 /sbin/idectrl IDEディスクの制御を行う。 idectrl wd? cmd [argument] cmd: status 状態表示 ron READキャッシュON roff READキャッシュOFF won WRITEキャッシュON woff WRITEキャッシュOFF pow n n分後にPOWER DOWNする /sbin/ippctrl (1.2でも存在) PnPデバイスの制御を行う。 ippctrl csn? ldn? [up|down] csn? PnPデバイスの指定を行う。 ldn? PnPデバイスの指定を行う。 up 指定されたデバイスを認識させる。 down 指定されたデバイスを切り離す。 csn?とldn?の番号はippctrlコマンドもしくは起動時のメッセージで 確認出来ます。 % ippctrl ld(1:0):ATIf428(0x28f48986) serial:0x0000a007 stat(device connected) dev(ne0) ld(2:0):WBT0111(0x110154dc) serial:0x00000001 stat(device connected) dev(bs0) ld(2:0)とは csn2 (Card Selection Number) ldn0 (Logical Device Number) という意味です。 /sbin/pcsd (1.2でも存在) PCカードサービスデーモン /sbin/vm86biosd (1.2でも存在) 仮想86モード対応デーモン(APM関連使用時には必須) /sbin/vpdconfig DOSスライスを仮想的な独立したデバイスとして認識させる。NetBSDの パーティションを h まで全て割り当てている場合は、DOS領域として 認識するパーティションを割り当てる事が出来ない為にマウントする ことが出来なくなってしまう。このような際にディスク上のDOS領域を 別デバイスとして認識する事でマウント可能とする。 割当の状況はdisklabel vpd? で確認出来ます。 使用例: vpdconfig -c /dev/vpd0d /dev/wd0d → wd0 のDOS領域を /dev/vpd0? でアクセス可能にする。 mount -t msdos /dev/vpd0a /msdos/a mount -t msdos /dev/vpd0b /msdos/b mount -t msdos /dev/vpd0e /msdos/c → DOS領域は a, b, e, f の順で割り当てられる。 vpdconfig -u /dev/vpd0d → /dev/vpd0d を解放する /usr/sbin/fdc (1.2でも存在) FDD制御を行う。FDに関してはNetBSD/pc98では/dev/fd0[a-h]で自動 認識を行うが、明示的に制御する事もできる。FDのフォーマットも 可能。 fdc [-vhf][-ae ON|OFF][-i interleave][-d density] [device] -v 冗長表示 -h HELP表示 -f FDのフォーマットを行う -a フォーマット自動認識のON/OFF -e 強制1.44MBモードのON/OFF -i インタリーブ数(1〜15を指定) -d FDフォーマットの明示指定 1:1.44MB hd:2HD(1.25M) hc:2HC(1.21M) 7:720KB 6:640KB device 指定ない時は/dev/rfd0aを使用 /usr/sbin/slotctrl (1.2でも存在) PC-Cardスロット制御 使用例: slotctrl slot0 slot.spkr=down(up) # スピーカーOFF(ON) slotctrl slot1 slot.pow=down(up) # 電源供給OFF(ON) ※ スピーカーはデフォルトOFFです。 /usr/sbin/ippinfo (1.2でも存在) PnPデバイスの情報表示 /usr/sbin/iopinfo カーネルで認識しているIOポート情報の表示 /usr/sbin/dumpcis (1.2でも存在) /usr/sbin/devid (1.2でも存在) /usr/sbin/cardinfo (1.2でも存在) PC-Cardの情報表示。 /usr/sbin/apmd (1.2でも存在) APM管理デーモン。 /usr/sbin/apmctrl (1.2でも存在) APM制御。バッテリ残量の取得やCPU速度の制御等が出来る。 3. PnPデバイスサポートについて 基本的に、PnPデバイスは出来る限りPnPモードで使用してください。 PnPモードで使用する事によって幾つかのメリットが生まれます。 [PnPモードサポート時のメリット] a. 面倒なボード設定が不要となる。 ・使用するボードの変更などでリソースの変更が必要な場合でも自動的 に認識できる。 b. 起動後にリソースの解放等を行う事ができる。 ・起動後にボードを(ソフト的に)切り離したり、リセットしたりする事 も可能となります(ippctrlコマンドを使用)。ソフト的に切り離す事 でボードが使用するリソースも解放する事が可能となります。 例1. 普段使用していないMOやHDDの電源は落しているが、ディスク不足 が発生した為、マウントして使用したい。 → PnP対応SCSIカードを使用しているなら、対象デバイスの電源 を入れた後に、一旦SCSIボードを切り離して再接続する事で 接続デバイス再度認識しなおす為、本体の電源を落さなくても 対象デバイス(この場合MOやHDD)を使用可能となる。 例2. PnPモデムが内蔵されているNoteを使用している場合に、モデムが 割込みを一つ使用している。あるPCカードを使用したいが、モデム と要求リソースが競合するらしくて認識できない。 モデムを使用することもあるので内蔵モデムを無効にしたくはない。 → PnPモデムをソフト的に切り離して、割込み解放後にPCカードを 挿す事が可能。モデムを使用する際に再度認識させる事も可能。 98本体がCバスのPnPをサポートしている機種でなくても、NetBSD/pc98ではPnP モードで使用する事が可能になっています。 PnPデバイス(PCカードやCバス用PnPボード)と従来型の非PnP Cbusボートを 混在使用する場合は、以下に述べる事に注意してください。 [非PnPデバイスの設定のポイント] 割り込み番号はirq 6もしくは出来るだけ高い番号を使用するようにして下さい。 ※ 割り込み番号の高低は、割り込み優先度とは関係ありませんので 心配しないで下さい ボード設定は出来るだけNetBSD/pc98のカーネル内の設定に記述しておくよう にしてください。非PnPボードに関してはボードが使用する資源をカーネルに 知らせる必要がありますが、その為にはカーネルのconfigファイルに記述する 他に方法がありません。カーネルで認識した資源を除いた範囲でPnPデバイス への資源割り当てが行われます。 もしNetBSD/pc98で対応していない非PnPボードを使用していて、そのボードと PnPボードが競合している様な場合には、nulldv というリソース予約ドライバ をconfig内に記述することで対応できるようになります。 PnPボードと非PnPボード共存時に考えられる問題と対策例です。 [Q] 私は、某社のNon PnP Cbus boardをC Busにさしています。このボード はirq 5を使います。ボードは特殊ですから NetBSD/pc98では認識され ません。この為、NetBSD/pc98 の kernel はirq 5を他のPnPボードや やPCカードに自動的に割り当てようとしている様ですが、irq 5が重複 してしまう様で正常に動作しません。ボードが割込みを取得できない 為のようですが、どうすると良いでしょう。 [A] 1) install時。 kernel起動時にpush space keyという所でspace keyを押してconfig mode に入ります。 ここで、interrupt cmdを入力すると、登録する割り込み番号を聞いてき ますから、5を入力します。これで割り込み5は予約され、PnP に割り当て られる事はありません。 2) kernel config ファイルにNon PnP Cbusボードのリソースを登録。 nulldvというリソース予約ドライバーがありますので、これでリソース を予約します。この場合、 nulldv* at isa? irq 5 とします。 この他に例えばボードがmemory address 0xc0000 から 0x2000, irq 3を 使っている場合は nulldv* at isa? irq 3 maddr 0xc0000 msize 0x2000 のように登録します。こうして作られたカーネルでは、PnPデバイスは 登録されたリソースを回避するようになります。 注意:これはあくまでNon PnP Cbusボードかつそれに対応するデバイス ドライバが存在しない場合です。PnPボードの場合はこの記述は 不要ですし、対応するデバイスドライバが存在する場合にはその デバイス用の記述を使用して下さい。 4. FreeBSD(98)環境からのインストールする際の準備 NetBSDとFreeBSDではディスクの扱いに関して若干差があります(古いバージョン を除く)。このため、FreeBSD(98)上でNetBSD/pc98領域を確保する場合にはいくつ かの注意が必要です。 1. 同じディスクに共存する事は出来ない。 ごく最近のFreeBSDの場合は別として、共にディスク上に最初に見付かった BSDスライスのaパーティションを/(root)としようとする為に、競合が発生 します。別のディスクへ環境を分ける必要があります。 2. NetBSD/pc98では各パーティションを/dev/wd0a,/dev/sd0hのように表現する。 /dev/[r]{w,s,f,c,wc}d?[a-h] r ... raw デバイスの場合に付ける w ... IDE系HDDデバイス wc .. IDE系CD-ROMデバイス s ... SCSI系HDDデバイス c ... SCSI系CD-ROMデバイス f ... FDDデバイス ? ... 同種のデバイスのユニットを区別する数字 [a-h] パーティション /dev/wd0s1e 等のスライスを意識した指定は使えません。また/dev/od0a 等のodドライバを使用したMOデバイスの指定もできません。MOに関しては SCSIデバイスとして/dev/sd0a等で指定します。 3. NetBSDではdパーティションを使用する事ができない。 以前のFreeBSDでもそうだったのですが、NetBSDではdパーティションに関し てはディスク全体を表す特別なパーティションとして使用します。 以上の注意点を考慮して、ディスクを準備します。FreeBSD領域のないディスクの スライスを一つ用意して、dパーティションをディスク全体としたdisklabelを書き 込んでおきます。bootブロックはNetBSD/pc98のものを使用しますので、明示的に bootブロックのファイルを指定して書き込んで下さい。この後newfsも行っておき ましょう。 この準備以外は[方法1]と同じ手順で作業できる筈です。 5. その他。重要な注意 *) Kernel configファイルは1.2とかなり異なります。 1.2のconfigファイル は使用する事は出来ません。 GENERIC98やその他のサンプルを参照して変更してください。    *) Locale化された環境の場合、src.skelもlocale化パッチを当てます。 カーネルを再makeする場合や、ユーザバイナリを再構成する時に必要です。 cd /usr patch -p < ./src.skel/contrib/Ext-patches/locale/locale.13.dif 2度このパッチを当てたりしないように注意してください。 パッチを当てる際には、union mount されていない事を確認してください。 ^^^^^^^^^^^^    *) PC cards用の設定ファイル /etc/pcmcia.conf 及び PnP用の    設定ファイル /etc/ipp.confも大幅に変更、追加されています。 これらのファイルはインストールされませんので、 src.skel/sys/arch/i386/util/sbin/pcsd/pcmcia.conf src.skel/sys/arch/i386/util/sbin/ippctrl/ipp.conf を参照もしくはコピーして適切に処理してください。 *) 上書きinstallの場合、必ず、 cp src.skel/etc/etc.i386/MAKEDEV /dev を実行してMAKEDEVファイルを更新してください。 また、デバイスファイルの更新を忘れないでください。 cd /dev ./MAKEDEV all *) /etcにある各種設定ファイルも大幅に更新されています。 union mount後に/usr/src/etc 及び /usr/src/etc/etc.i386を参照して    適切にコピーしてください。 特にrc.confの設定を忘れないようにしてください。rc.confの編集において rc_configure=YESを忘れないようにしないと、マルチユーザーモードに移行 できません。 *) スワップは1.2と事なり、起動時に接続されません。必ず、/etc/fstabに スワップの対象を記述してください。スワップの記述を忘れてマシンが 正常に動作しないという事が良く見られます。 ※NetBSD/pc98 1.3 では仮想記憶が不足した際にメモリ消費の大きい プロセスを殺す事で致命的な状況に陥らないような対策がされてい ます。しかしながらX起動中にXサーバが殺される等の状況が起こる とカーネルは生きているものの、ハングアップしている様に見えて しまいます。 [swapに関する記述例] /dev/wd0b none swap sw 0 0 #---------------------------------------------------------------------# # 以下はおまけのシェル(バグってたらごめんなさい) # #---------------------------------------------------------------------# #-------------------------[upgrade1.sh]-------------------------------- #!/bin/sh # # Install new binaries # echo -n "Where are the binaries of 1.3 ? [Default:/] > " read DIR13 TARGET=${DIR13:-/} echo -n "Where is the TARGET directory ? [Default:/] > " read TARGET TARGET=${TARGET:-/} export DIR13 TARGET echo "Change directory ${DIR13}." cd ${DIR13} # mount | awk '{print $5}' | grep union > /dev/null # if [ $? -eq 0 ] # then # umount `mount | grep union | awk '{print $1}' | sed 's/://'` # fi # if [ -d ${TARGET}/usr/include ] # then # rm -rf ${TARGET}/usr/include # fi # if [ -d ${TARGET}/usr/src.skel ] # then # rm -rf ${TARGET}/usr/src.skel # fi # if [ -d ${TARGET}/usr/src # then # rm -rf ${TARGET}/usr/src # fi echo "zcat base.tgz | (cd ${TARGET}; tar --unlink -xvpf -)" echo "zcat comp.tgz | (cd ${TARGET}; tar --unlink -xvpf -)" echo "zcat misc.tgz | (cd ${TARGET}; tar --unlink -xvpf -)" echo "zcat text.tgz | (cd ${TARGET}; tar --unlink -xvpf -)" echo -n "Would you like install /etc ? [Y/N(Defeult:N)] > " read YorN YorN=${YorN:-N} if [ ${YorN} = "Y" ] || [ ${YorN} = "y" ] then echo "zcat etc.tgz | (cd ${TARGET}; tar --unlink -xvpf -)" fi echo "OK." #-------------------------[upgrade2.sh]-------------------------------- #!/bin/sh # # Delete old binaries # for OLD in dumpfs dumplfs mountd nfsd nfsiod quotacheck do if [ -x /sbin/${OLD} ] && [ -x /usr/sbin/${OLD} ] then rm /sbin/${OLD} fi done NetBSD/pc98 core team 連絡先 E-Mail:netbsd-98@njk.co.jp