Yoctoレシピのインストールコマンドで権限が拒否されました。

Yoctoレシピのインストールコマンドで権限が拒否されました。

私はYoctoビルドプロセスに慣れようとしており、現在レシピ作業をしています。とても簡単なレシピがあります。

DESCRIPTION = "Hello world"

S = "${WORKDIR}"
SRC_URI="file://bye.sh"
LICENSE = "CLOSED"

LIC_FILES_CHKSUM = "file://${S}/README;md5=e584df0feead52ed7de9b60172adc0cf "

#${D} is /usr and ${bindir} is bin 
    do_install() {
         install  -d /test 
        install -m 0777 bye.sh /test
}

インストーラがディレクトリが見つからない場合は、ディレクトリを作成すると聞いたが、この場合はそうではない!それが私に与えるエラーは

Log data follows:
| DEBUG: Executing shell function do_install
| install: cannot create regular file ‘/usr/bin/bye.sh’: Permission denied
| WARNING: /home/builder/project/runqeme_qemux86/build/tmp/work/i586-poky-linux/directory/1.0-r0/temp/run.do_install.22136:1 exit 1 from 'install -m 0777 bye.sh /usr/bin'
| ERROR: Function failed: do_install (log file is located at /home/builder/project/runqeme_qemux86/build/tmp/work/i586-poky-linux/directory/1.0-r0/temp/log.do_install.22136)

だからといって、そこにディレクトリを作成できないというわけではありません。レシピは、特定のディレクトリにない限り、bashファイルをどこにも知らせません。

ベストアンサー1

大きくて包括的に見るYoctoリファレンスマニュアルそして簡単な例そこに。これは、一般的なインストールスクリプトがファイルを移動するサブディレクトリを示しています${D}

install -d ${D}${bindir}

install -d ${D}/testなどの同様の戦略を使用する必要があります。この変数には説明があります。ここ

読書セクション5.3.13.インストールインストール段階で期待できるもの

おすすめ記事