Новичок Linux может удивленно спросить: "А зачем это нужно - рекомпилировать ядро?" Тем более что процесс этот, в его представлении, далеко не прост.
В настоящее время Linux - система, намного более дружественная, чем два-три года назад. Усовершенствованная процедура установки, графические интерфейсы и поддержка оборудования сделали систему Linux доступной для тех, кто не является большим компьютерным знатоком. В действительности, описываемый процесс рекомпиляции управляется меню и единственной (длинной) командой запуска.
Linux - система в высшей степени "настраиваемая", так что ее вполне можно адаптировать "под себя". Однако многие ее функции в стандартном ядре просто не задействованы. Причин тому несколько.
Прежде всего, важно понять, что любому пользователю программного обеспечения постоянно приходится искать компромиссы. Например, при использовании программы сжатия это компромисс между скоростью и плотностью сжатия.
Немало компромиссных решений приходится принимать и в отношении ядра Linux. Например, можно предпочесть ядро меньшего объема либо поддерживающее большее число типов оборудования без дополнительного конфигурирования. А можно оптимизировать систему на передачу IP-пакетов или выполнение задач, обычных, для рабочей станции.
Терминология: частичная, полная и просто компиляция
В этой главе часто встречаются три термина, обозначающие, по существу, один и тот же провес: частичная
(make),
полная
(build)
и просто компиляция
(Compile) ядра.
Их можно рассматривать как синонимы, но попробуем все же разобраться в точном значении каждого.
При разработке программного обеспечения в Linux, как и во многих других операционных системах, схема объединения модулей исходного текста и многочисленных библиотек записывается в конфигурационном файле. Это файл называется Make file и используется утилитой make.
Дроцесс преобразования исходного текста проекта в нечто, чем может воспользоваться компьютер (двоичный файл), называют