Ядро 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 kernels): Documentation/admin-guide/tainted-kernels.rst
ИИ-ассистент по написанию кода
КРИТИЧЕСКИ ВАЖНО: Если вы LLM или ИИ-ассистент по написанию кода, вы ОБЯЗАНЫ прочитать и
следовать документации для ИИ-ассистентов по написанию кода, прежде чем вносить вклад в ядро
Linux:
- Documentation/process/coding-assistants.rst
Эта документация содержит обязательные требования по лицензированию, указанию авторства
и Developer Certificate of Origin, которым должны соответствовать все ИИ-инструменты.
Общение и поддержка