Buildroot相关配置

文件目录描述

目录描述
arch存放CPU架构相关的配置文件及构建脚本
board存放某个具体单板紧密相关的文件,比如内核配置文件,SD卡制作脚本,rootfs覆盖文件等
boot存放各种bootloader相关的补丁(.patch),校验文件(.hash),构建脚本,配置选项等
configs存放各个单板的buildroot配置文件
docs存放pdf, html格式的buildroot详细介绍
fs存放pdf, html格式的buildroot详细介绍
linux存放linux的构建脚本和配置选项
output存放编译后的各种文件,包括所有软件的解压,编译后的现场,交叉编译工具链,生成的内核,根文件系统镜像等
package存放所有软件包的构建脚本,配置选项,以及软件下载解压编译的构建脚本
support存放一些为buildroot提供功能支持的脚本,配置文件
system存放一些为buildroot提供功能支持的脚本,配置文件
toolchain存放制作各种交叉编译工具链的构建脚本
utils存放一些buildroot的实用脚本和工具
CHANGESbuildroot修改日志
.configmake menuconfig后生成的最终配置文件
Config.in所有Config.in的入口,也是Build options的提供者
Config.in.legacylegacy config options的提供者
COPYINGbuildroot版权信息
Makefile顶层Makefile
READMEbuildroot简单说明

Target options(目标选项)

Target Architecture (ARM (little endian)) —>          //目标处理器的架构和大小端模式
Target Binary Format (ELF) —>                         //目标二进制格式
Target Architecture Variant (cortex-A7) —>            //目标处理器核心类型
Floating point strategy (NEON/VFPv4 ) —>              //浮点运算策略

Build options(编译选项)

Commands  --->                                                  //指定下载,解压命令参数选项
    (wget --passive-ftp -nd -t 3) Wget command              //用于常规FTP,HTTP下载
    (svn --non-interactive) Subversion (svn) command        //svn下载
    (bzr) Bazaar (bzr) command                              //版本控制工具bazaa
    (git) Git command                                       //git工具
    (cvs) CVS command                                       //cvs版本控制
    (cp) Local files retrieval command                      //本地文件拷贝命令
    (scp) Secure copy (scp) command                         //基于ssh的安全的远程文件拷贝命令
    (sftp) Secure file transfer (sftp) command              //sftp远程文件传输
    (hg) Mercurial (hg) command                             //版本控制工具hg
    (gzip -d -c) zcat command                               //zip包解压
    (bzcat) bzcat command                                   //bz2包解压缩
    (xzcat) xzcat command                                   //xz包解压缩
    (lzip -d -c) lzcat command                              //lz包解压
    ()  Tar options                                         //tar命令
($(CONFIG_DIR)/defconfig) Location to save buildroot config     //指定配置文件保存路径
($(TOPDIR)/dl) Download dir                                     //指定文件下载保存路径
($(BASE_DIR)/host) Host dir                                     //指定主机编译所需工具安装目录
Mirrors and Download locations  --->                            //镜像和下载路径
(0) Number of jobs to run simultaneously (0 for auto)           //指定编译时运行的cpu核心数,0表示自动
[ ] Enable compiler cache                                       //使能编译缓存
[ ] build packages with debugging symbols                       //启用带调试编译软件包
[ ] build packages with runtime debugging info                  //
[*] strip target binaries                                       //strip命令裁剪掉调试信息
()    executables that should not be stripped                   //strip跳过可执行文件
()    directories that should be skipped when stripping         //strip跳过的目录
gcc optimization level (optimize for size)  --->                //gcc优化等级
[ ] Enable google-breakpad support                              //启动崩溃日志收集
libraries (shared only)  --->                                   //库类型
($(CONFIG_DIR)/local.mk) location of a package override file    //包覆盖文件的路径
()  global patch directories                                    //全局补丁目录
Advanced  --->
*** Security Hardening Options ***
-*- Build code with PIC/PIE
Stack Smashing Protection (-fstack-protector-strong)  --->         //堆栈粉碎保护
RELRO Protection (Full)  --->
Buffer-overflow Detection (FORTIFY_SOURCE) (Conservative)  --->    //缓冲区溢出检测

Toolchain(工具链)

Toolchain type (External toolchain)  --->               //工具链类型(外部工具链)
*** Toolchain External Options ***
Toolchain (Custom toolchain)  --->                      //工具选择  用户自己的交叉编译器
Toolchain origin (Pre-installed toolchain)  --->        //工具链来源   预装的编译器
($(TOPDIR)/../tools/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf) Toolchain path  //自己安装的交叉编译器绝对路径!buildroot 要用到
($(ARCH)-linux-gnueabihf) Toolchain prefix              //交叉编译器前缀
External toolchain gcc version (4.9.x)                  //gcc编译器版本
External toolchain kernel headers series (4.0.x)  --->  //gcc编译器中内核版本,可在文件gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc/usr/include/linux/version.h中查看,LINUX_VERSION_CODE为十进制,转换到16进制表示版本号
External toolchain C library (glibc)  --->              //C编译器类型
[*] Copy gdb server to the Target                       //拷贝gdb服务到目标
*** Toolchain Generic Options ***
[ ] Copy gconv libraries                                //拷贝gconv库(gconv库用于在不同字符集之间进行转换)
()  Extra toolchain libraries to be copied to target    //拷贝额外的工具链到目标
[*] Enable MMU support                                  //使能MMU支持
()  Target Optimizations                                //目标优化(需设置前面的GCC优化等级)
()  Target linker options                               //目标链接器选项(构建目标时传递给链接器的额外选项)
[ ] Register toolchain within Eclipse Buildroot plug-in //在Eclipse Buildroot插件中注册工具链

                

文章作者: 孙毅鹏
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 孙毅鹏个人博客
嵌入式Linux
喜欢就支持一下吧