Перейти к содержанию
    

Есть здесь спецы по Yocto?

Я хочу построить fw_printenw и поместить ее в /usr/bin
Для этого надо скомпилировать инструменты из пакета u-boot. Вот из этой директории:
https://github.com/u-boot/u-boot/tree/master/tools/env

Никак не могу уговорить Yocto это сделать.
С рецептом никак не получается. Нашел много разных рецептов, но ни один не работает.
Yocto же строит u-boot может есть какой-нибудь рецепт в стандартном наборе?
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В Yocto вы можете использовать класс recipe-util для компиляции инструментов из исходных кодов таких как fw_printenv и помещения их в /usr/bin. Вот пример рецепта, который вы можете использовать:
 

SUMMARY = "U-Boot Environment Tools"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"

SRC_URI = "git://git.denx.de/u-boot.git;protocol=https;tag=v2021.07 \
           file://Makefile \
           file://fw_printenv.c \
           file://fw_env_private.h"

SRCREV = "${AUTOREV}"

S = "${WORKDIR}/git/tools/env"

inherit recipe-util

do_install() {
    install -m 0755 ${B}/fw_printenv ${D}/usr/bin/
}

Этот рецепт загружает исходный код утилиты fw_printenv из репозитория U-Boot, компилирует ее и устанавливает в /usr/bin. Вы можете сохранить этот рецепт в каталоге meta-mylayer/recipes-extended вашего Yocto-проекта. Затем добавьте ваш рецепт в IMAGE_INSTALL_append в вашем local.conf:

IMAGE_INSTALL_append = " fw_printenv"

После этого перезапустите сборку вашего образа Yocto, и утилита fw_printenv будет доступна в /usr/bin после развертывания образа на целевом устройстве.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо!

А рецепт вы сами написали или следовали какой-то инструкции? Может есть скрипт какой? Поищу что ракое recipe-util

IMAGE_INSTALL_append = " fw_printenv"

Эту строку я вставил, но рецепта нету рабочего. Последую вашей рекомендации.
А не лучше сделать пробел и перед последней кавычкой? Для надежности. Вдруг в следующей IMAGE_INSTALL_append забудете поставить пробел.
Здесь от практики конечно зависит, о которой я не знаю из-за неопытности в Yocto. Потому и предлпочитаю все предусмотреть.


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 3/29/2024 at 1:45 PM, Dron_Gus said:

Это за 2015. Я и за 2018 находил. Только не работало как я и написал. Вот то что посоветовал erikN сработало. Правда, немного пришлось подрихтовть. 
К тому же синтаксис поменялся.

IMAGE_INSTALL_append = " fw_printenv"

Теперь надо с ':' писать

IMAGE_INSTALL:append = " fw_printenv"

Да и fw_printenv неправильно, а вот так работает.

IMAGE_INSTALL:append = " u-boot-fw-utils"

Но есть другая проблема. Почему-то результат становится меньше размером, busybox отсутствует и криво стартует. Разбираюсь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...