Конфигурирование ядра 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 сами понимаете какой каталог должен быть ;-))