Установите пакет 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"