Установите пакет CANopen в yocto

Я попытался установить CANopen в yocto, используя команду ниже. Но CANOpen не устанавливается.

      bitbake canopensocket_git

В файле local.conf я добавил

      CORE_IMAGE_EXTRA_INSTALL += " canopensocket_git "

Как я могу установить пакет canopen?

Также учитывается любой ввод.

1 ответ

Во-первых, это синтаксическая ошибка canopensocket_git.

Название рецепта ${PN} есть и все после _ это номер версии ${PV}.

Итак, вам нужно указать только название рецепта. Или, если у вас разные версии, вы можете указать одну:

      PREFERRED_VERSION_canopensocket = "version_here"

При этом я нашел рецепт canopensocketв здесь.

Но если произойдет сбой, и он не будет обновлен последней фиксацией github.

Я немного доработал его, вот мой рецепт:

      SUMMARY = "Linux CANOpen tools"
DESCRIPTION = "Linux CANOpen Protocol Stack Tools"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263"

SRC_URI = "git://github.com/CANopenNode/CANopenSocket.git"
SRCREV = "ec9735165502e08b5d2e84d641833709b6faeb96"

S = "${WORKDIR}/git"

do_compile_prepend() {
    cd ${S}
    git submodule init
    git submodule update
}

do_compile() {
    cd ${S}/cocomm
    make
    cd ${S}/canopencgi
    make
}

do_install(){
    install -d ${D}${bindir}
    install -m 0755 ${S}/cocomm/cocomm ${D}${bindir}
    install -m 0755 ${S}/canopencgi/canopen.cgi ${D}${bindir}
}

FILES_${PN} += "${bindir}/*"

Я модифицировал do_compile, do_install и добавил упаковку FILES.

И я установил SRCREV к последней фиксации тега v4 вместо AUTOREV.

Я не знаю, что делает этот рецепт, но я его скомпилировал, и сборка меня устраивала на zeus строить.

Сборка произвела два двоичных файла: cocomm и canopen.cgi .

Нет, если вы хотите установить его в свой образ, добавьте это к своему рецепту изображения:

      IMAGE_INSTALL_append = " canopensocket"
Другие вопросы по тегам