Ожидаемое время сборки: При параметрах по умолчанию: 4.20 SBU
|
Ядро Linux является основой любой системы Linux. Это и есть Linux. Когда компьютер включается и загружает Linux, первым из всех программ для Linux загружается ядро. Ядро инициализирует аппаратные компоненты системы: последовательные и параллельные порты, звуковые и сетевые карты, контроллеры IDE и SCSI и многое другое. Если короче, то ядро делает доступным оборудование системы для запускаемых в дальнейшем программ и позволяет им запускаться.
Устанавливаемые файлы: ядро и его заголовки
Linux зависит от: Bash, Binutils, Coreutils, Findutils, GCC, Glibc, Grep, Gzip, Make, Modutils, Perl, Sed.
Сборка ядра состоит из следующих этапов: конфигурирование, компиляция и установка. Если вам не нравится способ установки, описаный в этой книге, то посмотрите файл README в директории с исходниками ядра на предмет альтернативы.
Подготовимся к компиляции запуском следующей команды:
make mrproper
|
Это позволит убедиться, что дерево исходников будет абсолютно чистым. Команда разработки ядра рекомендует запускать эту команду перед каждой компиляцией ядра. Вы не можете быть абсолютно уверены в отсутствии лишних файлов даже после распаковки исходников.
Сконфигурирем ядро с помощью меню:
make menuconfig
|
make oldconfig может быть более полезно в ряде случаев. Смотрите файл README для более полной информации.
Если вы хотите, то можете пропустить конфигурирование ядра и просто скопировать файл .config из вашей основной системы (если, конечно, она доступна) в распакованую директорию linux-2.4.22. Но мы не рекомендуем делать это. Намного лучше будет просмотреть все меню настроек ядра и создать его конфигурацию с нуля.
Для поддержки POSIX shared memory убедитесь, что параметр "Virtual memory file system support" выбран. Он расположен в меню "File systems" и обычно отмечен по умолчанию.
Проверим зависимости у создадим информационный файл о них:
make CC=/opt/gcc-2.95.3/bin/gcc dep
|
Скомпилируем образ ядра:
make CC=/opt/gcc-2.95.3/bin/gcc bzImage
|
Скомпилируем драйверы, доступные в виде модулей:
make CC=/opt/gcc-2.95.3/bin/gcc modules
|
Если ваш intend использует модули ядра, то вам нужен файл /etc/modules.conf. Информацию относительно модулей и конфигурации ядра в целом можно найти в документации ядра, которая находится в директории linux-2.4.22/Documentation. Man-страница по modules.conf и kernel HOWTO на http://www.tldp.org/HOWTO/Kernel-HOWTO.html также могут вам пригодиться.
Установим модули:
make CC=/opt/gcc-2.95.3/bin/gcc modules_install
|
Создаим документацию по ядру:
make mandocs
|
И установим ее:
cp -a Documentation/man /usr/share/man/man9
|
Компиляция ядра закончена, но ряд файлов есть только в директории исходников ядра. Для завершения установки надо скопировать два файла в директорию /boot.
Путь к файлам ядра зависит от типа используемой платформы. Используйте следующую команду для установки ядра:
cp arch/i386/boot/bzImage /boot/lfskernel
|
System.map является файлом карты символов для ядра. Он содержит карту для точек входа всех функций в API ядра. Используйте следующую команду для установки этого файла:
cp System.map /boot
|