如何将脚本(bash 脚本)添加到我在 yocto 中开发的 linux 图像?
How to add a script (bash script) to my linux image developed in yocto?
我在 linux 中开发了一个脚本,用于在用 yocto 开发的 linux 映像中安装软件包。目前,我通过 scp 将 .sh 脚本与 linux 图像一起发送到我的设备,但我想直接在我的 linux 图像中安装此脚本,并且当我启动设备时有 .sh 文件。我怎样才能在 yocto 中做到这一点?我需要为此脚本创建食谱吗?
提前致谢。
@amolina 我猜你需要将你的 shell 脚本添加到 /etc/init.d 以便在 OS 启动时 运行 它。
可以继承update-rc.dclass定义INITSCRIPT_NAME/PARAMS
你的食谱。
更多详细信息可以在此找到 link yocto manual
如果需要,您应该创建一个配方和一个 systemd 服务以启用它的启动时间。
架构应该是这样的:
my_script/
├── files
│ ├── my_script.service
│ └── my_script.sh
└── my_recipe.bb
你的食谱应该是这样的,
my_recipe.bb:
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""
SRC_URI = "file://myscript.service"
SRC_URI += "file://myscript.sh"
inherit systemd
do_install() {
install -Dm0755 ${WORKDIR}/my_script.sh ${D}/usr/bin/my_script.sh
install -Dm0644 ${WORKDIR}/my_script.service ${D}${systemd_system_unitdir}/my_script.service
}
SYSTEMD_SERVICE_${PN} = "my_script.service"
当然,这应该在您的 conf/bblayers.conf 中已经存在的 meta-layer 中
否则创建它并手动添加它。
我在 linux 中开发了一个脚本,用于在用 yocto 开发的 linux 映像中安装软件包。目前,我通过 scp 将 .sh 脚本与 linux 图像一起发送到我的设备,但我想直接在我的 linux 图像中安装此脚本,并且当我启动设备时有 .sh 文件。我怎样才能在 yocto 中做到这一点?我需要为此脚本创建食谱吗?
提前致谢。
@amolina 我猜你需要将你的 shell 脚本添加到 /etc/init.d 以便在 OS 启动时 运行 它。
可以继承update-rc.dclass定义INITSCRIPT_NAME/PARAMS 你的食谱。
更多详细信息可以在此找到 link yocto manual
如果需要,您应该创建一个配方和一个 systemd 服务以启用它的启动时间。 架构应该是这样的:
my_script/
├── files
│ ├── my_script.service
│ └── my_script.sh
└── my_recipe.bb
你的食谱应该是这样的,
my_recipe.bb:
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""
SRC_URI = "file://myscript.service"
SRC_URI += "file://myscript.sh"
inherit systemd
do_install() {
install -Dm0755 ${WORKDIR}/my_script.sh ${D}/usr/bin/my_script.sh
install -Dm0644 ${WORKDIR}/my_script.service ${D}${systemd_system_unitdir}/my_script.service
}
SYSTEMD_SERVICE_${PN} = "my_script.service"
当然,这应该在您的 conf/bblayers.conf 中已经存在的 meta-layer 中 否则创建它并手动添加它。