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