Выпуск out-of-tree 1.0 и kdevops для тестирования кода с ядрами Linux

Опубликован первый значительный выпуск инструментария out-of-tree 1.0, позволяющего автоматизировать сборку и тестирование модулей ядра или проверку работоспособности эксплоитов с различными версиями ядра Linux. Out-of-tree формирует виртуальное окружение (используется QEMU и Docker) с произвольной версией ядра и выполняет указанные действия по сборке, тестированию и запуску модулей или эксплоитов. Сценарий проверки может охватывать сразу несколько выпусков ядра (например, можно протестировать работу эксплоита или разрабатываемого модуля с разными версиями ядра). Код проекта написан на языке Go и распространяется под лицензией AGPLv3.

В новой версии добавлена команда genall для генерации всех определённых в сценарии версий ядра для указанного дистрибутива. Добавлены команды для анализа сборочных логов, а сами логи теперь сохраняются в СУБД SQLite (есть поддержка экспорта в markdown и json). Добавлена поддержка сборки в хост-окружении, генерации информации о ядрах хост-системы и сборки собственных редакций ядра. Реализованы команды для быстрого включения/выключения в ядре режимов защиты kaslr, smep, smap и kpti. Добавлены опции для управления максимальным числом сборочных заданий и параллельных потоков сборки, тестирования и запуска. Реализована поддержка ядер из CentOS.

Дополнительно можно отметить появление проекта kdevops, предлагающего фреймворк для организации разработки и тестирования ядра с использованием модели DevOps. Kdevops позволяет быстро сформировать окружение для применения различных тестовых фреймворков с ядром, не тратя время на подготовку начинки и настройку. Запуск данных окружений с нужным ядром обеспечивается в своих виртуальных машинах при помощи Vagrant или у сторонних облачных провайдеров при помощи Terraform. Для для определения конфигурации и начинки окружений применяется Ansible.

Источник: http://www.opennet.ru/opennews/art.shtml?num=51324