Buildroot

来自百问网嵌入式Linux wiki
Wiki讨论 | 贡献2019年1月8日 (二) 15:13的版本 →‎配置工具链

buildroot版本为2018.02LTS版 官网使用手册 #https://buildroot.org/downloads/manual/manual.html

配置单板架构

Target options --->

 Target Architecture (ARM (little endian))  --->
 Target Binary Format (ELF)  --->
 Target Architecture Variant (cortex-A8)  --->
 Target ABI (EABIhf)  --->
 Floating point strategy (VFPv3-D16)  --->
 ARM instruction set (ARM)  --->

构建配置

Build options --->

 Commands  --->
 (/ti/mini437x_buildroot/configs/mini4378_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)
 [ ] Enable compiler cache
 [ ] build packages with debugging symbols
 [*] strip target binaries
 ()    executables that should not be stripped
 ()    directories that should be skipped when stripping
     gcc optimization level (optimize for size)  --->
 [ ] Enable google-breakpad support
     libraries (shared only)  --->
 ($(CONFIG_DIR)/local.mk) location of a package override file
 (board/mini335x/patches) global patch directories
 Advanced  --->
 *** Security Hardening Options ***
 Stack Smashing Protection (None)  --->
 RELRO Protection (None)  --->
 Buffer-overflow Detection (FORTIFY_SOURCE) (None)  --->

配置工具链

Toolchain type (External toolchain) --->

 ( ) Buildroot toolchain
 (X) External toolchain

在线下载的

  Toolchain type (External toolchain)  --->                                                                                          		 
      *** Toolchain External Options ***                                                                                                  
      Toolchain (Custom toolchain)  --->                                                                                                  
      Toolchain origin (Toolchain to be downloaded and installed)  --->                                                                   
  (https://publishing-ap-linaro-org.s3.amazonaws.com/...)
  ($(ARCH)-linux-gnueabihf) Toolchain prefix                                                                                              
      External toolchain gcc version (5.x)  --->                                                                                          
      External toolchain kernel headers series (4.0.x)  --->                                                                              
      External toolchain C library (glibc/eglibc)  --->                                                                                   
  [*] Toolchain has SSP support?                                                                                                          
  [*] Toolchain has RPC support?                                                                                                          
  [*] Toolchain has C++ support?                                                                                                          
  ()  Extra toolchain libraries to be copied to target                                                                                    
  [ ] Copy gdb server to the Target                                                                                                       
      *** Host GDB Options ***                                                                                                            
  [ ] Build cross gdb for the host                                                                                                        
      *** Toolchain Generic Options ***                                                                                                   
  [ ] Copy gconv libraries                                                                                                                
  [*] Enable MMU support                                                                                                                  
  ()  Target Optimizations                                                                                                                
  ()  Target linker options                                                                                                               
  [ ] Register toolchain within Eclipse Buildroot plug-in

系统配置

System configuration --->

配置登陆信息

  Root FS skeleton (default target skeleton)  --->                                        
  (mini437x) System hostname                                                             
  (Welcome to Mini437x) System banner                                                    
      Passwords encoding (md5)  --->                                                     
      Init system (systemV)  --->                                                        
      /dev management (Dynamic using devtmpfs + mdev)  --->                              
  (system/device_table.txt) Path to the permission tables                                
  [ ] support extended attributes in device tables                                       
  [ ] Use symlinks to /usr for /bin, /sbin and /lib                                      
  [*] Enable root login with password                                                    
  ()    Root password                                                                    
      /bin/sh (bash)  --->                                                               
  [*] Run a getty (login prompt) after boot  --->                                        
  [*] remount root filesystem read-write during boot                                     
  (eth0) Network interface to configure through DHCP                                     
  [*] Purge unwanted locales                                                             
  (C en_US) Locales to keep                                                              
  ()  Generate locale data                                                               
  [ ] Enable Native Language Support (NLS)                                               
  -*- Install timezone info                                                              
  (default) timezone list                                                                
  (Etc/UTC) default local time                                                           
  ()  Path to the users tables                                                           
  (board/mini437x/rootfs-overlay) Root filesystem overlay directories                    
  (board/mini437x/post-build.sh) Custom scripts to run before creating filesystem images 
  ()  Custom scripts to run inside the fakeroot environment                              
  (board/mini437x/post-image.sh) Custom scripts to run after creating filesystem images  
  ()    Extra arguments passed to custom scripts

配置登陆串口

其它配置

配置linuxkernel

Kernel --->

 │ │  	  [*] Linux Kernel                                                                    │ │
 │ │             *** Linux kernel in thumb mode may be broken with binutils >= 2.29 ***            │ │
 │ │             Kernel version (Latest version (4.15))  --->                                      │ │
 │ │       ()    Custom kernel patches (NEW)                                                       │ │
 │ │             Kernel configuration (Using an in-tree defconfig file)  --->                      │ │
 │ │       ()    Defconfig name (NEW)                                                              │ │
 │ │       ()    Additional configuration fragment files (NEW)                                     │ │
 │ │             Kernel binary format (zImage)  --->                                               │ │
 │ │             Kernel compression format (gzip compression)  --->                                │ │
 │ │       [ ]   Build a Device Tree Blob (DTB) (NEW)                                              │ │
 │ │       [ ]   Install kernel image to /boot in target (NEW)                                     │ │
 │ │       [ ]   Needs host OpenSSL (NEW)                                                          │ │
 │ │       [ ]   Needs host libelf (NEW)                                                           │ │
 │ │             Linux Kernel Extensions  --->                                                     │ │
 │ │             Linux Kernel Tools  --->                                                          │ │

包的管理

Target packages --->

 -*- BusyBox
 (package/busybox/busybox.config) BusyBox configuration file to use?
 ()    Additional BusyBox configuration fragment files
 -*-   Show packages that are also provided by busybox
 [ ]   Enable SELinux support
 [ ]   Individual binaries
 [ ]   Install the watchdog daemon startup script
 Audio and video applications  --->
 Compressors and decompressors  --->
 Debugging, profiling and benchmark  --->
 Development tools  --->
 Filesystem and flash utilities  --->
 Fonts, cursors, icons, sounds and themes  --->
 Games  --->
 Graphic libraries and applications (graphic/text)  --->
 Hardware handling  --->
 Interpreter languages and scripting  --->
 Libraries  --->
 Mail  --->
 Miscellaneous  --->
 Networking applications  --->
 Package managers  --->
 Real-Time  --->
 Security  --->
 Shell and utilities  --->
 System tools  --->
 Text editors and viewers  --->

手动添加自己的包

添加蓝牙工具

添加wifi工具

添加http+php工具

添加Qt

添加can-until

添加ssh工具

添加mkfs格式化工具

添加自己的bin文件

编译bootloader