- 嵌入式Linux系统开发:基于Yocto Project
- (美)鲁道夫·J.斯特雷夫
- 1019字
- 2023-07-19 10:53:17
2.1.1 先决条件
你可能已经猜到了:为了用Yocto项目工具构建Linux系统,需要一个运行着Linux的构建主机。
硬件条件
尽管Yocto项目工具具备构建Linux操作系统栈的能力,但是其需要带有x86架构CPU的构建主机。32位和64位CPU都是被支持的。出于吞吐量的原因,带有64位CPU的系统是首选的。Yocto项目的构建系统在可能的情况下利用并行处理(parallel processing)。因此,带有多个CPU或者一个多核CPU的构建主机能极大地减少构建时间。当然,CPU时钟速度也对包能够多快构建出来有影响。
内存也是重要因素。BitBake——Yocto项目的构建引擎,解析数千个“菜谱”(recipe)并且创建带有构建依赖项的缓存。而且,编译器需要内存来存储数据结构和更多其他数据。Yocto项目工具在小于1GB内存的系统上不能运行。推荐的是4GB或者更多内存。
磁盘空间也是考虑因素。当前,完整的构建过程——创建基于X11的带有图形用户界面(Graphical User Interface,GUI)的镜像——消耗大约50GB的磁盘空间。如果你想在将来为更多架构构建或向构建增加更多的包,那么需要额外的空间。推荐的是,系统的硬盘有至少100GB的可用空间。因为大容量的普通硬盘的价格已经是普遍用户可承受的了,推荐你用带有500GB或者更多空间的主机来承载Yocto项目的全部构建环境。
因为构建系统从磁盘读取大量数据并向磁盘写入大量构建输出数据,带有高I/O吞吐率的磁盘也可以极大地加速构建过程。使用固态盘可以进一步改善构建体验,但是,这些设备,特别是具有大容量的,在成本上是远高于具有旋转盘片的普通磁盘的。不管你正在使用传统的硬盘还是固态盘,额外的性能增加可以通过设置独立磁盘冗余阵列(Redundant Array of Independent Disks,RAID)来实现,例如RAID 0。
互联网连接
可从Yocto项目网站获取的OpenEmbedded构建系统仅仅包含构建系统本身——BitBake和引导它的元数据。对于它将要构建的软件来说,它不包含任何源包。这些源包是在构建运行时按需自动下载下来的。因此,你需要一个接至互联网的在线连接,最好是高速连接。
当然,下载的源包是存储在系统上并且对于将来的构建来说可以重用。你也可以提前下载所有的源包然后在没有接至互联网的连接的情况下离线地构建它们。
软件需求
首先,你需要当前的Linux发行版。随着每次版本发布,Yocto项目正在持续认可越来越多的发行版。使用以下发行版之一的前一个或者当前发布通常没有任何问题:
❑ CentOS
❑ Fedora
❑ openSUSE
❑ Ubuntu
一般情况下,32位和64位变体都是验证过的。然而,如果硬件支持64位版本,那么就推荐使用64位版本。可以在位于www.yoctoproject.org/docs/current/ref-manual/ref-manual.html的Yocto项目参考手册中找到所有被支持的发行版的详细列表。
除了Linux发行版,你需要安装一系列软件包以使构建系统运行。我们会在2.1.3节阐述安装。