buildroot-1 构建系统初探

按:Buildroot是一套自动化构建Linux系统的超级编译工具链,本节目标是初探buildroot构建系统。buildroot入门级的基础知识了解一番: 愿景、系统需求、版本下载和快速入门。

Buildroot构建指南系列文章

❉ buildroot的愿景

Buildroot是一套自动化构建Linux系统的超级编译工具链,特别适用于为嵌入式系统构建完整的Linux系统。为了满足这个宏观愿景,Buildroot能够为您的目标生成交叉编译工具链(linux-gcc-toolchain),根文件系统(rootfs),Linux内核映像(kernel)和引导加载程序(boot)。 嵌入式操作系统是五彩斑斓的异构的硬件世界(MIPS/ARM/PowerPC等),开源世界(linux/rootfs/buildroot)对他们做了高度抽象,抽象出有序统一的软件世界。叩开嵌入式系统的大门,从操作系统(linux)和构建系统(buildroot)开始。

❉ linux操作系统简介

嵌入式操作系统目前是Linux的天下,Linux系统具有很多优良的特性:
● 系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。
● 支持多用户,每个用户对自己的资源有特定的权限。
● 支持多任务,同时执行多个程序并且独立运行。
● 设备独立性,把所有外部设备统一当作成文件来看待。
● 提供了丰富的网络功能,内置强大的网络堆栈。
● 可靠的安全系统,Linux采取了许多安全技术措施。
● 良好的可移植性,Linux是一种可移植的操作系统。
● 支持多文件系统包括Ext2/3、FAT32、NTFS、OS/2等文件系统。

Linux系统有良好的软件分层和操作系统抽象,Linux系统的架构如下图所示。
linux操作系统的架构
图-X linux操作系统的架构

Linux系统的开发工作包括:
● BSP工作:移植引导程序(uboot)和Linux内核(kernel),开发Linux设备驱动程序。
● 系统集成工作:组装系统所需的所有用户空间组件,对其进行配置,开发升级和恢复机制等。
● 应用程序开发:编写公司特定的应用程序和库。

Linux系统的启动过程,如下图所示。
图-X linux操作系统的启动过程
图-X linux操作系统的启动过程

❉ buildroot的系统需求

Buildroot是一套自动化构建Linux系统的超级编译工具链。Buildroot依赖编译主机上的一些软件包,才能自行构建编译所需的大多数主机软件包。Buildroot依赖的软件包分为强制类软件包和可选类软件包。

强制类软件包主要是:which, sed, make-v3.8, binutils, build-essential, gcc-v4.8, g+±v4.8, bash, patch, gzip, bzip2, perl, tar, cpio, unzip, rsync, file, bc and wget, 强制类软件包主要是编译工具包和下载工具包。

可选类软件包主要是: python, ncurses5(menconfig interface), qt5(xconfig interface), glib2/gtk2/glade2(gconfig interface), git/mercurial/rsync/scp(版本管理和同步)和asciidoc/w3m/python/dblatex(版本工具)。

❉ buildroot的版本下载

Buildroot版本每2个月,2月,5月,8月和11月发布一次。 版本号的格式为YYYY.MM,例如2019.02、2019.08。
下载地址:http://buildroot.org/downloads/
版本管理:git clone git://git.buildroot.net/buildroot

❉ Buildroot快速入门

重要提示:您可以并且应该以普通用户身份来构建所有内容。无需root用户即可配置和使用Buildroot。通过以常规用户身份运行所有命令,可以保护系统免受在编译和安装过程中表现异常的软件包的侵害。

Buildroot是一个很棒的Linux编译配置工具,它具有一个类似Linux内核的menuconfig配置工具。使用Buildroot的第一步是创建配置。从buildroot目录运行以下任一命令进行配置,注意配置命令和系统软件包的依赖关系(见系统需求一节)

 $ make menuconfig    # 默认配置器
 $ make nconfig       # 旧的基于curses的配置器
 $ make xconfig       # 新的基于curses的配置器
 $ make gconfig       # 基于Qt的配置器

完成所有配置后,配置工具将生成一个.config文件,其中包含整个配置。该文件将由顶级Makefile读取。要开始Linux构建过程,只需运行:
$ make # 默认不支持多线程编译

buildroot的编译命令make将执行一下操作:
● 按照配置下载源文件;
● 配置,构建和安装交叉编译工具链;
● 配置,构建和安装选定的目标软件包;
● 构建内核映像(可选项);
● 构建引导加载程序映像(可选项);
● 以选定的格式创建根文件系统。

Buildroot的输出的文件具有以下目录结构:
● output/images 存储boot, kernel, rootfs等映像文件;
● output/build 存储目标编译的软件包;
● output/host 存储主机构建的工具和目标工具链的sysroot;
● output/staging 存储host中目标工具链sysroot的符号链接;
● output/target 存储目标系统的完整根文件系统

这些命令,make menuconfig | nconfig | gconfig | xconfig和make是基本的命令,它们使您能够轻松,快速地生成符合您需要的图像,并启用所有功能和应用程序。

❉ 参考文献

https://buildroot.org/downloads/manual/manual.html#
https://bootlin.com/doc/training/buildroot/buildroot-slides.pdf

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值