Глава 5. Часто используемые приемы и цели

Содержание

Создание нового дистрибутива
Добавление новой платформы
Добавление нового рецепта
Сборка исходных кодов из репозиториев
Создание нового образа
Использование готового инструментария сборки
Инструментарий сборки
Готовые библиотеки
Настройка OpenEmbedded
Полезные приемы
Возможные проблемы
Использование нового формата пакетов

Создание нового дистрибутива

Cоздание нового дистрибутива не является сложной задачей. Но прежде чем приступить к созданию нового, изучите уже существующие дистрибутивы, вполне возможно, что один из них подойдет.

Для создания нового дистрибутива необходимо создать файл настроек в каталоге /conf/distro, включающий в себя следующие параметры:

  • DISTRO_VERSION содержит версию дистрибутива.

  • DISTRO_TYPE (release/debug) этот параметр используется в некоторых рецептах для отключения или включения свойств приложения. К примеру вывод сообщений ядра на экран для отладочных (debug) сборок.

  • Тип используемой libc: может быть или glibc (TARGET_OS = "linux") или uclibc (TARGET_OS = "linux-uclibc")?

  • Версия инструментария сборки. К примеру если дистрибутив планируется собирать gcc 3.4.4 то параметры выглядят следующим образом:

    PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
    PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
    PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
    
    PREFERRED_VERSION_binutils = "2.16"
    PREFERRED_VERSION_binutils-cross = "2.16"
    
    PREFERRED_VERSION_gcc = "3.4.4"
    PREFERRED_VERSION_gcc-cross = "3.4.4"
    PREFERRED_VERSION_gcc-initial-cross = "3.4.4"
                
  • DISTRO_FEATURES содержит свойства дистрибутива. Более подробно описано в разделе task-base.

  • Версии ядер, используемые для поддерживаемых устройств:

    PREFERRED_VERSION_linux-omap1_omap5912osk ?= "2.6.18+git"
    PREFERRED_VERSION_linux-openzaurus ?= "2.6.17"
                
  • Так как OpenEmbedded включает много рецептов для сборки из репозиториев, то для получения более стабильных результатов сборки рекомендуется подключать файл sane-srcdates.inc содержащий рабочие значения SRCDATE для таких рецептов.

    require conf/distro/include/sane-srcdates.inc
                

    SRCDATE cодержит дату создания или изменения дистрибутива в формате ISO: ГГГГММДД:

    SRCDATE = "20061014"