yocto - 将 sshd_config 文件替换为 Yocto 中的自定义文件
问题描述
我使用 Yocto Zeus 为我的开发板构建嵌入式 Linux。到目前为止,我需要用我的自定义替换 /etc/ssh/sshd_config 。
不幸的是,我找不到任何有用的信息。刚刚在网上找到了一些帮助。我创建了一个自定义层并添加了如下配方:
sources
mylayer
mylayer-recipes
recipes-connectivity
openssh
openssh_%.bbappend
openssh
sshd_config
openssh_%.bbappend
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://sshd_config"
在此之后我尝试重建图像
bitbake core-image-minimal
但什么也没有发生。镜像中的 sshd_config 文件没有错误,也没有变化。
我做错了什么?其实我只想/etc/ssh/sshd_config
用自定义的系统替换系统,没有别的。
解决方案
好的,我终于解决了这个问题。事实证明,我没有遵循 *.bb 的完整路径,但只遵循顶级路径,尽管文档说“......这意味着您必须设置支持目录结构,其中将包含您的任何文件或补丁将包括从图层中。” 在5.1.5. Using .bbappend Files
节中。所以最终的文件夹结构如下所示:
sources
mylayer
mylayer-recipes
openssh
openssh_%.bbappend
openssh
sshd_config <----- the file that replaces the original one
poky
recipes-connectivity
openssh
openssh_8.0p1.bb
openssh
sshd_config <----- the original file
....
即我刚刚将文件夹添加openssh
到mylayer-recipes
文件夹,现在可以按预期工作
推荐阅读
- excel - 如何在excel中编辑数值
- c++ - 我的 Ifstream 参考不起作用,尽管它在以前的类似功能中起作用
- javascript - 什么是最接近的函数 javascript?
- python - 使用循环反向打印多个输入字符串
- vue.js - 如何仅清除数据表中选定的行,vuetify
- r - 由于 rJava 导致 TravisCI 失败
- android - Android Gradle 插件 `registerTransform` 不再对 4.1.x 及更高版本的插件开发者公开
- oracle11g - 同义词不起作用 ORA-00980: 同义词翻译不再有效?
- c# - .NET Core 控制台应用程序如何部署到 Kubernetes?
- amazon-s3 - 如何使用 C# AWS SDK 从 S3 一次下载多个文件