八、Yocto 创建自定义的conf文件

2024-04-14 22:20
文章标签 自定义 创建 yocto conf

本文主要是介绍八、Yocto 创建自定义的conf文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • Yocto创建自定义的conf文件
    • 保存当前项目的配置文件
    • 使用自定义配置创建编译工作区

Yocto创建自定义的conf文件

本篇文章为基于raspberrypi 4B单板的yocto实战系列的第八篇文章:
一、yocto 编译raspberrypi 4B并启动
二、yocto 集成ros2(基于raspberrypi 4B)
三、Yocto创建自定义的layer和image
四、Yocto创建静态IP和VLAN
五、Yocto集成QT5
六、Yocto给组件分组(packagegroups)
七、Yocto使用systemd设置开机自启动程序

前面几篇系列文章中我们集成了ros 和qt等组件,添加了我们自己的meta-layer,还有自己对image做了一些组件裁剪,这些修改都跟conf/local.conf conf/bblayers.conf这两个文件相关,如果其他同学下载了meta-rpi-robot这个仓库,想要编译rpi-robot-image之前还需要按照之前的每一篇博客里面的操作记录去修改local.conf 和 bblayers.conf是不是太不人性化了,放心,yocto早以替你想到了这个问题,这一章节我们就来创建我们自己的sample。

保存当前项目的配置文件

还记得之前我们的编译指令么:

source poky-kirkstone/oe-init-build-env rpi-build
bitbake rpi-robot-image

这里我们就将当前rpi-build工作区使用的conf文件备份下来,可以使用如下指令:

source poky-kirkstone/oe-init-build-env rpi-build
bitbake-layers save-build-conf ../poky-kirkstone/meta-rpi-robot/ custom-conf

这样就可以将当前的conf文件保存到我们meta-rpi-robot/conf/custom-conf文件夹下面,但是很可惜我在kirkstone这个分支版本的yocto下执行报错了:
在这里插入图片描述
看起来bitbake-layers save-build-conf这个指令并没有被支持,所以目前只能手动拷贝我们当前的local.conf和bblayers.conf文件到我们的meta-rpi-robot下面了:

cd poky-kirkstone
mkdir -p meta-rpi-robot/conf/template
cp ../rpi-build/conf/local.conf meta-rpi-robot/conf/template/local.conf.sample
cp ../rpi-build/conf/bblayers.conf meta-rpi-robot/conf/template/bblayers.conf.sample
touch meta-rpi-robot/conf/template/conf-notes.txt

这样在meta-rpi-robot/conf/template/文件夹下面就有了3个文件:
在这里插入图片描述
需要注意的是我们直接拷贝过去bblayers.conf.sample里面的路径都是绝对路径,需要调整一下,不然在另外一台机器上就无法正常运行了,增加一个OEROOT变量:
在这里插入图片描述
local.conf.sample 文件无需做额外更改
可以看到我们还创建了一个conf-notes.txt文件,这个文件就是用来提示作用的,里面的内容我们设置如下:

Available images for RPI Robot layers are:- Official RPI Robot images:rpi-robot-image       -   RPI Robot image with Qt5 ROS2 support

使用自定义配置创建编译工作区

至此我们有自己的配置文件了,如果使用我们meta-rpi-robot里面的配置文件那么在初始化构建环境的时候需要传递一个变量:TEMPLATECONF,这个变量就是告诉bitbake我们需要使用的conf文件模版在哪个位置。

可以尝试一下使用如下命令使用新的配置文件来创建一个新的工作区(请使用你自己的绝对路径指定TEMPLATECONF):

TEMPLATECONF=/mnt/ext_disk/code/raspberry/poky-kirkstone/meta-rpi-robot/conf/template source poky-kirkstone/oe-init-build-env  rpi-build-2

在这里插入图片描述

这篇关于八、Yocto 创建自定义的conf文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/904179

相关文章

python如何创建等差数列

《python如何创建等差数列》:本文主要介绍python如何创建等差数列的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python创建等差数列例题运行代码回车输出结果总结python创建等差数列import numpy as np x=int(in

Java实现自定义table宽高的示例代码

《Java实现自定义table宽高的示例代码》在桌面应用、管理系统乃至报表工具中,表格(JTable)作为最常用的数据展示组件,不仅承载对数据的增删改查,还需要配合布局与视觉需求,而JavaSwing... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

一文详解Java Stream的sorted自定义排序

《一文详解JavaStream的sorted自定义排序》Javastream中的sorted方法是用于对流中的元素进行排序的方法,它可以接受一个comparator参数,用于指定排序规则,sorte... 目录一、sorted 操作的基础原理二、自定义排序的实现方式1. Comparator 接口的 Lam

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st

如何自定义一个log适配器starter

《如何自定义一个log适配器starter》:本文主要介绍如何自定义一个log适配器starter的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求Starter 项目目录结构pom.XML 配置LogInitializer实现MDCInterceptor