首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比特面包不叫我的do_install

比特面包不叫我的do_install
EN

Stack Overflow用户
提问于 2017-05-23 15:18:27
回答 2查看 2.4K关注 0票数 1

我有一个菜谱,它应该将运行级脚本复制到/etc/init.d中,并从/etc/rc5创建到它的符号链接,但是do_install函数似乎没有被调用。

在我那层的结构下面。问题bb文件位于树底部的init-wifi.bb。其他的菜谱带The附加,效果很好。

代码语言:javascript
复制
.
├── conf
│   └── layer.conf
├── recipes-connectivity
│   ├── alsa
│   │   ├── alsa-lib
│   │   └── alsa-lib_1.0.29.bbappend
│   └── wpa-supplicant
│       ├── wpa-supplicant
│       │   ├── wpa_supplicant.conf
│       │   └── wpa_supplicant.conf-sane
│       └── wpa-supplicant_2.4.bbappend
├── recipes-core
│   ├── base-files
│   │   ├── base-files
│   │   │   └── profile
│   │   └── base-files_%.bbappend
│   └── init-ifupdown
│       ├── init-ifupdown-1.0
│       │   └── interfaces
│       └── init-ifupdown_1.0.bbappend
└── recipes-my
    └── init-wifi
        ├── files
        │   └── wifi_start.sh
        └── init-wifi.bb

下面是init-wifi.bb的配方:

代码语言:javascript
复制
SUMMARY = "x"
LICENSE = "CLOSED"
#PR = "r0"
SRC_URI += "file://wifi_start.sh"

#INITSCRIPT_NAME = "wifi_start.sh"
#INITSCRIPT_PARAMS = "defaults 90"

do_install() {
    install -d ${D}${sysconfdir}/init.d
    install -d ${D}${sysconfdir}/rcS.d
    install -d ${D}${sysconfdir}/rc1.d
    install -d ${D}${sysconfdir}/rc2.d
    install -d ${D}${sysconfdir}/rc3.d
    install -d ${D}${sysconfdir}/rc4.d
    install -d ${D}${sysconfdir}/rc5.d


    install -m 0755 ${WORKDIR}/wifi_start.sh  ${D}${sysconfdir}/init.d/

    ln -sf ${D}${syscondir}/init.d/wifi_start.sh {D}${sysconfdir}/rc5.d/S90wifi_start.sh

}

如果我将错误引入到do_install函数之外的bb文件中,那么在调用bitbake时会出现错误,因此我知道我的食谱文件正在被找到并被解析。但是,如果我在do_install函数中引入错误,则不会调用它。此外,我没有看到脚本正在安装到工作目录或图像目录中(在删除有意调试错误之后)。

如果我强迫bitbake使用'bitbake -c install init-wifi‘来运行菜谱,它将安装文件"work/image“目录:

代码语言:javascript
复制
tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/initwifi/0.0-r0/image/etc/init.d/wifi_start.sh

tmp/work/cortexa7hf-vfp-neon-poky-linux-gnueabi/initwifi/0.0-r0/wifi_start.sh

但是,当我的映像被构建并安装在我的模块上时,脚本和链接就不在了。

与此斗争了几天,搜索也没有产生多少帮助。

有什么想法吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-23 15:23:49

你没有把你的新食谱添加到你的形象食谱中。

代码语言:javascript
复制
IMAGE_INSTALL_append = " init-wifi " 

编辑

我以前也这么做,效果很好。我能看到的不同之处是:

代码语言:javascript
复制
SRC_URI += "file://wifi_start.sh"

应该是

代码语言:javascript
复制
SRC_URI = "file://wifi_start.sh"

因为您正在创建SRC_URI,而不是添加到现有的。

我曾经为我使用的每个文件添加md5校验和。

你应该加上

代码语言:javascript
复制
FILES_${PN} += "${sysconfdir}/profile.d"
FILES_${PN} += "${sysconfdir}/rcS.d"
FILES_${PN} += "${sysconfdir}/rc1.d"
FILES_${PN} += "${sysconfdir}/rc2.d"
FILES_${PN} += "${sysconfdir}/rc3.d"
FILES_${PN} += "${sysconfdir}/rc4.d"
FILES_${PN} += "${sysconfdir}/rc5.d"

来自约克托人

文件 放置在包中的目录或文件的列表。 若要使用文件变量,请提供标识结果包的包名覆盖。然后,提供一个以空格分隔的文件或路径列表,这些文件或路径标识您希望作为结果包的一部分包括的文件。下面是一个示例: FILES_${PN} +=“${bindir}/mydir2 1/${bindir}/mydir2 2/myfile”

票数 3
EN

Stack Overflow用户

发布于 2017-05-24 14:01:11

有限合伙人,

谢谢你的帮助和建议。有了它们,我就能让它安装文件并创建链接。

我对init-wifi.bb文件进行了建议的修改:

代码语言:javascript
复制
SUMMARY = "x"
LICENSE = "CLOSED"
#PR = "r0"
SRC_URI = "file://wifi_start.sh"


FILES_${PN} += "${sysconfdir}/init.d"
FILES_${PN} += "${sysconfdir}/rcS.d"
FILES_${PN} += "${sysconfdir}/rc1.d"
FILES_${PN} += "${sysconfdir}/rc2.d"
FILES_${PN} += "${sysconfdir}/rc3.d"
FILES_${PN} += "${sysconfdir}/rc4.d"
FILES_${PN} += "${sysconfdir}/rc5.d"


do_install() {

install -d ${D}${sysconfdir}/init.d
install -d ${D}${sysconfdir}/rcS.d
install -d ${D}${sysconfdir}/rc1.d
install -d ${D}${sysconfdir}/rc2.d
install -d ${D}${sysconfdir}/rc3.d
install -d ${D}${sysconfdir}/rc4.d
install -d ${D}${sysconfdir}/rc5.d   

install -m 0755 ${WORKDIR}/wifi_start.sh  ${D}${sysconfdir}/init.d/   

ln -sf ${D}${syscondir}/init.d/wifi_start.sh      ${D}${sysconfdir}/rc5.d/S90wifi_start.sh

}

此外,我还必须在mylayer/conf/layer.conf下面添加建议行。

代码语言:javascript
复制
IMAGE_INSTALL_append = " init-wifi "

我收到警告:

警告: QA问题: init-wifi中的Symlink /etc/rc5.d/S90wifi_start.sh指向TMPDIR符号链接到sysroot

所以我想我会重新审视我是如何做链接的,但我是‘远离顶部死亡中心’,并再次向前迈进。

谢谢!

-Steve

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44138871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档