Использование нативных данных конфигурации для сборки в кросс-режиме (Антон Новиков, OSSDEVCONF-2016)
Материал из 0x1.tv
Аннотация
- Докладчик
- Антон Новиков
Сборка пакетов программ на отличной от целевой программно-аппаратной платформе рождает ряд трудностей. Одна из них заключается в конфигурации пакетов под конкретные особенности оборудования и операционной системы целевой платформы. В докладе рассмотрены основные вопросы конфигурации пакетов при сборке в кросс-режиме и вариант решения с использованием нативных данных конфигурации.
Видео
Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.
Слайды
Расширенные тезисы
При разработке дистрибутива операционной системы возникает вопрос поддержки нескольких различных программно-аппаратных платформ. Одно из наиболее эффективных решений данной проблемы --- использовать систему кросс-сборки. Такая система должна обеспечивать удобный инструмент для сборки дистрибутива, как целиком, так и отдельных компонентов с учётом их зависимостей. Система сборки так же должна иметь ограниченный доступ к аппаратуре и окружению вычислительного комплекса, на котором она выполняется, иначе нельзя гарантировать воспроизводимость результатов сборки при замене сборочных серверов.
Сборка в кросс-режиме позволяет значительно ускорить разработку дистрибутива для продуктов, не требовательных к оборудованию (портативных устройств, автоматизированных рабочих мест и т.~д.) за счёт выполнения ресурсоёмких задач на любых других производительных вычислительных комплексах.
Помимо очевидных плюсов, кросс-сборка имеет большое количество «подводных камней», например конфигурация пакетов программ с использованием бинарных файлов. В данной работе рассмотрены вопросы связанные с инструментами autoconf. Посредством анализа выходных данных конфигуратора при нативном исполнении можно собрать и кэшировать необходимые значения для стандартных параметров autoconf. Полученные данные используются при сборке в кросс-режиме. Таким образом, периодически собирая данные для кэширования можно обеспечить максимальное соответствие кросс-сборки и нативной сборки пакета программ, а так же исключить критические ошибки при работе компонентов дистрибутива, связанные с некорректной конфигурацией пакета. Проблема различия нативной конфигурации и конфигурации в кросс-режиме существует для многих популярных сборочных систем и требует индивидуального подхода.
Решение рассмотренных проблем значительно повышает качество готового продукта и увеличивает скорость разработки дистрибутива операционной системы.
Примечания и отзывы
Plays:48
Comments:0