Ядро Linux
Ядро Linux — это основа любой операционной системы Linux. Оно управляет оборудованием,
системными ресурсами и предоставляет фундаментальные сервисы для всего остального программного обеспечения.
Быстрый старт
- Сообщить об ошибке: См. Documentation/admin-guide/reporting-issues.rst
- Получить последнее ядро: https://kernel.org
- Собрать ядро: См. Documentation/admin-guide/quickly-build-trimmed-linux.rst
- Присоединиться к сообществу: https://lore.kernel.org/
Основная документация
Всем пользователям следует ознакомиться с:
- Требования к сборке: Documentation/process/changes.rst
- Кодекс поведения: Documentation/process/code-of-conduct.rst
- Лицензия: См. COPYING
Документацию можно собрать с помощью make htmldocs или просмотреть онлайн по адресу:
https://www.kernel.org/doc/html/latest/
Кто вы?
Найдите свою роль ниже:
- Новый разработчик ядра: Начало работы с разработкой ядра
- Академический исследователь: Изучение внутреннего устройства и архитектуры ядра
- Эксперт по безопасности: Укрепление защиты и анализ уязвимостей
- Инженер по бэкпортам/сопровождению: Поддержка стабильных ядер
- Системный администратор: Настройка и устранение неполадок
- Мейнтейнер: Руководство подсистемами и рецензирование патчей
- Поставщик оборудования: Написание драйверов для нового оборудования
- Сопровождающий дистрибутива: Сборка пакетов ядра для дистрибутивов
- ИИ-ассистент по коду: LLM и инструменты разработки на основе ИИ
Для конкретных пользователей
Новый разработчик ядра
Добро пожаловать! Начните свой путь в разработке ядра здесь:
- Начало работы: Documentation/process/development-process.rst
- Ваш первый патч: Documentation/process/submitting-patches.rst
- Стиль кодирования: Documentation/process/coding-style.rst
- Система сборки: Documentation/kbuild/index.rst
- Инструменты разработки: Documentation/dev-tools/index.rst
- Руководство по хакингу ядра: Documentation/kernel-hacking/hacking.rst
- Основные API: Documentation/core-api/index.rst
Академический исследователь
Изучите архитектуру и внутреннее устройство ядра:
- Рекомендации для исследователей: Documentation/process/researcher-guidelines.rst
- Управление памятью: Documentation/mm/index.rst
- Планировщик: Documentation/scheduler/index.rst
- Сетевой стек: Documentation/networking/index.rst
- Файловые системы: Documentation/filesystems/index.rst
- RCU (Read-Copy Update): Documentation/RCU/index.rst
- Примитивы блокировок: Documentation/locking/index.rst
- Управление питанием: Documentation/power/index.rst
Эксперт по безопасности
Документация по безопасности и руководства по укреплению защиты:
- Документация по безопасности: Documentation/security/index.rst
- Разработка LSM: Documentation/security/lsm-development.rst
- Самозащита: Documentation/security/self-protection.rst
- Сообщение об уязвимостях: Documentation/process/security-bugs.rst
- Процедуры CVE: Documentation/process/cve.rst
- Вопросы аппаратного обеспечения с эмбарго: Documentation/process/embargoed-hardware-issues.rst
- Функции безопасности: Documentation/userspace-api/seccomp_filter.rst
Инженер по бэкпортам/сопровождению
Поддержка и стабилизация версий ядра:
- Правила стабильного ядра: Documentation/process/stable-kernel-rules.rst
- Руководство по бэкпортам: Documentation/process/backporting.rst
- Применение патчей: Documentation/process/applying-patches.rst
- Профиль подсистемы: Documentation/maintainer/maintainer-entry-profile.rst
- Git для мейнтейнеров: Documentation/maintainer/configure-git.rst
Системный администратор
Настройка, оптимизация и устранение неполадок в системах Linux:
- Руководство администратора: Documentation/admin-guide/index.rst
- Параметры ядра: Documentation/admin-guide/kernel-parameters.rst
- Настройка Sysctl: Documentation/admin-guide/sysctl/index.rst
- Трассировка/Отладка: Documentation/trace/index.rst
- Безопасность производительности: Documentation/admin-guide/perf-security.rst
- Мониторинг оборудования: Documentation/hwmon/index.rst
Мейнтейнер
Руководство подсистемами ядра и управление вкладами:
- Справочник мейнтейнера: Documentation/maintainer/index.rst
- Pull Request'ы: Documentation/maintainer/pull-requests.rst
- Управление патчами: Documentation/maintainer/modifying-patches.rst
- Перебазирование и слияние: Documentation/maintainer/rebasing-and-merging.rst
- Процесс разработки: Documentation/process/maintainer-handbooks.rst
- Профиль входа мейнтейнера: Documentation/maintainer/maintainer-entry-profile.rst
- Конфигурация Git: Documentation/maintainer/configure-git.rst
Поставщик оборудования
Написание драйверов и поддержка нового оборудования:
- Руководство по API драйверов: Documentation/driver-api/index.rst
- Модель драйверов: Documentation/driver-api/driver-model/driver.rst
- Драйверы устройств: Documentation/driver-api/infrastructure.rst
- Типы шин: Documentation/driver-api/driver-model/bus.rst
- Привязки Device Tree: Documentation/devicetree/bindings/
- Управление питанием: Documentation/driver-api/pm/index.rst
- DMA API: Documentation/core-api/dma-api.rst
Сопровождающий дистрибутива
Сборка пакетов и распространение ядра:
- Правила стабильного ядра: Documentation/process/stable-kernel-rules.rst
- Документация ABI: Documentation/ABI/README
- Конфигурация ядра: Documentation/kbuild/kconfig.rst
- Подпись модулей: Documentation/admin-guide/module-signing.rst
- Параметры ядра: Documentation/admin-guide/kernel-parameters.rst
- Ядра с флагом Tainted: Documentation/admin-guide/tainted-kernels.rst
ИИ-ассистент по коду
КРИТИЧЕСКИ ВАЖНО: Если вы LLM или ИИ-ассистент по коду, вы ОБЯЗАНЫ прочитать и
следовать документации для ИИ-ассистентов по коду перед внесением вклада в ядро
Linux:
- Documentation/process/coding-assistants.rst
Эта документация содержит обязательные требования к лицензированию, атрибуции
и Developer Certificate of Origin, которым должны соответствовать все ИИ-инструменты.
Связь и поддержка