Обновил для FreeBSD 5.X Joel
Dahl.
Формат конфигурационного файла достаточно прост. Каждая строка представляет собой
ключевое слово и один или более аргументов. Для простоты большинство строк содержат
только один аргумент. Всё, что следует за символом # является
комментарием и игнорируется. Следующие разделы описывают каждый параметр, в основном в
порядке, в котором они появляются в GENERIC, хотя некоторые
родственные параметры сгруппированы вместе в одном разделе (например Работа с сетью),
даже если на самом деле они разбросаны по всему файлу GENERIC.
За полным списком
архитектурно-зависимых параметров и устройств обратитесь к файлу NOTES в том же каталоге, что и GENERIC.
Архитектурно независимые параметры находятся в /usr/src/sys/conf/NOTES.
Замечание: NOTES не существует в FreeBSD 4.X.
Детальное описание параметров и устройств из GENERIC находится
в файле LINT. В 4.X LINT служит двум
целям: предоставить справочное руководство для выбора параметров ядра при сборке ядра по
умолчанию и предоставить конфигурацию ядра с параметрами, установленными в значения,
отличные от значений по умолчанию (настолько много параметров, насколько это возможно).
Это было сделано по той причине, что такая конфигурация хорошо помогала (и все еще
помогает) при тестировании нового кода и изменений в существующем коде, поскольку этот
код и изменения могут конфликтовать с другими частями ядра. Однако, инфраструктура
конфигурации ядра в 5.X прошла через множество серьезных изменений; Одно из таких
изменений - перемещение параметров конфигурации драйверов в hints, и теперь они могут быть изменены и загружены динамически во
время загрузки системы, а в LINT их больше нет. По этой и
другим причинам LINT был переименован в NOTES и в основном по-прежнему соответствует своему назначению:
информирование пользователей о доступных параметрах.
В FreeBSD 5.X и более поздних версиях вы все еще можете создать собираемый LINT, выполнив:
# cd /usr/src/sys/i386/conf && make LINT
Это пример конфигурационного файла ядра GENERIC с различными
дополнительными комментариями, которые могут понадобиться для ясности. Этот пример должен
совпадать с вашей копией в /usr/src/sys/i386/conf/GENERIC практически полностью.
#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books
# /handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
# $FreeBSD: /repoman/r/ncvs/src/sys/i386/conf/GENERIC,v 1.413 2004/08/11
# 01:34:18 rwatson Exp $
Следующие параметры обязательны для любого ядра, которое вы будете собирать:
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, чтобы увидеть
протокол загрузки системы.
Поддержка типа I386_CPU все ещё существует в исходных
текстах FreeBSD, но по умолчанию отключена в ветках -STABLE и -CURRENT. Это означает, что
для того, чтобы установить FreeBSD на систему с процессором i386, вы можете использовать
следующие способы:
-
Установить более раннюю версию FreeBSD и пересобрать систему из исходных текстов в
соответствии с Разд. 8.3.
-
Собрать мир и ядро на более новой машине и установить на 386 используя уже собранные
файлы в /usr/obj (за дополнительной информацией можете
обратиться к Разд. 19.5).
-
Сделать собственный релиз FreeBSD, который включает поддержку I386_CPU в ядре установочного CD-ROM.
Первый из этих способов, возможно, наиболее простой из всех предложенных, но вам
понадобится много дискового пространства, что может быть затруднительно для систем класса
386.
ident GENERIC
Этот параметр определяет ``метку'' ядра. Необходимо, чтобы она соответствовала
названию файла конфигурации ядра, например MYKERNEL, если вы
следовали инструкциям в предыдущих примерах. Значение, которое вы присвоите параметру
ident будет выводиться в процессе загрузки, поэтому полезно
давать новым ядрам другие имена для того, чтобы отличать их от обычного ядра (например,
если вы хотите собрать экспериментальное ядро).
maxusers n
Параметр maxusers определяет размеры многих важных
системных таблиц. Это число должно быть приблизительно равно количеству пользователей,
одновременно использующих вашу систему.
Начиная с FreeBSD 4.5, система автоматически настроит этот параметр если в
конфигурационном файле вы установили его в значение 0. В
FreeBSD 5.X и выше, maxusers по умолчанию равен 0, если не установлено другое значение. Если вы используете FreeBSD
версии более ранней, чем 4.5 или хотите самостоятельно управлять этим значением,
рекомендуется устанавливать значение maxusers равным минимум
4, особенно если вы используете X Window System или компиляторы. Причина этого кроется в
том, что одной из основных таблиц, размер которой определяет maxusers, является максимальное количество процессов, которое
устанавливается равным 20 + 16 * maxusers, таким образом, если
вы установите maxusers равным 1, то получите возможность
выполнять максимум 36 одновременных процессов, включая 18 или около того процессов,
которые система запускает при загрузке, и 15 или около того вы создадите, когда запустите
X Window System. Даже такая простая задача, как чтение страницы справочной системы (man(1)), потребует
запуска девяти процессов, для того, чтобы использовать фильтры, распаковать и просмотреть
её. Установка maxusers в значение 64 позволит запускать до
1044 одновременных процессов, что должно быть достаточно для большинства применений.
Однако, если вы видите ошибку proc table full, когда
пытаетесь запустить программу или поддерживаете сервер с большим количеством
пользователей (таким как ftp.FreeBSD.org), вы всегда можете
увеличить это число и пересобрать ядро.
Замечание: maxusers не ограничивает количество пользователей, которые могут зайти
на вашу машину. Он просто устанавливает размеры различных таблиц в разумные значения,
учитывая максимальное количество пользователей, которое будет у вас в системе и как много
процессов будет запускать каждый из них. Параметр ядра, который действительно ограничивает количество одновременных удалённых
сессий и окон X терминала, это pseudo-device pty 16. С FreeBSD 5.X, вам не нужно
беспокоиться об этом номере, поскольку драйвер pty(4)
``автоклонируемый''; используйте в файле конфигурации строку device
pty.
# Floating point support - do not disable.
device npx
npx - это интерфейс к модулю операций с плавающей точкой в
FreeBSD, который может использовать как аппаратный сопроцессор, так и программную
эмуляцию. Этот параметр является
обязательным.
# Pseudo devices
device loop # Network loopback
Стандартное устройство обратной связи для TCP/IP. Если вы запускаете telnet или FTP на
localhost (он же 127.0.0.1), то
соединение пройдёт через это устройство. Этот параметр обязателен. В FreeBSD 4.X вам потребуется использовать
pseudo-device loop.
Все остальные параметры более или менее опциональны. Обращайте внимание на информацию
о каждой опции, которая размещается рядом с ней.
#To statically compile in device wiring instead of /boot/device.hints
#hints "GENERIC.hints" # Default places to look for devices.
В FreeBSD 5.X и более поздних
device.hints(5)
используются для настройки параметров драйверов устройств. Путь по умолчанию, который loader(8) будет
проверять при загрузке - /boot/device.hints. Используя опцию
hints вы можете вкомпилировать эти параметры статически в ваше
ядро. В этом случае не требуется создавать файл device.hints в
каталоге /boot.
#makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
Обычный процесс сборки FreeBSD не включает генерацию отладочной информации при сборке
ядра и удаляет большую часть вспомогательной информации (symbols) после того как ядро
слинковано для того, чтобы сэкономить немного места. Если вы собираетесь проводить
тестирование ядер в ветви -CURRENT или разрабатывать собственные правки для ядра FreeBSD,
возможно вам будет нужно раскомментировать эту строку. Тем самым вы включите
использования опции -g, которая включает генерацию отладочной
информации gcc(1). Того же самого
эффекта можно добиться используя опцию config(8) -g, в случае, если вы используете ``традиционный'' способ сборки
ядра (обратитесь к Разд. 8.3 за дополнительной
информацией).
options SCHED_4BSD # 4BSD scheduler
Традиционный планировщик FreeBSD. В зависимости от загруженности системы, вы можете
повысить производительность системы, используя новый планировщик FreeBSD ULE, который был
специально разработан для SMP, но отлично работает также и на однопроцессорных системах.
Если вы хотите попробовать этот планировщик, замените SCHED_4BSD на SCHED_ULE в файле
конфигурации ядра.
options INET # InterNETworking
Поддержка сетевых возможностей. Оставьте эту опцию включенной, даже если вы не
планируете подключаться к сети. Большинство программ требуют, чтобы работал хотя бы
интерфейс обратной связи (loopback) (т.е. создание сетевых соединений внутри вашего ПК),
так что эта опция в принципе является обязательной.
options INET6 # IPv6 communications protocols
Включает поддержку коммуникационных протоколов IPv6.
options FFS # Berkeley Fast Filesystem
Включает поддержку основной файловой системы. Не удаляйте эту опцию, если вы
планируете загружаться с жесткого диска.
options UFS_ACL # Support for access control lists
Этот параметр, присутствующий только в FreeBSD 5.X, включает в ядре поддержку
списков управления доступом (ACL). Основывается на использовании расширенных атрибутов и
UFS2, детальное описание вы сможете найти в Разд. 14.12. ACL включены по
умолчанию и не должны выключаться в случае если они ранее использовались на файловой
системе, так как это удалит списки управления доступом и изменит то, как защищены файлы,
непредсказуемым образом.
options UFS_DIRHASH # Improve performance on big directories
Эта опция включает функциональность, которая повышает скорость дисковых операций на
больших каталогах в обмен на использование дополнительной памяти. Для большого сервера
или рабочей станции рекомендуется оставить ее включенной, и выключить для системы, для
которой более приоритетна память, чем скорость доступа к дискам, например сетевой экран
(firewall).
options SOFTUPDATES # Enable FFS Soft Updates support
Этот параметр включает в ядре технологию Soft Updates, которая повышает скорость
записи на диски. Несмотря на то, что эта технология включена в ядре, она должна быть
включена для отдельных дисков. Просмотрите вывод команды mount(8) чтобы
определить, включены ли Soft Updates для дисков вашей системы. Если вы не увидите
параметр soft-updates, вам будет необходимо активировать его
при помощи команды tunefs(8) (для
существующих файловых систем) или команды newfs(8) (для новых
файловых систем).
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
Файловая система процессов. Это ``виртуальная'' файловая система монтируемая в /proc, которая позволяет таким приложениям, как ps(1) выдавать вам
больше информации о запущенных процессах. В FreeBSD 5.X и выше, использование PROCFS не требуется, так как большинство мониторинговых и
отладочных инструментов было адаптировано для работы без PROCFS: в отличие от FreeBSD 4.X, новые системы FreeBSD 5.X по
умолчанию не монтируют файловую систему процессов. Более того, ядра 6.X-CURRENT, которые
используют PROCFS, должны также включать поддержку PSEUDOFS:
options PSEUDOFS # Pseudo-filesystem framework
PSEUDOFS недоступна в FreeBSD 4.X.
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 SCSI_DELAY=15000 # Delay (in ms) before probing SCSI
Этот параметр заставляет ядро приостановиться на 15 секунд перед тем, как
идентифицировать каждое устройство SCSI в вашей системе. Если у вас установлены только
жесткие диски IDE, вы можете игнорировать эту опцию, в противном случае, возможно, вы
захотите уменьшить это число, например до 5 секунд, для того, чтобы ускорить загрузку.
Естественно, что если вы сделаете это, а у FreeBSD появятся проблемы с распознанием ваших
устройств SCSI, необходимо будет увеличить этот параметр.
options KTRACE # ktrace(1) support
Включает поддержку трассировки процессов, что удобно при отладке.
options SYSVSHM # SYSV-style shared memory
Этот параметр предоставляет поддержку разделяемой памяти System V. Наиболее
распространенное применение этого - расширение XSHM в X, которое многие приложения,
интенсивно работающие с графикой, будут автоматически использовать для повышения скорости
работы. Если вы используете X, эта опция будет необходима.
options SYSVSEM # SYSV-style semaphores
Поддержка семафоров System V. Не настолько часто используемая возможность, но в ядро
добавляет всего несколько сотен байт.
options SYSVMSG # SYSV-style message queues
Поддержка сообщений 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
Этот параметр относится к клавиатуре. Он добавляет CDEV в /dev.
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~128k to driver.
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output. Adds ~215k to driver.
Распечатка регистров для облегчения отладки.
options ADAPTIVE_GIANT # Giant mutex is adaptive.
Этот параметр включает Giant в набор адаптивных мьютексов.
# To make an SMP kernel, the next two are needed
options SMP # Symmetric MultiProcessor Kernel
device apic # I/O APIC
Обе эти опции являются необходимыми для поддержки симметричной мультипроцессорности
(SMP), их можно оставить включенными и на однопроцессорной системе.
device isa
Все компьютеры, поддерживаемые FreeBSD, имеют хотя бы одно устройство ISA. Не удаляйте
эту строку, даже если в вашем компьютере нет слотов ISA. Для архитектуры IBM PS/2
(Микроканальная Архитектура (MCA)), FreeBSD предоставляет ограниченную поддержку данной
шины. За дальнейшей информацией о поддержке MCA обратитесь к файлу /usr/src/sys/i386/conf/NOTES.
device eisa
Включите эту опцию если у вас материнская плата EISA. Это включает автоопределение и
конфигурирование поддержки всех устройств на шине EISA.
device pci
Включите этот параметр, если у вас материнская плата с поддержкой PCI. Это включит
автоопределение карт PCI и проксирование из шины PCI в шину ISA.
device agp
Включите эту опцию, если у вас есть AGP карта в системе. Это включит поддержку AGP и
AGP GART для тех карт, которые поддерживают эту возможность.
# 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
device ahd # AHA39320/29320 and onboard AIC79xx devices
device amd # AMD 53C974 (Teckram DC-390(T))
device isp # Qlogic family
device mpt # LSI-Logic MPT-Fusion
#device ncr # NCR/Symbios Logic
device sym # NCR/Symbios Logic (newer chipsets)
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 устройства, вы можете удалить все эти строки.
# 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 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 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 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 vga # VGA video card driver
Драйвер видеокарты.
# splash screen/screen saver
device splash # Splash screen and screen saver support
Заставка при загрузке. Хранители экрана также требуют этого устройства. В
FreeBSD 4.X используйте строку pseudo-device splash.
# 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
присутствует практически на любой платформе.
# Power management support (see NOTES for more options)
#device apm
Поддержка Advanced Power Management. Чаще всего используется в лэптопах, хотя в ядре
GENERIC FreeBSD 5.X и выше отключена по умолчанию.
# 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 dc # DEC/Intel 21143 and various workalikes
device miibus # MII bus support
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 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 ti # Alteon Networks Tigon I/II gigabit Ethernet
device tl # Texas Instruments ThunderLAN
device tx # SMC EtherPower II (83c170 ``EPIC'')
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
device an # Aironet 4500/4800 802.11 wireless NICs.
device awi # BayStack 660 and others
device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device wl # Older non 802.11 Wavelan wireless NIC.
Поддержка различных беспроводных карт.
device mem # Memory and kernel memory devices
Устройства системной памяти.
device io # I/O device
Этот параметр позволяет процессу получение привилегий ввода/вывода. Он полезен для
написания пользовательских программ, работающих с оборудованием непосредственно.
Необходим для работы X Window system.
device random # Entropy device
Генератор случайных чисел для криптографической защиты.
device ether # Ethernet support
ether необходим лишь в случае, если у вас есть сетевая
карта. Он включает поддержку стандартного кода протокола Ethernet. В FreeBSD 4.X
используйте строку pseudo-device ether.
device sl # Kernel SLIP
sl - это поддержка SLIP. SLIP был практически вытеснен PPP,
который легче настраивается, лучше подходит для соединений модем-модем и имеет больше
возможностей. В FreeBSD 4.X используйте строку pseudo-device
sl.
device ppp # Kernel PPP
Поддержка PPP в ядре для соединений dial-up. Также существует версия PPP,
реализованного как приложение использующее tun и предлагает
большую гибкость и большее количество возможностей, как, например, соединение при
необходимости (наличии обращения к сети). В FreeBSD 4.X используйте строку pseudo-device ppp.
device tun # Packet tunnel.
Используется пользовательским программным обеспечением PPP. Ознакомьтесь с разделом PPP этой книги за дальнейшей информацией. В FreeBSD 4.X
используйте строку pseudo-device tun.
device pty # Pseudo-ttys (telnet etc)
``псевдо-терминал'' или имитированный порт для входа. Используется входящими telnet и rlogin-сессиями, приложением xterm и некоторыми другими приложениями, такими как Emacs.
Замечание: В FreeBSD 4.X используйте строку pseudo-device pty number. Число после pty определяет
количество pty, которое необходимо создать. Если вам
необходимо более, чем стандартное (16) количество окон xterm
и/или удаленных входов, увеличьте это число в соответствии с вашими потребностями, но не
более чем до 256.
device md # Memory ``disks''
Псевдоустройства дисков в памяти. В FreeBSD 4.X используйте строку pseudo-device md
device gif # IPv6 and IPv4 tunneling
Поддержка туннелирования IPv6 через IPv4, IPv4 через IPv6, IPv4 через IPv4 и IPv6
через IPv6. Начиная с FreeBSD 4.4 устройство gif является
``автоклонируемым'' и вы должны использовать строку pseudo-device
gif. Более ранним версиям FreeBSD 4.X требуется номер, например pseudo-device gif 4.
device faith # IPv6-to-IPv4 relaying (translation)
Это псевдоустройство захватывает пакеты, которые были посланы ему и перенаправляет их
демону трансляции IPv4/IPv6. В FreeBSD 4.X используйте строку pseudo-device faith 1
# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
device bpf # Berkeley packet filter
Фильтр пакетов Berkeley. Это псевдоустройство позволяет переводить сетевые интерфейсы
в ``неразборчивый'' (promiscuous) режим, в котором перехватывается любой пакет в
широковещательной сети (например ethernet). Эти пакеты могут быть сохранены на диск и/или
исследованы при помощи tcpdump(1). В
FreeBSD 4.X используйте строку pseudo-device bpf.
Замечание: Устройство bpf(4) также
используется программой dhclient(8) для того,
чтобы получить адрес шлюза по умолчанию и т.п. Если вы используете DCHP, не удаляйте эту
опцию.
# USB support
#device uhci # UHCI PCI->USB interface
#device ohci # OHCI PCI->USB interface
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 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 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.
Машины с большим количеством оперативной памяти, в которых требуется более 4 гигабайт
в пользовательском адресном пространстве и адресном пространстве ядра (User+Kernel
Virtual Address, KVA) в обычном случае не смогут
использовать более 4 гигабайт. Для решения этой проблемы Intel добавили поддержку
36-битной адресации в Pentium® Pro и более поздних
моделях процессоров.
Расширение физического адресного пространства (PAE)
в процессорах Intel® Pentium Pro и более поздних позволяет использовать до 64
гигабайт оперативной памяти. FreeBSD имеет поддержку для этой возможности посредством
опции ядра PAE, доступной в FreeBSD 4.9-RELEASE и FreeBSD
5.1-RELEASE и более поздних. В связи с ограничениями архитектуры Intel, не делается
никакого различия между памятью ниже или выше 4 гигабайт. Память, размещенная выше 4
гигабайт, просто добавляется к доступной памяти.
Для того, чтобы включить PAE в ядре, просто
добавьте приведенную строку в конфигурационный файл ядра:
options PAE
Замечание: Поддержка PAE в FreeBSD
существует только для процессоров Intel IA-32. Также
следует заметить, что PAE в FreeBSD не было полностью
протестировано и должно считаться находящимся в состоянии бета-тестирования по сравнению
с другими, стабильными возможностями FreeBSD.
Поддержка PAE в FreeBSD имеет следующие
ограничения:
-
Процесс не может получить доступ к более, чем 4 гигабайтам пространства VM.
-
KLD модули не могут быть загружены в ядро с
включенной поддержкой PAE из-за разницы в окружении
для сборки модулей и самого ядра.
-
Драйверы устройств, которые не используют интерфейс bus_dma(9) приведут к
повреждению информации в ядре с включенным PAE. Не
рекомендуется использовать такие драйвера. По этой причине в FreeBSD 5.X включен
конфигурационный файл ядра PAE, из которого удалены все
драйверы, о которых известно, что они не работают при включенной поддержке PAE.
-
Некоторые системные переменные определяют использование ресурсов памяти по количеству
доступной физической памяти. Такие переменные могут привести к ненужному чрезмерному
выделению памяти из-за особенностей работы системы PAE. Один из таких примеров - переменная kern.maxvnodes, которая управляет максимальным количеством vnode
разрешенных в ядре. Рекомендуется установить такую и подобные ей переменные вручную в
адекватные значения.
-
Возможно, понадобится увеличить пространство виртуальных адресов ядра (KVA) или уменьшить какую-либо переменную (см. выше), значение
которой было неоправданно велико и могло привести к исчерпанию KVA. Для этого может быть использована опция ядра KVA_PAGES.
В случае сомнений относительно производительности и стабильности рекомендуется
обратиться к странице руководства tuning(7). Страница
руководства pae(4) содержит свежую
информацию о поддержке PAE в FreeBSD.