基于Yocto编译树莓派3B+

目录

  • 介绍
  • 直接下载
  • 系统说明
  • 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进行处理,非常感谢!

上一篇 2020年10月12日
下一篇 2020年10月12日

相关推荐