我想与Yocto交叉编译一个来自Toradex的Colibri iMX7的简单C Hello World。 我的meta-hellow的树如下:
meta-hellow
├── conf
│ └── layer.conf
└── recipes-myhello
└── files
└── helloworld.c
└── README.TXT
└── myhello_0.0.bb
helloworld.c :
#include <stdio.h>
int main(int argc, char** argv)
{
printf("Hello World!\n");
return 0;
}
来自this one的myhello_0.0.bb :
DESCRIPTION = "Hello world program"
#To prevent the LICENSE field not set error
LICENSE = "CLOSED"
PR = "r0"
SRC_URI = "file://helloworld.c \
file://README.txt"
do_compile() {
${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/helloworld.c -o helloworld
}
do_install() {
install -m 0755 -d ${D}${bindir} ${D}${docdir}/helloworld
install -m 0644 ${S}/helloworld ${D}${bindir}
install -m 0644 ${WORKDIR}/README.txt ${D}${docdir}/helloworld
}
我已经在我的bblayers.conf中添加了我的图层${TOPDIR}/../layers/meta-hellow \
,并在local.conf中添加了包,就像IMAGE_INSTALL_append = "myhello"
一样。
但是我用opkg install
在我的主板上安装后的问题如下:
root@colibri-imx7:~# myhello
-sh: /usr/bin/myhello: Permission denied
为什么有Permission denied
因为我是根?
感谢您的帮助!
答案 0 :(得分:0)
install -m 0644 ${S}/helloworld ${D}${bindir}
您告诉安装没有为任何人设置执行权限:请尝试“0755”。