9.6. コンフィグレーションファイル

改訂: Joel Dahl.

コンフィグレーションファイルの一般的なフォーマットはとてもシンプルです。 各行は 1 つのキーワードと 1 つ以上の引数を含んでいます。 見やすくするために、ほとんどのキーワードは引数を 1 つしか書いてありません。 # に続くものはすべてコメントとして扱われ、 無視されます。ここでは、それぞれのキーワードについて GENERIC に出てくる順番で説明します。 アーキテクチャ依存のおびただしい数のオプション一覧については、 GENERIC と同じディレクトリにある NOTES ファイルをご覧ください。 アーキテクチャに依存しないオプションについては、 /usr/src/sys/conf/NOTES ファイルをご覧ください。

コンフィグレーションファイルでは include ディレクティブを利用できます。 コンフィグレーションファイルに他のファイルを取り込むことができるので、 すでに存在するファイルに対する小さな変更を簡単に維持できます。 たとえば、オプションやドライバを少しだけ追加した GENERIC カーネルを必要としているのであれば、 include を用いて、以下のように GENERIC からの差分だけの記述でコンフィグレーションファイルを作成できます。

include GENERIC
ident MYKERNEL

options         IPFIREWALL
options         DUMMYNET
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPDIVERT

多くの管理者は、 コンフィグレーションファイルを個別に管理していたこれまでの手法にくらべ、 このモデルが大変有益だと考えるでしょう。 ローカルのコンフィグレーションファイルには、GENERIC とローカルとの差分のみが記述されており、 GENERIC がアップグレードされて新しい機能が追加されると、 (nooptionsnodevice によって外されない限り) ローカルのカーネルにも反映されます。 この章のここから先は、典型的なコンフィグレーションファイルの中身と、 さまざまなオプションやデバイスの役割について説明します。

注意: 利用可能なすべてのオプションを含むファイルを (通常はテスト目的で) 構築するには、 以下のコマンドを root 権限で実行してください。

# cd /usr/src/sys/i386/conf && make LINT

以下は必要に応じてコメントを追加した GENERIC カーネルのコンフィグレーションファイルの例です。 この設定例は /usr/src/sys/i386/conf/GENERIC に極めて近いものになっているはずです。

machine		i386

マシンのアーキテクチャです。これは amd64, i386, ia64, pc98, powerpc または sparc64 のいずれかでなければなりません。

cpu          I486_CPU
cpu          I586_CPU
cpu          I686_CPU

上記のオプションは、あなたのシステムの CPU タイプを指定します。 複数の行を書いても構いません (例: I586_CPU とすべきか I686_CPU とすべきかはっきり分からない場合)。 しかしながら、カスタムカーネルを作る場合、あなたの持つ CPU だけを指定するのがベストです。 もしあなたの CPU がどのタイプか分からない場合、 /var/run/dmesg.boot ファイルを確認して起動メッセージを調べるとよいでしょう。

ident          GENERIC

ここにはカーネルの識別名を書きます。 (前記の例の MYKERNEL のように) あなたがカーネルに付けたい名前に書き換えて下さい。 ident に書いた名前はカーネルを起動する時に表示されるので、 (実験的なカーネルを構築する場合など) 普段使っているカーネルと区別したいときは、 新しいカーネルに違う名前を付けると良いでしょう。

#To statically compile in device wiring instead of /boot/device.hints
#hints          "GENERIC.hints"         # Default places to look for devices.

デバイスドライバのオプションは device.hints(5) を用いて設定されます。 loader(8) は、起動時にデフォルトで /boot/device.hints を確認します。 hints オプションを用いると、 カーネルにこれらのヒント情報を静的に加えてコンパイルできます。 その場合には、/bootdevice.hints ファイルを作成する必要はありません。

makeoptions     DEBUG=-g          # Build kernel with gdb(1) debug symbols

通常の FreeBSD のビルド過程では、-g オプションとともにカーネルを構築すると、デバッグ情報を含みます。 このオプションは gcc(1) がデバッグ情報を生成するようにします。

options          SCHED_ULE         # ULE scheduler

FreeBSD のデフォルトのスケジューラです。 このオプションはこのままにしてください。

options          PREEMPTION         # Enable kernel thread preemption

カーネル空間において、優先度の高いスレッドがプリエンプションできるようにします。 このオプションを使うことでインタラクティブになり、 待ち状態になるよりすぐに実行状態になるようスレッドの割り込みを許可します。

options          INET              # InterNETworking

ネットワークのサポート。 ネットワークに接続する予定がなくてもこのオプションは残して下さい。 殆どのプログラムは少なくともループバックネットワーク (あなたの PC の中でのネットワーク接続) を必要としますので、 基本的にこの行は必須です。

options          INET6             # IPv6 communications protocols

このオプションは IPv6 通信プロトコルを利用可能にします。

options          FFS               # Berkeley Fast Filesystem

これは標準のハードドライブファイルシステムです。 ハードディスクから起動する場合は残して下さい。

options          SOFTUPDATES       # Enable FFS Soft Updates support

このオプションは、カーネル内の Soft Updates 機能を有効にし、 ディスクへの高速な書き込みを支援します。 カーネルがこの機能を提供していても、 特定のディスクに対してはこのオプションを有効にする必要があります。 mount(8) の出力を見て、使用しているディスクで Soft Updates が有効になっているかどうかを確認してください。 soft-updates オプションが見当たらなければ、 (現在使用しているファイルシステムには) tunefs(8) や、 (新規のファイルシステムには) newfs(8) コマンドで有効にする必要があります。

options          UFS_ACL           # Support for access control lists

このオプションは、カーネルのアクセス制御リストのサポートを有効にします。 この機能は拡張属性および UFS2 が有効になっていることに依存し、 項4.3 で機能の説明が行われています。 ACL はデフォルトで有効にされています。 もし、これまでにファイルシステムで有効にしていたのであれば、 カーネルの中で無効にすべきではありません。 なぜなら、無効にするとアクセス制御リストが削除され、 ファイルの保護が予想できない方法で行われるためです。

options          UFS_DIRHASH       # Improve performance on big directories

このオプションは、メモリを多少余分に食うものの、 大きなディレクトリに対するディスク操作を高速化する機能を有効にします。 大規模なサーバや対話的なワークステーションではこのオプションを残しておいて、 ファイアウォールのように、 メモリが貴重でディスクアクセス速度がそれほど重要でない小規模なシステムでは削除するとよいでしょう。

options          MD_ROOT           # MD is a potential root device

このオプションは、メモリディスクによる root デバイスのサポートを有効にします。

options          NFSCLIENT         # Network Filesystem Client
options          NFSSERVER         # Network Filesystem Server
options          NFS_ROOT          # NFS usable as /, requires NFSCLIENT

ネットワークファイルシステム。 UNIX® ファイルサーバから TCP/IP を介してパーティションをマウントするのでない限り、 これらの行をコメントアウトして下さい。

options          MSDOSFS           # MSDOS Filesystem

MS-DOS® ファイルシステム。 起動時に DOS でフォーマットされたハードドライブをマウントするのでない限り、 この行は安全にコメントアウトできます。 この機能は最初に DOS パーティションをマウントする時に自動的にロードされます。 又、優秀な emulators/mtools を使ってもマウント、 アンマウントすることなしに DOS フロッピーにアクセスすることができます。 (MSDOSFS は必要としません)

options          CD9660            # ISO 9660 Filesystem

CD-ROM 用の ISO 9660 ファイルシステム。 もしあなたが CD-ROM ドライブを持っていないか、 時々データ CD をマウントするだけならこの行をコメントアウトしても大丈夫です (データ CD を最初にマウントする時、自動的にロードされます)。 音楽 CD はこのファイルシステムを必要としません。

options          PROCFS            # Process filesystem (requires PSEUDOFS)

プロセスファイルシステム。 これは /proc にマウントされる、 ファイルシステムの “ふりをする” もので、 ps(1) のようなプログラムに、 どんなプロセスが走っているかに関するより多くの情報を提供させる事ができます。 ほとんどのデバッグおよびモニタリングツールが PROCFS なしで起動するので、 ほとんどの環境では PROCFS を必要としません。 新しくインストールした場合には、 デフォルトではプロセスファイルシステムをマウントしません。

options          PSEUDOFS          # Pseudo-filesystem framework

カーネルで PROCFS を使う場合には、 PSEUDOFS のサポートが必要です。

options          GEOM_PART_GPT     # GUID Partition Tables.

GUID パーティションテーブル に対応します。 GPT では、1 つのディスクに数多くのパーティション (標準の構成では最大 128) を作成可能です。

options          COMPAT_43         # Compatible with BSD 4.3 [KEEP THIS!]

4.3BSD との互換機能です。 有効なままにして下さい。 この行をコメントアウトするとおかしな動きをするプログラムがあります。

options          COMPAT_FREEBSD4   # Compatible with FreeBSD4

このオプションは、 古いバージョンの FreeBSD でコンパイルされた古いシステムコールインターフェースを用いるアプリケーションを利用する場合に必要とされます。 古いアプリケーションを実行するすべての i386™ システムで、このオプションの利用を推奨します。 5.X でのみサポートされている ia64 や SPARC64® といったプラットフォームでは、 このオプションは必要ありません。

options          COMPAT_FREEBSD5   # Compatible with FreeBSD5

このオプションは、 FreeBSD�5.X でコンパイルされた FreeBSD�5.X のシステムコールインタフェースを用いるアプリケーションを利用する場合に必要とされます。

options          COMPAT_FREEBSD6   # Compatible with FreeBSD6

このオプションは、 FreeBSD�6.X でコンパイルされた FreeBSD�6.X のシステムコールインタフェースを用いるアプリケーションを利用する場合に必要とされます。

options          COMPAT_FREEBSD7   # Compatible with FreeBSD7

このオプションは、FreeBSD�8 以降において FreeBSD�7.X でコンパイルされた FreeBSD�7.X のシステムコールインタフェースを用いるアプリケーションを利用する場合に必要とされます。

options          SCSI_DELAY=5000  # Delay (in ms) before probing SCSI

この行は、カーネルがそれぞれの SCSI 機器を検出する前に 5 秒間待つようにします。 あなたが IDE ドライブしか持たないなら無視して結構です。 そうでないなら、起動時間を短くするために、この数字を小さく変更できます。 勿論、そうした場合に FreeBSD が SCSI 機器を認識しなくなってしまったら、もう一度数字を増やしてください。

options          KTRACE            # ktrace(1) support

この行はデバッグに役立つカーネルプロセスのトレースを可能にします。

options          SYSVSHM           # SYSV-style shared memory

このオプションは System�V 共有メモリを提供します。 この機能の最も一般的な使用方法は X における XSHM 拡張です。 多くのグラフィックス重視のプログラムではこの機能を自動的に描画のスピードアップに利用します。 X を使っているなら、これを含めておいた方がいいでしょう。

options          SYSVMSG           # SYSV-style message queues

System�V のメッセージのサポート。 このオプションはカーネルサイズを数百バイト大きくするだけです。

options          SYSVSEM           # SYSV-style semaphores

System�V セマフォのサポート。 あまり使われませんが、カーネルサイズは数百バイト大きくなるだけです。

注意: ipcs(1) コマンドを -p オプションで実行すると、これらの System�V 機能を使っているプロセスのリストを表示します。

options 	     _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions

リアルタイム拡張が 1993 POSIX® に追加されました。 Ports Collection の内のいくつかのアプリケーション (たとえば StarOffice) はこれを使っています。

options          KBD_INSTALL_CDEV  # install a CDEV entry in /dev

キーボードデバイスノードを /dev に作成するにはこのオプションが必要です。

options          ADAPTIVE_GIANT    # Giant mutex is adaptive.

Giant は、カーネル資源の広い範囲をプロテクトする mutex 排他メカニズム (sleep mutex) の名前です。 このメカニズムは、今日では受け入れがたいほどにパフォーマンスのボトルネックとなっており、 個々の資源をプロテクトするロック機構に移行しています。 ADAPTIVE_GIANT オプションは、 スピンしている適応型 mutex のセットに Giant を追加します。 すなわち、スレッドが Giant mutex をロックしようとする際、 他の CPU 上のスレッドによってすでにロックされていた場合には、 最初のスレッドは実行状態のままロックが解除されるのを待ちます。 通常、スレッドは実行の機会をスリープ状態で待ちます。 もし、よくわからないのであれば、そのままにしておいてください。

注意: FreeBSD 8.0-RELEASE 以降では (NO_ADAPTIVE_MUTEXES オプションでコンパイルを行って非適合型にするのでなければ) すべての mutex はデフォルトで適合型になりました。 現在の Giant は適合型なので、ADAPTIVE_GIANT オプションはカーネルコンフィグレーションから外されました。

device          apic               # I/O APIC

apic デバイスは、I/O APIC の割り込みを有効にします。 ユニプロセッサおよび SMP カーネル両方で使用できますが、 SMP カーネルでは必須です。 マルチプロセッサに対応するには options SMP を追加してください。

注意: apic デバイスは i386 アーキテクチャにのみ存在します。 他のアーキテクチャでは、この行を含まないでください。

device          eisa

あなたが EISA マザーボードを持っている場合、 この行を含めて下さい。これは EISA バスに接続されているすべてのデバイスの自動検出と設定を可能にします。

device          pci

あなたが PCI マザーボードを持っている場合、この行を含めて下さい。 これは PCI カードの自動検出と PCI から ISA バスへのゲートウエイを可能にします。

# Floppy drives
device          fdc

これはフロッピーディスクコントローラです。

# ATA and ATAPI devices
device          ata

このドライバはすべての ATA と ATAPI デバイスをサポートします。 最近のマシンでは device ata 行を 1 行書くだけですべての PCI ATA/ATAPI デバイスを検出することができます。

device          atadisk                 # ATA disk drives

ATA ディスクドライブには device ata と共にこの行が必要です。

device          ataraid                 # ATA RAID drives

ATA RAID ドライブには device ata と共にこのデバイスが必要です。

device          atapicd                 # ATAPI CDROM drives

ATAPI CDROM ドライブには device ata と共にこの行が必要です。

device          atapifd                 # ATAPI floppy drives

ATAPI フロッピードライブには device ata と共にこの行が必要です。

device          atapist                 # ATAPI tape drives

ATAPI テープドライブには device ata と共にこの行が必要です。

options         ATA_STATIC_ID           # Static device numbering

この行はコントローラ番号を静的に割り当てます。 このオプションがない場合、デバイス番号は動的に割り当てられます。

# SCSI Controllers
device          ahb        # EISA AHA1742 family
device          ahc        # AHA2940 and onboard AIC7xxx devices
options         AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~128k to driver.
device          ahd        # AHA39320/29320 and onboard AIC79xx devices
options         AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
                                        # output.  Adds ~215k to driver.
device          amd        # AMD 53C974 (Teckram DC-390(T))
device          isp        # Qlogic family
#device         ispfw      # Firmware for QLogic HBAs- normally a module
device          mpt        # LSI-Logic MPT-Fusion
#device         ncr        # NCR/Symbios Logic
device          sym        # NCR/Symbios Logic (newer chipsets + those of `ncr')
device          trm        # Tekram DC395U/UW/F DC315U adapters

device          adv        # Advansys SCSI adapters
device          adw        # Advansys wide SCSI adapters
device          aha        # Adaptec 154x SCSI adapters
device          aic        # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device          bt         # Buslogic/Mylex MultiMaster SCSI adapters

device          ncv        # NCR 53C500
device          nsp        # Workbit Ninja SCSI-3
device          stg        # TMC 18C30/18C50

SCSI コントローラです。 あなたのシステムにないデバイスはコメントアウトして下さい。 もし IDE しかないシステムならこれらすべてを削除できます。 *_REG_PRETTY_PRINT 行は、 対応するドライバに対するデバッグオプションです。

# SCSI peripherals
device          scbus      # SCSI bus (required for SCSI)
device          ch         # SCSI media changers
device          da         # Direct Access (disks)
device          sa         # Sequential Access (tape etc)
device          cd         # CD
device          pass       # Passthrough device (direct SCSI access)
device          ses        # SCSI Environmental Services (and SAF-TE)

SCSI 周辺機器です。 あなたが持っていないデバイスはコメントアウトして下さい。 もし IDE しか持っていないならこれらを完全に削除できます。

注意: USB umass(4) ドライバ、およびその他のいくつかのドライバは、 本当の SCSI デバイスではないにもかかわらず、 SCSI サブシステムを利用します。 そのため、そのようなドライバがカーネルコンフィグレーションに含まれている場合には、 SCSI サポートを削除しないでください。

# RAID controllers interfaced to the SCSI subsystem
device          amr        # AMI MegaRAID
device          arcmsr     # Areca SATA II RAID
device          asr        # DPT SmartRAID V, VI and Adaptec SCSI RAID
device          ciss       # Compaq Smart RAID 5*
device          dpt        # DPT Smartcache III, IV - See NOTES for options
device          hptmv      # Highpoint RocketRAID 182x
device          hptrr      # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
device          iir        # Intel Integrated RAID
device          ips        # IBM (Adaptec) ServeRAID
device          mly        # Mylex AcceleRAID/eXtremeRAID
device          twa        # 3ware 9000 series PATA/SATA RAID

# RAID controllers
device          aac        # Adaptec FSA RAID
device          aacp       # SCSI passthrough for aac (requires CAM)
device          ida        # Compaq Smart RAID
device          mfi        # LSI MegaRAID SAS
device          mlx        # Mylex DAC960 family
device          pst        # Promise Supertrak SX6000
device          twe        # 3ware ATA RAID

サポートされる RAID コントローラです。 これらのどれも持っていない場合、 すべてをコメントアウト又は削除することができます。

# atkbdc0 controls both the keyboard and the PS/2 mouse
device          atkbdc     # AT keyboard controller

キーボードコントローラ (atkbdc) は AT キーボード及び PS/2 スタイルポインティングデバイスの I/O サービスを提供します。 キーボードドライバ (atkbd) と PS/2 ポインティングデバイスドライバ (psm) はこのコントローラを必要とします。

device          atkbd      # AT keyboard

atkbd ドライバ。 atkbdc コントローラと協調して動作し、 AT キーボードコントローラに接続された AT 84 キーボードや AT 拡張キーボードへのアクセスを提供します。

device          psm        # PS/2 mouse

あなたのマウスが PS/2 マウスポートに接続するタイプならこのデバイスを使って下さい。

device          kbdmux        # keyboard multiplexer

標準のキーボードマルチプレクサのサポート。 2 つ以上のキーボードを用いる予定がないのであれば、 この行を削除してもかまいません。

device          vga        # VGA video card driver

ビデオカードドライバです。


device          splash     # Splash screen and screen saver support

起動時にスプラッシュスクリーンが表示されます! スクリーンセーバもこのデバイスを必要とします。

# syscons is the default console driver, resembling an SCO console
device          sc

sc は SCO に類似したデフォルトのコンソールドライバです。 殆どのフルスクリーンのプログラムは termcap のようなターミナルデータベールライブラリにアクセスするので、 sc を使うか VT220 互換のコンソールドライバである vt を使うかは重要ではありません。 ログイン時、このコンソールでフルスクリーンプログラムが動かないときは TERM 変数を scoansi に設定して下さい。

# Enable this for the pcvt (VT220 compatible) console driver
#device          vt
#options         XSERVER          # support for X server on a vt console
#options         FAT_CURSOR       # start with block cursor

これは VT220 互換のコンソールドライバで、 VT100/102 と後方互換性があります。 sc とハード的に互換性がないラップトップでも問題なく動きます。 ここでもログイン時に TERM 変数を vt100 又は vt220 と設定して下さい。 このドライバは、sc デバイス用の termcapterminfo のエントリが無い、ネットワーク上の多くの異なったマシンに接続する際にも有用です — vt100 は仮想的にすべてのプラットフォームで有効であるべきです。

device          agp

システムが AGP カードを搭載している場合には、 この行を含めてください。 AGP および (ボードが機能を持っている場合には) AGP GART に対応します。

# Power management support (see NOTES for more options)
#device          apm

先進的な電源管理機能 (APM) のサポート。 GENERIC ではデフォルトで無効にされていますが、 ラップトップでは役に立つでしょう。

# Add suspend/resume support for the i8254.
device           pmtimer

APM および ACPI といった電源管理イベントのためのタイマデバイスドライバです。

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device          cbb               # cardbus (yenta) bridge
device          pccard            # PC Card (16-bit) bus
device          cardbus           # CardBus (32-bit) bus

PCMCIA サポート。ラップトップを使っているなら必要でしょう。

# Serial (COM) ports
device          sio               # 8250, 16[45]50 based serial ports

これらは MS-DOS/Windows® の世界では COM と呼ばれているシリアルポートです。

注意: もしあなたが内蔵モデムを COM4 に、 シリアルポートを COM2 に設定している場合、FreeBSD からアクセスするには、 (IRQ2=IRQ9 という、不明瞭な技術的理由により) モデムの IRQ を 2 に変更する必要があります。 もしマルチポートシリアルカードを持っていて、これらを /boot/device.hints に追加する正しい数値に関する情報がほしい場合は、マニュアルページ sio(4) を参照して下さい。 ビデオカードのいくつかは (S3 チップベースのものは特に) IO アドレスを 0x*2e8 と言う形式で表現する一方、 多くの安価なシリアルカードは 16 ビットの IO アドレスを完全に デコードしないので、これらのカードを使った場合衝突が起こり、 事実上 COM4 ポートを使用不可能にします。

各々のシリアルポートは (共有割り込み番号をサポートするマルチポートカードを使っていない限り) 固有の IRQ を必要とします。 従って COM3COM4 用のデフォルト IRQ は利用できません。

# Parallel port
device          ppc

ISA バスパラレルポートインタフェースです。

device          ppbus      # Parallel port bus (required)

パラレルポートバスのサポートを提供します。

device          lpt        # Printer

パラレルポートプリンタのサポートです。

注意: 上の 3 つはすべてパラレルプリンタを利用可能にするために必要です。

device          plip       # TCP/IP over parallel

パラレルネットワークインタフェース用のドライバです。

device          ppi        # Parallel port interface device

汎用I/O (“geek port”) + IEEE1284 I/O です。

#device         vpo        # Requires scbus and da

Iomega の Zip ドライブ用です。scbusda サポートが必要です。 EPP 1.9モードを使うと最高の性能が得られます。

#device         puc

puc(4) glue ドライバがサポートしている “dumb” シリアル、 またはパラレル PCI カードを持っているのであれば、 このデバイスを有効にしてください。

# PCI Ethernet NICs.
device          de         # DEC/Intel DC21x4x (“Tulip”)
device          em         # Intel PRO/1000 adapter Gigabit Ethernet Card
device          ixgb       # Intel PRO/10GbE Ethernet Card
device          txp        # 3Com 3cR990 (“Typhoon”)
device          vx         # 3Com 3c590, 3c595 (“Vortex”)

PCI ネットワークカードのドライバです。 あなたのシステムにないものはコメントアウトするか削除して下さい。

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device          miibus     # MII bus support

MII バスサポートはいくつかの PCI 10/100 イーサネット NIC、 すなわち MII に従うトランシーバや MII のようなトランシーバ制御インタフェースを実装するもの、に必要となります。 カーネルコンフィギュレーションに device miibus を追加することで、汎用 miibus API のサポートと、 特定のドライバを必要としない場合に利用される汎用のものを含むすべての PHY ドライバが導入されます。

device          bce        # Broadcom BCM5706/BCM5708 Gigabit Ethernet
device          bfe        # Broadcom BCM440x 10/100 Ethernet
device          bge        # Broadcom BCM570xx Gigabit Ethernet
device          dc         # DEC/Intel 21143 and various workalikes
device          fxp        # Intel EtherExpress PRO/100B (82557, 82558)
device          lge        # Level 1 LXT1001 gigabit ethernet
device          msk        # Marvell/SysKonnect Yukon II Gigabit Ethernet
device          nge        # NatSemi DP83820 gigabit ethernet
device          nve        # nVidia nForce MCP on-board Ethernet Networking
device          pcn        # AMD Am79C97x PCI 10/100 (precedence over 'lnc')
device          re         # RealTek 8139C+/8169/8169S/8110S
device          rl         # RealTek 8129/8139
device          sf         # Adaptec AIC-6915 (“Starfire”)
device          sis        # Silicon Integrated Systems SiS 900/SiS 7016
device          sk         # SysKonnect SK-984x & SK-982x gigabit Ethernet
device          ste        # Sundance ST201 (D-Link DFE-550TX)
device          stge       # Sundance/Tamarack TC9021 gigabit Ethernet
device          ti         # Alteon Networks Tigon I/II gigabit Ethernet
device          tl         # Texas Instruments ThunderLAN
device          tx         # SMC EtherPower II (83c170 “EPIC”)
device          vge        # VIA VT612x gigabit ethernet
device          vr         # VIA Rhine, Rhine II
device          wb         # Winbond W89C840F
device          xl         # 3Com 3c90x (“Boomerang”, “Cyclone”)

MII バスコントローラコードを利用するドライバです。

# ISA Ethernet NICs.  pccard NICs included.
device          cs         # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device          ed         # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device          ex         # Intel EtherExpress Pro/10 and Pro/10+
device          ep         # Etherlink III based cards
device          fe         # Fujitsu MB8696x based cards
device          ie         # EtherExpress 8/16, 3C507, StarLAN 10 etc.
device          lnc        # NE2100, NE32-VL Lance Ethernet cards
device          sn         # SMC's 9000 series of Ethernet chips
device          xe         # Xircom pccard Ethernet

# ISA devices that use the old ISA shims
#device         le

ISA イーサネットドライバです。 どのカードがどのドライバによりサポートされているかの詳細は、 /usr/src/sys/i386/conf/NOTES を参照して下さい。

# Wireless NIC cards
device          wlan            # 802.11 support

標準の 802.11 サポート。ワイヤレスネットワークではこの行が必要です。

device          wlan_wep        # 802.11 WEP support
device          wlan_ccmp       # 802.11 CCMP support
device          wlan_tkip       # 802.11 TKIP support

802.11 デバイスの暗号化サポート。 暗号化および 802.11i セキュリティプロトコルを使うことを考えているのであれば、 これらの行が必要です。

device          an         # Aironet 4500/4800 802.11 wireless NICs.
device          ath             # Atheros pci/cardbus NIC's
device          ath_hal         # Atheros HAL (Hardware Access Layer)
device          ath_rate_sample # SampleRate tx rate control for ath
device          awi        # BayStack 660 and others
device          ral        # Ralink Technology RT2500 wireless NICs.
device          wi         # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device         wl         # Older non 802.11 Wavelan wireless NIC.

ワイヤレスカードのサポートです。

# Pseudo devices
device   loop          # Network loopback

TCP/IP の汎用ループバックデバイスです。 localhost (すなわち 127.0.0.1) に対して telnet や FTP で接続すると、このデバイスを通して戻ってきます。 これは必須です。

device   random        # Entropy device

暗号化されたセキュア乱数ジェネレータです。

device   ether         # Ethernet support

ether はイーサネットカードを持っている場合にのみ必要です。 汎用イーサネットプロトコルコードを含みます。

device   sl            # Kernel SLIP

sl は SLIP サポートを行います。 SLIP は設定のより簡単な、モデム-モデム間の接続にはより適していてより高機能な PPP に殆ど取って代わられています。

device   ppp           # Kernel PPP

これはダイアルアップ接続用のカーネル PPP サポートです。 他にも tun を利用し、 デマンドダイアリングのような柔軟性と機能を提供するユーザーランドのアプリケーションとして実装された PPP が存在します。

device   tun           # Packet tunnel.

これはユーザーランド PPP ソフトウエアにより利用されます。 詳細はこの本の PPP セクションを参照して下さい。


device   pty           # Pseudo-ttys (telnet etc)

これは “疑似ターミナル” 或いはシミュレートされたログインポートです。 これは入ってくる telnetrlogin セッション、 xterm やその他の Emacs のようなアプリケーションにより利用されます。

device   md            # Memory “disks”

メモリディスク疑似デバイス。

device   gif           # IPv6 and IPv4 tunneling

この行は IPv6 over IPv4 トンネル、IPv4 over IPv6 トンネル、 IPv4 over IPv4 トンネル、IPv6 over IPv6 トンネルを提供します。 gif デバイスは “auto-cloning (自動複製)” し、 必要に応じてデバイスノードを作成します。

device   faith         # IPv6-to-IPv4 relaying (translation)

この疑似デバイスは自分宛に送られたパケットを受け取り、 IPv4/IPv6 変換デーモンに渡します。

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device   bpf           # Berkeley packet filter

これはバークレーパケットフィルタです。 この疑似デバイスはネットワークインタフェースを、 イーサネットのようなブロードキャストネットワーク上ですべてのパケットを拾うことのできる promiscuous モードに設定できるようにします。 これらのパケットはディスクに取り込むこともできますし、 tcpdump(1) を使ってチェックをすることもできます。

注意: bpf(4) デバイスは、dhclient(8) がデフォルトルータ (ゲートウェイ) の IP アドレスなどを取得するためにも使われています。 DHCP を使っているなら、これはコメントアウトしないでください。

# USB support
device          uhci          # UHCI PCI->USB interface
device          ohci          # OHCI PCI->USB interface
device          ehci          # EHCI PCI->USB interface (USB 2.0)
device          usb           # USB Bus (required)
#device         udbp          # USB Double Bulk Pipe devices
device          ugen          # Generic
device          uhid          # “Human Interface Devices”
device          ukbd          # Keyboard
device          ulpt          # Printer
device          umass         # Disks/Mass storage - Requires scbus and da
device          ums           # Mouse
device          ural          # Ralink Technology RT2500USB wireless NICs
device          urio          # Diamond Rio 500 MP3 player
device          uscanner      # Scanners
# USB Ethernet, requires mii
device          aue           # ADMtek USB Ethernet
device          axe           # ASIX Electronics USB Ethernet
device          cdce          # Generic USB over Ethernet
device          cue           # CATC USB Ethernet
device          kue           # Kawasaki LSI USB Ethernet
device          rue           # RealTek RTL8150 USB Ethernet

さまざまな USB デバイスのサポートです。

# FireWire support
device          firewire      # FireWire bus code
device          sbp           # SCSI over FireWire (Requires scbus and da)
device          fwe           # Ethernet over FireWire (non-standard!)

Firewire デバイスのサポートです。

より詳細な情報と、FreeBSD によりサポートされる他のデバイスについては /usr/src/sys/i386/conf/NOTES を参照して下さい。

9.6.1. 大容量メモリ構成 (PAE)

大容量のメモリを搭載したコンピュータは、 ユーザ+カーネル仮想アドレス (KVA) 空間における 4 ギガバイトの制限を越えてメモリにアクセスする必要があります。 Intel は Pentium® Pro およびそれ以降の CPU において、 36-bit 物理アドレス空間に対応しました。

Intel® Pentium Pro およびそれ以降の CPU では、 Physical Address Extensions (PAE) を用いて 64 ギガバイトまでのメモリの構成を可能にします。 FreeBSD は、PAE カーネルコンフィグレーションオプションを用いることで PAE に対応します。 現在すべてのバージョンの FreeBSD で利用できます。 Intel のメモリアーキテクチャの制限により、 4 ギガバイト以上または以下の区別をしません。 4 ギガバイト以上に割り当てられたメモリは、 利用可能なメモリのプールに単純に追加されます。

PAE サポートをカーネルで有効にするには、 以下の行を単にカーネルコンフィグレーションファイルに追加してください。

options		    PAE

注意: FreeBSD の PAE のサポートは、 Intel IA-32 プロセッサでのみ利用できます。 また、FreeBSD における PAE サポートは広くテストが行われているわけではないので、 FreeBSD の他の機能と比較するとベータ品質に位置づけられます。

FreeBSD における PAE サポートには、 以下のような制限があります。

パフォーマンスや安定性については、 tuning(7) マニュアルページを調べることをお奨めします。 pae(4) マニュアルページは、FreeBSD の PAE サポートに関する最新の情報を含んでいます。

本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。

FreeBSD に関する質問がある場合には、ドキュメント を読んだ上で <[email protected]> まで (英語で) 連絡してください。
本文書に関する質問については、<[email protected]> まで電子メールを (英語で) 送ってください。