2017-04-12 104 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