Руководство FreeBSD
Пред. | Глава 8. Настройка ядра FreeBSD | След.

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

Обновил для FreeBSD 6.X Joel Dahl.

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

Начиная с FreeBSD 5.0 появилась новая, допустимая в конфигурационном файле директива `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

Это архитектура машины. Она должна быть одной из следующих: `alpha`, `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, детальное описание вы сможете найти в Разд. 14.12. 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

Ядра 6.X, которые используют `PROCFS`, должны также включать поддержку `PSEUDOFS`,

    options          GEOM_GPT          # GUID Partition Tables.

Этот параметр делает возможным наличие большого количества разделов на одном диске.

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

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

    options          COMPAT_FREEBSD4   # Compatible with FreeBSD4

Эта опция требуется в FreeBSD 5.X для платформ i386™ и Alpha для поддержки приложений, собранных на более старых версиях FreeBSD, которые используют старые интерфейсы вызовов. Рекомендуется использовать данную опцию на всех системах на платформах i386 и Alpha, на которых могут запускаться старые приложения; платформы, поддержка которых появилась только в FreeBSD 5.X, например ia64 и Sparc64®, не требуют этой опции.

    options          COMPAT_FREEBSD5   # Compatible with FreeBSD5

Эта опция необходима в FreeBSD 6.X и выше для поддержки приложений, скомпилированных на FreeBSD 5.X и использующих интерфейс системных вызовов FreeBSD 5.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-CURRENT и более поздних версий, все мьютексы являются адаптивными по умолчанию, если обратное не указано специально опцией `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          rr232x     # Highpoint RocketRAID 232x
    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`.

## 8.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.

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

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

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