Использование нативных данных конфигурации для сборки в кросс-режиме (Антон Новиков, OSSDEVCONF-2016) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) |
||
== Примечания и отзывы == <!-- <blockquote>[©]</blockquote> --> <references/> [[Category:OSSDEVCONF-2016]] [[Category:Open-source]] {{stats|disqus_comments=0|refresh_time=2017-12-21T17:28:4425T21:52:16.126920626315|vimeo_comments=0|vimeo_plays=9|youtube_comments=0|youtube_plays=20}} |
Версия 18:52, 25 декабря 2017
Аннотация
- Докладчик
- Антон Новиков
Сборка пакетов программ на отличной от целевой программно-аппаратной платформе рождает ряд трудностей. Одна из них заключается в конфигурации пакетов под конкретные особенности оборудования и операционной системы целевой платформы. В докладе рассмотрены основные вопросы конфигурации пакетов при сборке в кросс-режиме и вариант решения с использованием нативных данных конфигурации.
Видео
Слайды
Расширенные тезисы
При разработке дистрибутива операционной системы возникает вопрос поддержки нескольких различных программно-аппаратных платформ. Одно из наиболее эффективных решений данной проблемы --- использовать систему кросс-сборки. Такая система должна обеспечивать удобный инструмент для сборки дистрибутива, как целиком, так и отдельных компонентов с учётом их зависимостей. Система сборки так же должна иметь ограниченный доступ к аппаратуре и окружению вычислительного комплекса, на котором она выполняется, иначе нельзя гарантировать воспроизводимость результатов сборки при замене сборочных серверов.
Сборка в кросс-режиме позволяет значительно ускорить разработку дистрибутива для продуктов, не требовательных к оборудованию (портативных устройств, автоматизированных рабочих мест и т.~д.) за счёт выполнения ресурсоёмких задач на любых других производительных вычислительных комплексах.
Помимо очевидных плюсов, кросс-сборка имеет большое количество «подводных камней», например конфигурация пакетов программ с использованием бинарных файлов. В данной работе рассмотрены вопросы связанные с инструментами autoconf. Посредством анализа выходных данных конфигуратора при нативном исполнении можно собрать и кэшировать необходимые значения для стандартных параметров autoconf. Полученные данные используются при сборке в кросс-режиме. Таким образом, периодически собирая данные для кэширования можно обеспечить максимальное соответствие кросс-сборки и нативной сборки пакета программ, а так же исключить критические ошибки при работе компонентов дистрибутива, связанные с некорректной конфигурацией пакета. Проблема различия нативной конфигурации и конфигурации в кросс-режиме существует для многих популярных сборочных систем и требует индивидуального подхода.
Решение рассмотренных проблем значительно повышает качество готового продукта и увеличивает скорость разработки дистрибутива операционной системы.
Примечания и отзывы
Plays:29 Comments:0