2017-04-12 127 views
1

我想与Yocto交叉编译我的Colibri iMX7 Toradex的C Hello World。 我的元hellow的树如下:Permission denied Hello world Yocto/Openembedded

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; 
} 

myhello_0.0.bbthis one启发:

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我的船上安装后,情况如下:

[email protected]:~# myhello 
-sh: /usr/bin/myhello: Permission denied 

为什么有Permission denied因为我的根?

谢谢你的帮助!

回答

0
install -m 0644 ${S}/helloworld ${D}${bindir} 

您正在告诉安装程序以设置任何人的执行权限:请尝试使用“0755”代替。

+0

谢谢!你是对的 !现在它正在工作。 – Tagadac