Вячеслав Калошин
Конфигурирование ядра 2.2

Вот и пришло время рассказать про конфигурирование ядра 2.2

Сначала выполните подготовительные процедуры : скачайте и распакуйте в каталог /usr/src исходники ядра (внимание ! перед распаковкой переименуйте или удалите каталог linux). Теперь войдите в каталог linux и скажите make install - через некоторое время перед вами появится меню .. вот теперь-то и начнем конфигурировать его. пойдем по порядку.
Code maturity level options - если у вас есть нестандартные драйверы в исходных текстах, то при установке * вам в последствии предложать их включить. Сам я этот пункт не пробовал, поэтому результатов рассказать не могу.
Processor type and features - Установка типа вашего процессора и некоторых особенностей.
Processor family - тип процессора
Math emulation - включать эмуляцию матсопроцессора.(надо для процессоров sx)
MTRR (Memory Type Range Register) support - поддержка спец.регистров на процессорах Pentium Pro и Pentium II.
Symmetric multi-processing support - поддержка многопроцессорных машин
Loadable module support - поддержка загружаемых в качестве модулей драйверов.
Enable loadable module support - включить поддержку модулей.
Set version information on all symbols for modules - устанавливать в модуль информацию о том, для какой версии ядра он скомпилирован. Если вы установите этот пункт и перекомпилируете модули, а потом перейдете на другую версию ядра, модули откажутся загружаться.
Kernel module loader - поместить автозагрузчик модулей в ядро ? Если нет, то надо будет пускать kerneld.
General setup - основные установки
Networking support - поддержка сети
PCI support - поддержка шины PCI. Если ее включите, то появится следующие три пункта
PCI access mode - режим (BIOS, Direct, Any) доступа до функций PCI.
PCI quirks - я не знаю, что это значит, но по умолчанию у меня это стоит.
Backward-compatible /proc/pci - Обратная совместимость с /proc/pci, по крайней мере это так переводится, но на самом деле это включает отображение информации о PCI устройствах в каталоге /proc/pci.
MCA support - поддержка старой шины MCA
SGI Visual Workstation support - У вас ядро компилируется на Silicon Graphics ?
System V IPC - поддержка System V IPC - у меня выключено
BSD Process Accounting - Поддержка суммирования информации о процесах в стиле BSD - у меня тоже выключена
Sysctl support - Поддержка системных вызовов.
Kernel support for a.out binaries - поддержка ядром старого формата исполнимый файлов.Хоть таких файлов и осталось мало, но все-таки они встречаются, поэтому лучше оставить ее включенной.
Kernel support for ELF binaries - поддержка ядром нового формата исполнимых файлов. Эту опцию обязательно включите.
Kernel support for MISC binaries - поддержка других форматов исполняемых файлов. То есть вы сможете исполнять программы, скомпилированные для BSD,Solaric и так далее, естественно при наличии всех необходимый библиотек и программ.
Parallel port support - поддержка параллельного порта. Зачем эта опция здесь - я не знаю.
Advanced Power Management BIOS support - поддержка APM. То есть линукс научиться сам останавливать винты, засыпать, а при наличии ATX и выключать компьютер.
Plug and Play support - Поддержка стандарта PNP.
Block devices - поддержка флопиков, винтов и прочего. Этот раздел не изменился по сравнению с ядрами 2.0, поэтому, ятобы лишний раз не копировать одно и то же, вы можете посмотреть описание этого пункта в номере от 19 декабря 1998.
Networking options - поддержка и конфигурирование сетевых опций ядра.
Packet socket - я не знаю, для чего эта опция, но она у меня включена по умолчанию.
Kernel/User netlink socket - поддержка сокетов для связи в пределах одной машины.
Network firewalls - если вы планируете использовать машину в качестве файрволла, включите эту опцию.
Network aliasing - нужна для обеспечения подвешивания нескольких адресов(алиасов) на одну физическую карточку.
Socket Filtering - поддержка фильтрации TCP/IP потока.
Unix domain sockets - поддержка сщкетов в формате UNIX - включите ее !!
TCP/IP networking - вообще, поддерживаем TCP/IP ?
IP: multicasting - поддержка широковещетельного формата протокола TCP/IP. То есть машина будет рассылать одинаковый пакеты не каждому хосту отдельно, а всем сразу. Это может понадобиться для RealAudio сервера, например ...
IP: advanced router - улучшенные опции роутинга.
IP: kernel level autoconfiguration - не знаю, что это.
IP: optimize as router not host - оптимизация функция для использования машины больше в качестве роутера, а не обычного сервера.
IP: tunneling - обеспечение IP-туннеллинга.
IP: GRE tunnels over IP - GRE - туннелинг.
IP: aliasing support - поддержка алиасов.
IP: TCP syncookie support (not enabled per default) - не знаю, что это, у меня выключенро.
IP: Reverse ARP - обеспечение реверсного ARP. То есть машина не будет принимать пакеты да тех пор, пока не проверит, что заголовок пакета совпадает с MAC-адресом пославшего.
IP: Drop source routed frames - сброс кадров с информацией о роутинге. В этом случае машина сама должна собирать информацию о роутинге с помощью других средств.
IP: Allow large windows (not recommended if <16Mb of memory) принимать большие кадры. Не рекомендуется для машин с малым объемом памяти.
The IPX protocol
IPX: Full internal IPX network - включите эти два пункта, если вы собираетесь устанавливать Novell - эмулятор или соединяться с новелл-серверами.
Appletalk DDP - поддержка протоколов Macintosh'ей ....
SCSI support - Поддержка SCSI устройств. К сожалению, у меня на машине нет ни одного SCSI устройства, по этому я не буду описывать этот пункт. Но он по содержанию аналогичен пункту Block Devices.
Network device support - поддержка сетевых карточек.
Network device support - вообще поддержка сетевых карточек
ARCnet support - поддержка ARCnet карточек.
Dummy net driver support - поддержка "тупых" сетевых устройств. Используется редко.
EQL (serial line load balancing) support - поддержка балансировки при подключении 2 и более одновременно модемов.
Ethernet (10 or 100Mbit) - поддержка Ethernet - карточек. При этом открываются следующие пункты.
3COM cards -карточки от 3COM
AMD LANCE and PCnet (AT1500 and NE2100) support - от AMD
Western Digital/SMC cards - от SMC
Racal-Interlan (Micom) NI cards - от Racal.
Other ISA cards - другие ISA карточки.
EISA, VLB, PCI and on board controllers - карточки, которые сидят на EISA, VLB, PCI или вмонтированы прямо на матплату машины. Ниже откроется список поддерживаемых чипсетов для этих карточек - выберите тот, который у вас.
Pocket and portable adaptors - Портативные адаптеры.
FDDI driver support - поддержка FDDI
Frame relay DLCI support - поддержка Frame Relay
PPP (point-to-point) support - Поддержка PPP - протокола
SLIP (serial line) support - Поддержка SLIP - старый формат для подключению в инет.
Wireless LAN (non-hamradio) - Радио-карточки.
Token Ring driver support - Tocen Ring карточки.
Comtrol Hostess SV-11 support
COSA/SRP sync serial boards support
Red Creek Hardware VPN (EXPERIMENTAL) - Что из себя представляют эти 3 пункта, я не знаю ....
WAN drivers - поддержка WAN карточек ( это те, которые работают с потоками E1 и подобными им ;-)))
Amateur Radio support - Поддержка карточек, которые работают через X.25, поддержка SoundModem и прочей бяки. У меня ничего подобного нет, поэтому я опускаю этот пункт.
ISDN subsystem - Поддержка ISDN - у меня ее нет.
CD-ROM drivers (not for SCSI or IDE/ATAPI drives) - поддержка старых приводов CD-ROM, которые подключаются не через IDE или SCSI, например через звуковую карточку.
Character devices - поддержка остальных устройств ввода.
Virtual terminal - поддержка виртуальных терминалов на одном физическом.
Support for console on virtual terminal - поддержка косоли на виртуальных терминалах.
Standard/generic (dumb) serial support - поддержка стандартных последовательных портов.
Support for console on serial port - поддержка консоли, которая подключена через последовательный порт.
Extended dumb serial driver options - расширенная поддержка последовательных портов, в чем заключается конкретно - я не знаю.
Non-standard serial port support - поддержка нестандартных последовательных портов.
Unix98 PTY support - поддержка нового стандарта на консоли.
Maximum number of Unix98 PTYs in use (0-2048) - их число.
Mouse Support (not serial mice) -поддержка мышек, которые висят не напоследовательном порту.
QIC-02 tape support - поддержка стандарта QIC-02 (это старый формат для накопителей на магнитной ленте)
Watchdog Timer Support - поддержка аппаратного устройства, которое следит за работоспособностью системы.
/dev/nvram support - я не знаю, что это ...у меня включено.
Enhanced Real Time Clock Support - расширенная поддержка RTC.
Video For Linux ---> поддержка карточек с видео вводом/выводом. У меня их нет.
Joystick support ---> поддержка джойстиков. У меня их тоже нет ;-)
Ftape, the floppy tape device driver ---> поддержка накопителей на магнитной ленте, которые подключаются на floppy-шлейф.
Filesystems - Поддержка файловых систем. К этому пункту следует отнестись с большим вниманием ....
Quota support - поддержка дисковых квот для пользователей.
Kernel automounter support - встраивание автоматического монтировщика/демонтировщика дисковых разделов.
Amiga FFS filesystem support - поддержка файловой системы Амиги.
Apple Macintosh filesystem support (experimental) - поддержка макинтошевских разделов.
DOS FAT fs support - поддержка DOS - разделов, обязательно включите MSDOS,UMSDOS,VFAT опции ...
ISO 9660 CDROM filesystem support - поддержка файловой системы компакт-дисков.
Microsoft Joliet CDROM extensions - поддержка расширений микрософт для компакт-дисков.
Minix fs support - поддержка minix системы. очень старая система, я не знаю, где она применяется.
NTFS filesystem support (read only) - поддержка на чтение NTFS разделов.
OS/2 HPFS filesystem support (read only) - аналогично для HPFS.
/proc filesystem support - поддержка /proc. Здесь можно будет найти всю информацию о системе. утилиты ps,free и прочие пользуются ей, потому включите ее.
/dev/pts filesystem for Unix98 PTYs - поддержка новых стандартов.
ROM filesystem support - поддержка файловых систем, размещенных в ПЗУ.
Second extended fs support - поддержка родной для линукса фаловой системы.
System V and Coherent filesystem support - поддержка файловой системы для System V
UFS filesystem support - поддержка UFS системы. Применяется на коммерческих версиях Unix.
Network File Systems ---> поддержка сетевых файловых систем
Coda filesystem support (advanced network fs) - файловая система, предназначенная для динамического подключения/отключения клиентов. Навороченная до безобразия. Я пока не смог найти ей более-менее разумного применения, кроме кластеров. ;-))).
NFS filesystem support - поддержка NFS - родной для юниксов сетевой файловой системы.
SMB filesystem support (to mount WfW shares etc.) - поддержка файловой системы, по которой общаются представители windows - мира.
NCP filesystem support (to mount NetWare volumes) - то же самое, но для мира новелл.
я советую включить все дополнительные опции - по моему, более безглючная работа вам будет гарантирована ;-)))).
Partition Types ---> Поддержка форматов разбивок дисков для BSD, Macintosh, Sun, Solaris.
Native Language Support ---> Подержка национальных языков на разделах. Здесь включите поддержку Codepage 437 (United States, Canada), Codepage 866 (Cyrillic/Russian), NLS ISO 8859-5 (Cyrillic), NLS KOI8-R (Russian) и вы сможете нормально видеть русские буквы в именах файлов.
Console drivers ---> Поддержка аппаратной консоли.
VGA text console - поддержка VGA - консолей.
Video mode selection support - поддержка выбора видеорежима на этапе загрузки. То есть вы можете загрузить линукс не 25х80, а например 50х80. Если честно, то эта поддержка была и в самых старых версиях ядра, но она устанавливалась вручную спец.командами.
Sound - Поддержка звуковых карт. Здесь опять же просто выберите тот чипсет, на основе которого собрана ваша звуковая карточка. Если вы не нашли ее, попробуйте включить модуль OSS - там наверняка найдете то, что вам надо. Там же указываются порты и прерывания для вашей звуковой карточки.
Kernel hacking - "ломка" ядра. Я ни разу не использовал этой опции.

Вот и все, что необходимо для конфигурации ядра под ваши требования. Единственное, что я вам посоветую - как можно больше вынести в модули, так как объем ядра увеличился и при включении джентельменского набора опции для компиляции в ядро оно просто получится очень большим. Теперь делайте make zlilo - ядро начнется компилироваться и если оно скомпилировалось без ошибок, вызоветься lilo, который подготовит загрузчик для ядра. Если компиляция прошла с ошибками, то смотрите на то, какие ошибки и думайте, что их могло вызвать. У меня единственнное что было - так это для ядра не хватило памяти и пресловутый signal 11 из-за разогнанного процессора. Потом сделайте make modules;make modules_install для компилирования и установки модулей, только не забудьте удалить все из каталога /lib/modules/2.2.1 (если вы компилируете 2.2.1 версию, для 2.2.0 сами понимаете какой каталог должен быть ;-))

AQUA TOP100!