嵌入式Linux Buildroot相关配置
Buildroot相关配置
- 参考网址 https://buildroot.org/downloads/manual/manual.html
- 交叉编译器路径应使用绝对路径,但可使用命令获取当前路径,例如: $(TOPDIR)/../tools/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf
文件目录描述
| 目录 | 描述 |
|---|---|
| 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的实用脚本和工具 |
| CHANGES | buildroot修改日志 |
| .config | make menuconfig后生成的最终配置文件 |
| Config.in | 所有Config.in的入口,也是Build options的提供者 |
| Config.in.legacy | legacy config options的提供者 |
| COPYING | buildroot版权信息 |
| Makefile | 顶层Makefile |
| README | buildroot简单说明 |
menuconfig菜单界面
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插件中注册工具链
本文链接:
/archives/buildroot
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
孙毅鹏个人博客!
喜欢就支持一下吧