权限被拒绝你好世界Yocto/Openembedded
Permission denied Hello world Yocto/Openembedded
我想用 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;
}
myhello_0.0.bb 灵感来自 this 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
将它安装到我的板上后遇到的问题如下:
root@colibri-imx7:~# myhello
-sh: /usr/bin/myhello: Permission denied
我是 root 为什么会有 Permission denied
?
谢谢你的帮助!
install -m 0644 ${S}/helloworld ${D}${bindir}
您是在告诉安装程序不为任何人设置执行权限:试试“0755”。
我想用 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;
}
myhello_0.0.bb 灵感来自 this 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
将它安装到我的板上后遇到的问题如下:
root@colibri-imx7:~# myhello
-sh: /usr/bin/myhello: Permission denied
我是 root 为什么会有 Permission denied
?
谢谢你的帮助!
install -m 0644 ${S}/helloworld ${D}${bindir}
您是在告诉安装程序不为任何人设置执行权限:试试“0755”。