Разработка ядра 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
. Конфигурационные параметры используются как для определения того, какие файлы должны быть скомпилированы во время сборки ядра, так и для управления процессом компиляции через директивы препроцессора.