Yocto理论基础之定制镜像

2024-04-04 04:44

本文主要是介绍Yocto理论基础之定制镜像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Yocto理论基础之定制镜像

  • 一、使用local.conf定制
  • 二、 使用IMAGE_FEATURES 和 EXTRA_IMAGE_FEATURES定制
  • 三、通过Custom .bb文件定制
  • 四、定制包组packagegroups
  • 五、定制系统名hostname

一、使用local.conf定制

最简单的方式就是通过conf/local.conf文件来定制image的组件,比如:

IMAGE_INSTALL:append = " strace"

注意名字前面的空格是必须的!推荐使用append而不是+=来添加组件。
这个方式添加的组件会在编译所用image时都生效,如果你只想特定的image添加功能组件可以这么写:

IMAGE_INSTALL:append:pn-core-image-minimal = " strace"

这样只有在编译core-image-minimal 的时候才会添加strace组件到image中。

二、 使用IMAGE_FEATURES 和 EXTRA_IMAGE_FEATURES定制

另外一种定制image的方法就是通过IMAGE_FEATURES 和EXTRA_IMAGE_FEATURES这两个变量来定制系统,这两个变量作用几乎相同,但是惯例我们通常在recipes中使用IMAGE_FEATURES,而在local.conf中使用EXTRA_IMAGE_FEATURES。
通常一个feature会关联一系列package groups,常见的feature可以查看meta/classes-recipe/image.bbclass文件。比如常用的“debug-tweaks”feature就是一系列调试工具的合集。

三、通过Custom .bb文件定制

你也可以通过定义一个image的bb文件来实现系统定制,这时候通常需要继承core-image,然后添加自己定义的组件包:

inherit core-imageIMAGE_INSTALL = "packagegroup-core-x11-base package1 package2"

如果追加组件包可以使用+=:

IMAGE_INSTALL += "strace"

四、定制包组packagegroups

对于相对复杂的组件包来说可能很多个组件形成一个逻辑功能组,比如qt的组件包有很多,我们就可以根据自己的需求选择需要哪些组件,然后放到一个包组给我们的image bb文件调用,常见的包组格式如下:

DESCRIPTION = "My Custom Package Groups"inherit packagegroupPACKAGES = "\${PN}-apps \${PN}-tools \"RDEPENDS:${PN}-apps = "\dropbear \portmap \psplash"RDEPENDS:${PN}-tools = "\oprofile \oprofileui-server \lttng-tools"RRECOMMENDS:${PN}-tools = "\kernel-module-oprofile"

五、定制系统名hostname

通常情况下linux的系统名和MACHINE 的变量名一致,如果希望自定义系统名可以设置如下变量:

hostname = "myhostname"

这篇关于Yocto理论基础之定制镜像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

docker如何删除悬空镜像

《docker如何删除悬空镜像》文章介绍了如何使用Docker命令删除悬空镜像,以提高服务器空间利用率,通过使用dockerimage命令结合filter和awk工具,可以过滤出没有Tag的镜像,并将... 目录docChina编程ker删除悬空镜像前言悬空镜像docker官方提供的方式自定义方式总结docker

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close