我尝试使用以下命令在yocto中安装CANopen。但是CANOpen还没有安装。
bitbake canopensocket_git
在local.conf文件中,我添加了
CORE_IMAGE_EXTRA_INSTALL += " canopensocket_git "
如何安装雨棚包?
也会考虑任何输入。
首先,这是一个语法错误canopensocket_git
。
配方名称${PN}
是canopensocket
,在_
之后的每一个都是版本号${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标记commit,而不是AUTOREV
。
我不知道这个配方的作用,但我编译了它,在zeus
构建上构建对我来说还可以。
该构建生成了两个二进制文件:cocomm
和canopen.cgi
。
不,如果你想将其安装到你的图像中,请将其添加到你的剪切图像配方中:
IMAGE_INSTALL_append = " canopensocket"