gpt4 book ai didi

bitbake - 镜像安装后执行 opkg post install 脚本

转载 作者:行者123 更新时间:2023-12-05 05:10:11 27 4
gpt4 key购买 nike

我们正在 BitBake 中创建一个文件系统镜像,其中一个软件包要求在镜像本身安装到设备上之后在设备上执行其安装后脚本,而不是在 rootfs 镜像由构建服务器。

查看带有“opkg status”的包,它表示包已成功安装——“install ok installed”。但是,没有执行任何副作用,只需运行/var/lib/opkg/info/.postinst 中的 .postinst 文件即可工作并且不会报告任何错误。

我如何让它工作?似乎该软件包正以错误的状态“安装”在 rootfs 镜像中。

最佳答案

请参阅Dev manual section Post-Installation Scripts : 使用最近的 Yocto (>=2.7),当你知道你的脚本应该在第一次启动时始终在目标上运行,而不是在 rootfs 生成期间,你可以使用 pkg_postinst_ontarget_${PN}()

在较旧的 Yocto 版本上,您可以在函数 pkg_postinst_${PN}() 中手动执行 pkg_postinst_ontarget_${PN} 的操作:

if [ -n "$D" ]; then
echo "Delaying until first boot"
exit 1
fi

# actual post install script here

$D 将在 rootfs 生成期间定义,因此安装后脚本将失败。这意味着该脚本将在首次启动目标时再次运行。

最好的选择仍然是修复安装后脚本,以便它在 rootfs 生成期间工作——当然有时这是不可能的。

关于bitbake - 镜像安装后执行 opkg post install 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56940812/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com