设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
使用 Yocto Project 构建自定义嵌入式 Linux 发行版 ...
返回列表
发新帖
使用 Yocto Project 构建自定义嵌入式 Linux 发行版
[复制链接]
11
|
5
|
2007-1-24 12:56:49
|
显示全部楼层
|
阅读模式
概述
Yocto Project 是一个开源协作项目,它提供了一些模板、工具和方法来支持面向嵌入式产品的自定义 Linux 系统,不管硬件架构是什么。我想要告诉那些对 yocto 这个名称不甚理解的用户的是,术语 yocto 是最小的 SI 单元。最为一个前缀,yocto 表示 10^-24。
本文将提供一个分步指导,向您介绍如何使用 Yocto Project 的行业标准开源工具为嵌入式设备创建自定义的 Linux 操作系统,并使用 QEMU 在一台虚拟机中启动操作系统。Yocto Project 是由大型硬件公司和操作系统供应商资助的、由 Linux 基金会赞助的开源项目,提供了一些行业领先的工具、方法和元数据来构建 Linux 系统。
Yocto Project 的两大主要组件由 Yocto Project 和 OpenEmbedded 项目一起维护,这两个组件是 BitBake 和 OpenEmbedded-Core,前者是构建引擎,后者是运行构建过程所使用的一套核心配方 (recipe)。下一节会介绍所有项目组件。
回复
使用道具
举报
千问
|
2007-1-24 12:56:49
|
显示全部楼层
Yocto Project 简介
作为一个协作项目,Yocto Project 有时也称为 “umbrella” 项目,它吸纳了许多不同的开发流程部分。在整个 Yocto Project 中,这些部分被称为项目,包括构建工具、称为核心配方 的构建指令元数据、库、实用程序和图形用户界面 (GUI)。
Poky
Poky 是 Yocto Project 的一个参考构建系统。它包含 BitBake、OpenEmbedded-Core、一个板卡支持包 (BSP) 以及整合到构建过程中的其他任何程序包或层。Poky 这一名称也指使用参考构建系统得到的默认 Linux 发行版,它可能极其小 (core-image-minimal),也可能是带有 GUI 的整个 Linux 系统 (core-image-sato)。
您可以将 Poky 构建系统看作是整个项目的一个参考系统,即运行中进程的一个工作示例。在下载 Yocto Project 时,实际上也下载了可用于构建默认系统的这些工具、实用程序、库、工具链和元数据的实例。这一参考系统以及它创建的参考发行版都被命名为 Poky。您还可以将此作为一个起点来创建您自己的发行版,当然,您可以对此发行版随意命名。
所有构建系统都需要的一个项目是工具链:一个编译器、汇编程序、链接器以及为给定架构创建二进制可执行文件所需的其他二进制实用程序。Poky 使用了 GNU Compiler Collection (GCC),不过您也可以指定其他工具链。Poky 使用了一种名为交叉编译 的技术:在一个架构上使用工具链为另一个架构构建二进制可执行文件(例如,在基于 x86 的系统上构建 ARM 发行版)。开发人员常常在嵌入式系统开发中使用交叉编译来利用主机系统的高性能。
元数据集
元数据集按层 进行排列,这样一来每一层都可以为下面的层提供单独的功能。基层是 OpenEmbedded-Core 或 oe-core,提供了所有构建项目所必需的常见配方、类和相关功能。然后您可以通过在 oe-core 之上添加新层来定制构建。
OpenEmbedded-Core 由 Yocto Project 和 OpenEmbedded 项目共同维护。将 Yocto Project 与 OpenEmbedded 分开的层是 meta-yocto 层,该层提供了 Poky 发行版配置和一组核心的参考 BSP。
OpenEmbedded 项目本身是一个独立的开源项目,具有可与 Yocto Project 交换的配方(大部分)以及与 Yocto Project 类似的目标,但是两者具有不同的治理和范围。
板卡支持包
BSP 包含为特定板卡或架构构建 Linux 必备的基本程序包和驱动程序。这通常由生产板卡的硬件制造商加以维护。BSP 是 Linux 操作系统与运行它的硬件之间的接口。注意,您也可以为虚拟机创建 BSP。
回复
使用道具
举报
千问
|
2007-1-24 12:56:49
|
显示全部楼层
BitBake
BitBake 是一个构建引擎。它读取配方并通过获取程序包来密切关注它们、构建它们并将结果纳入可引导映像。BitBake 由 Yocto Project 和 OpenEmbedded 项目共同维护。
Hob
为了让嵌入式 Linux 开发更容易,Yocto Project 提供了几种不同的图形工作方法。项目的一个较新的添加项叫作 Hob,它向 BitBake 和构建过程提供一个图像前端。两者的开发工作仍在继续,包含社区用户研究。
开源许可证合规性
遵守开源许可证是任何 Linux 开发工作的一个极其重要的部分。Yocto Project 的一个目标是尽可能容易地实现合规性。可以极为轻松地使用 Yocto Project 工具来创建清单(甚至构建整个源存储库)和过滤构建过程,用它们排除使用特定许可证的程序包。该项目使用了 Linux 基金会的 “开放遵守计划” (Open Compliance Program),该计划包含一个 Software Package Data Exchange? (SPDX™
规范。
EGLIBC
嵌入式 GLIBC (EGLIBC) 是 GNU C Library (GLIBC) 的一个变体,旨在能够在嵌入式系统上运行。EGLIBC 的目标包括减少内存占用、让组件可配置、更好地支持交叉编译和交叉测试。EGLIBC 是 Yocto Project 的一部分,但在它自己的治理结构内加以维护。
应用程序开发工具包
应用程序开发工具包 (ADT) 能够让系统开发人员为他们使用 Yocto Project 工具创建的发行版提供软件开发工具包 (SDK),为应用程序开发人员提供了一种针对系统开发人员提供的软件栈进行开发的方法。ADT 包含一个交叉编译工具链、调试和分析工具,以及 QEMU 仿真和支持脚本。ADT 还为那些喜欢使用集成开发环境 (IDE) 的人提供了一个 Eclipse 插件。
Yocto Project 旗下的其他工具
属于 Yocto Project 一部分的若干其他工具:
Autobuilder:不断自动构建 Yocto Project 工具,启用自动化的 Quality Assurance (QA) 活动。
Cross-Prelink:为交叉编译开发环境提供预链接,并改进性能。
Pseudo:模拟 root 访问,是构建可引导最终映像的一个不可或缺的部分。
Swabber:检测交叉编译版本何时会受到主机组件影响而无法使用。
Build Appliance:是一台运行 Hob 的虚拟机,使那些使用非 Linux 版本主机的人能亲眼看到 Yocto Project 进程。(注意:Yocto Project 构建工具目前仅在 Linux 上受支持。)
治理和社区
对于任何开源项目来说,一个重要部分是开发和支持其组件的社区。Yocto Project 有一个活跃社区,部分由组织机构组成,包括硬件制造商、操作系统提供商、工具提供商和电子器件制造商,全方位覆盖了嵌入式开发,部分由个人组成,其中许多人为这些组织机构工作。
该项目由有一个首席架构师和一系列维护人员和技术主管(制定所有技术决策)管理。成员组织(很多通常是彼此竞争的)共同协作成立了一个顾问小组,顾名思义,他们的工作是顾问性质的。该小组管理项目资源,包括基础架构、宣传、推广和财务。
回复
使用道具
举报
千问
|
2007-1-24 12:56:49
|
显示全部楼层
[size=0.76em]构建 Linux 发行版[size=0.76em]本节将展示如何使用 Poky(参考构建系统)构建一个基本的嵌入式 Linux 系统。这里描述的流程构建参考了发行版以及构建该发行版所需的所有工具。如果您愿意的话,也可以下载预编译好的二进制文件,以避免编译的需要。请阅读 Yocto Project Quick Start Guide(参见 参考资料),了解有关的更多信息。[size=0.76em]工具本身仅在 Linux 平台上受支持,特别是 Ubuntu、Fedora、CentOS 和 openSUSE。注意,虽然这些系统的最新发行版尚未列入受支持之列,但它们通常是支持该工具的,其他许多 Linux 发行版可能也支持该工具。[size=0.76em]如果您的主机系统没有运行 Linux,或者如果您希望不安装任何东西就能继续运作,那么您可以下载 Yocto Project Build Appliance。这台虚拟机预安装了最新的官方 Yocto Project 发行版。Build Appliance 可在 VMWare Player 或 VirtualBox 中运行,并直接启动到 Hob GUI。如果您使用的是 Build Appliance,那么下面的大部分步骤已经完成,您可以直接跳到 测试插件 Hob 一节。不过,我建议您还是阅读一下中间部分的内容,以便了解 Hob 在做些什么。另外,应该阅读 Yocto Project 网站上的一些 Hob 文档,参见 参考资料。[size=0.76em]下载 Yocto Project 工具[size=0.76em]使用两种方法中的任意一种下载 Yocto Project。确保使用一个至少有 50GB 空闲空间的磁盘。建议空闲空间是 100GB。您可以从 Yocto Project 下载页面下载最新测试完毕的发行版的一个 tar 文件。下载 tar 文件,然后将其解压到一个目录,如 清单 1 所示。
清单 1. 下载 poky
$ wget \http://downloads.yoctoproject.or ... -denzil-7.0.tar.bz2$ tar xjf poky-denzil-7.0.tar.bz2$ cd poky-denzil-7.0
回复
使用道具
举报
千问
|
2007-1-24 12:56:49
|
显示全部楼层
结束语
了解如何有效使用 Yocto Project 工具需要花费一些时间,但这是值得的。工具的灵活工作流、可移植配置和高度的可配置性使我们能够在构建过程的各个级别进行定制。Yocto Project 代表一个商业工作流,它由专业的嵌入式系统开发人员设计和实现。在撰写本文之时,几个操作系统工具制造商正在基于项目调整其产品的方向。试用一下该工具,然后看看效果,如果您喜欢所看到的,那么就加入社区吧。
回复
使用道具
举报
千问
|
2007-1-24 12:56:49
|
显示全部楼层
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
几百买的杂牌净水机用了1年不到两边铁锈也出来了,大楼看了芯园,惠仕顿,安吉尔哪个好
2
纵横和起点(女生网)哪个签约比较好?
3
excel工作表薄各工作表的数据合统计到一个汇总工作表中体现
4
为什么酷狗下载了的文件用酷狗播放不了,用其他的播放器又可以
5
如何在深圳注册公司
6
花4000左右组装一台专门玩游戏的电脑都需要什么硬件呢?
7
龙族是什么?怎么样?
8
北京到旧金山机票价格是多少,往返最低多少?
9
分号的用法是什么?
10
为什么昔日同学,今日成为党。却忘记自己的责任,而是捞钱,捞钱,,,难道是我太天真单纯了吗
11
哪位高手知道检验包胶车轮是需要检验哪些项目呢 小女感激不尽 谢谢
12
咋追女孩
13
如何查询苹果4S的产地和生产日期?型号MD235FD 系列号 DNTGW3RSDTC0 嘛烦帮我查下 谢谢。
14
我有一个cf名字 叫小幸福,我想改,把小幸福改的好看一点加点符号的
15
赤脚穿鞋有什么坏处?
16
DNF我红眼PK带BM戒子还是救赎者之戒好,全打了35攻击卡,想要速度,又想要伤害。但是你门说下,带那个好!
17
别人发表过的说说我怎么看不见了?确定她没有屏蔽我
18
女朋友过生想录一首歌送给她,但是不知道录什么歌,请大家帮忙推荐一下,不要太老的,要最能打动人的
19
上海有到重庆万州机场的航班吗?
20
仙剑奇侠传4存档
[email protected]
21
甲、 乙两站相距274千米,一列慢车从甲站开往站需1小时。一列快车从乙站开往甲站,快车开往1.5小时后。两车
22
猎刃哪个宠物好
23
求钢之炼金术师中温钢、RR的同人漫话
24
眼睛为什么会近视
25
致文学 阅读答案
26
求文档: 凤囚凰全文免费阅读
[email protected]
27
谁有劲舞团 赤脚青青的歌曲 要mp3格式的~
28
我也是在游民星空下的 青空下的约定 也是安装了不能玩~~你说下载汉化不定就可以了~~那怎么打补丁呢???
29
寒假学英语,大连好又多附近,有好介绍吗?
30
你有CK6150数控车床的说明书吗?
31
有一部电视剧名字忘记了,内容大概是女主人公已经与现在的男友结婚,但是前男友纠缠着她,
32
血红蛋白的功能物质是什么
33
我奶奶重病,生有子女5个(2男3女),我姑姑一分钱医药费不肯出......
34
是这样的.我家是不能装宽带的,路隔开了,有没有办法在电话线上接个什么东西,直接用蹭网卡接收信号
35
每次我从word复制内容到我的网站后台,都会弹出一个窗口:确定允许此网页访问“剪贴板”吗?
36
奥比岛找皇上啦!!!【群】进来看看!
37
我手机电池电量用的太干净充不进电去了。。是不是没救了???
38
单排和双排旱冰鞋哪个好,花样多啊?懂的请赤脚…
39
y,怎么在手机上下载小说,形号是步步高i530
40
FIFA2012全机型中文版首次玩点我的账户就出game unlocked确定,点玩游戏就提示我的SD卡空间不足可我空间够
41
求一个QQ仙境不删档激活码,有的发到
[email protected]
42
白景峰是山西的吗?
43
亲~~~~~好看的耽美综漫文 (
[email protected]
)
44
一句解生肖:004期:一七对九走三五,四六五八到本期.
45
2012年山东烟台会计从业资格考试教材是不是有最新的了?报名的时候说大纲有变动。教材也有变动
46
我想知道公司商品培训会议纪要怎么写?最好有个范文看看
47
梦见江河发大水,自己赤脚在水里捞了一根木头,这梦是好是坏啊?
48
多喝水的好处
49
汉库克是怎么帮路飞进大监狱的额
50
我女朋友的前男友又找她,她选的还是我。我需要一个最佳方案。
51
我该戴什么颜色的美瞳好看呢?
52
苹果商店日本账号
53
大众朗逸cd在AUX模式下用一小时自动关机请高手帮忙。CD带USB和SD卡插槽。在放CD碟片时一切正常。
54
CF讨论群,现在没有多少人,希望广大CF爱好者加入进来一起讨论
55
塔吊回转轴承怎么换
56
求《后宫甄嬛传》7卷小说全集txt格式, 请发至我的邮箱
[email protected]
谢谢各位亲了 要全本啊 带番外的
57
W7文档无法自由拖动 怎么回事?
58
数字推理:2 2 4 5 8 17 16 33 32 ()
59
如果接收机不能搜到四川卫视怎么办?为什么搜不到?
60
水牛肉和黄牛肉怎么分?
61
急急…怎么在手机上下载小说?手机号是步步高i503
62
东芝L526笔记本怎么调电脑的亮度?
63
摩尔庄园怎么获得龙蛋
64
战地之王新手礼包条件
65
传奇世界赤金钥匙串有什么用啊?
66
超级小葡萄新浪微博里秀的那个小熊公仔背包是什么牌子的呀,在哪里能买?麻烦知道的朋友回答下,谢谢
67
苦求米大的《[目标系列7] 危情目标》!!!邮箱:
[email protected]
!!!!! 请速度!!!!!!
68
带有“左手”的唯美网名 谢谢
69
你好,能给我发下IPHONE的铃声吗?要MP3的,谢谢!
[email protected]
70
What did you ____ at the university? A.major B.majored in C.major in D.majored
71
《那些年,我们一起追的女孩》1080p高清版,无删减版本...跪求邮箱
[email protected]
72
跪求 奥比岛刷澳币的软件
73
N8怎么把主屏幕的选项和通话给隐藏起来
74
qq炫舞中成长任务中舞者的试练五那个任务要怎么做 要怎么开反
75
的速度速度发生的方式是士大夫士大夫
76
12星座的时间顺序怎麽排列
77
谁借我一个CF号,要有好枪的~~~弹夹
78
小米论坛被屏蔽怎么办
79
赤井秀一真的死了吗?
80
有没有人需要中国药科大学研究生内部资料啊?
81
有一张长31.4cm·宽25.12cm的长方形硬纸
82
我的诺基亚5233原版QQ不小心删掉啦 现在新版的很不好用 谁有那个0783版的QQ安装文件 麻烦给传一下 谢谢
83
感谢( 某某人 )作文,六年级水平
84
四个姐妹的组团名!!!要好听的,最好非主,写小说要用,急需!!!
85
四轮定位时调了偏心螺栓 有原厂的好么 要不要换回原厂螺丝
86
晚上8点睡觉半夜2点多起醒来怎么回事晚上一早就困
87
帮我起个英文名
88
求2元一次方程题与其他初二上册的数学题
89
为什么会有冬天了
90
我想带女儿做个牙齿矫正,不知道上海哪里做牙齿矫正最好呢?做牙齿矫正的最佳年龄是什么时候?
91
甘油三脂3.33 总胆固醇6.06怎麽办
92
减速玻璃是用什么透镜制成的
93
广东那里有DV摄像机批发,那个品牌好,销量好,主要是可以赚钱的,开店不容易。
94
多少度算发烧
95
WWE,什么时候更新的
96
旅游鞋保养价格
97
济南市凯帮五金经营部是骗子吗,58同城和赶集上都有他的招聘信息,工资待遇感觉不低啊,真的吗?
98
求:三角洲6 汉化补丁
99
我朋友来武汉玩,我们准备去光谷那边。我想要知道那边有哪些餐厅和KTV。。。。求详细介绍。。。