This is an archive of past FreeBSD releases; it's part of the FreeBSD Documentation Archive.

インストール

Chapter 1. インストール

訳: 岩崎 満 <iwasaki@jp.FreeBSD.org> むらたしゅういちろう <mrt@mickey.ai.kyutech.ac.jp> .8 November 1997.

Q: FreeBSD を入手するにはどのファイルをダウンロードすればいいですか?
Q: ブートフロッピーイメージが一枚のフロッピーディスクに納まらないみたい!
Q: FreeBSD のインストールについての説明書はどこにありますか?
Q: FreeBSD を動作させるには何が必要ですか?
Q: 4 MB しかメモリがないのですが, インストールできますか?
Q: 自分用のインストールフロッピーを作るには?
Q: 自分の PC に複数のオペレーティングシステムを入れるには?
Q: 同じマシンで Windows 95 と共存できますか?
Q: Windows 95 がブートマネージャを潰しちゃった! どうやって戻すの?
Q: 不良ブロックのあるディスクにインストールできますか?
Q: インストーラからブートしたら変なことになりました!
Q: あれ! テープからインストールできません!
Q: パラレルライン (PLIP) 経由でふたつの FreeBSD box を接続したい
Q: ラップトップ PC に PLIP (パラレルライン IP) 経由でインストールできますか?
Q: ハードディスクドライブには, どのジオメトリを使うべきでしょうか?
Q: ディスクの分割の仕方で何か制限はありますか?
Q: 大容量ディスクを持っていますが, ディスクマネージャは使えますか?
Q: FreeBSD のブート時に ``Missing Operationg System'' と表示されます
Q: ブートマネージャの `F?' プロンプトが表示されません.
Q: 16MB を越えるメモリを搭載していますが, 何か問題が起こりますか?
Q: ソースを全部インストールする必要はありますか?
Q: カーネルは作り直さなくちゃならないんですか?
Q: アメリカ合衆国国外に住んでいますが, DES 暗号化ソフトウェアは使えますか?
Q: ブートフロッピーで起動すると, ``Probing Devices...'' の画面でハングアップします.
Q: インストール終了後にシステムをリブートすると, ``panic: cant mount root'' のエラーとなります.
Q: メモリの大きさの制限は?
Q: ffs ファイルシステムの大きさの制限は?
Q: フロッピーに 1 テラバイトのファイルを格納するには?
Q: 新しいカーネルをコンパイルしたのですが, ブート時に "archsw.readin.failed" というエラーメッセージが 表示されるようになってしまいました.

Q: FreeBSD を入手するにはどのファイルをダウンロードすればいいですか?

A: 通常は floppies/boot.flp というファイルの フロッピーディスクイメージが一つだけ必要になります. 1.44MB の フロッピーディスクに書き込み, そこからブートしてその他のファイル群を ダウンロードします (インストールプログラムが TCP/IP 接続, テープ, CD-ROM, フロッピーディスク, DOS パーティションなど, インストールに必要なもの すべてに関する処理を担当します).

自分で配布ファイルをダウンロードする必要がある場合 (たとえば DOS ファイルシステムからのインストールなど), おすすめの配布ファイル構成は 以下の通りです.

  • bin/

  • manpages/

  • compat*/

  • doc/

  • src/ssys.*



この手続きの完全な説明と, 一般的なインストール時の問題については ハンドブックのインストールの節 を参照してください.

Q: ブートフロッピーイメージが一枚のフロッピーディスクに納まらないみたい!

A: 3.5 インチ (1.44MB) のフロッピーディスクには 1474560 バイトのデータを 格納できます. ブートイメージはちょうど 1474560 バイトの大きさです.

ブートフロッピーディスクを準備する際のよくある間違いには 以下のものがあります.

  • FTP によってフロッピーイメージをダウンロードする際に, binary モードにしていなかった.

    FTP クライアントの中には転送モードのデフォルトを ascii モードにしてクライアント側システムの慣習にあうようにすべての行末の 文字を変更するものがあります. この場合は常にブートイメージが 壊れたものになります. ダウンロードしたブートイメージのサイズを チェックしてください. サーバ上のものと 正確に 同じでない場合, ダウンロードの処理を疑いましょう.

    これを回避するには, サーバに接続してイメージのダウンロードを 開始する前に, FTP のコマンドプロンプトで binary とタイプします.

  • ブートイメージを DOS の copy コマンド (または GUI の同等のツール) でフロッピーディスクへ転送した.

    copy のようなプログラムは, 直接起動するように作成された ブートイメージに関してはうまく処理できません. イメージにはフロッピーディスクの完全な中身がトラック単位で 格納されており, フロッピーディスク上に通常のファイルとして 格納されるようには想定されていません. FreeBSD のインストール に記述されているように, ローレベルのツール (例 fdimage または rawrite) を使用して ``raw'' の状態でフロッピーディスクに 転送する必要があります.



Q: FreeBSD のインストールについての説明書はどこにありますか?

A: インストールの説明書は次のところにあります. ハンドブックの「FreeBSD のインストール」の章

Q: FreeBSD を動作させるには何が必要ですか?

A: 386 以上の PC, 5MB 以上の RAM, そして最低 60MB の ハードディスク容量が必要となります. ローエンドの MDA カード でも動作しますが, X11R6 を使うには VGA かそれ以上のビデオカード が必要となります.

Chapter 2 の節も併せてご覧ください.

Q: 4 MB しかメモリがないのですが, インストールできますか?

A: 4MB のシステムにインストールできた FreeBSD の最新版は FreeBSD 2.1.7 でした. 2.2 のように, 2.2 などのより新しいバージョンの FreeBSD は新規のインストールに最低 5MB は必要になります.

インストールプログラムが 4MB では動作しないだけで, 3.0 を含む FreeBSD のすべてのバージョンは 4MB の RAM で動作可能です. インストールする時だけさらに 4MB 追加しておき, システムが セットアップされて動作するようになった後に, また 4MBを取り出して もとに戻すこともできます. あるいは 4MB より多くメモリを搭載 したシステムにディスクを持っていき, そのマシンでインストール した後にディスクを戻すこともできます.

また, FreeBSD 2.1.7 でも 4MB ではインストールできない場合も あります. 正確には, 640KB のベースメモリ + 3MB の拡張メモリ ではインストールはできません. もしマシンのマザーボードが 640KB から 1MB の領域で「失われた」メモリを再マップできる 場合は, FreeBSD 2.1.7 をインストールできるかもしれません.

BIOS のセットアップ画面で, `remap' のオプションを探して 有効 (Enable) にしてみてください. また, ROM shadowing を無効 (Disable) にしておかなくてはなりません.

簡単なやり方としては, インストールする時だけあと 4MB 追加 しておく方法があります. 必要なオプションだけを選択して カスタムカーネルを構築し, また 4MB を取り出してもとに戻せば いいのです.

また, 2.0.5 をインストールして, それから 2.1.7 のインストーラ の ``upgrade'' オプションでシステムを 2.1.7 へアップグレード するというやり方もあります.

インストールしたあとでカスタムカーネルの構築をした場合, 4MB でも動作します. 2MBでブートに成功した人もいます. (でもその システムはほとんど使いものになりませんでした :-))

Q: 自分用のインストールフロッピーを作るには?

A: 現在はカスタムインストールフロッピーディスク「だけ」を作る方法はありません. カスタムインストールフロッピーディスクイメージを含む, release 環境全体を 新たに作る必要があります. /usr/src/release/floppies/Makefile にあるコードでフロッピーディスクイメージ「だけ」を作れるはずですが, まだ完全なものにはなっていません.

カスタムの release 環境をつくるにはここ の指示にしたがってください.

Q: 自分の PC に複数のオペレーティングシステムを入れるには?

A: multi-OS のページ をご覧ください.

Q: 同じマシンで Windows 95 と共存できますか?

A: まず Windows 95 をインストールして, そのあとで FreeBSD を インストールしてください. FreeBSD のブートマネージャが Win95 と FreeBSD のブート管理をしてくれるようになります. Windows 95 を後にインストールした場合はひどいことに, 問い合わせることもなくブートマネージャを上書きしてしまいます. そうなってしまった場合は次の節をご覧ください.

Q: Windows 95 がブートマネージャを潰しちゃった! どうやって戻すの?

A: ブートマネージャの再インストールの方法として, FreeBSD では 以下に示す二通りの方法が用意されています:

  • DOS を起動し, FreeBSD の配布物の中にある tools/ ディレクトリ へ移動し, bootinst.exe を探してみてください. そして次のように実行してください:

    bootinst.exe boot.bin

    ブートマネージャが再インストールされます.

  • FreeBSD のブートフロッピーディスクから起動し, 「カスタム」 インストールメニューを選択し, 続いて「パーティション」を 選択します. ブートマネージャがインストールされていたドライブ (多分最初のもの) を選択し, パーティションエディタにたどり着いたら, (何も変更せず) そのまま (W)rite を指定します. 確認のメッセージ が出ますので「はい」と答え, ブートマネージャ選択の画面で確実に "Boot Manager" を選択します. これでブートマネージャがディスクに再び書き込まれます. インストールメニューから抜けてリブートするとハードディスクは 元通りになります.



Q: 不良ブロックのあるディスクにインストールできますか?

A: FreeBSD の不良ブロックの扱い (bad144 コマンド) は, (ひいき目に見ても) 100% 完全ではなく, 残念ながら 多数の不良ブロックのある IDE や ESDI ドライブは FreeBSD では使用できないと言わざるをえません! でも, 非常に多くの IDE ベースのシステムで動作しているようですので, 簡単にあきらめて しまう前にとりあえず試してみましょう.

不良ブロックのある SCSI ドライブの場合は, この回答 を参照してください.

Q: インストーラからブートしたら変なことになりました!

A: インストーラからブートしようとしたときに, マシンが固まってし まうとか自然とリブートしてしまうといった現象であれば, 次の三つの項目を確認してください:-

  1. 新品の, フォーマットしたての, エラーフリーの フロッピーディスクを使っていますか? (三年間もベッドの下に 放置されていた雑誌の付録みたいなやつではなくて, 買ってきたばかりの新品が好ましいですね)

  2. フロッピーイメージをバイナリモードでダウンロード しましたか? (困った顔をしないでください. 私たちの中 で一番優秀な人でさえ, 少なくとも一回はバイナリファイルを ASCII モードで思いがけずダウンロードしたことがあるのです!)

  3. Windows95 や Windows NT のような最近ご流行の オペレーティングシステムを使用している場合, システムを シャットダウンしてありのままの本物の DOS を再起動 しましたか? これらの OS は, ディスク作成プログラム のようなハードウェアに直接書き込みをおこなうプログラムに 干渉できます: GUI の中の DOS シェル内部で動作している 場合でも, この問題は発生します.



また, Netscape でブートイメージをダウンロードする場合も問題 があることが報告されていますので, できれば別の FTP クライアント を使うのがよいでしょう.

Q: あれ! テープからインストールできません!

A: 2.1.7R をテープからインストールする場合, tar ブロックサイズ を 10 (5120 バイト) にしたテープを作る必要があります. デフォルト の tar ブロックサイズは 20 (10240 バイト) で, このデフォルトサイズで作られたテープでは 2.1.7R を インストールすることはできません. もしこうしたテープを使うと, レコードサイズが大き過ぎるというエラーが起きることになります.

Q: パラレルライン (PLIP) 経由でふたつの FreeBSD box を接続したい

A: Laplink パラレルケーブルを用意してください. 両方の PC の kernel に lpt ドライバが組み込まれていることを確認してください.

      $ dmesg | grep lp
      lpt0 at 0x378-0x37f irq 7 on isa
      lpt0: Interrupt-driven port
      lp0: TCP/IP capable interface
      



パラレルインタフェースに Laplink パラレルケーブルを接続します.

root になって両方で lp0 のネットワークインタフェースパラメータを設定します. 例えば, ホスト max と moritz を接続したい場合,

                 max <-----> moritz
IP Address    10.0.0.1      10.0.0.2
      



max 側で次のようにして

# ifconfig lp0 10.0.0.1 10.0.0.2
     



moritz 側でも

# ifconfig lp0 10.0.0.2 10.0.0.1
     

のようにします.

以上です! lp(4) lpt(4) のマニュアルページも参照してください.

また, /etc/hosts にホストの追加もしましょう.

     127.0.0.1               localhost.my.domain localhost 
     10.0.0.1                max.my.domain max
     10.0.0.2                moritz.my.domain moritz
     



動作確認は次のようにします:

max 側:

$ ifconfig lp0
lp0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 10.0.0.1 --> 10.0.0.2 netmask 0xff000000 



$ netstat -r
Routing tables

Internet:
Destination        Gateway            Flags     Refs     Use     Netif Expire
moritz              max              UH          4   127592       lp0



$ ping -c 4 moritz
PING moritz (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: icmp_seq=0 ttl=255 time=2.774 ms
64 bytes from 10.0.0.2: icmp_seq=1 ttl=255 time=2.530 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=255 time=2.556 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=255 time=2.714 ms

--- moritz ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 2.530/2.643/2.774/0.103 ms



Q: ラップトップ PC に PLIP (パラレルライン IP) 経由でインストールできますか?

A: 次のようにして二つのコンピュータを Laplink パラレルケーブル を通して接続してください:

            +----------------------------------------+
            |A-name A-End   B-End   Descr.  Port/Bit |
            +----------------------------------------+
            |DATA0  2       15      Data    0/0x01   |
            |-ERROR 15      2               1/0x08   |
            +----------------------------------------+
            |DATA1  3       13      Data    0/0x02   |
            |+SLCT  13      3               1/0x10   |
            +----------------------------------------+
            |DATA2  4       12      Data    0/0x04   |
            |+PE    12      4               1/0x20   |
            +----------------------------------------+
            |DATA3  5       10      Strobe  0/0x08   |
            |-ACK   10      5               1/0x40   |
            +----------------------------------------+
            |DATA4  6       11      Data    0/0x10   |
            |BUSY   11      6               1/0x80   |
            +----------------------------------------+
            |GND    18-25   18-25   GND -            |
            +----------------------------------------+
      



また, この Mobile Computing についての ページもご覧ください.

Q: ハードディスクドライブには, どのジオメトリを使うべきでしょうか?

A: (ここでディスクの「ジオメトリ」とは, ディスクのシリンダ, ヘッダ, トラック当りのセクタの数を意味しています - 便宜上, C/H/S とすることにします. これはディスクのどの領域で読み書きを おこなうかを PC の BIOS が決定する手段となります.)

これについてはある理由のために, 誤解されている点が多いようです. まず最初に, FreeBSD はディスクブロックで動作しているため, SCSI ドライブの物理的なジオメトリという言い方は, まったく見当違いのものです. 事実, セクタの密度はディスク によってまちまちであるため, 物理的なジオメトリというものは 存在しません - 製造者が「本当の」物理的なジオメトリと公表 しているものは通常, 彼らが検査して得た最小の使用不可容量の 結果のジオメトリのことです. IDE の場合は, FreeBSD は C/H/S で動作しますが, 最近のドライブすべては同様にこれを内部で参照 するブロックに変換しています.

すべての問題は論理的なジオメトリです - これは BIOS が そのディスクのジオメトリについて調べた際に取得されるものであり, その後のディスクへのアクセスに使用します. FreeBSD はブート時に BIOS を使用するため, これを正しく取得することは非常に重要な ことなのです. 実際に, ディスク上に複数のオペレーティング システムがある場合は, ジオメトリはどこからでも同じように解釈 される必要があり, さもないとブートの際に深刻な問題になります.

SCSI ディスクでは, 使用するジオメトリはコントローラの拡張 BIOS トランスレーションが有効になっているかどうかによります (``>1GB の DOS ディスクドライブのサポート'' とも呼ばれます). 無効になっている場合, N シリンダ, 64 ヘッド, 32 セクタ/トラック を使用しますが, ここで `N' は MB 単位のディスク容量です. 例えば, 2GB ディスクは見かけ上 2048 シリンダ, 64 ヘッド, 32 セクタ/トラックとなります.

それが「有効」になっており (MS-DOS ではこの方法で, ある制限 を回避する場合もあります), ディスク容量が 1GB を越える場合は, M シリンダ, 63 セクタ/トラック (64 「ではなく」), 255 ヘッド を使用します. `M' は MB 単位のディスク容量を 7.844238 (!) で割った値となります. ということで, 2GB ディスクの例では, 261 シリンダ, 63 セクタ/トラック, 255 ヘッドとなります. (訳注: 以上は Adaptec 社と NCR 社製の SCSI アダプタの場合です. SCSI アダプタによって変換の数値が変わってくるのでマニュアルを 参照してください.)

これについてよく分からない場合や FreeBSD がインストール中に 正しくジオメトリを取得できない場合, これを回避するもっとも 簡単な方法はディスクに小さな DOS パーティションを作ることです. そうすると正しいジオメトリが取得されるはずです (そして, 残しておきたくないとかネットワークカードのプログラミング用に 使いたい場合などには, いつでもパーティションエディタで DOS パーティションを削除することができます).

もう一つの方法として, FreeBSDと一緒にに配布されているフリー で使えるユーティリティに ``pfdisk''(FreeBSD CD-ROM の toolsディレクトリかいろいろな FTP サイトにあります) と呼ばれるものがあり, ディスク上の他のオペレーティングシステム が使用しているジオメトリを調べるのに役立ちます. そして, この ジオメトリ情報をパーティションエディタに入力することができます.

Q: ディスクの分割の仕方で何か制限はありますか?

A: はい. BIOS がカーネルをブートできるようにルートパーティションが 1024 シリンダ以内にあることを確認する必要があります (これは FreeBSD ではなく PC の BIOS の制限です).

SCSI ドライブでは, 通常はルートパーティションが最初の 1024MB に収まっていることが前提となります (または拡張 BIOS トランスレーション が有効になっている場合は最初の 4096MB - 他の質問をご覧ください). IDE でそれに相当する値は 504MB となります. (訳注: E-IDE 対応の BIOS 搭載マシンの場合は IDE の 504MB という 制限はありません.)

Q: 大容量ディスクを持っていますが, ディスクマネージャは使えますか?

A: FreeBSD は Ontrack Disk Manager を認識し, これを考慮にいれます. 他のディスクマネージャはサポートしません.

ディスク全体を FreeBSD で使いたい場合は, ディスクマネージャ は必要ありません. BIOS が扱える容量いっぱいで (通常は 504MB) ディスクの設定をおこなうと, FreeBSD は実際の容量を算出する はずです. MFM コントローラ付きの古いディスクを使っている場合は, FreeBSD に使用するシリンダ数を詳細に指定する必要があります.

FreeBSD と他のオペレーティングシステムが入っているディスクを 使用したい場合は, ディスクマネージャなしでもできるでしょう: FreeBSD のブートパーティションと他のオペレーティングシステム 用のスライスが最初の 1024 シリンダ内に収まっている事を確認 するだけです. 気になる方は, ブートパーティションを 20 メガバイト ぐらいにして大きめにするととよいでしょう.

Q: FreeBSD のブート時に ``Missing Operationg System'' と表示されます

A: これは FreeBSD や DOS, そのほかの OS がディスク領域 ジオメトリ のとらえ方で衝突 しあっていることから起こる典型的な例です. こうなったら FreeBSD をインストールし直す以外にはありませんが, 他のところで説明した手順にしたがってやれば, ほぼ間違いなくうまくいくはずです.

Q: ブートマネージャの `F?' プロンプトが表示されません.

A: これはすでに前に質問されている問題のもう一つの症状です. BIOS のジオメトリと FreeBSD のジオメトリ設定が一致していないのです! コントローラや BIOS がシリンダの変換 (``>1GB ドライブの サポート'' とも呼ばれます) をサポートしていたら, その設定を無効化して FreeBSD をインストールし直してみてください.

Q: 16MB を越えるメモリを搭載していますが, 何か問題が起こりますか?

A: 性能問題以外は無しです. FreeBSD 2.X は bounce-buffer をサポートしており, バスマスタリングコントローラは 16MB より上のメモリ領域に アクセスできます. (ISA デバイスを使用している場合のみ必要 となりますが, 一部の EISA と VLB デバイスでも必要な場合 があります.)

また, もっと多くのメモリを搭載している場合, Compaq や利用可能な メモリサイズを正しく報告しない他の BIOS を使用している場合は, >64M マシン の節をご覧ください.

Q: ソースを全部インストールする必要はありますか?

A: 一般的には「いいえ」です. しかし最低でも, ``base'' ソースキット (これにはこの FAQ で述べられているファイルの いくつかが含まれています) と, ``sys'' (kernel) ソースキット (これにはカーネルのソースが含まれています) をインストール する事を強くおすすめします. 通常, 何かの実行にソースが必要 になる事はありません. しかし, カーネルをコンフィグレーション するためのプログラム config を実行する時は例外です. カーネルのソースをインストールしなくてもよい例として, どこか 別の場所からカーネルのソースを読み込み専用で NFS マウントする 事ができ, またそこから新しいバイナリを作成できるようになって います. (カーネルソースの制限があるので, 直接 /usr/src を マウントする事はおすすめできません. それよりもどこか別の ディレクトリにマウントして, ソースツリーの複製ができるように 適切にシンボリックリンクを張ってください.)

ソースをネットワーク上に持ち, そこからシステムをビルド するようにしておけば, FreeBSD の将来のリリースへのアップグレード がずっと簡単になります.

実際にソースのサブセットを選択するには, システムインストール ツールの「配布ファイル」メニューにある「カスタム」メニュー を使用します. また, src/install.sh スクリプトでも 与える引数によってソース配布ファイルの一部分をインストールできます.

Q: カーネルは作り直さなくちゃならないんですか?

A: カーネルを新しく作り直すのは元々 FreeBSD のインストール時に どうしても必要なことでした. でも最近のリリースでは, とても ユーザフレンドリなカーネル設定ツールの恩恵を受けています. FreeBSD のブートプロンプト (boot:) で "-c" と打てば ビジュアルな設定画面になり, ほとんどの一般的な ISA カードに ついてのカーネルの設定をすることができるのです.

今でも, 必要なデバイスドライバだけを組み込んだカーネルを 作ることはよい事とされています. ほんのちょっとだけメモリを 節約できますからね. でもほとんどのシステムでは, もはや どうしてもやらなくちゃならないことではないのです.

Q: アメリカ合衆国国外に住んでいますが, DES 暗号化ソフトウェアは使えますか?

A: DES スタイルの暗号化コードの使用が絶対避けられないものでない 場合は, よりよいセキュリティで輸出規制のない FreeBSD の デフォルトの暗号化コードが使用できます. FreeBSD 2.0 ではパスワードの デフォルトのスクランブラは MD5 ベースになっています. これは, パスワード破りのプログラムに対して DES よりも CPU パワーを要求し, またより長いパスワードを使うことできます. いまどき MD5 ベースの crypt を使用しない理由があるとすれば, それは FreeBSD とそれ以外のシステムで同じ password エントリを 使用しているぐらいのもんでしょう.

DES 暗号化アルゴリズムを合法的に合衆国国外に持ち出す事 ができないため, 合衆国国外のユーザは合衆国の FTP サイト から該当するソフトウェア (secrdist の部分) を 持ち出してはいけません.

しかし, これに代わる libcrypt が, オーストラリアの David Burren によって書かれたソースをベースに作られています. これは合衆国国外のいくつかの FTP ミラーサイトで公開されています. この制限の課せられていない libcrypt のソースと, それを 使ったプログラムのバイナリは, 以下の FTP サイトから入手する 事ができます:

南アフリカ

ftp://ftp.internat.FreeBSD.org/pub/FreeBSD ftp://storm.sea.uct.ac.za/pub/FreeBSD

ブラジル

ftp://ftp.iqm.unicamp.br/pub/FreeBSD

フィンランド

ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt

訳注: 日本国内では以下のサイトにあります.

日本

ftp://daemon.jp.FreeBSD.org/pub/FreeBSD-internat



この合衆国国外向けの securdist は, 合衆国国内向けの securedist をちょうど置き換えるように使う事ができます. この securedist は合衆国国内版のパッケージと同じ方法で インストールできます (詳しい方法はインストールノートを ご覧ください). DES 暗号化コードをインストールしたい場合は, 他のアプリケーションをインストールする前に, なるべく早い段階で インストールしておく必要があります.

合衆国国外のユーザは, お願いですからいかなる暗号化ソフトウェア も合衆国内からダウンロードしないでください. ダウンロードされた サイトの管理者は, 法律的にとても難しく困難な立場に立たされる 事になります.

合衆国以外向けの Kerberos も開発されつつあります. 現在の バージョンは anonymous FTP で braae.ru.ac.za から 入手できます.

また, 合衆国国外向けの暗号化ソフトウェアに関する議論のための メーリングリストもあります. より詳しい情報については, メールの本文に ``help'' とだけ書いて まで送ってください.

Q: ブートフロッピーで起動すると, ``Probing Devices...'' の画面でハングアップします.

A: IDE Zip か Jaz ドライブが接続されていたら, それを取り外して もう一度試してみましょう. ブートフロッピーはこの種のドライブを誤認して しまうのです. システムがインストールされた後は, そのドライブを再度接続することができます. うまくいけばこの問題は将来のリリースで解決されるでしょう.

Q: インストール終了後にシステムをリブートすると, ``panic: cant mount root'' のエラーとなります.

A: このエラーはディスクデバイスについてブートブロックとカーネルの 認識が混乱しているために起こります. このエラーは通常 2 台の IDE ディスクがそれぞれ別の IDE コントローラのマスターかシングルデバイス として接続されているシステムにおいて, FreeBSD がセカンダリ IDE コントローラに接続されたディスクにインストールされている場合に発生します. ブートブロックは FreeBSD が wd1 (2 台目の BIOS ディスク) にインストール されていると認識するのに対し, カーネルは セカンダリ IDE の 1 台目の ハードディスクである wd2 にインストールされていると認識するのです. デバイスプローブの後で, カーネルはブートブロックがブートディスクだと 認識したディスクである wd1 を mount しようとします. 実際には ブートディスクは wd2 なので失敗してしまうのです.

この問題を解決するには, 以下のどれか一つを行ってください:

  1. Boot: プロンプトで, 1:wd(2,a)kernel と入力してエンターキーを押します. システムが起動したら,

    echo "1:wd(2,a)kernel" > /boot.config

    というコマンドを実行してこれをデフォルトのブート文字列とします.

  2. FreeBSD のディスクをプライマリ IDE コントローラに接続して, ハードディスクが連続したドライブ番号で認識されるようにします.

  3. カーネルのコンフィグレーションファイルで wd の行を以下のように 変更してからカーネルを再構築 を行い, 新しいカーネルをインストールします.

    controller      wdc0    at isa? port "IO_WD1" bio irq 14 vector wdintr
    disk            wd0     at wdc0 drive 0
    # disk            wd1     at wdc0 drive 1 # この行をコメントアウト

    controller      wdc1    at isa? port "IO_WD2" bio irq 15 vector wdintr
    disk            wd1     at wdc1 drive 0 # wd2 から wd1 へ変更
    disk            wd2     at wdc1 drive 1 # wd3 から wd2 へ変更

    ディスクの接続を変更して元の設定に戻したい場合は, ディスクを お望みの設定の通りの接続に戻してからリブートします. システムは正常に起動するはずです.



Q: メモリの大きさの制限は?

A: メモリは, (論理的な) 限界は 4 ギガバイトです. 1 ギガバイトのものは すでにテストがされています. 普通は i386 の PC ではそれ以上のメモリを サポートしているものを買うことはできません.

Q: ffs ファイルシステムの大きさの制限は?

A: ffs ファイルシステムは, 論理的な最大の上限は 8 テラバイト (2G ブロック) か, デフォルトのブロックサイズを 8K とすると 16 テラバイトとなります. 実際問題として, 1 テラバイトのソフトウェアの限界がありますが, 修正すれば 4 テラバイトのファイルシステムが可能です (実際に存在します).

一つの ffs のファイルの最大のサイズは, ブロックサイズが 4K の場合で 約 1 ギガブロック (4 テラバイト) です.

                           maxfilesize
                ----------------------------------
                2.2.7    3.0
fs block size   -stable  -current  works  should-work
-------------   -------  --------  -----  -----------
4K              4T-1       4T-1    4T-1   4+T
8K              32+G       8T-1    32+G   16T-1
16K             128+G      16T-1   128+G  32T-1
32K             512+G      32T-1   512+G  64T-1
64K             2048+G     64T-1   2048+G 128T-1
     



fs ブロックサイズが 4K の場合は三重間接ブロックが使用され, いづれの場合でも三重間接ブロックを使用して表現できる最大の fs ブロック番号 (およそ 1K^3 + 1K^2 + 1K) に制限されるはずなのですが, 実際は fs ブロック番号の (間違った) 上限 1G-1 で制限されます. fs ブロック番号の制限は 2G-1 となるはずです. 2G-1 付近に fs ブロック番号のバグが多少ありますが, fs ブロックサイズが 4K の場合は, ここまでのブロック番号には到達しません.

ブロックサイズが 8K 以上の場合, いづれの場合も fs ブロック番号の 上限 2G-1 で制限されるはずですが, 実際は fs ブロック番号の上限 1G-1 で制限されます. 例外的に -stable では三重間接ブロックまでは 到達しないため, 制限は二重間接ブロックで表現できる最大の fs ブロック番号 (およそ (blocksize/4)^2 + (blocksize/4)) となります. -current ではこの制限を超えると問題を引き起こすかもしれません. 正しい制限値である 2G-1 ブロックを使用すると明らかに問題が出ます.

Q: フロッピーに 1 テラバイトのファイルを格納するには?

A: わたしのところではフロッピーにいくつかの実際のファイルを保存しています :-). 最大のファイルサイズは最大のディスクサイズとはあまり関係はありません. 最大のディスクサイズは 1TB です. ファイルサイズがディスクサイズより 大きくなりうるというのは仕様です.

以下の例は, 32K のディスク容量 (3 つの間接ブロックと 1 つのデータブロック) を使って, 小さなルートパーティションに 8T-1 の大きさのファイルを作成します. ここでの dd コマンドは 大きなファイルが扱えるものが必要です.

ttyv0:bde@alphplex:/tmp/q> cat foo
df .
dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1
ls -l z
du z
df .
ttyv0:bde@alphplex:/tmp/q> sh foo
Filesystem  1024-blocks     Used    Avail Capacity  Mounted on
/dev/sd0a         64479    27702    31619    47%    /
1+0 records in
1+0 records out
1 bytes transferred in 0.000187 secs (5346 bytes/sec)
-rw-r--r--  1 bde  bin  8796093022207 Sep  7 16:04 z
32 z
Filesystem  1024-blocks     Used    Avail Capacity  Mounted on
/dev/sd0a         64479    27734    31587    47%    /
ttyv0:bde@alphplex:/tmp/q> exit



Bruce Evans, September 1998

Q: 新しいカーネルをコンパイルしたのですが, ブート時に "archsw.readin.failed" というエラーメッセージが 表示されるようになってしまいました.

A: 起動させるには, ブートプロセスのセカンドステージにおいて 起動したいカーネルを直接指定してください. それには, ローダが始動する前, | が表示されている時に何かキーを押します. これは特に, カーネルのソースをアップグレードして, 構築したカーネルを make world しないで インストールしてしまった場合に 起こります, この場合の動作はサポートされていません. 必ず make world を実行してください.