где kernelversion – версия ядра, полученная с помощью команды uname.
Далее необходимо получить из Интернета (или с инсталляционного компакт-диска) и установить пакеты kernel-headers и kernel-source.
После этого перейти в каталог /usr/src/linux-2.4 и все дальнейшие команды выполнять из этого каталога.
Ядро с поддержкой загружаемых модулей (модульное)
Компиляция ядра операционной системы Linux происходит в несколько этапов.
1. Необходимо быть уверенным, что после предыдущих компиляций ядра операционной системы в дереве исходных кодов не осталось каких-либо несуразностей типа исходных текстов ядра младшей версии или неубранных объектных файлов. Поэтому компиляцию ядра операционной системы рекомендуется начать с команды make mrproper. Эта команда помимо того, что удаляет «мусор» после предыдущих компиляций, уничтожает также конфигурационный файл ядра, который находится в /usr/src/linux-2.4/.config. Если у вас уже есть рабочий конфигурационный файл (/usr/src/linux-2.4/.config) который вы хотите взять за основу, перед выполнением этой команды скопируйте его в свой домашний каталог, а после выполнения команды make mrproper верните на прежнее место.
2. Теперь следует произвести конфигурацию ядра операционной системы. Если у вас уже есть готовый конфигурационный файл – пропустите этот шаг. Для конфигурирования ядра операционной системы, как мы уже указывали выше, можно воспользоваться четырьмя разными утилитами, приводящими к одному результату:
• make xconfig. Утилита используется для конфигурирования ядра операционной системы в среде X Window;
• make config. Простая текстовая утилита конфигурации ядра операционной системы;
• make menuconfig. Текстовая утилита с системой меню для конфигурации ядра операционной системы Linux;
• make oidconfig. Неинтерактивный скрипт, который устанавливает в конфигурационном файле ядра значения по умолчанию.
3. После создания конфигурационного файла /usr/src/linux-2.4/.config для корректной установки всех зависимостей выполняем команду make dep.
4. Для подготовки исходных текстов для компиляции выполняем команду make clean.
5. Теперь необходимо отредактировать файл /usr/src/linux-2.4/Makefile таким образом, чтобы полученное новое ядро не перекрыло старое ядро операционной системы (более подробную информацию смотрите в Kernel-HOWTO). Редактируем /usr/src/linux-2.4/Makefile и исправляем строку, начинающуюся с extraversion= таким образом, чтобы создать уникальное имя. Самый простой вариант – добавить дату компиляции ядра. К примеру EXTRAVERSION= -0.1.21-jul2001. Это позволит одновременно иметь старую и новую версии ядра операционной системы.
6. Компилируем ядро операционной системы командой make bzImage.
7. Компилируем модули ядра операционной системы командой make modules.
8. Устанавливаем модули операционной системы командой make moduies_install. Эта команда должна установить модули ядра в каталог /lib/modules/KERNELVERSION/kernel/drivers, где KERNELVERSION – версия, описанная в файле Makefile. В нашем примере это /lib/modules/2.4.7-3-jul2001/kernel/drivers/.
9. Если в вашей системе установлен SCSI-контроллер, и вы сделали SCSI-драйвер модульным, необходимо создать новый файл initrd (см. далее).
10. Выполняем команду make install для того, чтобы скопировать наше новое ядро операционной системы и необходимые файлы в соответствующие каталоги.
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-контроллер).
Читать дальше
Конец ознакомительного отрывка
Купить книгу