9.6. Конфигурационный файл
Пред. | Глава 9. Настройка ядра FreeBSD | След.

## 9.6. Конфигурационный файл

Обновил Joel Dahl.

Формат конфигурационного файла достаточно прост. Каждая строка представляет собой ключевое слово и один или более аргументов. Для простоты большинство строк содержат только один аргумент. Всё, что следует за символом `#` является комментарием и игнорируется. Следующие разделы описывают каждый параметр, в порядке, в котором они появляются в `GENERIC`. За полным списком архитектурно-зависимых параметров и устройств обратитесь к файлу `NOTES` в том же каталоге, что и `GENERIC`. Архитектурно независимые параметры находятся в `/usr/src/sys/conf/NOTES`.

Директива `include` стала доступной для использования в конфигурационных файлах. Она позволяет включать в текущий конфигурационный файл содержимое другого файла, тем самым упрощая процесс внесения небольших изменений в существующий файл. Например, если вам необходимо добавить всего несколько дополнительных опций или драйверов в ядро `GENERIC`, то вам придется поддерживать только разницу к файлу 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

Эта опция указывает тип процессора, который используется в вашей системе. В конфигурационном файле может быть несколько вхождений этой опции (например, если вы не уверены, какой из типов процессора необходимо использовать — `I586_CPU` или `I686_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` вы можете вкомпилировать эти параметры статически в ваше ядро. В этом случае не требуется создавать файл `device.hints` в каталоге `/boot`.

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

При обычном построении ядра в сборку включается отладочная информация: опция `-g` передается компилятору gcc(1).

options SCHED_ULE # ULE scheduler

Планировщик по умолчанию во FreeBSD. Оставьте эту опцию.

options PREEMPTION # Enable kernel thread preemption

Позволяет высокоприоритетным нитям ядра вытеснять конкурентов, находящихся в режиме выполнения. Эта опция может помочь повысить реактивность системы по отношению к внешним воздействиям, например, за счет снижения латентности нитей, обрабатывающих прерывания.

options INET # InterNETworking

Поддержка сетевых возможностей. Оставьте эту опцию включенной, даже если вы не планируете подключаться к сети. Большинство программ требуют, чтобы работал хотя бы интерфейс обратной связи (loopback) (т.е. создание сетевых соединений внутри вашего ПК), так что эта опция в принципе является обязательной.

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, детальное описание вы сможете найти в Раздел 15.12, «Списки контроля доступа файловой системы (ACL)». ACL включены по умолчанию и не должны выключаться в случае, если они ранее использовались на файловой системе, так как это удалит списки управления доступом и изменит то, как защищены файлы, непредсказуемым образом.

options UFS_DIRHASH # Improve performance on big directories

Эта опция включает функциональность, которая повышает скорость дисковых операций на больших каталогах в обмен на использование дополнительной памяти. Для большого сервера или рабочей станции рекомендуется оставить ее включенной, и выключить для системы, для которой более приоритетна память, чем скорость доступа к дискам, например для брандмауэра.

options MD_ROOT # MD is a potential root device

Этот параметр включает поддержку использования дисков в памяти для корневой файловой системы.

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

Файловая система ISO 9660 для компакт-дисков. Если у вас нет привода CDROM или вы будете лишь изредка монтировать компакт-диски с данными, закомментируйте эту строку, так как необходимый модуль будет загружен автоматически при первом монтировании компакт-диска с данными. Для использования звуковых компакт-дисков эта файловая система не потребуется.

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. Этот параметр делает возможным наличие большого количества разделов на одном диске, до 128 в стандартной конфигурации.

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

Совместимость с 4.3BSD. Не выключайте эту опцию; некоторые приложения будут вести себя странно, если этой опции не будет в ядре.

options COMPAT_FREEBSD4 # Compatible with FreeBSD4

Эта опция требуется для поддержки приложений, собранных на более старых версиях FreeBSD, которые используют старые интерфейсы вызовов. Рекомендуется использовать данную опцию на всех системах на платформах i386™, на которых могут запускаться старые приложения; платформы, поддержка которых появилась только в FreeBSD 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

Этот параметр заставляет ядро приостановиться на 5 секунд перед тем, как идентифицировать каждое устройство SCSI в вашей системе. Если у вас установлены только жесткие диски IDE, вы можете игнорировать эту опцию, в противном случае, возможно, вы захотите уменьшить это число, для того чтобы ускорить загрузку. Естественно, если вы сделаете это, а у FreeBSD появятся проблемы с распознанием ваших устройств SCSI, необходимо будет увеличить этот параметр.

options KTRACE # ktrace(1) support

Включает поддержку трассировки процессов, что удобно при отладке.

options SYSVSHM # SYSV-style shared memory

Этот параметр предоставляет поддержку разделяемой памяти System V. Наиболее распространенное применение этого — расширение XSHM в X, которое многие приложения, интенсивно работающие с графикой, будут автоматически использовать для повышения скорости работы. Если вы используете 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®. Определенные приложения из коллекции используют их, например StarOffice™.

options KBD_INSTALL_CDEV # install a CDEV entry in /dev

Этот параметр разрешает формирование файлов устройств в `/dev` для клавиатур.

options ADAPTIVE_GIANT # Giant mutex is adaptive.

Giant — имя механизма защиты («спящего» мьютекса) для крупных наборов ресурсов ядра. На нынешний момент Giant представляется фактически непригодным для использования в связи с серьезными потерями в производительности, и активно заменяется на механизмы, защищающие отдельные ресурсы ядра. Параметр `ADAPTIVE_GIANT` включает Giant в число адаптивных мьютексов: в случае, когда нить ядра нуждается в Giant, а он уже захвачен нитью, выполняющейся на другом процессоре, первая нить будет продолжать выполнение и ждать освобождения Giant. В норме нить должна была бы уснуть, пока не настанет очередной момент ее выполнения. Если вы не уверены, оставьте этот параметр в покое.

### Примечание:

Для FreeBSD 8.0-RELEASE и более поздних версий, все мьютексы являются адаптивными по умолчанию, если обратное не указано специально опцией `NO_ADAPTIVE_MUTEXES`. Следовательно, Giant также адаптивен по умолчанию, и поэтому опция `ADAPTIVE_GIANT` была удалена из файла конфигурации ядра.

device apic # I/O APIC

Устройство apic разрешает использование набора I/O APIC для распределения прерываний. Оно может быть использовано как с однопроцессорными, так и с многопроцессорными ядрами (для последних наличие apic является обязательным). Для поддержки многопроцессорности добавьте строку `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` в ядре для того, чтобы обнаружить все PCI устройства ATA/ATAPI в современных машинах.

device atadisk # ATA disk drives

Эта строка необходима вместе с `device ata` для поддержки дисков ATA.

device ataraid # ATA RAID drives

Эта строка необходима вместе с `device ata` для поддержки дисков ATA RAID.

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 устройств. Этот контроллер необходим драйверу клавиатуры (`atkbd`) и PS/2 устройств (`psm`).

device atkbd # AT keyboard

Драйвер `atkbd` вместе с контроллером `atkbdc` предоставляет доступ к клавиатуре AT 84 или улучшенной клавиатуре AT, которая подключена к контроллеру AT клавиатуры.

device psm # PS/2 mouse

Используйте это устройство, если ваша мышь включается в порт PS/2.

device kbdmux # keyboard multiplexer

Поддержка мультиплексора клавиатур. Если использование двух и более клавиатур не планируется, можете смело исключать этот параметр.

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`, вас не должно волновать, будете ли вы использовать этот драйвер, либо драйвер `vt`, который является `VT220`-совместимым драйвером консоли. Если у вас возникнут какие-либо проблемы с приложениями, работающими с этим драйвером консоли, установите переменную окружения `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

Поддержка Advanced Power Management. Чаще всего используется в лэптопах, хотя и отключена по умолчанию.

# 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

Четыре последовательных порта, которые известны как `COM` порты в мире MS-DOS®/Windows®

### Примечание:

Если у вас есть внутренний модем на `COM4` и последовательный порт `COM2`, вам понадобится поменять IRQ модема на 2 (по непонятным техническим причинам IRQ2 = IRQ9) для того, чтобы получить к нему доступ из FreeBSD. Если у вас есть многопортовая карта с последовательными портами, ознакомьтесь с sio(4) чтобы узнать корректные значения для добавления в `/boot/device.hints`. Некоторые видеокарты (в частности те, что используют чипы S3) используют адреса ввода/вывода в форме `0x*2e8` и, так как многие дешевые последовательные карты не полностью раскодируют шестнадцатибитное пространство адресов ввода/вывода, они конфликтуют с этими картами, в итоге `COM4` оказывается практически недоступным.

Каждый последовательный порт требует уникального IRQ (кроме тех случаев, когда вы используете мультипортовую карту, которая поддерживает совместное использование прерываний), поэтому значения IRQ по умолчанию для `COM3` и `COM4` не могут быть использованы.

# Parallel port device ppc

Интерфейс параллельного порта на шине ISA.

device ppbus # Parallel port bus (required)

Поддержка шины параллельного порта.

device lpt # Printer

Поддержка принтеров на параллельном порту.

### Примечание:

Все три последних устройства необходимы для поддержка принтеров на параллельном порту.

device plip # TCP/IP over parallel

Драйвер TCP/IP через параллельный порт.

device ppi # Parallel port interface device

Поддержка ввода/вывода общего назначения («geek port») + IEEE1284 ввода/вывода.

#device vpo # Requires scbus and da

Драйвер привода Iomega Zip. Требует наличия `scbus` и `da`. Наилучшая производительность достигается с портами в режиме EPP 1.9.

#device puc

Раскомментируйте это устройство, если у вас есть «простая» последовательная или параллельная PCI карта, поддерживаемая драйвером puc(4).

# 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 Ethernet карт, которые используют MII-совместимые передатчики или реализуют интерфейс управления передатчиком, который имитирует MII. Добавление `device miibus` в конфигурационный файл ядра включает поддержку стандартного API miibus и всех драйверов PHY, включая стандартный для тех PHY, которые не обрабатываются специфическим образом конкретным драйвером.

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 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

Generic 802.11 support. This line is required for wireless networking.

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

Crypto support for 802.11 devices. These lines are needed if you intend to use encryption and 802.11i security protocols.

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 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. Если вы запускаете telnet или FTP по отношению `localhost` (он же `127.0.0.1`), то соединение пройдёт через это устройство. Этот параметр обязателен.

device random # Entropy device

Генератор случайных чисел для криптографической защиты.

device ether # Ethernet support

`ether` необходим лишь в случае, если у вас есть сетевая карта. Он включает поддержку стандартного кода протокола Ethernet.

device sl # Kernel SLIP

`sl` — это поддержка SLIP. SLIP был практически вытеснен PPP, который легче настраивается, лучше подходит для соединений модем-модем и имеет больше возможностей.

device ppp # Kernel PPP

Поддержка PPP в ядре для соединений dial-up. Также существует версия PPP, реализованного как приложение, использующее `tun`, и предлагающее большую гибкость и большее количество возможностей, как, например, соединение при необходимости (наличии обращения к сети).

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 через IPv4, IPv4 через IPv6, IPv4 через IPv4 и IPv6 через IPv6. Устройство `gif` является «автоклонируемым», и будет срздавать файлы устройств по мере необходимости.

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

Фильтр пакетов Berkeley. Это псевдо-устройство позволяет переводить сетевые интерфейсы в «неразборчивый» (promiscuous) режим, в котором перехватывается любой пакет в широковещательной сети (например ethernet). Эти пакеты могут быть сохранены на диск и/или исследованы при помощи tcpdump(1).

### Примечание:

Устройство bpf(4) также используется программой dhclient(8) для того, чтобы получить адрес шлюза по умолчанию и т.п. Если вы используете DCHP, не удаляйте эту опцию.

# 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)

Машины с большим количеством оперативной памяти, в которых требуется более 4 гигабайт в пользовательском адресном пространстве и адресном пространстве ядра (User+Kernel Virtual Address, KVA) в обычном случае не смогут использовать более 4 гигабайт. Для решения этой проблемы Intel добавили поддержку 36-битной адресации в Pentium® Pro и более поздних моделях процессоров.

Расширение физического адресного пространства (PAE) в процессорах Intel® Pentium® Pro и более поздних позволяет использовать до 64 гигабайт оперативной памяти. FreeBSD имеет поддержку этой возможности посредством опции ядра `PAE`, доступной во всех текущих версиях FreeBSD. В связи с ограничениями архитектуры Intel, не делается никакого различия между памятью ниже или выше 4 гигабайт. Память, размещенная выше 4 гигабайт, просто добавляется к доступной памяти.

Для того, чтобы включить PAE в ядре, просто добавьте приведенную строку в конфигурационный файл ядра:

options PAE

### Примечание:

Поддержка PAE в FreeBSD существует только для процессоров Intel® IA-32. Также следует заметить, что PAE в FreeBSD не было полностью протестировано и должно считаться находящимся в состоянии бета-тестирования по сравнению с другими, стабильными возможностями FreeBSD.

Поддержка PAE в FreeBSD имеет следующие ограничения:

- Процесс не может получить доступ к более, чем 4 гигабайтам пространства VM.

- Драйверы устройств, которые не используют интерфейс bus_dma(9), приведут к повреждению информации в ядре с включенным PAE. Не рекомендуется использовать такие драйверы. По этой причине в FreeBSD включен конфигурационный файл ядра `PAE`, из которого удалены все драйверы, о которых известно, что они не работают при включенной поддержке PAE.

- Некоторые системные переменные определяют использование ресурсов памяти по количеству доступной физической памяти. Такие переменные могут привести к ненужному чрезмерному выделению памяти из-за особенностей работы системы PAE. Один из таких примеров — переменная `kern.maxvnodes`, которая управляет максимальным количеством vnode, разрешенных в ядре. Рекомендуется установить эту и подобные ей переменные вручную в адекватные значения.

- Возможно, понадобится увеличить пространство виртуальных адресов ядра (KVA) или уменьшить какую-либо переменную (см. выше), значение которой было неоправданно велико и могло привести к исчерпанию KVA. Для этого может быть использована опция ядра `KVA_PAGES`.

В случае сомнений относительно производительности и стабильности рекомендуется обратиться к странице руководства tuning(7). Страница руководства pae(4) содержит свежую информацию о поддержке PAE в FreeBSD.

Пред. | Наверх | След.
9.5. Сборка и установка собственного ядра | Начало | 9.7. Решение проблем

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.