良くある問題の解決策(2000/02/29)

 
[Q1] RT-MachをSCSIのハードディスクから起動しようとすると,以下のようなメッセージが出て止まってしまいます.

Can't open paging file /dev/sd0s1a/mach_servers/paging_file: 2502
Paging file name ?
 

[A1]  インストーラはpaging_fileとしてIDEのプライマリマスタのハードディスクドライブのパーティションbを使うことを仮定しています(/dev/hd0bから/mach_servers/paging_fileにシンボリックリンクを張ってある).この仮定と異なる場合は上記のようなメッセージが出ますが,以下のような手段で解決できます.  
  1. "CR"キーを押すだけ.
    RT-Machはpaging systemなしで起動してしまいますが,これより簡単な解決法はないでしょう.
     
  2. 適切なデバイスを指定する.
    例えば,ID:0のSCSIハーデディスクドライブから起動している場合は,以下のように指定できます.

    # ln -s /dev/sd0b /mach_servers/paging_file

    RT-Machでは"sd[0-3][a-h]”はSCSIデバイスを意味します.このうち,[0-3]はデバイスのIDを,[a-h]はパーティション番号を各々反映しています.この例で示した"sd0b"ならば,SCSIのIDが0で,パーティションがbのデバイスを指しています.
     

  3. 適切なファイルを指定する.
    RT-Machではファイルをpaging systemに流用することができます.但し,ファイルのサイズはページサイズが 4[kbytes]なので,4[kbytes]の n 倍に限定されます.
[Q2]  RT-MachをIDEのハードディスクから起動しようとすると,以下のようなメッセージが出て止まってしまいます.

Can't open paging file /dev/hd0s2a/mach_servers/paging_file: 2502
Paging file name ?

[A2] 基本的には上記の問題と同様に解決できます.但し,IDEのハードディスクドライブを paging_file に指定する際には以下のようにします.

# ln -s /dev/hd1b /mach_servers/paging_file

RT-Machでは"hd[0-3][a-h]"はIDEデバイスを意味します.このうち,[0-3]は各々,プライマリマスタ,プライマリスレーブ,セカンダリマスタ,セカンダリスレーブのデバイスを意味し,[a-h]はパーティション番号を各々意味しています.この例で示した"hd1b"プライマリスレーブパーティションがbのIDEデバイスを指します.

[Q3]  LitesをSCSI ハードディスクから起動すると,以下のようなメッセージが出て止まってしまいます.

Can't open server directory /dev/sd?a/mach_servers: 2502
Server directory? [ /dev/sd?a/mach_servers ]

[A3]  この問題はSCSIデバイスのIDを0から順番につけることにより解決できます.これはFreeBSDとRT-MachのSCSIデバイスの扱い方の違いに起因する物です.FreeBSDでは起動時にSCSIデバイスを検出した順に番号を付けますが,RT-MachではSCSIデバイスのIDがそのまま,番号に反映されます.以下のように0,2,3というSCSI IDを持つデバイスが 3 つあるシステムを考えると,FreeBSDとRT-Machでは以下のような違いができます.
 

SCSI ID
FreeBSD
RT-Mach
0
sd0
sd0
2
sd1
sd2
3
sd2
sd3
[Q4]  /mach_servers/emulatorを削除すると,動作がおかしくなるのですが?

[A4]  Litesではプロセス一つごとにLites emulatorを必要とします.デフォルトではLitesは/mach_servers/emulatorをLites emulatorとして利用しています.新しいLites emulatorを導入する場合は以下のような手順で導入して下さい.

# mv /mach_servers/emulator /mach_servers/emulator.old
# cp /anywhere/new.emulator /mach_servers/emulator.new
# mv /mach_servers/emulator.new /mach_servers/emulator
[Q5]  NFSボリュームをマウントしようとすると,以下のようなメッセージが出て失敗します.

mount_nfs: /mnt: Invalid argument

[A5]  デフォルトではmount_nfsはNFSボリュームをversion3を用いてマウントしようとします.LitesではNFSのversion2ならサポートしていますので,以下のようなオプションを与えることでNFSボリュームをマウントできます.

# mount_nfs  -2  anywhere:/remote/mnt   /mnt

[Q6]  Litesが"db>"というプロンプトを表示して止まってしまいました.どうすればリブートできますか?

[A6]  以下のように打つことでリブートできます.

db> call kdreboot

[Q7]  一つの HDD 内に複数のスライスを切り,以下のようなパーティション構成で RT-Mach NR2.0 をインストールしました.

Device
Mountpoint
wd0s1a
/
wd0s1b
swap
wd0s2e
/usr
wd0s2f
/var
wd0s2g
/home

インストール後 RT-Mach NR2.0 を起動すると

"Can't open /dev/rwd0s2[efg]: Device not configured"

とエラーが出て /usr, /var, /home がマウントできません.

[A7] RT-Mach NR2.0 および NR2.1 では同一ディスク上の複数のスライスを同時に扱うことができませんので,RT-Mach NR2.2 以降をお使い下さい.ただし,NR2.2 でも SCSI ディスクでは複数のスライスを同時に扱うことができません.

[Q8]  一つの HDD 内に複数のスライスを切り,wd0s1 に Windows95 を wd0s2 に RT-Mach NR2.0 をインストールしました.次に RT-Mach もしくは FreeBSD を起動時に自動的に Windows95 のパーティションをマウントするように /etc/fstab に以下の用にエントリを追加しました.

/dev/wd0s1 /w95 msdos rw 0 0

そして RT-Mach NR 2.0 を起動すると以下のようなメッセージが出て先に進みません.

msdos: /dev/wd0s1: Invalid argument
Filesystem mount failed, startup aborted
Enter full pathname of shell or RETURN for /bin/sh:

[A8]RT-Mach NR2.0 や NR2.1 では,上記の問題と同様に,同じ HDD にある RT-Mach をインストールしたスライスと別のスライス(この場合は Windows95 が入っているスライス)を扱うことはできませんし,FAT32やロングファイルネームを扱うことができません.NR2.2 以降であればこれらを扱うことができますので,NR2.2 以降をご利用下さい.なお,NR2.1 以前での応急処置的な対処として,以下のように /etc/fstab を変更してください.

/dev/wd0s1 /w95 msdos noauto,rw 0 0

このようにすることによって RT-Mach もしくは FreeBSD 起動時に自動的にマウントしなくなります.FreeBSD を利用してる場合に限り以下の方法で Windows95 のパーティションをマウントすることが可能です.

  1. ブート後に root になって以下のコマンドを実行する.

    # mount /w95

  2. /etc/rc.FreeBSD に以下の記述を追加する(起動時にマウントされる).

    mount /w95

$Id: trouble-j.html,v 1.4 2000/03/15 04:43:01 moriai Exp $