Программа интенсива
Тема 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: Сканер уязвимостей
Продолжительность: 2 дня
Программа тренинга
Тема 1. Работа с загрузчиками
Аттестация при старте ОС:
•TF-A, SLE, TEE
•Uboot, UEFI, Barebox
Тема 2. Ядро Linux для мобильных устройств
Разработка Linux Kernel для мобильных устройств
•Портирование и разработка драйверов мобильных устройств
•Параметры загрузки и конфигурация оборудования (DTS, калибровка)
•Особенности AuroraOSТема 3. Жизненный цикл дистрибутива
Создание и обслуживание образа системы
•CI/CD
•Доработка и обновления
Тема 4. Разработка системного ПО
Работа с окружением и платформами
•Инициализация системы, оптимизация времени загрузки
•Мультимедиа
•Сетевой стек
Тема 5. Безопасность
Дополнительные условия для аттестации ОС
•Контейнеризация приложений
•LSTM
•ФСТЭК: требования, инициативы, перспективные направления
Продолжительность: 3 дня
Программа тренинга
Тема 1. Ядро Linux. Модули ядра. Символьный драйвер
Тема 2. Процесс загрузки
Тема 3. Отладка компонентов ядра
Тема 4. Модель драйверов. Device Tree. PCI. Ввод-вывод. Прерывания
•PCI драйвер. Связь PCI-драйвера с моделью драйверов Linux.
• Обработка прерываний в Linux.
Тема 5. Параллельное выполнение и методы синхронизации
Тема 6. Работа с устройства ввода-вывода GPIO. SPI. I2C
•Подсистема GPIO. Шина SPI. Шина I2C.
Тема 6. Блочные устройства
Тема 7. USB-подсистема
Тема 8. Графическая и сетевая подсистемы
Продолжительность: 5 дней
Программа тренинга
Тема 1. Обзор архитектуры AOSP
Тема 2. Работа с загрузчиками
Тема 3. Особенности ядра Linux для AOSP
Тема 4. Жизненный цикл дистрибутива
Тема 5. Разработка системного ПО. Процесс загрузки и отладки. Оптимизация времени загрузки, мультимедиа, сетевой стек.
Тема 6. Безопасность и уязвимости
Продолжительность: 3 дня
Программа тренинга
Продолжительность:
Программа тренинга
Тренинг в разработке
Продолжительность:
Обучение проводится в Центре Программных Разработок РТСофт по адресу ул. Верхняя Первомайская, стр. 51, Москва, 105264