Время от времени в разных разделах форума LinuxShop возникают вопросы по конфигурированию ядра Linux. В связи с этим я решил собрать воедино все, что знаю по этому поводу. Сразу замечу, что знаю я далеко не все. И потому некоторые опции останутся пока без комментариев. Надеюсь на помощь посетителей сайта для заполнения пробелов.
Помимо просто описания смысла известных мне опций, я постараюсь осветить вопрос их взаимосвязей, поскольку они не всегда прозрачны и "интуитивно понятны".
Изложение ведется в порядке пунктов меню, генерируемых командой make menuconfig для ядра версии 2.4.20-XFS (дистрибутив Gentoo Linux). В каноническом ядре vanilla с www.kernel.org некоторых опций не будет. С другой стороны, ядра, включенные в состав других дистрибутивов, могут включать некоторые дополнительные опции. Однако думаю, что 99% опций имеют общее значение для текущей версии. И с выходом версии 2.21 вряд ли принципиально изменятся.
И еще: все рекомендации, основанные на моем личном опыте, даются в предположении настольного использования. Для сервера все может быть совсем по другому.
Изложение структурировано следующим образом:
Заголовок второго ранга
обозначает пункты главного меню,
Заголовок третьего ранга
отдельные опции внутри пунктов или пункты, открывающие вложенные подменю,
Заголовок четвертого ранга
субопции, открываемые только при включении основной опции, или пункты вложенных подменю.
Code maturity level options
Опции, отражающие "зрелость кода". Собственно, в этом пункте только одна опция -
Prompt for development and/or incomplete code/drivers
При ее включении в остальных пунктах главного меню появляются опции, имеющие статус разрабатываемых или экспериментальных. Надо заметить, что многие опции сохраняют этот статус на протяжении всего времени моего знакомства с Linux, что не мешает им функционировать вполне справно. Подлежит включению в любом случае, так как иначе не будут видны многие необходимые опции, разрабатываемость или экспериментальность которых не мешает их нормальному функционированию.
Loadable module support
Поддержка загружаемых модулей ядра. Содержит три опции.
Enable loadable module support
Включение поддержки загружаемых модулей вообще. Не смотря на то, что я предпочитаю практически все необходимое встраивать в ядро, включение этой опции целесообразно в подавляющем большинстве случаев. Во-первых, некоторые опции доступны только в виде загружаемых модулей. Во-вторых, в качестве модулей обычно реализованы фирменные драйверы поддержки всяческого экзотического оборудования. Да и не очень экзотического - например, видеокарт. И в третьих, некоторые опции должны быть в принципе доступны, но требуются столь редко, что их просто нет смысла встраивать в ядро (пример - опция Kernel configuration visible in /proc/config в разделе File systems). Отключение этой опции приведет к тому, что две следующие также станут недоступными.
Set version information on all module symbols
Включение информации о версиях модулей. Необходима для того, чтобы модули сторонних производителей, не входящие в состав ядра (например, те же драйверы производителей оборудования) сохранялись после перекомпиляции ядра. Обычно включается, хотя в некоторых случаях эта опция может привести к ошибками при компиляции ядра. Буде такая ситуация возникнет - опцию придется отключить.
Kernel module loader
Автоматическая загрузка модулей при необходимости в них. Очевидно, что эту опцию следует включить.
Processor type and features
Опции установки типа процессора, максимального объема адресуемой памяти и некоторых других особенностей, в частности - поддержки мультипроцессорности.
(Pentium-4) Processor family
Оптимизация под конкретный процессор. Состав этого пункта определяется не столько версией ядра, сколько версией компилятора gcc. В настоящее время доступна оптимизация под следующие процессоры:
- 386
- 486
- 586/K5/5x86/6x86/6x86MX
- Pentium-Classic
- Pentium-MMX
- Pentium-Pro/Celeron/Pentium-II
- Pentium-III/Celeron(Coppermine)
- Pentium-4
- K6/K6-II/K6-III
- Athlon/Duron/K7
- AthlonXP
- AthlonMP
- Elan
- Crusoe
- Winchip-C6
- Winchip-2
- Winchip-2A/Winchip-3
- CyrixIII/VIA-C3/VIA-C5
Очевидно, что следует выбирать наиболее подходящий тип процессора - для некоторых камней и на некоторых задачах это дает весьма высокий выигрыш в производительности.
Machine Check Exception
Включение детектирования проблем. Смысл этой опции мне не очень ясен, обычно я ее отключаю.
Toshiba Laptop support, Dell laptop support
Очевидно, имеют смысл только для обладателей соответствующих машин.
/dev/cpu/microcode - Intel IA32 CPU microcode support
Включает возможность загрузки обновлений микрокода. Абсолютно бессмыслена для юольшинства позователей, поскольку а) нужно иметь впридачу этот самый микрокод и б) все BIOSы мат.плат, выпущенных за последние лет 5, делают тоже самое - автоматически загружают обновления микрокода при старте машины.
/dev/cpu/*/msr - Model-specific register support
Смысл остается неясным.
/dev/cpu/*/cpuid - CPU information support
Опция необходима, чтобы получить из файловой системы /proc подробную информацию о процессоре типа следующей:
$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 6 model name : Celeron (Mendocino) stepping : 0 cpu MHz : 334.105 cache size : 128 KB fdiv_bug : no <-- это кстати касается микрокода hlt_bug : no <-- пункт 1 как раз для исправления f00f_bug : no <-- этих ошибок coma_bug : no <-- fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr bogomips : 666.82
High Memory Support
Включение/отключение использования памяти свыше 4 Гбайт. Возможные значения - off (при объеме ОЗУ менее 1 Гбайт), 4 GB (при памяти от 1 до 4 Гбайт), 64 GB (при объеме памяти свыше 4 Гбайт, только для процессоров от PentiumPro и выше).
User address space size
В текущей версии ядра не документировано, поэтому я оставляю значение по умолчанию.
HIGHMEM I/O support
Использование страниц верхней памяти для ввода/вывода. Вроде бы должно способствовать увеличению производительности, однако точный смысл опции остается для меня не вполне ясным.
Math emulation
Эмуляция сопроцессора при его физическом отсутствии (когда это было...).
MTRR (Memory Type Range Register) support
Включение дополнительных регистров памяти для PentiumPro и выше. Лучше включать, в том числе и для процессоров AMD.
Symmetric multi-processing support
Поддержка симметричной мультипроцессорности. Очевидно, должно включаться, если процессоров больше одного. Полагаю, что нужна также для Penyium 4 с поддержкой HyperThreading'а.
Local APIC support on uniprocessors, IO-APIC support on uniprocessors
Включение продвинутого контроллера прерываний для однопроцессорных машин (для SMP-машин включается по умолчанию). Считается, что это нужно включить, хотя и при отключении ничего нехорошего не происходит.
Unsynced TSC support
Не понимая смысла этой опции, отключаю.
General setup
Как следует из названия, поддержка опций общего характера, то есть мешанина из сетевых, шинных и прочих опций, однако - очень важных, и потому тут при выборе следует быть внимательным.
Networking support
Общая поддержка сети. Обязательна даже на локальной машине без всякого сетевого инвентаря вообще, так как многие программы для своей работы локально имитируют сетевые взаимодействия (характерный пример - Иксы).
PCI support
Общая поддержка шины PCI, обязательно должны быть включена.
PCI access mode
Режим доступа к PCI-устройствам, непосредственны (Direct), через BIOS или произвольный (Any). В настоящее время обычно включается последний.
ISA bus support
Следует включить, если эта шина и устройства для нее еще уцелели.
PCI device name database
Обычно включается, после чего информация о PCI-устройствах доступна через файловую систему /proc. Отключается в том случае, если нужно любым путем уменьшить размер ядра.
EISA support, MCA support
А вы их видели? Я - так нет.
Support for hot-pluggable devices
Поддержка устройств, допускающих "горячее" подключение. Необходима для работы со всякого рода PC-картами, USB-накопителями и вообще USB-устройствами, в т.ч. цифровыми камерами. При этом целесообразно включить еще и поддержку файловой системы devfs в пункте File systems главного меню (см. соответствующий раздел).
PCMCIA/CardBus support
Появляется только при включении предыдущего пункта. Поддержка всякого рода PC-карт должны быть включена, если таковые имеются (обычно для ноутбуков).
PCI Hotplug Support
Появляется только при включении hot-pluggable devices. Включается при наличии на маме PCI Hotplug controller и позволяет втыкать и удалять PCI-устройства в работающей машине. Мне такого видеть не доводилось.
System V IPC
Поддержка межпроцессорного взаимодействия (Inter Process Communication) в стиле System V. Должна быть включена обязательно, так как используется большинством программ.
BSD Process Accounting
Позволяет получить расширенную информацию л процессах, могущую быть использованной многими программами. Не то чтобы обязательно, но обычно включается. Однако прожить без нее можно - у меня, например, выключено, и ничего, живу.
Sysctl support
Позволяет динамически изменять параметры ядра без его пересборки и без перезагрузки машины. Считается практически обязательной, если нет большой необходимости ужать ядро. Требует поддержки файловой системы /proc в пункте File systems.
(ELF) Kernel core (/proc/kcore) format
Определяет формат образа ядра, доступного через файловую систему /proc. Второе возможное значение - A.OUT, - в настоящее время практического значения не имеет.
Kernel support for a.out binaries
Поддержка старого формата исполнимых файлов a.out. Часто рекомендуют включать для совместимости, однако ныне это практического смысла, по моему, не имеет. Программ в a.out почти не осталось, а если и есть, заставить их работать в современных системах - задача, мягко говоря, не из самых простых.
Kernel support for ELF binaries
Поддержка современного формата исполнимых файлов ELF. Так как все современные программы именно в этом формате и собираются, обязательна к включению.
Kernel support for MISC binaries
Поддержка прочих исполнимых и run-time форматов, в том числе и для других ОС, обеспечивает запуск Java-приложений. Кому это нужно - сам знает, я же всегда отключаю.
Power Management support
Включение управления питанием. Я выключаю. Однако есть мнение, что лучше включать даже на десктопе. В частности, без этой опции ATX'ные машины не выключаются автоматически по команде halt.
Power Management support
Поддержка расширенного управления питанием для BIOS'ов, имеющих соответствующую функцию. Я отключаю.
ACPI Support
Это замена APM (вероятно, более продвинутая?) Если включить этот пункт, развернется подменю с рядом вложенных пунктов:
- ACPI Support - общая поддержка ACPI
- CPU Enumeration Only
- AC Adapter - для ноутбуков показывает, работает ли он от розетки или нет
- Battery - показывает заряд батареи
- Button - позволяет работать кнопкам слип, повер он и вейк
- Fan - управляет оборотами кулера, если данная возмможность пооддерживается материнской платой
- Processor - управляет питанием процессора, опять же если поддерживается аппаратно
- Toshiba Laptop Extras
- Debug Statements
Memory Technology Devices
Требуется для поддержки флэш-памяти, твердотельной памяти и родственных устройств. Поскольку никогда с таковыми не сталкивался - оставляю без комментариев. Замечу только, что для обычных USB-накопителей не нужна. Если включить этот пункт, развернется вложенное меню, на котором также останавливаться не буду за полным незнанием.
Parallel port support
Поддержка параллельного порта
Parallel port support
Общая поддержка параллельного порта. Следует включить, если таковой используется.
PC-style hardware
Поддержка обычного для персоналок параллельного интерфейса. Очевидно, что если включен предыдущий пункт, следует сказать б) и включить и этот.
Support foreign hardware
Поддержка чуждого персоналкам параллельного интерфейса. Вряд ли кому потребуется.
IEEE 1284 transfer modes
Поддержка всяких параллельных улучшений типа EPP/ECP. Включать по необходимости.
Plug and Play configuration
Общий смысл ясен из названия.
Plug and Play support
Общая поддержка устройств Plug and Play. Насколько я понимаю, для современных PCI-карт не обязательна - у меня она стандартно выключена, но вся PCI-периферия работает. Тем не менее, для страховки можно включить, тогда появится подпункт
ISA Plug and Play support
Очевидно, что эта опция потребуется, если сохранились ISA-устройства.
Block devices
Пункт, где собрана поддержка всяких блочных устройств, но не дисков и большинства прочих накопителей, как можно было бы подумать.
Normal floppy disk support
Легко догадаться, что это именно поддержка нормальных флоппиков. У меня выключена, что, понятно, не препятствует загрузке машины с дискеты при необходимости (при выставлении соответствующей опции BIOS).
Compaq SMART2 support, Compaq Smart Array 5xxx support, Mylex DAC960/DAC1100 PCI RAID Controller support, Micro Memory MM5415 Battery Backed RAM suppor
Поддержка каких-то экзотических контроллеров, о которых я слыхом не слыхивал, поэтому - без комментариев.
Loopback device support
Поддержка т.н. loopback-устройств (адекватного перевода на русский не существует). Включение ее позволяет, например, монтировать iso-образы CD-дисков, как обычные файловые системы на дисковых разделах, так что практически необходима.
Network block device support
Поддержка сетевых дисков, мало что про это знаю.
RAM disk support
Поддержка виртуальных дисков в оперативной памяти. Необходима, если на таком диске располагается корневая файловая система. Обычно используется для всякого рода rescue-носителей. Кроме того, некоторые дистрибутивы монтируют на RAM-диск initrd, в этом случае опция должна быть включена обязательно. Однако нынче для initrd чаще используется файловая система tmpfs, в этом случае RAM-диск не нужен.
(4096) Default RAM disk size
Умолчальный размер RAM-диска.
Initial RAM disk (initrd) support
Собственно включение initrd - виртуального диска, на который при старте системы монтируется корневая файловая система перед продолжением нормальной загрузки и монтированием настоящего корня на дисковом разделе. Используется для загрузки модулей, требующихся до монтирования реального корня (например, красивых грфических заставок при корне). Включать или не включать - зависит от дистрибутива.
В дистрибутивах типа Gentoo, CRUX, Sorcerer и подобных поддержка RAM-диска обычно не нужна.
Per partition statistics in /proc/partitions
Интуитивно понятно, что включение этой опции предоставляет некую дополнительную информацию через файловую систему /proc. Однако деталей не знаю, у меня выключено.
Enterprise Volume Management System
Этот пункт имеется в главном меню только соответствующим образом пропатченных ядер, в канонической vanilla его нет. EVMS обеспечивает универсальный механизм для работы с дисковыми разделами, логическими томами (LVM), программными RAID-массивами, файловыми системами. Вещь очень полезная и интересная, но требует глубокого изучения.
EVMS Kernel Runtime
Собственно включение драйвера EVMS, для использования которого потребуется соответствующий пользовательский инструментарий (пакет evms). При этом отпадает необходимость во включении Multi-device support (следующий пункт главного меню). При включении EVMS Kernel Runtime разворачивается подменю с многочисленными пунктами, обеспечивающими поддержку конкретных накопителей, файловых систем и прочих фич.
EVMS Local Device Manager
Поддержка локальных дисков, как IDE, так и SCSI. Очевидно, что при желании использовать EVMS необходима.
EVMS DOS Segment Manager
Поддержка DOS-схемы разбиения диска, используемой и в Linux, так что также обязательна. Обеспечивает также распознавание BSD-схемы разбиения диска и еще нескольких.
EVMS GPT Segment Manager
Поддержка схемы разбиения, принятой на машинах IA-64. Видимо, только для них и нужна.
EVMS SnapShot Feature
Поддержка одной из продвинутых особенностей EVMS - возможности создания снапшота текущего положения дисковых разделов и томов в целях резервного копирования, восстановления и т.д. Очень полезно, так что лучше включить.
EVMS DriveLink Feature
Включение возможности слияния разных устройств и разделов на них в единое виртуальное дисковое пространство, подобно программному RAID'у или LVM. Собственно, это - одна из основных функций EVMS, так что выключать эту опцию бессмысленно.
EVMS Bad Block Relocation (BBR) Feature
Включение еще одной продвинутой фичи EVMS - возможности ремаппинга дискового пространства с перемещением информации из запорченных блоков на свободное место. Не вредно в любом случае, так что лучше включить.
EVMS Linux LVM Package
Включение режима совместимости с логическими томами Linux. Очевидно, нужна, если таковые были ранее созданы и был установлен соответствующий пользовательский инструментарий (пакет lvm-user). В противном случае, насколько я понимаю, в ней необходимости нет, так как EVMS обеспечивает ту же (и даже большую) функциональность.
EVMS Linux MD Package
Аналогично предыдущему, обеспечивает совместимость с программными RAID-массивами.
EVMS AIX LVM Package
Обеспечивает совместимость с логическими томами AIX.
EVMS OS/2 LVM Package
Обеспечивает совместимость с логическими томами OS/2.
Multi-device support (RAID and LVM)
Опции, обеспечивающие использование логических томов и программных RAID-массивов. Не нужно включать, если используется EVMS.
Multiple devices driver support
Общая поддержка Multiple devices. Без ее включения ничего нижеследующего не появляется.
RAID support
Общая поддержка программного RAID'а.
Linear (append) mode
Насколько понимаю, просто последовательное заполнение пространства на двух (или более) разделах.
RAID-0 (striping) mode
RAID нулевого уровня - с расщеплением, якобы для повышения производительности.
RAID-1 (mirroring) mode
RAID первого уровня - с зеркалированием (100-процентная избыточность, якобы сохранности для.
RAID-4/RAID-5 mode
RAID'ы с избыточностью, деталей не знаю, см. соотв. литературу.
Multipath I/O support
Никогда не сталкивался - без комментариев.
Logical volume manager
Общая поддержка логических томов.
Networking options
Поддержка сетевых протоколов, интерфейсов и устройств (но не сетевых карт). Я в этом мало что понимаю, поэтому остановлюсь только на тех пунктах, которые кажутся заведомо необходимыми.
Packet socket
Взаимодействие сетевых устройств, минуя сетевые протоколы? Считается необходимым.
Packet socket: mmapped IO
Не знаю.
Netlink device emulation
Network packet filtering
Socket Filtering
Unix domain sockets
Опция необходимая, так как используется программами и локально (например, Иксами).
TCP/IP networking
Как нетрудно догадаться, поддержка протокола TCP/IP. Также необходима для нормального функционирования Иксов локально.
Все прочие опции у меня отключены.
Telephony Support
Информации не имею, у меня отключено.
ATA/IDE/MFM/RLL support
Очень важный пункт - поддержка дисковых накопителей IDE.
ATA/IDE/MFM/RLL support
Общая поддержка ATA-интерфейса. Необходима, если только не все устройства в системе - SCSI.
Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
Поддержка интерфейса EIDE. В современных условиях необходимо.
Use old disk-only driver on primary interface
Поддержка старых однолинейных IDE-контроллеров. Анахронизм.
Include IDE/ATA-2 DISK support
Поддержка IDE-дисков. Если не все диски SCSI - необходима.
Use multi-mode by default
Включается
Auto-Geometry Resizing support
Для больших дисков и старых BIOS. Анахронизм.
Include IDE/ATAPI CDROM support
Поддержка CD ROM с ATA-интерфейсом. Считается необходимой. Однако, если в системе имеется только один привод CD-R/RW, ее можно отключить, включив зато эмуляцию SCSI (см. чуть ниже).
Include IDE/ATAPI TAPE support
Поддержка стриммеров с ATA-интерфейсом. Если таковые имеются - необходима.
Include IDE/ATAPI FLOPPY support
Необходимо для работы с приводами IDE Zip и супердискетами типа LS-120, больше ни для чего. Так что если таковых не имеется - можно смело отключить.
SCSI emulation support
Эмуляция протокола SCSI через IDE-интерфейс В современных условиях практически необходима, так как требуется для работы с пишущими приводами CD-R/RW. Обычно включается как модуль, однако можно жестко встроить в ядро, отключив поддержку IDE/ATAPI CDROM, как было сказано выше. Это потребует также встраивания в ядро поддержки SCSI, о чем см. в следующем пункте главного меню.
IDE Taskfile Access, IDE Taskfile IO
Смысла не знаю, у меня отключено.
IDE chipset support/bugfixes
Поддержка (и коррекция ошибок) для всяких наборов логики материнских плат.
CMD640 chipset bugfix/support
Требуется счастливым обладателям мам с таким чипсетом.
Generic PCI IDE chipset support
В отличие от предыдущего, требуется всем, хоть как-то использующим IDE.
Sharing PCI IDE interrupts support
Разделение прерываний с другими PCI-устройствами. Обычно необходимо.
Generic PCI bus-master DMA support
Поддержка DMA-режима. Необходима.
Boot off-board chipsets first support
Поддержка загрузки с внешнего контроллера, например, дополнительного IDE или IDE-RAID. Необходима в том случае, если загрузка предполагается с дисков на RAID-контроллере.
Force enable legacy 2.0.X HOSTS to use DMA
Что-то очень устарелое.
Use PCI DMA by default when available
Использование DMA-режима по умолчанию. Обычно включается. Отключать следует в том случае, если это приводит к ошибкам.
Enable DMA only for disks
Включение этой опции приводит к тому, что DMA-режим не используется для CD ROM (только для дисков). Требовалось для старых CD, которые работали в DMA-моде с ошибками. Нынче обычно отключается.
ATA Work(s) In Progress
Говорят, что-то очень экспериментальное, включать не рекомендуется.
AEC62XX chipset support, ALI M15x3 chipset support, AMD and nVidia IDE support, CMD64X and CMD680 chipset support, CY82C693 chipset support, Cyrix CS5530 MediaGX chipset support, HPT34X chipset support, HPT366/368/370 chipset support
Требуется обладателям материнских плат с поименованными чипсетами.
Intel PIIXn chipsets support, PIIXn Tuning support
Требуется для всех современных интеловских чипсетов.
NS87415 chipset support, OPTi 82C621 chipset enhanced support, RZ1000 chipset bugfix/support, ServerWorks OSB4/CSB5/CSB6 chipsets support, SiS5513 chipset support, SLC90E66 chipset support, Tekram TRM290 chipset support
Опять же для обладателей соответствующих чипсетов.
VIA82CXXX chipset support
Требуется для всех современных чипсетов VIA под любые процессоры.
Support for IDE Raid controllers
Поддержка аппаратных контроллеров IDE RAID. Требуется при наличии оного.
Support Promise software RAID
Поддержка контроллеров типа FastTrack.
SCSI support
Опции, относящиеся ко всяким SCSI-устройствам.
SCSI support
Общая поддержка SCSI-интерфейса. Практически необходима даже при отсутствии соответствующих устройств, так как требуется для работы CD-R/RW, USB-накопителей, ZIP-приводов на параллельном порту. Обычно подключается как модуль, однако если ранее (в разделе о IDE-устройствах) была отключена поддержка ATAPI CD ROM и встроена - эмуляция SCSI через IDE, общую поддержку SCSI также лучше встроить в ядро.
SCSI support type
Поддержка SCSI-накопителей.
SCSI disk support
Требуется, как ни странно, для работы с USB-накопителями. Если общая поддержка SCSI была встроена в ядро, с этой опцией лучше поступить также.
SCSI tape support
Поддержка SCSI-стриммеров, требуется при наличии такового.
SCSI OnStream SC-x0 tape support
Тоже что-то из области стриммеров.
SCSI CD-ROM support
Поддержка SCSI CD-ROM. Ее нужно встроить в ядро, если то же было сделано с IDE-SCSI.
SCSI generic support
Поддержка SCSI. Требуется для работы с CD-R/RW и USB-приводами. Встраивается в ядро или подключается как модуль в зависимости от того, как ранее мы поступили с IDE-SCSI и SCSI вообще.
Прочие пункты этого подменю относятся ко всяким SCSI-специфичным штучкам (их можно отключить, если используется только эмуляция SCSI), а также к конкретным SCSI-контроллерам.
Fusion MPT device support
Просто не знаю, что это.
IEEE 1394 (FireWire) support
Поддержка интерфейса FireWire. Никогда этих устройств не видел, поэтому - без комментариев.
I2O device support
Аналогично предыдущему пункту.
Network device support
Поддержка сетевых устройств и протоколов (в том числе и для модемного соединения).
Network device support
Общая поддержка сетевых устройств. Можно отключить только в том случае, если не предполагается никакого соединения (в том числе и модемного).
ARCnet devices
Без комментариев.
Dummy net driver support
Необходимо для модемного соединения.
PPP (point-to-point protocol) support
Поддержка соединения PPP (по протоколу точка-точка), необходимо при модемном подключении.
PPP multilink support
Включение поддержки одновременной работы с несколькими модемами на одной линии.
PPP support for async serial ports
Поддержка PPP-соединения по обычному асинхронному последовательному порту (то есть необходимо при модемном подключении).
PPP support for sync tty ports
Не знаю.
PPP Deflate compression, PPP BSD-Compress compression
Поддержка различных алгоритмов компрессии данных при модемном подключении, зависит от провайдера, обычно включаются оба.
Все опции, относящиеся к модемному соединению, могут быть встроены в ядро или подключены как модули, однако лучше придерживаться единообразия.
Прочие опции этого раздела относятся к конкретным сетевым картам и интерфейсам.
Amateur Radio support
Что-то из области радиолюбительства.
IrDA (infrared) support
Поддержка инфракрасного интерфейса.
ISDN subsystem
Поддержка ISDN-соединения, в наших условиях не актуально.
Input core support
Требуется для поддержки USB-устройств ввода (мышей, клавиатур, джойстиков), в дальнейшем потребует подключения интерфейса HID (см. раздел о USB-устройствах).
Keyboard support
Для USB-клавиатур.
Mouse support
Для USB-мышей.
Joystick support
Для джойстиков.
Event interface support
Не знаю.
Character devices
Опции поддержки многочисленных символьных устройств.
Virtual terminal
Смысл понятен. Опция обязательна к включению на любой настольной машине - без этого локальный доступ к ней невозможен (хотя возможен доступ по сети - как к дистанционно управляемому серверу, например).
Support for console on virtual terminal
Возможность использования виртуального терминала как т.н. системной консоли, на которую выводятся разного рода сообщения. То есть также практически обязательна.
Standard/generic (8250/16550 and compatible UARTs) serial support
Поддержка стандартных последовательных портов. Необходима, в частности, для работы модема.
Support for console on serial port
Осталось с тех времен, когда терминалы подключались по соответствующему интерфейсу.
Extended dumb serial driver options
Опции для поддержки более чем 4-х последовательных портов и другие, смысла которых я не знаю.
Non-standard serial port support
Не встречался.
Unix98 PTY support
Поддержка псевдотерминалов, необходима в очень многих случаях (например, сюда относятся эмуляторы терминала в Иксах).
(256) Maximum number of Unix98 PTYs in use (0-2048)
Ограничение максимального количества оных (можно оставить значение по умолчанию).
I2C support
Опция необходима для поддержки аппаратных сенсоров, твтюнеров, по крайней мере на чипе bt848.
Mice
Поддержка мышей, кроме последовательных.
Bus Mouse Support
Шинные (то есть подключаемые к специальной плате) мыши. Думаю, все давно самортизированы.
Mouse Support (not serial and bus mice)
Понятно из названия, включают:
PS/2 mouse (aka "auxiliary device") support
Большинство ныне живущих, кроме USB.
И еще несколько, о которых я не слышал.
Joysticks
Не интересовался за ненадобностью.
QIC-02 tape support
Опять какой-то стриммер.
Watchdog Cards
Без комментариев.
Далее следует несколько опций не вполне ясного назначения.
/dev/agpgart (AGP Support)
Поддержка шины AGP, очевидно, нужна на всех современных машинах.
Intel 440LX/BX/GX and I815/I820/I830M/I830MP/I840/I845/I850
Поддержка AGP для поименованных чипсетов.
Intel I810/I815/I830M (on-board) support
Поддержка интегрированного видео для поименованных чипсетов.
VIA chipset support
Поддержка AGP для чипсетов VIA, и так далее.
Direct Rendering Manager
Поддержка 3D графики в Иксах для карт из списка, открывающегося при включении этой опции.
ACP Modem (Mwave) support
Поддержка программных модемов.
Multimedia devices
Video For Linux и тому подобное.
File systems
Поддержка файловых систем. Очень важно, чтобы были включены опции всех задействованных файловых систем, причем корневая - обязательно встроена в ядро (не модулем). Да и все монтируемые автоматически при старте также нежелательно подключать как модули.
Напомню, что в качестве родных (native) файловых систем в Linux ныне могут использоваться Ext2fs, Ext3fs, ReiserFS, JFS и XFS (вариант с размещением на FAT-разделе не рассматриваем как баловство). Поддержка прочих файловых систем обеспечивает доступ к ним на уровне обмена данными (для ряда систем, например, NTFS - практически только для чтения).
Quota support
Поддержка дисковых квот пользователей. На настольной машине не нужно.
Kernel automounter support, Kernel automounter version 4 support (also supports v3)
Автоматическое монтирование удаленных файловых систем. На настольной машине не обязательно.
Reiserfs support
Необходимо включить, если используется.
ADFS file system support, Amiga FFS file system support, Apple Macintosh file system support, BeOS file systemv(BeFS) support (read only), BFS file system support
Всякие разные файловые системы, кому нужно - сам знает.
Ext3 journalling file system support
Очень не помешает включить, если захочется прикрутить журналирование к стандартной ext2fs. А вот поддержка отладки (JBD (ext3) debugging support) - совсем даже и не к чему.
DOS FAT fs support
Поддержка всего FAT'образного семейства.
MSDOS fs support
Обычная файловая система DOS (FAT16).
UMSDOS: Unix-like file system on top of standard MSDOS fs
Unix-подобная надстройка над FAT, на которой может быть установлен Linux. ИМХО, баловство чистой воды.
VFAT (Windows-95) fs support
FAT с длинными именами.
EFS file system support
Старая файловая система для IRIX.
Journalling Flash File System (JFFS) support
Journalling Flash File System v2 (JFFS2) support
Compressed ROM file system support
Вроде бы файловые системы на твердотельных устройствах?
Virtual memory file system support (former shm fs)
Файловая система в оперативной памяти (tmpfs), вещь ныне очень нужная, лучше включить. Может монтироваться (без форматирования) в каталоги типа /tmp, немало способствуя быстродействию (при достаточном объеме памяти физической).
ISO 9660 CDROM file system support
Поддержка обычной файловой системы CD-дисков плюс расширение RockRidge (для передачи длинных имен файлов и их атрибутов в стиле Unix). Необходима и для записи CD-R/RW в стандартном формате.
Microsoft Joliet CDROM extensions
Поддержка расширения Joliet для передачи длинных имен в стиле Windows (то есть требуется для нормального доступа ко всякого рода фабричным дискам, например, мультимедийным). Необходима также для записи CD-R/RW при создании их образом с опцией -J.
Transparent decompression extension
Поддержка Linux-специфичного расширения RockRidge для чтения компрессированных дисков.
JFS filesystem support
Поддержка журналируемой файловой системы JFS для Linux.
Minix fs support
Поддержка файловой системы Minix - бабушки ext2fs.
FreeVxFS file system support
Поддержка формата файловых систем VERITAS (SCO UnixWare и др.).
NTFS file system support
Поддержка файловой системы NTFS (гарантированно - только для чтения).
OS/2 HPFS file system support
Поддержка файловой системы OS/2 HPFS.
/proc file system support
Поддержка файловой системы процессов, представляющей протекающие в системе процессы в виде файлов. Практически необходимо во всех случаях.
Kernel configuration visible in /proc/config
Представление текущей конфигурации ядра в виде файла /proc/config. Полезно включить на тот случай, если файл /usr/src/linux/.config будет утерян в результате неаккуратных действий (команды make mrproper, например). В этом случае его можно воссоздать командой
$ cat /proc/config > /usr/src/linux/.config
Поскольку необходимость в этом возникает не каждый день, есть смысл подключить эту опцию в виде модуля.
/dev file system support
Поддержка файловой системы устройств - devfs. Делает ненужным создание файлов устройств с помощью команды mknod или сценария /dev/MAKEDEV, создает файлы подключаемых устройств на лету, избавляет от захламленности каталога /dev. На мой взгляд, ныне практически необходима. Однако по этому поводу следует учитывать специфику конкретного дистрибутива (см. следующий пункт).
Automatically mount at boot
Автоматическое монтирование devfs при загрузке системы. При включении этой опции (вместе с /dev file system support, разумеется) отпадает необходимость в настройках демона devfsd, однако исчезает обратная совместимость - то есть к файлам устройств уже нельзя будет обращаться в старой номенклатуре - как /dev/hda1 и т.д. Чтобы такая совместимость появилась - потребуется внести коррективы в файл /etc/devfsd.conf. Следует ли включать эту опцию - вопрос спорный, и зависит от конкретного дистрибутива. Например, в Gentoo делать этого не рекомендуется, а в CRUX - не просто рекомендуется, но требуется обязательно.
Debug devfs
А вот отладку devfs, как и любой другой файловой системы, на настольной машине можно спокойно отключить.
/dev/pts file system for Unix98 PTYs
Виртуальная файловая система для представления псевдотерминалов, которые мы включили в разделе Character devices. Если так, и файловая система devfs не используется, опция должна быть включена обязательно. При использовании devfs никакой необходимости в ней нет.
QNX4 file system support
Поддержка доступа к файловой системе QNX 4-й версии (но не 6-й, и только для чтения).
ROM file system support
Поддержка файловой системы, используемой на установочных и rescue-дискетах. В обычных условиях необходимости в ней не возникает.
Second extended fs support
Поддержка файловой системы Ext2fs - основной (и до недавнего времени единственно родной) для Linux. По ряду соображений включение ее практически обязательно, даже если корневой и все прочие разделы диска несут какую-либо журналируемую файловую систему. И к слову - без поддержки Ext2fs невозможна и работа с Ext3fs.
System V/Xenix/V7/Coherent file system support
Поддержка всяких Юниксовых файловых систем.
UDF file system support (read only)
Поддержка доступа к файловой системе на CD-RW, записанных в пакетном режиме, и стандартной для DVD-дисков.
UDF write support
Поддержка UDF на запись. Практически пакетная запись CD-RW потребует еще и специфического патча ядра, а также соответствующего инструментария, так что в целесообразности этой опции я не уверен.
UFS file system support (read only)
Поддержка доступа к файловой системе FreeBSD сотоварищи (NetBSD, OpenBSD) на локальных дисках. Для доступа к ним по сети не требуется (но тогда нужно включить поддержку NFS, о чем будет говориться позднее).
UFS file system write support
Поддержка записи на UFS-разделы. Считается весьма опасной.
XFS filesystem support
Поддержка файловой системы XFS - наиболее совершенной (ИМХО) из нативных для Linux. Тем не менее, этого пункта в канонической vanilla не найти - он появляется только в ядрах, пропатченных соответствующим патчем от SGI. В этой файловой системе реализованы всякого рода дополнительные фичи, за которые и отвечают нижеследующие опции.
ACL support
Поддержка расширенных атрибутов доступа. В нынешних программах, насколько я знаю, пока не используется, но по умолчанию этот пункт включается при включении XFS.
Realtime support
Поддержка т.н. субтомов реального времени (realtime subvolume) - отдельных областей дискового пространства, предназначенных только для хранения данных. Используется, насколько можно понять, при работе с потоковыми мультимедийными данными.
Quota support
Поддержка расширенного управления дисковыми квотами для пользователей и групп.
DMAPI support
Интерфейс управления данными.
Debugging support, Pagebuf debugging support
Опять отладка всякого рода - обычно не нужно.
Network File Systems
Как ясно из названия, поддержка сетевых (или, правильнее сказать, удаленных) файловых систем.
Coda file system support (advanced network fs)
Поддержка распределенной файловой системы Coda, деталей не знаю.
InterMezzo file system support
Что-то из той же оперы.
NFS file system support
Поддержка протокола NFS (Network Sharing Protocol, позволяющему монтировать удаленные файловые системы любых Unix-машин (клиентская часть).
Provide NFSv3 client support
NFS server support
Серверная часть NFS.
Provide NFSv3 server support
Provide NFS server over TCP support
SMB file system support
Система для доступа к Windows-ресурсам (дискам и принтерам).
Use a default NLS
Позволяет установить умолчальную кодировку имен файлов в случае их передачи языком, отличным от американского.
NCP file system support
Обеспечивает доступ к ресурсам сетей Novell.
Partition Types
Опции, позволяющие получить доступ к разделам на дисках для архитектур, отличных от PC, созданных в разных операционных системах.
Native Language Support
Поддержка национальных языков в именах файлов (к локализации как таковой никакого отношения не имеет). Содержит множество опций страниц для различных языков и наборов символов. Если использовать в именах файлов только чистую латиницу, необходимости в них нет - умолчальное значение iso8859-1. При общении с теми, кто этого правила не придерживается, можно подключить как модули необходимые кодировки. Для Руси это:
- Codepage 866 (Cyrillic/Russian)
- Windows CP1251 (Bulgarian, Belarusian)
- NLS ISO 8859-5 (Cyrillic)
- NLS KOI8-R (Russian)
- NLS KOI8-U/RU NLS UTF8
Inode monitor support
Опция необходима для работы программы imon. Интуитивно понятно, но деталей не знаю.
Console drivers
Опции видеорежимов текстовой консоли
VGA text console
Стандартная текстовая VGA-консоль. Обязательно включается (встраивается в ядро), за исключением двух случаев: безмониторной дистанционно управляемой машины и включения в ядро (не как модуля!) поддержки графической консоли через Frame Buffer (см. далее).
Video mode selection support
Поддержка выбора видеорежима при старте системы. Для переключения видеорежимов в ходе работы не требуется.
MDA text console (dual-headed)
Поддержка старых мониторов MDA или Hercules как вторых (при наличии соответствующей карты). Не актуально.
Frame-buffer support
Поддержка т.н. графической консоли через Frame Buffer. Один из следующих вариантов может быть включен как модуль (наряду с встроенной в ядро VGA text console) или встроен в ядро (в этом случае VGA text console следует отключить).
Support for frame buffer devices
При включении этого пункта разворачиваются нижеследующее меню.
Frame buffer Boot Logo
Выбор логотипа при загрузке - по умолчанию включается при включении поддержки frame buffer и показывает пингвина Tux'а. Варианты выбора зависят от дистрибутива. Если при старте системы предполагается загрузка графической консоли с разрешение 640x480, следует отключить, иначе система не загрузится вообще (впрочем, отключение логотипа не всегда возможно).
Далее идут опции поддержки нескольких типов графических чипов. Они далеко не всегда работают должным образом (а иногда не работают вовсе). В этом случае нужно выбрать поддержку стандартной VESA-консоли.
nVidia Riva support
Frame buffer для Riva и GeForce.
Cirrus Logic support
Для древних чипов с Циррозом Логики.
Permedia2 support
Для карт на чипе Permedia2.
Permedia3 support
То же для Permedia3.
Cyber2000 support
Аналогично (правда, что такое Cyber2000, я не знаю.
VESA VGA graphics console
А эта опция позволяет включить графическую консоль для любых VESA-совместимых карт, то есть практически для всех ныне живущих (кроме, насколько мне известно, Matrox - он обязательно требует явного указания).
VGA 16-color graphics console
А это на тот случай, если и VESA не помогла.
Hercules mono graphics console
Frame Buffer для Hercules - архаизм.
Matrox acceleration
Включение графической консоли для видеокарт Matrox Milleniun I/II, Matrox Mistique, Matrox G100-550, для последних - в том числе и в двухголовом варианте.
ATI Mach64 display support, ATI Radeon display support, ATI Rage128 display support
Frame buffer для ATI'шных карт разных поколений.
SIS acceleration
Графическая консоль для встроенного видео SiS'овских чипсетов под Socket 7.
NeoMagic display support, 3Dfx Banshee/Voodoo3 display support, 3Dfx Voodoo Graphics (sst1) support, Trident support
Соответственно.
Virtual Frame Buffer support
Не очень знаю, что это. В комментарии указано, что не для нормальных машин.
Advanced low level driver options
Многочисленные уточняющие и дополняющие опции.
Monochrome support
Включение монохромного режима
2, 4, 8, 16, 24, 32 bpp packed pixels support
Включение одного из перечисленных цветовых режимов.
Amiga bitplanes support, Amiga interleaved bitplanes support
Включение каких-то Amiga'вских видеорежимов.
Atari interleaved bitplanes (2 planes) support, Atari interleaved bitplanes (4 planes) support, Atari interleaved bitplanes (8 planes) support
Аналогично, но из области Atari
Mac variable bpp packed pixels support
Аналогично - Mac.
VGA 16-color planar support
Поддержка 4-битного цвета (для старых VGA-карт).
VGA characters/attributes support
Имитация в графической консоли чисто текстового режима. Обязательно должна включаться, если поддержка Frame buffer встроена в ядро, а VGA text console, соответственно, отключена.
HGA monochrome support
Опять же о Hercules. Не смотря на экспериментальный статус, являет собой явную архаику.
Support only 8 pixels wide fonts
Поддержка в графической консоли только шрифтов с матрицей 8x8. Лучше не включать - большинство хороших кириллических шрифтов для консоли имеют матрицу 8x16.
Select compiled-in fonts
Встраивание в ядро консольных шрифтов, отличных от умолчальных. ИМХО, нужны:
VGA 8x8 font, VGA 8x16 font
А остальные - нет?
Sound
Поддержка звука.
Sound card support
Общая поддержка звука. Если в следующем ниже списке имеющаяся карта присутствует, можно встроить в ядро или подключить как модуль и то, и другое. Если нет - придется, скорее всего, использовать драйверы ALSA. В этом случае включается как модуль только Sound card support (это вообще обязательное требование для использования ALSA).
Перечислять все карты было бы скучно. Замечу только, что распространенные карты SB AWE 128 используют чип ES1371 и, соответственно, требуют включения пункта Creative Ensoniq AudioPCI 97, а встроенные кодеки - в большинстве случаев Intel ICH (i8xx) etc.
USB support
Как легко догадаться, поддержка шины USB и соответствующих устройств.
Support for USB
Включение общей поддержки USB-устройств. Поскольку недалеко то время, когда USB-драйвы заменят не только флопы, но и (паркуа бы и не па) CD-R/RW, лучше встроить в ядро.
Miscellaneous USB options
Не очень понятен смысл. У меня все это отключено - и USB работают.
USB Host Controller Drivers
Поддержка железных контроллеров USB-шины.
EHCI HCD (USB 2.0) support
Требуется, если на маме есть USB-2.
UHCI (Intel PIIX4, VIA, ...) support
Поддержка стандартного USB на мамах с интеловскими (а также, говорят, VIA'шными) чипсетами.
UHCI Alternate Driver (JE) support
Альтернативного USB-драйвера.
OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support
Этот драйвер обеспечивает поддержку USB для чипсетов, не охваченных предыдущим пунктом.
USB Device Class drivers
Включение поддержки групп USB-устройств (смысл, кажется, очевиден).
USB Audio support
Аудио- устройства.
USB Bluetooth support
Соответственно - в память о Харальде Синезубом.
USB MIDI support
Никогда не видел.
USB Mass Storage support
Необходимо для работы с USB-драйвами (напомню, еще они требуют поддержки SCSI). А вот все подпункты данного пункта - для стандартного USB-накопителя не нужны.
USB Modem (CDC ACM) support
Наверное, поддержка USB-модема?
USB Printer support
То же применительно к принтеру.
USB Human Interface Devices (HID)
Гуманистический интерфейс к USB-устройствам. Требуется для мышей, Клав и прочих джойстиков. При наличии USB-периферии можно включить все гуртом -
USB Human Interface Device (full HID) support
Поная поддержка HID, или выбрать одну из урезанных версий HID:
USB HIDBP Keyboard (basic) support
Поддержка только тети Клавы.
USB HIDBP Mouse (basic) support
То же - только для мышей. Имеет смысл в случае каких-либо проблем с USB-периферией в стандартном режиме HID, ну а также, если имеется в наличии только USB-клава или USB-мышь.
Aiptek 6000U/8000U tablet support
Планшеты поименованные.
Wacom Intuos/Graphire tablet support
Планшеты Wacom'овские.
USB Imaging devices
Сканеры и цифровые камеры.
USB Multimedia devices
Вероятно, внешние тюнеры?
USB Network adaptors
Сетевые адаптеры по USB.
Далее идут еще несколько опций, о которых я ничего не знаю и говорить не буду.
Bluetooth support
И опять - кому интересно, почитайте в "Рыжем Орме", кто такой был Харальд Синезубый (или в "Походах викингов" Стрингольма - благо ее недавно переиздали).
Windows Applications support
Судя по названию, нечто, поддерживающее (на плаву) Виндовые аппликации.
Kernel hacking
Опции для ядреных хакеров. Но кое-что и простым людям может сгодиться.
Kernel debugging
Включение этого пункта вызывает разворачивание подменю, из которого я знаю смысл только одного пункта:
Magic SysRq key
Это включение магической клавиши (реально - комбинация Alt+PrtScr), после чего клавиатура переходит в т.н. отладочный режим, позволяющий, например, более-менее корректно выйти из безнадежно зависшей системы. Раньше я включал эту опцию обязательно (на всякий пожарный). Н последнее время Linux виснуть перестал вообще, и необходимость в ней как бы отпала.
Library routines
М.б. кто просветит, что это такое?
Load an Alternate Configuration File
Считывание некоего конфигурационного файла, отличного от умолчального (каковым выступает /usr/src/linux/.config). Требует ручного указания полного пути в нужному файлу.
Save Configuration to an Alternate File
Обратно - запись опций сконфигурированного ядра в файл, отличный от умолчального /usr/src/linux/.config.