RSB 手册翻译(1)

1. RSB

RTEMS Source BuilderRSB是一个从源代码构建软件包的工具。 它由RTEMS项目用于构建它的编译器和操作系统。 RSB有助于以受控且可验证的方式从源代码构建软件包所需的详细信息。该工具面向使用工具集进行嵌入式开发的软件开发人员。 RSB不仅限于为RTEMS构建工具,您还可以构建裸机开发环境。

嵌入式开发通常使用交叉编译工具链,调试器和调试辅助工具。 我们一起称这些为工具集 RTEMS Source Builder旨在解决这一特定领域的问题,但不仅限于此。我们欢迎 RSB用于RTEMS之外的项目。

RTEMS RSB通常用于构建一组工具或构建集(build set, bs)  构建集是包的集合,包是特定工具,例如gccgdb或库。 RTEMS Source Builder 可运行在支持运行Python的任何主机环境,您可以在其上构建程序包。 RSB不是某种魔法,它可以采用任何源代码并使其构建。 某个时间点的某个人已经想出如何从源代码构建该包并集成到工具中。

RTEMS Source Builder已经在下面平台上测试过:

  • ArchLinux
  • CentOS
  • Fedora
  • Raspbian
  • Ubuntu(包括XUbuntu
  • Linux Mint
  • openSUSE
  • FreeBSD
  • NetBSD
  • MacOS
  • Windows

设置您的主机

3 - 主机详细信息设置主机。

RTEMS Source Builder有两种类型的配置数据。 第一个是构建集  构建集描述了一组包,这些包定义了在为RTEMS开发软件时使用的一组工具。 例如,基本的GNU工具集是binutilsgccgdb,是嵌入式交叉开发类型项目所需的典型基本工具套件。 第二种类型的配置数据是配置文件,它们定义了如何构建包。 配置文件是基于RPM规范文件格式的松散脚本,它们详细说明了构建软件包所需的步骤。 步骤包括准备  构建安装  脚本支持宏,shell扩展,逻辑,包括以及在构建包时有用的许多其他功能。

RTEMS Source Builder不与任何主机包管理系统交互。 您构建的各种软件包或您可能已安装的主机系统的软件包和软件之间没有自动依赖性检查。 我们假设您正在使用的构建集和配置文件是由开发人员创建的。 支持包配置或pkgconfg类型文件,因此您可以检查和使用标准库(如果存在)。 如果您有问题,请在我们的开发者邮件列表中询问。

本文档适用于从新用户到经验丰富的RTEMS开发人员的一系列用户。 新用户可以按照安装和tar文件快速入门部分进行操作,以获得工作工具和RTEMS 构建用于发布的二进制工具集的用户可以阅读安装和tar文件 想要运行和测试前沿工具或软件包,或者想要更新或扩展RSB配置的用户可以阅读其余部分。

错误报告

如果您认为自己发现了问题,请参阅9 - 错误,崩溃和构建失败 

1.1 为什么要从源头构建?

RSB不是替代商业操作系统或开源操作系统发行版的二进制安装系统。 这些产品和发行版非常重要,是RSB工作的基础。 RSB 位于您手动输入命令以构建工具集和诸如yumapt-get类的工具之间,用于安装专门为您的主机操作系统制作的二进制包。 手动构建或从远程存储库安装二进制包是有效且可行的替代方案。 RSB提供了可重复地从源代码构建工具集的特定服务。 该过程将为您提供用于构建工具的源代码以及重建它的能力。

如果您正在开发一个长期维护的系统或产品,或者使用具有较长生命周期且能够从源构建的重要基础设施的关键基础设施,则这一点非常重要。 它将项目与快速变化的主机开发环境隔离开来。 如果你的工具集是二进制的,并且你已经失去了构建它的能力,你也已经失去了一定程度上的开源给你的控制和灵活性。 快速发展的主机环境非常棒。 我们拥有功能强大的多核计算机,具有大量内存和最先进的操作系统,但是您所参与的产品或项目可能需要在这些主机的使用寿命期内维护好。 能够从源代码中构建是此过程重要且关键的部分,因为您可以移动到更新的主机并创建等效的工具集。

从源代码构建可让您控制正在构建的程序包的配置。 如果所有或最重要的相关部分都是从源代码构建的,则可以限制主机变化的暴露程度。 例如,GNU C编译器(gcc)目前在内部使用许多第三方库(gmpmpfr等)。 如果经过验证的编译器为目标处理器生成代码连接的是主机中的动态链接库,则任何主机配置的更改都可能会影响您。 主机软件包管理系统所做的更改与管理的分发有关系,但这可能不会影响到您和您的工具。 从源代码构建工具并控制这些相关部件的特定版本意味着您不会让自己暴露于意外且通常难以解决的问题。 另一方面,您需要确保您的工具可以构建并使用较新版本的主机操作系统。考虑到像libc这样的基于标准的库的稳定性,以及对标准头文件位置的不断改进的支持,这项任务变得越来越容易。

RTEMS Source Builder旨在进行审查,并可用于项目的验证和验证过程。 如果您的项目正在开发的关键应用程序, 需要在目标中从源代码跟踪到可执行代码,您可以考虑这些工具以及如何跟踪它们。

如果您的IT部门维护所有的计算机,而您没有安装二进制包的适当权限,那么从源代码构建允许您创建自己的工具集,并将其安装在您的主目录下。避免以超级用户的身份安装任何额外的包总是有助于维护安全的计算环境。

1.2 历史

RTEMS Source Builder是一个独立的工具,基于Chris Johns编写的另一个名为SpecBuilder工具。 SpecBuilder是在2010年左右为RTEMS项目编写的工具,它为Chris提供了一种在不支持RPM的主机上构建工具的方法。 当时RTEMS工具维护者只支持spec文件,这些文件包含创建合适工具集所需的所有重要配置数据。 可用的SRPMspec文件本身很少使用,因为需要使用合适的rpm工具。当时,可用rpm版本被许多非RPM主机所打破并需要不定期的维护。 Chris决定使用的解决方案是使用spec文件并编写一个基于Python的工具,该工具解析spec文件格式,创建一个可以运行以构建包的shell脚本。 该方法证明是成功的,并且Chris能够在非RPM主机上跟踪RTEMS工具的RPM版本多年。

SpecBuilder工具没有构建与RTEMS项目无关的工具或包,因为没有合适的spec文件可用,因此需要另一个工具。 不从0开始,Chris决定采用spec文件格式的解析代码,并构建一个名为RTEMS Source Builder的新工具。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值