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

カスタムカーネルのコンフィグレーションファイルを作成し、 カスタムカーネルを構築するのであれば、 FreeBSD の全ソースツリーがまずインストールされている必要があります。

もし、/usr/src/ が存在していなかったり、空であれば、 カーネルのソースはインストールされていません。 Subversion を使う」 で説明した svn を使ってソースをインストールできます。 また、sysinstall(8) を使って、 src ディストリビューションからインストールすることもできます。 このディストリビューションは、sysinstall(8)Configuration を選択し、 Distributions メニューから選択できます。

ソースをインストールしたら、/usr/src/sys を確認して下さい。 このディレクトリには、サブディレクトリがいくつもあります。 その中には、サポートされている各アーキテクチャである、amd64, i386, ia64, pc98, powerpc および sparc64 のサブディレクトリがあります。 各アーキテクチャのディレクトリ内部にあるファイルはすべてそのアーキテクチャでのみ使用されます。 残りのコードは、アーキテクチャに依存しない、 すべてのプラットフォームで共有されるコードです。 サポートされている各アーキテクチャには、conf サブディレクトリがあり、 そのアーキテクチャ用の GENERIC カーネルコンフィグレーションファイルが用意されています。

この GENERIC は編集しないでください。 このファイルを別名でコピーし、コピーを編集してください。 慣習として、この名前はすべて大文字でつづられます。もし、 いくつかの異なるハードウェアの FreeBSD マシンを扱うなら、 この名前にホスト名を含めるとよいでしょう。ここでは、例として amd64 アーキテクチャのカスタムコンフィグレーションファイルを作成します。

# cd /usr/src/sys/amd64/conf
# cp GENERIC MYKERNEL

ヒント:

カーネルコンフィグレーションファイルの編集を終えたら、 ファイルのバックアップを /usr/src 以外の場所に保存してください。

もしくは、カーネルコンフィグレーションファイルは他の場所において、 シンボリックリンクを張る方法もあります。

# cd /usr/src/sys/amd64/conf
# mkdir /root/kernels
# cp GENERIC /root/kernels/MYKERNEL
# ln -s /root/kernels/MYKERNEL

これで、コンフィグレーションファイル MYKERNEL を ASCII テキストエディタで編集できます。 初心者に対してより簡単なエディタである ee も FreeBSD とともにインストールされていますが、 デフォルトのエディタは vi です。

コンフィグレーションファイルのフォーマットはシンプルです。 各行はデバイスやサブシステム、引数、または簡単な説明を含んでいます。 # に続くテキストはすべてコメントとして扱われ、 無視されます。 カーネルからデバイスもしくはサブシステムのサポートを外すには、 対応する行の最初に # を入れてください。 理解していない行に対しては、# を追加したり削除しないでください。

このファイルで与えられる説明の他に、 そのアーキテクチャの GENERIC と同じディレクトリにある NOTES にも説明があります。 アーキテクチャに依存しないオプションについては、 /usr/src/sys/conf/NOTES をご覧ください。

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

include GENERIC
ident MYKERNEL

options         IPFIREWALL
options         DUMMYNET
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPDIVERT

この方法では、ローカルのコンフィグレーションファイルには、 ローカルにある GENERIC カーネルとの差分が記述されています。 アップグレードが行われると、 GENERIC に追加された新しい機能は、 (nooptionsnodevice によって外されない限り) ローカルのカーネルにも反映されます。 コンフィグレーションの構成要素に関する包括的な一覧と説明は config(5) にあります。

注記:

利用可能なすべてのオプションを含むファイルを構築するには、 以下のコマンドを root 権限で実行してください。

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

これはカーネルの識別名です。 たとえば、MYKERNEL のように、新しいカーネルに付けたい名前に書き換えて下さい。 ident に書いた値はカーネルを起動する時に表示されます。

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

このオプションは gcc(1) がデバッグ情報を生成するようにします。

options          SCHED_ULE         # ULE scheduler

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

options          INET              # InterNETworking

ネットワークのサポート。 ほとんどのプログラムは少なくともループバックネットワークを必要とするので、 基本的にこの行は必須です。

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

このオプションは、カーネルのアクセス制御リスト (ACL) のサポートを有効にします。 この機能は拡張属性および UFS2 が有効になっていることに依存し、 「ファイルシステムアクセス制御リスト」 で機能の説明が行われています。 ACL はデフォルトで有効にされています。 もし、これまでにファイルシステムで有効にしていたのであれば、 カーネルの中で無効にすべきではありません。 なぜなら、無効にすると 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

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

options          MSDOSFS           # MSDOS Filesystem

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

options          CD9660            # ISO 9660 Filesystem

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

options          PROCFS            # Process filesystem (requires PSEUDOFS)

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

options          PSEUDOFS          # Pseudo-filesystem framework

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

options          GEOM_PART_GPT     # GUID Partition Tables.

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

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

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

options          COMPAT_FREEBSD4   # Compatible with FreeBSD4

このオプションは、 古いバージョンの FreeBSD でコンパイルされた古いシステムコールインターフェースを用いるアプリケーションを利用する場合に必要とされます。 古いアプリケーションを実行するすべての i386™ システムで、このオプションの利用を推奨します。 FreeBSD 4.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 拡張です。 多くのグラフィックス重視のプログラムではこの機能を自動的に描画のスピードアップに利用します。 Xorg がインストールされているなら、 これを含めてください。

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 の内のいくつかのアプリケーションはこれを使っています。

options          KBD_INSTALL_CDEV  # install a CDEV entry in /dev

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

device          apic               # I/O APIC

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

注記:

このデバイスは 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(4) および psm(4) はこのコントローラを必要とします。

device          atkbd      # AT keyboard

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

device          psm        # PS/2 mouse

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

device          kbdmux        # keyboard multiplexer

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

device          vga        # VGA video card driver

vga(4) ビデオカードドライバです。

device          splash     # Splash screen and screen saver support

起動時のスプラッシュスクリーンおよびスクリーンセーバが必要とします。

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

sc(4) は 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 とハード的に互換性がないラップトップでも問題なく動きます。 ログイン後、TERMvt100 又は vt220 と設定して下さい。 vt100 は仮想的にすべてのプラットフォームで有効であるため、 sc デバイス用の termcapterminfo のエントリが無い、ネットワーク上の多くの異なったマシンに接続する際に、 このドライバは有用です。

device          agp

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

# 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

これらは Windows® では COM と呼ばれているシリアルポートです。

注記:

もしシステムが内蔵モデムを COM4 に、 シリアルポートを COM2 に設定している場合、モデムの 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          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 の汎用ループバックデバイスです。 これは必須です。

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) を使ってチェックをすることもできます。

注記:

dhclient(8)bpf(4) デバイスを使います。 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.4.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 サポートには、 以下のような制限があります。

  • プロセスは、4 ギガバイト以上の仮想メモリ空間にアクセスできません。

  • bus_dma(9) インタフェースを用いないデバイスドライバは、 PAE が有効なカーネルにおいてデータの破損を引き起こす可能性があるため、 利用することは推奨されません。 そのため FreeBSD で提供される PAE カーネルコンフィグレーションファイルでは、PAE が有効なカーネルで動作することが知られていないすべてのドライバが外されています。

  • いくつかの調整可能なシステムパラメータは、 利用可能な物理メモリによるメモリリソースを調整します。 PAE を必要とするような大きなメモリのシステムでは、 そのような調整可能なリソースが不必要に割り当てられることがあります。 そのような例のひとつが kern.maxvnodes sysctl です。この sysctl は、カーネルで許される vnode の最大数を調節します。 この sysctl や同様に変更可能なパラメータを適切な値に調整することをお奨めします。

  • カーネルバーチャルアドレス (KVA) の枯渇を避けるため、KVA 空間を大きくとる、または、 激しく消費される特定のカーネルリソースの量を減らす必要があるでしょう。 KVA_PAGES カーネルオプションを用いて KVA 空間を増やすことができます。

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

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

FreeBSD に関する質問がある場合には、 ドキュメント を読んだ上で <questions@FreeBSD.org> まで (英語で) 連絡してください。

本文書に関する質問については、 <doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。