Алексей Стахнов - Linux
11. Ядро успешно скомпилировано и установлено. Далее необходимо произвести конфигурирование загрузчика (см. разд. "Конфигурирование загрузчика ").
Создание образа initrd
Файл initrd необходим для загрузки SCSI-модуля во время старта операционной системы. Скрипт /sbin/mkinitrd создает соответствующий образ initrd для вашего компьютера, если выполнены следующие условия:
• loopback block device доступно;
• файл /etc/modules.conf содержит описание вашего SCSI-контроллера.
Для построения образа initrd необходимо выполнить команду /sbin/mkinitrd СО следующими параметрами: /sbin/mkinitrd /boot/initrd-2.4.7-3-jul2001.img 2.4.7-3-jul2001
Здесь /boot/initrd-2.4.7-3-jul200i. img – имя файла для нового образа initrd, a 2.4.7-3-jul2001 – ядро, чьи модули (из /lib/modules) должны быть использованы при создании образа initrd.
Этапы компиляции
Подведем итог. Для компиляции и инсталляции модульного ядра операционной системы Linux необходимо выполнить следующие команды:
1. make mrproper.
2. make menuconfig.
3. make dep.
4. make clean.
5. Редактирование /usr/src/linux-2.4/Makefile.
6. make bzlmage.
7. make modules.
8. make modules_install.
9. /sbin/mkinitrd /boot/initrd-2.4.xx.img 2.4.хх (если В вашей системе установлен SCSI-контроллер).
10. make install.
11. Конфигурирование загрузчика.
Монолитное ядроКомпиляция монолитного ядра операционной системы в основном повторяет компиляцию модульного ядра за некоторыми небольшими исключениями:
• когда конфигурируется ядро, не должны использоваться модули, т. е. на любой вопрос надо отвечать только Yes или No. Так же необходимо ответить No для пунктов kmod support и module version (CONFIG MODVERSIONS) support;
• необходимо пропустить следующие команды:
– make modules;
– make modules_instali;
• для загрузчика LILO в файл lilo.conf необходимо добавить строчку append=nomodules.
Этапы компиляции
Подведем итог. Для компиляции и инсталляции монолитного ядра операционной системы Linux необходимо выполнить следующие команды:
1. make mrproper.
2. make menuconfig.
3. make dep.
4. make clean.
5. Редактирование /usr/src/linux-2.4/Makefile.
6. make bzlmage.
7. /sbin/mkinitrd /boot/initrd-2.4.xx.img 2.4.хх (если В вашей системе установлен SCSI-контроллер).
8. make install.
9. Конфигурирование загрузчика (см. разд. «Конфигурирование загрузчика»). Для загрузчика LILO в файл lilo.conf необходимо добавить строчку append=nomodules.
Параметры настройки ядра
Этот раздел полностью посвящен параметрам настройки ядра операционной системы Linux. Структура раздела выглядит следующим образом – в первой части на основе утилиты menuconfig показано дерево параметров настройки ядра Linux, во второй части – краткие пояснения параметров.
Дерево параметров настройки ядра
Полное дерево настроек ядра Linux с установками, используемыми в дистрибутивном ядре Red Hat Linux 7.2, приведено в приложении 4.
Параметры настройки ядра (комментарии)
Как вы уже заметили, параметров настройки ядра много, и чтобы правильно их сконфигурировать, необходимо иметь обширные знания о функциях операционной системы Linux. Еще одна особенность – почти 90 % всех настроек и свойств ядра вынесены в модули. Если вы не уверены в том или ином свойстве – поставьте «использовать модуль».
Далее кратко прокомментируем основные пункты меню конфигурации ядра операционной системы:
• Code maturity level options – для использования альфа– или нестабильных версий драйверов. В основном с целью отладки;
• Loadable module support – отвечает за вид скомпилированного ядра операционной системы: модульное или монолитное;
• Processor type and features – определяет тип процессора, для которого компилируется ядро операционной системы, поддержку набора процессорных команд, поддержку мультипроцессорной системы, объем поддерживаемой оперативной и виртуальной памяти и некоторые другие параметры. Для максимальной производительности системы рекомендуется выбрать именно тот тип процессора, который установлен в вашей системе, однако с целью совместимости в дистрибутиве ядро компилируется таким образом, чтобы оно работало на любом процессоре – от Pentium до Pentium 4, AMD и Cyrix;
• General setup – определяет основные свойства ядра: что оно сможет делать и какие типы устройств будет поддерживать. Здесь выбирается поддержка сети, шин PCI, EISA, MCA, PCMCIA-устройств, различных форматов исполняемых файлов и т. п;
• Binary emulation of other systems – определяет, для каких операционных систем поддерживается выполнение бинарных файлов. В основном, это поддержка бинарных файлов для UnixWare, Solaris, SCO Unix;
• Memory Technology Devices (MTD) – данные устройства (твердотельные накопители) для нас еще достаточно экзотичны;
• Parallel port support – отвечает за поддержку ядром параллельного порта;
• Plug and Play configuration – поддержка Plug and Play, в том числе и ISA-устройств;
• Block devices – определяется поддержка различных блоковых устройств и контроллеров, в том числе дисководов, жестких дисков старого (XT) типа или жестких дисков, подключаемых к параллельному порту. Здесь же включается поддержка Loорback-устройства, сетевого блочного устройства и диска, создаваемого в оперативной памяти (RAM Disk). С последним надо быть очень аккуратным, как вы знаете, он используется при загрузке операционной системы;
• Multi-device support (RAID and LVM) – включается поддержка RAID-устройств и LVM (управление массивом дисков);
• Networking options – поскольку одним из важнейших назначений для операционной среды Linux является работа с сетью, то, наверное, половина параметров ядра тем или иным образом касается сети. Здесь определяются различные сетевые параметры – используемые сетевые протоколы, сетевая маршрутизация, конфигурирование виртуального сервера и многое другое;
• Telephony Support – отвечает за поддержку плат IP-телефонии – специализированных устройств для преобразования телефонного звонка в цифровое представление и обратно. Подавляющее число пользователей вряд ли даже знают названия этих карт, не говоря уже об использовании;
• ATA/IDE/MFM/RLL support – определяются поддерживаемые устройства и контроллеры ATA/IDE, а так же устаревшие устройства MFM/RLL. Здесь же есть параметры для исправления ошибок различных чипов контроллеров ATA/IDE, большей частью времен 386 и 486 процессоров. Поскольку у большинства пользователей в компьютере присутствует хотя бы одно устройство ATA/IDE – нужно быть очень внимательным при конфигурировании этого раздела. В этом же разделе включается поддержка модных ныне аппаратных контроллеров IDE RAID;
• SCSI support – определяет поддержку SCSI-устройств и контроллеров. Поскольку SCSI-устройства сложнее IDE-устройств, и каждый производитель контроллеров старался «отличиться», этот раздел получился большим и несколько запутанным. Здесь определяется поддержка дисков, ленточных накопителей, CD-ROM и RAID-массивов;
• Fusion MPT device support – поддержка устройства Fusion MPT – объединенного высокоскоростного SCSI-адаптера и сетевого интерфейса. Работает по протоколу Ultra 320 или Fibre Channel;
• IEEE 1394 (FireWire) support (EXPERIMENTAL) – поддержка контроллеров FireWire;
• 120 device support – поддержка Intelligent Input/Output. Используется для ввода/вывода без участия процессора;
• Network device support – поддержка различных сетевых устройств, в том числе протокола РРР, SLIP, оптических устройств, беспроводных сетей и т. п.;
• ARCnet devices – протокол и устройства, разработанные достаточно давно. Практически вышли из употребления;
• Appletalk devices – устройства для сетей Appletalk фирмы Apple. В России широкого распространения не имеют;
• Ethernet (10 or 100Mbit) – поддержка сетевой карты Ethernet. Представлены карты и семейства карт различных производителей, работающие на скорости 10 или 10/100 Мбит;
• Ethernet (100 Mbit) – представлены сетевые карты Ethernet, работающие на скорости 100 Мбит;
• Wireless LAN (non-hamradio) – осуществляется поддержка устройств типа Radio Ethernet;
• Token Ring devices – устройство, разработанное фирмой IBM достаточно давно. Большого распространения (по крайней мере у нас) не получило. Сегодня практически не используется;
• Wan interfaces – поддержка интерфейсов глобальных сетей;
• ATM drivers – поддержка для ATM-сетей. Очень распространены в США для организации связи на большом расстоянии;
• Amateur Radio support – поддержка любительского радио. Не представляет интереса для подавляющего числа пользователей (если вы, конечно, не радиолюбитель);
• IrDA (infrared) support – поддержка устройств и инфракрасных портов. Обычно используется для связи с портативными принтерами, органайзерами и мобильными телефонами;
• ISDN subsystem – поддержка ISDN-устройств. В основном используется для подключения к цифровым телефонным станциям;
• Old CD-ROM drivers (not SCSI, not IDE) – поддержка старых CD-ROM, работающих по специфическому протоколу. Подобные устройства не выпускаются с 1996 года (максимальная скорость устройств – 4х —6х);
• Input core support – поддержка USB Human Interface Device (в частности USB-клавиатуры и мыши);
• Character devices – поддержка символьных устройств: терминалов, последовательных портов и многопортовых контроллеров, аппаратных датчиков, мышей, джойстиков и манипуляторов, видеокарт и чипсетов;
• Multimedia devices – поддержка мультимедиа-устройств. В данном случае это платы TV– и FM-приемников, платы телетекста;