Buildroot

来自百问网嵌入式Linux wiki
Wiki讨论 | 贡献2019年1月9日 (三) 16:05的版本 →‎目录结构

什么是buildroot

Buildroot是Linux平台上一个构建嵌入式Linux系统的框架。整个Buildroot是由Makefile脚本和Kconfig配置文件构成的。你可以和编译Linux内核一样,通过buildroot配置,menuconfig修改,编译出一个完整的可以直接烧写到机器上运行的Linux系统软件(包含boot、kernel、rootfs以及rootfs中的各种库和应用程序)。

buildroot功能详解

 buildroot版本为2018.02LTS版
 官网使用手册 https://buildroot.org/downloads/manual/manual.html
  • TargetOptions
    • 目标单板架构配置
  • BuildOptions
    • 主要是一些编译时用到的选项,比如dl的路径,下载代码包使用的路径,同时运行多个编译的上限,是否使能编译器缓冲区等等,这里按照默认就行了.
  • Toolchain
    • 此页面主要介绍如何使用buildroot配置内部交叉编译工具链,以及外部交叉编译工具链,还有如何添加自己的交叉编译工具链!
  • SystemConfiguration
    • 此页主要涉及配置系统主机名,登陆欢迎信息root密码,以及构建系统镜像版本,根文件系统覆盖!
  • Kernel
    • 此页面主要介绍在线下载内核源码并自动编译集成到根文件系统的方法!
  • TargetPackages
    • 此页主要介绍目标开发板上使用的根文件系统所需要的软件包的添加方法,以及配置方法!
  • FilesystemImages
    • 此页介绍如何使用buildroot自动根据系统分区生成相应的系统镜像!
  • Bootloaders
    • 此页主要介绍在线下载u-boot源码,编译并生成相应的镜像文件到指定位置!
  • HostUtilities
  • LegacyConfigOptions

目录结构

  • buildroot/dl:存放下载的源码包及应用软件的压缩包
  • buildroot/fs:放各种文件系统的源代码
  • buildroot/fs/skeleton:放生成文件系统镜像的地方,及板子里面的系统
  • buildroot/linux:存放着Linux kernel的自动构建脚本。
  • buildroot/configs:放置开发板的一些配置参数
  • buildroot/dl:目录存放从官网上下载的开源软件包,第一次下载后,下次就不会再去从官网下载了,而是从dl/目录下拿开源包,以节约时间。本身下载通常都是很慢的,你可以手动找到相关包下载后放到这里就OK了,make时会自动检测这个目录.
  • buildroot/docs:存放相关的参考文档。
  • buildroot/arch:目录存放CPU架构相关的配置脚本,如arm/mips/x86 ,这些CPU相关的配置,在制作工具链,编译boot和内核时很关键。
  • buildroot/board:存放了一些默认开发板的配置补丁之类的
  • buildroot/boot:
  • buildroot/build:
  • buildroot/support:
  • buildroot/system:这里就是根目录的主要骨架了和相关的启动初始化配置,当制作根目录时就是将此处的文件cp到output里去.然后再安装toolchain的动态库和你勾选的package的可执行文件之类的.
  • buildroot/toolchain: