FreeBSD QandA 1999年6月3日 更新分
管理番号 1104 (新規)
更新履歴
Q. FreeBSD が内蔵ハードディスクにすでに install されているノートパソコ
   ンに PCMCIA の SCSI カードを使用して SCSI ハードディスクを外付け追加す
   るときの方法を教えて下さい。
A. /etc/fstab に
     /dev/sd0s1e /hoge/hoge ufs rw,noauto 0 0
   のように追加ディスクの mount 位置を追加します。このとき、noauto にして
   おかないと FreeBSD の起動時の mount に失敗して、立ち上げられません。
   使用するときは、SCSI カードを挿入してから、
     mount /hoge/hoge
   使用後は、SCSI カードを抜く前に、
     umount /hoge/hoge
   とします。
   [注意]
   1. SCSI カードが抜かれてしまってからでは umount できません。ですから、
   /etc/pccard.conf の中で、使用している SCSI カードのエントリに
     remove umount /hoge/hoge
   を追加しても無意味です。FreeBSD 稼働中に SCSI カードを抜く前には、必ず
   手動で SCSI ハードディスクを umount しましょう。うっかり umount を
   忘れて SCSI カードを抜いた場合、kernel が panic あるいはもっと悪い
   状態になることがありますので注意しましょう。
   2. /etc/pccard.conf の中で、使用している SCSI カードのエントリに
     insert mount /hoge/hoge
   を追加しておくと、立ち上げ時はもちろん、後から SCSI カードを挿入しても、
   SCSI ハードディスクが自動的に mount されますが、前述の通り umount は
   自動化できません。SCSI カードを抜く前に umount するのを忘れがちに
   なりますので、この設定はしない方がよいでしょう。
管理番号 1252 (新規)
更新履歴
Q. tcsh の日本語マニュアルというものは存在するのでしょうか?
A. tcsh6.02 のマニュアルだったら、
     <URL:ftp://ftp.tohoku.ac.jp/pub/unix/shells/tcsh/japanese-man/>
   にあります。
管理番号 1334 (新規)
更新履歴
Q. boot -v などで起動すると、起動メッセージの最初の部分が、dmesg にも
   /var/log/messages にも残っていないのですが。
A. dmesg で表示されるメッセージは、カーネルがメッセージバッファに貯めて
   いるものです。このサイズは決まっており、起動時のメッセージが長すぎると
   バッファに入り切らず、先頭部分が表示されなくなります。
   また、/var/log/messages には、マルチユーザーモードに入って syslogd が
   起動した時に、カーネルのメッセージバッファを読んで書き込まれます。
   その時点でバッファがあふれてしまっているので、これも dmesg と同様に
   先頭部分が記録されないわけです。
   このバッファのサイズは /usr/src/sys/sys/msgbuf.h で
     #define MSGBUF_SIZE     8192
   と指定されています。
   バッファを増やすには、MSGBUF_SIZE というオプションを指定して
   カーネルの再構築をします。LINTによると、
     # Size of the kernel message buffer.  Should be N * pagesize.
     options         "MSGBUF_SIZE=40960"
   のように指定します。この場合はデフォルトの 5倍の容量になるわけです。
   i386アーキテクチャではページサイズは普通は 4096 バイトとなっています
   ので、4096の倍数で指定してください。
   カーネルの再構築の方法は
     <URL:http://www.jp.freebsd.org/www.freebsd.org/ja/handbook/kernelconfig-building.html>
   を参照してください。
   なお、MSGBUF_SIZE が使えるのは 2.2.7 以降のバージョンです。
管理番号 1332 (新規)
更新履歴
Q. ThinkPad 535E 上で、`rio' ( DiAMOND 社製 MP3 player Rio PMP300 用
   ファイル転送プログラム) を使おうとしたところ、
     device not found
   と言われ、通信できません
A. rio はパラレルポートを使って通信するのですが、この時に base IO port を
   直接操作します。rio は /dev/lpt0 などを使うようには作られていません。
   ThinkPad 535E の lpt0 の base IO port は通常の PC の base IO port
   と異り、『0x3bc』が base IO port 番号です。したがって、
     rio -p 0x3bc -d
   のように、IO port 番号を指定しなくてはいけません。
   IO port の情報は、ブート時に出力されるメッセージを見る([管理番号 145])
   ことでわかります。
   たとえば私のマシンの場合、
     May 11 22:09:41 myname /kernel: lpt0 at 0x3bc-0x3c3 irq 7 onisa
                                             =====
   とありますので、0x3bc であることが判ります。同様にすれば、他の機
   種の場合も対応できるはずです。