Разработка ядра Linux | страница 20



Документация исходного кода ядра
>driversДрайверы устройств
>fsПодсистема VFS и отдельные файловые системы
>includeЗаголовочные файлы ядра
>initЗагрузка и инициализация ядра
>ipcКод межпроцессного взаимодействия
>kernelОсновные подсистемы, такие как планировщик
>libВспомогательные подпрограммы
>mmПодсистема управления памятью и поддержка виртуальной памяти
>netСетевая подсистема
>scriptsСценарии компиляции ядра
>securityМодуль безопасности Linux
>soundЗвуковая подсистема
>usrНачальный код пространства пользователя (initramfs)

Некоторые файлы, которые находятся в корне дерева исходных кодов, также заслуживают внимания. Файл >COPYING — это лицензия ядра (GNU GPL v2). Файл >CREDITS — это список разработчиков, которые внесли большой вклад в разработку ядра. Файл >MAINTAINERS — список людей, которые занимаются поддержкой подсистем и драйверов ядра. И наконец, >Makefile — это основной сборочный файл ядра.

Сборка ядра

Сборка ядра достаточно проста. Это может показаться удивительным, но она даже более проста, чем компиляция и инсталляция других системных компонентов, как, например библиотеки >glibc. В ядрах серии 2.6 встроена новая система конфигурации и компиляции, которая позволяет сделать эту задачу еще проще и является долгожданным улучшением по сравнению с серией ядер 2.4.

Так как доступен исходный код ядра Linux, то, это означает, что есть возможность сконфигурировать ядро перед компиляцией. Есть возможность скомпилировать поддержку только необходимых драйверов и функций. Конфигурация ядра— необходимый этап перед тем, как его компилировать. Поскольку в ядре бесчисленное количество функций и вариантов поддерживаемого аппаратного обеспечения, возможностей по конфигурации, мягко говоря, много. Конфигурация управляется с помощью опций конфигурации в виде >CONFIG_FEATURE. Например, поддержка симметричной многопроцессорной обработки (Symmetric multiprocessing, SMP) устанавливается с помощью опции >CONFIG_SMP. Если этот параметр установлен, то поддержка функций SMP включена. Если этот параметр не установлен, то функции поддержки SMP отключены. Все конфигурационные параметры хранятся в файле >.config в корневом каталоге дерева исходного кода ядра и устанавливаются одной из конфигурационных программ, например, с помощью команды >make xconfig. Конфигурационные параметры используются как для определения того, какие файлы должны быть скомпилированы во время сборки ядра, так и для управления процессом компиляции через директивы препроцессора.