FreeBSD QandA ジャンル別一覧: FreeBSD3.xについて
[管理番号 953] (最終更新 1999/07/02 16:23:20)
Q. 3.x-RELEASE で SMC EtherPowerII 10/100 を使うにはどのようにすれば
よいでしょうか。
A. GENERIC カーネルでは EtherPowerII 用のドライバである tx0 がうまく
動かないときがあります(問題なく動作している環境もあるようです)。
1. まず、BIOSの設定画面で
Advances の Plug & Play OS を No
に設定してください。これでうまく動く環境もあるようです。
2. 1を行っても、起動時に
tx0: cannot map memory
というメッセージが出ることがあります。これは Windows95/98 で起動した
後、FreeBSD を hot boot すると起こるようです。このときは、マシンを
shutdown(rebootではダメです)し、いったん電源を落としてから再投入して
ください。
少なくとも、3.0-RELEASE/3.1-RELEASE/3.2-RELEASE で この不具合が発生する
ことが確認されています。
[管理番号 1224] (最終更新 1999/07/02 16:27:49)
Q. FreeBSD 3.1-RELEASE を DOS 領域からインストールしようと FREEBSD という
ディレクトリに配布ファイルを置いてインストールしようとしましたが、
インストールできません。
A. これは 3.1-RELEASE のインストーラのバグです。3.2-RELEASE では修正されて
います。また 3.1-RELEASE の場合でも、以下のどれかのディレクトリ構成に
従ってファイルを置くと、DOS領域からインストールできます。
/ (直下) 例えば /bin, /src 等
/releases 例えば /releases/bin, /releases/src 等
/版数 例えば /3.1-RELEASE/bin, /3.1-RELEASE/src 等
/releases/版数 例えば /releases/3.1-RELEASE/bin, releases/3.1-RELEASE/src 等
例えば、\FREEBSD というディレクトリ名を \RELEASES に変えると、
インストールできるようになります。
[管理番号 1238] (最終更新 2000/05/24 20:49:50)
Q. FreeBSD 3.x で互換ライブラリ (compat* 配布ファイルに含まれます) も
install してあるはずなのに、以下のようなメッセージが出て、昔のバイナリ
が実行できません。
ld.so failed: Can't find shared library "libc.so.2.1"
A. a.out 形式の互換ライブラリは /usr/lib/compat/aout/ に存在しないと
いけないはずですが、バグのため一部は /usr/lib/compat/lib*.so.*.* として
インストールされてしまいます。これは 3.3-RELEASE で修正されていますが、
それより前のリリースをお使いなら次の様に対処してください。
# mv /usr/lib/compat/lib*.so.*.* /usr/lib/compat/aout/
# ldconfig -aout -R
このとき rc.conf(5) で変数 ldconfig_paths_aout に /usr/lib/compat/aout
が含まれている事を確認してください。もし抜けていたら適切に修正して、
リブートするか ldconfig(8) の -m オプションを使ってください。
[管理番号 1255] (最終更新 2000/01/20 19:43:16)
Q. 3.3-RELEASE を使っています。boot -c で起動して kernel のデバイスド
ライバの設定を変更したのですが、再起動すると前回の 変更が有効になって
いないようなのですが、kernel を make し直す以外に設定を変更する方法が
あるのでしょうか。
A. 3.0-RELEASE から 3.1-RELEASE の間に kernel が a.out 形式から ELF 形
式に変更されました。これに伴って boot -c による USERCONFIG でのデバイ
スドライバ設定の変更が kernel に記録されなくなりました。
/etc/rc には、
# snapshot any kernel -c changes back to disk here <someday>
# this has changed with ELF and /kernel.config.
とかいてあり、いつか、自動で save できるようになるようですが、
現在はできません。
次善の手段として以下の手順を行って下さい。
1. /boot/loader.rc または /boot/boot.conf というファイルが
あれば、これが読み込まれます。(/boot/loader.rc が、優先されます。)
(どちらもなければ /boot/loader.rc というファイルを作成しましょう。)
2. /boot/loader.rc に以下の内容を記述します。
userconfig_script_load="YES"
また、読み込まれるファイル名は default では /boot/kernel.conf ですが、
/boot/defaults/kernel.conf ファイルにて
userconfig_script_name="/boot/kernel.conf"
と設定されているだけなので、これを /boot/loader.rc で上書きすればよ
いでしょう。
3.1-RELEASE では書き方が異なり、
load -t userconfig_script /boot/kernel.conf
となります。
3. /boot/kernel.conf というファイルに USERCONFIG で変更を行った、
あるいは、行いたい内容をそのまま記述しておくことでその config が
次回起動時に読み込まれます。
install 時に行った UserConfig は、/boot/kernel.conf に save され
ています。
ただし、3.1-RELEASE では save されるファイルは /kernel.config です。
従って、install 時に save された設定をそのまま使うのであれば、
loader.rc には次のように書きます。
load -t userconfig_script /kernel.config
(例)
enable apm
disable sio1
port sb0 0x220
pnp 1 0 os enable irq0 5 drq0 1 drq1 5
pnp 1 0 port0 0x220 port1 0x330 port2 0x388
pnp 1 1 os enable port0 0x200
pnp 1 2 os enable port0 0x620 port1 0xa20 port2 0xe20
quit
また、/sbin/kget を用いて USERCONFIG にて行なった変更を読み出すことが
できます。
3.1-RELEASE ではこのコマンドはありませんが、
/usr/src/release/picobsd/tinyware/kget に source がありますので、これ
を make して使えばよいでしょう。
尚、上記の内容は、3.2-RELEASE、3.4-RELEASE についてもあてはまると思わ
れますが、基本的に 3.3-RELEASE で確認しています。
[管理番号 1318] (最終更新 1999/11/03 04:50:26)
Q. 3.1-RELEASE をインストールしようと、ブートフロッピーで起動すると
RTC BIOS diagnostic error ff<clock_battery, rom_cksum,
config_unit, memory_size, fixed_disk, invalid_time>
changing root device to fd0c
rootfs is 2880KB compiled in MFS
と表示された後、動かなくなってしまいます。
A. パラレルポート周りの不具合のようです。ブート時のユーザコンフィグで
ppc0 や lpt? を disable にするとうまくいったという報告があります。
なお、FreeBSD 3.2-RELEASE ではこの問題は発生しません。
[管理番号 1325] (最終更新 2000/04/19 21:31:55)
Q. ビデオカードに Matrox Millennium G200 を使用していますが、3.x-RELEASE
の VESA を使った 132x60 文字モードが使えません。過去メールを検索して
みると、ちゃんと使えている人もいるみたいなんですが?
A. まず、
% vidcontrol -i mode
としてみて、132x60 や 1024x768x8 などのモードが出てくるか確認してみて
ください。出てこない場合は、G200 の Unified BIOS が V2.x になっている
可能性があります。
この V2.x からは VESA サポートが弱くなってしまったようで、132x60 文字
モードが使えません。V1.x ではちゃんと使えるようです。具体的には、V1.3、
V1.4 では使えましたが V2.3 では駄目でした。
Matrox のサイトには常に最新の BIOS しか置いていないので、インターネッ
ト上で V1.x の BIOS を入手するのは難しいようです。ただ、購入時の
CD-ROM が手元にある場合は、その中に V1.x の BIOS が入っているかもしれ
ないので、もし在ればそれに書き換えるという手はあります。InfoMagic の
日本語版 CD-ROM にはないかもしれません。
もちろん BIOS を古いものにする訳ですから、当然何かしらの不具合が出る
可能性はあります。AT 互換機は一般的に、VGA がうまく動かないと POST に
引っかかって (ピー、ピーピーピーのように鳴く) 起動もしなくなってしま
いますから、危険を覚悟の上実行するようにしてください (駄目だったらこ
のビデオカードは捨てよう、位の気持ちで望むといいでしょう)。
もっとも、BIOS を新しくしても VESA サポート以外に何が変わるわけでも
無いようですし、今の所
* GIGA-BYTE GA-6BA (BIOS: Beta 26)
* Celeron 300A(450MHz、Base 100MHz)
* I/O-DATA SC-PCI SCSI2 H/A (Symbios 53C810)
* Matrox Millennium G200 AGP 8MB SGRAM
* Sound Blaster 16
* メーカ不明 NE2000 互換 NIC
という構成では、G200 の BIOS を V2.3 から V1.3 にしても (Win98/Linux
でも) 特に不都合なく動いているようです。
- [管理番号 365] Q.コンソールでキーボードの Ctrl キーと Caps Lock キーを交換し...
- [管理番号 471] Q.キーボード無し、CRT 無しのマシンで、シリアルポート (COM1) を使用...
- [管理番号 474] Q.コンソール画面で漢字/日本語が表示できません。A.IBM PC/AT 互換機...
- [管理番号 1325] Q.ビデオカードに Matrox Millennium G200 を使用していま...
- [管理番号 1580] Q.FreeBSD 3.x で追加された、VESA ビデオモードを使用した広いコ...
- [管理番号 1968] Q.FreeBSD(98) のコンソールが見づらいのですが、何か見やすくする方法...
[管理番号 1355] (最終更新 2002/03/07 15:32:11)
Q. FreeBSD(98) 3.1R で、2台目以降の SCSI HDD から起動したい。
A. SCSI ID と、da device の unit number が一致していないと、SCSI HDD からの
起動に失敗することがあります (FreeBSD(98)3.1R-Rev01 で確認)。
例えば、下記のような SCSI 機器構成の場合、
0:NONE
1:NONE
2:2BG HDD (FreeBSD(98)2.2.8R-Rev02 (da0)
3:6GB HDD (FreeBSD(98)3.1R-Rev01 (da1)
4-6:NONE
7:ホストアダプタ
起動ディスクとして SCSI 3の HDD (kernel からは da1 として認識される)を
選択すると、SCSI デバイスの初期化の後、
change root device to da3
と表示した後
cannot mount root
で、panic・reboot してしまうという不具合が報告されています。
この場合、2通りの解決方法があります。
1. SCSI ID を変更する。
上記の構成を次のように変更して、SCSI ID と da device の unit number を
一致させれば、da1 から起動することができます。
0: 2BG HDD (FreeBSD(98)2.2.8R-Rev02 (da0)
1: 6GB HDD (FreeBSD(98)3.1R-Rev01 (da1)
2-6: NONE
7: ホストアダプタ
2. loader の設定を変更する。
ハードウェア上の制約などから 1 の方法を採ることができない場合もある
でしょう。このような場合は loader に、読み込むべき kernel の場所を明
示します。/boot/loader.rc を下記の内容で作成して下さい。
set root_disk_unit=1 #1を適宜変更する。
load /kernel
load -t userconfig_script /boot/kernel.conf #必要な場合
autoboot 5
/boot/kernel.conf については
<URL:http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/releases/3.1R/errata.html>
を参照して下さい。
ただし loader.rc の記述が無くても起動できるのが正常なので、
FreeBSD(98) 3.3R-Rev01 では、root_disk_unit を設定しなくても
起動できるようになっています (FreeBSD(98)3.2R ではどうなるか未確認)。
また、FreeBSD 3.2-RELEASE でも
SCSI構成
0 : 4GB HDD(WindowsNT)
1 : 2GB HDD(FreeBSD3.2R)
2-6: NONE
7: ホストアダプタ(Adaptec AHA-2940UW)
ホストアダプタ設定
BootTargetID = 1
のように設定した場合に、
cannot mount root
で、panic reboot する不具合が発生しています。FreeBSD(98)-3.1R と
同じように「2. loader の設定を変更する」で対処が可能です。
関連 QandA:
[管理番号 85] `panic: cannot mount root' で FreeBSD が起動しない。
[管理番号 1471] (最終更新 1999/11/19 15:58:09)
Q. FreeBSD 3.x で FreeBSD 版の netscape navigator/communicator を使っ
ています。gv などの外部プログラムを呼ぶように設定すると、terminal に
/usr/libexec/ld-elf.so.1: Invalid file format
と表示されて外部プログラムが起動しません。
A. Netscape に限らず、a.out 形式のプログラムから ELF 形式の外部プログ
ラムを呼び出すとこうなります。
netscape の場合は外部プログラムの設定の際。Application: の欄に
LD_PRELOAD= gv %s
のように書いて、環境変数 LD_PRELOAD の値を空にしてから外部プログラムを
呼ぶようにしましょう。
[管理番号 1487] (最終更新 2000/04/19 21:36:25)
Q. FreeBSD 3.3-RELEASE でネットワーク関係のプログラムがうまく動きません。
例えば、NIS/NFS、samba、ssh の port forwarding、DHCP などで問題が起き
ます。
A. ifconfig -a で network interface についての情報を見て下さい。
lo0 はどうなっていますか。
詳しくは 3.3-RELEASE の errata の lo0 (ループバックデバイス) の項を
参照して下さい。
<URL:http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/releases/3.3R/errata.html>
尚、3.3-RELEASE で DHCP を利用している場合は /etc/rc.conf で
network_interfaces="auto"
としてもうまく動きませんので、
network_interfaces="lo0 ed0"
などと、lo0 を筆頭に全ての network interface を書く必要があります。
3.4-RELEASE ではこのバグは修正されています。
3.3-RELEASE における不具合の実例としては、users-jp 下記のメールから
始まる thread に報告があります。
Subject: [FreeBSD-users-jp 45823] 3.3R & NIS and NFS
Message-ID: <19990921113616P.taoka@infonets.hiroshima-u.ac.jp>
Subject: [FreeBSD-users-jp 46880] Did rc.conf format changed?
Message-ID: <19991026104712V.okuyama@trl.ibm.com>
Subject: [FreeBSD-users-jp 47316] samba-2.0.3 on FreeBSD3.3-RELEASE(PAO3)
Message-ID: <19991110002735V.takachan@running-dog.net>
Subject: [FreeBSD-users-jp 47741] [Q] ssh-1.2.27: can't forward
Message-ID: <19991126232217P.vorspiel@duelists.org>
3.4-RELEASE 以降を使っているのに、lo0 が configure されておらず
(ifconfig -a でみても、lo0 に IP address が割り振られていない)、
同様の問題が起こるという場合は /etc/rc.conf の記述を間違えている可
能性が大きいです。
/etc/defaults/rc.conf の
List of network interfaces (or "auto").
というコメントでは分かりにくいかもしれませんが、auto keyword は単独
で記述する必要があります。具体的な例を出すと、
network_interfaces="vr0 auto"
は間違いで、
network_interfaces="auto"
または、
network_interfaces="lo0 vr0" # 全ての network interface を羅列
が正しい書き方になります。
[管理番号 1598] (最終更新 2000/05/24 20:56:31)
Q. あるマシンを 2.2.6-RELEASE から 3.4-RELEASE に upgrade したんですが、
who や finger, w, last 等の出力がおかしくなる現象が起きています。
A. 3.0R からユーザ名の最大長が 16 文字に拡張されたため、utmp(5) のファイル
形式が変更されました。そのため kterm や ssh など、utmp を扱う binary に
2.2.x 以前のものが残っていると、utmp や wtmp を壊してしまいます。
対策としては、まずこれらの binary を 3.x 以降のものに入れかえてください。
また、一旦壊れた utmp は勝手には修復されないので、次の様にしてクリアして
おくのが良いでしょう。
# cp /dev/null /var/run/utmp
wtmp は periodic(8) monthly により最長一ヶ月待てば問題はなくなるはずです
が、年中無休のマシン以外では手動で実行しておいた方が良いかもしれません。
# periodic monthly
または、
# /etc/periodic/monthly/200.accounting