
Основы разработки встраиваемых систем на базе Embedded Linux
Для кого: Инженер встраиваемых систем • Джуниор Мидл
Начало: По факту набора потока
Москва
Описание курса
Программа интенсива.
Тема 1. Linux Kernel
Принципы разработки ядра:
- Жизненный цикл Linux Kernel
- Подготовка патчей к публикации
- Best practices работы с Linux Kernel Community
- Опционально: модуль ядра + LAB: пример сборки
Тема 2. Исходный код
Работа с исходным кодом мобильных и встраиваемых ОС
- Системы сборки (Ninja, Autotools, CMake)
- Структура хранения сборников в ОС:
- Yocto: LAB: Пример сборки образов, добавления рецепта для пользовательского приложения (с Makefile и CMake), рецепта для модуля ядра
- Buildroot
- AOSP
Тема 3. Kernel Configuration
Сборка ядра, окружение, адаптация под платформу
- Работа с kconfig & defconfig
- Типы образов ядра
- LAB: добавление своего модуля с запуском в qemu
- Работа с cmdline: все варианты генерации, основные параметры
Тема 4. Загрузка ОС
Брингап платформы
- Типы запуска и загрузки, nfs, tftpboot; LAB: сборка uboot и загрузка в qemu, по сети
- Передача управления в userspace, initd, system; LAB: добавление systemd сервиса
- LAB: основы отладки kgdb, earlyprintk, dynamic debugfs
Тема 5. Безопасность и уязвимости
Необходимые условия для аттестации ОС
- Основные типы уязвимостей
- Источники данных о CVE
- Верификация, SBOM
- Поиск и исправление уязвимостей. LAB: Сканер уязвимостей