Структура исходников ядра Linux =============================== Исходный код ядра Linux организован по подсистемам. Ключевые каталоги: - `arch/` архитектурно-зависимый код (например, `arm/`, `x86/`) - `drivers/` драйверы устройств: SPI, I2C, USB, GPIO, net и др. - `fs/` поддержка файловых систем (ext4, FAT, tmpfs и т.д.) - `kernel/` ядро как таковое: планировщик, сигналы, ядро процессов - `mm/` управление памятью - `net/` сетевой стек - `init/` код, запускаемый при старте ядра - `include/` заголовочные файлы - `scripts/` вспомогательные скрипты сборки - `Documentation/` документация к ядру Пример: где искать SPI-драйвер ------------------------------ :: drivers/spi/spi-bcm2835.c SPI-драйвер для Raspberry Pi arch/arm/boot/dts/ Device Tree для RPi drivers/tty/serial/ UART-драйверы Для сборки ядра нужно сконфигурировать `.config`: :: make menuconfig make