利用YOCTO的力量进行Linux操作系统移植项目

本文档是为从事嵌入式 linux 应用程序的开发人员社区创建的。本文档的目的是指导您完成使用yocto 框架为 linux 发行版构建映像的步骤。
ps – 为了最好地利用本文档中的信息,必须具备以下专业知识:
熟悉基本的 linux 操作系统操作和管理任务
yocto项目和openembedded项目的理解
了解构建系统的基础知识
了解系统要求和 openembedded (oe) 构建系统:
在我们讨论工作流程之前,必须对系统要求和 oe 构建系统有一个基本的了解。以下是必要的细节。
一个。系统要求:
1.主机系统:理想情况下,至少有 50 gb 可用磁盘空间的系统可以在任何 linux 发行版(即 ubuntu、fedora、centos、opensuse 或 debian)上运行。大多数情况下,本机 linux 机器功能用作开发主机。
2 。 构建包:确保您的主机开发系统具有以下包(关于 linux 发行版 - ubuntu、fedora、centos 等)
在无头系统上构建映像的要点
图形和 eclipse 插件附加功能
文档
openembedded 自检
3. yocto 项目的任何版本
湾。openembedded 构建系统和 bitbake 工具
openembedded (oe)是 yocto 项目的构建系统。这个构建系统的核心组件是bitbake。
bitbake 执行解析元数据、从元数据创建任务列表等任务。
图 2:yocto ide
bitbake 工具由以下功能块组成:
用户配置:这包括用于管理 yocto 构建过程的元数据。作为开发人员,您可以通过指定目标架构、存储下载源的位置以及使用用户配置文件的其他构建属性来定义构建环境。
元数据、机器和策略配置层:这些层包含对构建过程管理至关重要的数据。
元数据:这一层由用户提供的配方文件、补丁和附加文件组成。
机器配置 (bsp):这一层包含特定于构建映像的目标架构的信息。特定于机器配置的信息由 yocto 分层架构模型的 bsp 层提供。
distro layer/policy configuration:该层由指定特定分发的策略配置的数据组成。该层包括类文件、配置文件和配方。这些配方将包括自定义图像配方、特定于发行版的配置、初始化脚本。
源文件:包括上游版本、本地项目和源代码控制管理器 (scm) 等源文件,构建系统从中下载源文件以构建映像。
构建系统:该块指定 bitbake 获取源、应用补丁、执行编译、分析输出以生成包、生成和测试这些包、生成图像和交叉开发工具的过程。
package feeds:此模块由目录组成,其中包含 rpm、deb 或 ipk 格式的各种类型的输出包。在构建由构建系统生成的映像或 sdk 时使用包提要。它们还用于在运行时通过在 web 服务器上复制和共享它们来扩展或更新设备上的现有图像。
图像:这是一个输出模块,用于管理由构建系统创建的 linux 图像。
应用开发sdk:该模块由各种交叉开发工具组成,可以与镜像一起构建,也可以与bitbake分开构建。
使用 yocto 项目作为嵌入式 linux 构建系统的工作流程:
图 1:工作流程:使用 yocto 构建 linux 映像
为 yocto 构建系统设置主机系统:主机系统应符合最低系统要求,如前所述。此外,您应该测试主机构建系统的以下内容:
一个。所需的包
湾。构建系统满足 git、tar 和 python 的最低版本要求
c。如果没有,请安装预构建的构建工具,例如 tarball,或者
d。构建您自己的构建工具,类似于 tarball,前提是您的构建主机可以运行 bitbake。
下载 所需版本的 yocto 版本:通过克隆 poky git 存储库的本地副本,在主机开发系统上设置最新的 yocto 项目文件。
下载供应商为 bsp 提供的元数据:根据处理器平台(arm、mips、powerpc 和 x86),您可以下载特定供应商提供的 bsp 元数据。
将供应商元数据添加到 yocto 构建系统:通过创建存储库的本地副本将供应商元数据添加到您的构建主机环境。例如,meta-intel 是 intel 特定目标架构的元数据。
进行构建配置更改:检查本地配置文件并通过编辑 bblayers.conf 和 local.conf 文件进行构建配置更改。这应该在调用 bitbake 命令初始化构建之前完成。
初始化构建环境:要定义 openembedded 构建环境,需要执行构建主机上的特定设置脚本。
该脚本创建一个构建目录,该目录位于源目录中。之后,当前工作目录设置为构建目录。构建完成后,构建目录将包含构建期间创建的所有文件。
开始构建镜像:现在 yocto ide/ 框架已经收到了构建 linux 镜像所需的所有命令。接下来通过一系列操作 yocto (ide) 将根据元数据中的信息/规范构建图像。
使用 qemu 模拟和测试 linux 映像:qemu 作为模拟器和虚拟化机器,支持使用 yocto project 架构构建的 linux 映像和应用程序的测试,而无需在实际硬件上运行它。
要在 qemu emulator 上运行 linux 映像,请使用 runqemu 命令
编写 linux 映像:根据 target_device 命令中提供的信息,您可以借助 poky 存储库中包含的 mkefidisk.sh 脚本在任何目标设备(如 sata 驱动器、sd 卡甚至 usb 密钥)上编写 linux 映像。
为什么在 linux 项目中使用 yocto 框架?
轻松定制:yocto 拥有一个非常健壮和强大的定制架构,它提供了许多定制选项,例如封装尺寸、启用/禁用图形子系统、可视化中间件和服务等组件。
供应商支持:yocto project 得到了大多数半导体和操作系统供应商以及主要电子制造公司的支持。因此,使用 yocto,您可以利用坚实的支持生态系统并实现您的项目目标。
可重用性:yocto 项目通过共享状态机制促进了这一点。这允许在类似的构建中重用资源。
嵌入式 linux 应用程序的简化构建操作:yocto 的单一通用框架帮助摆脱了对离散构建系统的依赖,其中每个 soc 供应商都创建了自己的构建框架,仅与他们的微处理器平台兼容。
无缝添加 ui 组件:支持增强带显示设备的用户体验。qt、clutter 等系统组件(如 x11、gtk+ 和 sdl)促进了这一点。
仿真器支持:它支持使用 qemu 仿真器进行硬件和设备仿真。因此,通过 yocto project 构建的映像可以在 qemu 仿真器内启动,开发环境充当嵌入式软件的测试平台。
增加便利性:yocto 凭借其用于构建系统和移植操作系统的可定制配方、工具和模板,使开发人员能够专注于其他核心开发任务。
系统管理和更新:每 6 个月发布一个新版本的 yocto,包括内核 (ltsi)、工具链和软件包版本。
缩短 crucial 嵌入式 linux 应用程序的上市时间:使用 yocto,开发人员可以在几个小时内从头开始构建整个 linux 系统(根据项目组件,低至 1-2 小时)。
随时可用的 开发工具:作为 yocto 用户,您可以访问各种开发工具,例如应用程序开发工具包 (adt)、eclipse ide 插件、嵌入式设备的图形 ui (matchbox)、qa 工具等等。


高精密金属膜电阻的特点 精密金属膜电阻和金属膜电阻的区别?
1%电阻器和运算放大器,构建合格差动放大器足够
MHP发布2023年移动出行研究《软件竞赛》
中国电子科技集团公司第二十一研究所发布了首款人形机器人
墨盒的适用产品类型/适用机型
利用YOCTO的力量进行Linux操作系统移植项目
液晶面板价格出现全面上涨,面板厂商的盈利能力或将进一步提升
智能特种机器人公司史河科技完成千万级人民币天使轮融资
官方解读 未来6G是怎样的
适用于恶劣汽车环境的综合电源系统设计
200kW储能用EasyPACK™ 3B三电平模块
台湾纳米技术产品相关产值突破百亿元大关
关于相机的最大机遇,视频、全画幅将会是最大契机
智能协作能为人类做到什么
为什么无法依靠新技术来解决气候变化问题
双涡轮增压发动机+“暗物质”电机组成
vivo与联发科合作首发天玑9300 AI芯片,销量超出预期
中国工业机器人市场近年来持续表现强劲
芯海科技通过ISO26262功能安全流程体系认证
什么情况下需要使用马达保护器,如何选马达保护器厂家?