コンフィグレーションファイルの一般的なフォーマットはとてもシンプルです。 各行は 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 がアップグレードされて新しい機能が追加されると、 (nooptions や nodevice によって外されない限り) ローカルのカーネルにも反映されます。 この章のここから先は、典型的なコンフィグレーションファイルの中身と、 さまざまなオプションやデバイスの役割について説明します。
注意: 利用可能なすべてのオプションを含むファイルを (通常はテスト目的で) 構築するには、 以下のコマンドを 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 オプションを用いると、 カーネルにこれらのヒント情報を静的に加えてコンパイルできます。 その場合には、/boot に device.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 デバイス用の termcap や terminfo のエントリが無い、ネットワーク上の多くの異なったマシンに接続する際にも有用です — 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 を必要とします。 従って COM3 と COM4 用のデフォルト 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 ドライブ用です。scbus と da サポートが必要です。 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)
これは “疑似ターミナル” 或いはシミュレートされたログインポートです。 これは入ってくる telnet と rlogin セッション、 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 を参照して下さい。
大容量のメモリを搭載したコンピュータは、 ユーザ+カーネル仮想アドレス (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 ギガバイト以上の VM 空間にアクセスできません。
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 に関する質問がある場合には、ドキュメント を読んだ上で <[email protected]> まで (英語で)
連絡してください。
本文書に関する質問については、<[email protected]> まで電子メールを (英語で)
送ってください。