目录
- 介绍
- 直接下载
- 系统说明
- Ubuntu安装配置
- 克隆依赖库
- 克隆meta-rpi存储库
- 设置构建生成目录
- 自定义配置文件
-
-
- MACHINE
- TMPDIR
- DL_DIR
- SSTATE_DIR
- 超级用户密码
-
- 运行构建
-
- 准备构建环境
- 构建镜像
- 将二进制文件复制到SD卡(或eMMC)
介绍
Yocto ,是一个开源 区。它通过提供模版、工具和方法帮助开发者创建基于linux内核的定制系统,支持ARM, PPC, MIPS, x86 (32 & 64 bit)硬件体系架构。
Yocto Project一个开源的协作软件,提供模板、工具和方法帮你创建定制的 Linux 系统和嵌入式产品,而无需关心硬件体系。适合嵌入式Linux开发人员使用。极大地简化你的开发过程,因为你不用再从头裁剪一个完整的Linux发布版本,后者通常包括许多你并不需要的软件。
Poky有两个含义,第一个含义是用来构建Linux的构建系统,值得注意的该Poky仅仅是一个概念,而非一个实体:它包含了 BitBake工具、编译工具链、BSP、诸多程序包或层,可以认为Poky即是Yocto的本质;此外Poky还有另外一层意思,使用Poky系统得到的默认参考 Linux 发行版也叫Poky(当然,我们可以对此发行版随意命名)。
Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI) [1] 是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux。
直接下载
如果想快速使用编译好的系统镜像,可以点击下载。
安装到SD卡的说明在README。
系统说明
- Yocto版本是3.1,[dunfell]分支。
- 默认的5.4内核来自 repository。还有一个4.19的 recipe。
- 这些都是使用eudev的sysvinit系统。
- Qt版本是5.14,没有X11,也没有安装桌面。Qt GUI应用程序可以运行全屏使用Qt嵌入式linux插件之一,如eglfs或linuxfb,两者都提供了。默认是eglfs。
- 包含了Python 3.8.2和许多模块。
- 已经安装gcc/g++ 9.3.0和相关的构建工具。
- 安装wireguard-linux-compat的wireguard。
- 安装omxplayer是为了从命令行播放视频和音频,硬件加速。
- 安装了Raspicam命令行工具,用于使用树莓派摄像头模块。
- 这里有一个镜像示例,使用了两个树莓派音乐系统。他们使用IQaudIO Pi-DigiAMP+或HiFiBerry Amp+附加板和pianobar (Pandora internet radio基于控制台的客户端)。
Ubuntu安装配置
推荐使用18.04或20.04 Ubuntu 64位服务器进行构建。
至少需要安装以下软件包:
所有版本的Ubuntu,你应该通过在shell中运行这个命令来将默认的Ubuntu shell从dash改为bash
在弹出的窗口中选择 否 即可:
注意:重启电脑、重新打开控制台的时候,都需要执行一次准备构建环境,否则下方命令无法执行(bitbake: command not found)。
构建镜像
要构建控制台镜像console-image,请运行以下命令:
由于构建镜像需要先下载源码再编译,这是一个漫长的过程,一般建议用VPN代理进行构建。也可以先下载代码,准备完成后再进行编译:
备注:这是一个使用代理下载的示例:
可能偶尔会遇到与包相关的构建错误,这些包要么无法下载,要么有时构建顺序混乱。简单的解决方案是清理失败的包并再次重新运行构建。
例如,我遇到内存不足导致boost编译失败,我将运行这个单独构建:
然后继续完整的构建:
直到下次构建时,镜像文件才会从TMPDIR删除。
将二进制文件复制到SD卡(或eMMC)
在构建完成后,可以在**/deploy/images/$MACHINE中找到引导加载程序、内核和rootfs映像文件,其中MACHINE来自你的local.conf。
To be continue…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!