“Buildroot”的版本间的差异

来自百问网嵌入式Linux wiki
第12行: 第12行:
 
[[Buildroot_HostUtilities      | HostUtilities      ]]
 
[[Buildroot_HostUtilities      | HostUtilities      ]]
 
[[Buildroot_LegacyConfigOptions | LegacyConfigOptions ]]
 
[[Buildroot_LegacyConfigOptions | LegacyConfigOptions ]]
=配置单板架构=
 
Target options  --->
 
==cortex-A8配置==
 
  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)  --->
 
==cortex-A9配置==
 
      Target Architecture (ARM (little endian))  --->
 
      Target Binary Format (ELF)  --->
 
      Target Architecture Variant (cortex-A9)  --->
 
  [*] Enable NEON SIMD extension support
 
  [*] Enable VFP extension support
 
      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/mini437x/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
 
==自动制作工具链==
 
参考文章  https://blog.csdn.net/zhou_chenz/article/details/52346134
 
 
==在线下载的==
 
  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
 
==配置登陆信息==
 
  (mini437x) System hostname                                                           
 
  (Welcome to Mini437x) System banner                                                   
 
      Passwords encoding (md5)  ---> 
 
  [*] Enable root login with password                                                   
 
  ()    Root password 
 
==配置登陆串口==
 
 
[*] Run a getty (login prompt) after boot  --->
 
 
  --- Run a getty (login prompt) after boot
 
  (ttyS0) TTY port
 
        Baudrate (keep kernel default)  --->
 
  (vt100) TERM environment variable
 
  ()    other options to pass to getty
 
 
==其它配置==
 
  (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
 
 
=配置linuxkernel=
 
Kernel  --->
 
 
  [*] Linux Kernel
 
        *** Linux kernel in thumb mode may be broken with binutils >= 2.29 ***
 
        Kernel version (Custom Git repository)  --->
 
  (https://git.coding.net/codebug8/mini437x_kernel.git) URL of custom repository
 
  (master) Custom repository version
 
  ()    Custom kernel patches
 
        Kernel configuration (Using an in-tree defconfig file)  --->
 
  (mini437x) Defconfig name
 
  ()    Additional configuration fragment files
 
        Kernel binary format (zImage)  --->
 
        Kernel compression format (gzip compression)  --->
 
  [*]  Build a Device Tree Blob (DTB)
 
  (am437x-sk-evm) In-tree Device Tree Source file names
 
  ()      Out-of-tree Device Tree Source file paths
 
  [*]  Install kernel image to /boot in target
 
  [ ]  Needs host OpenSSL
 
  [ ]  Needs host libelf
 
        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  --->
 
==手动添加自己的包==
 
参考链接
 
* https://blog.csdn.net/zhou_chenz/article/details/52335634
 
 
==添加蓝牙工具==
 
 
  [*] bluez-tools
 
  [ ] bluez-utils
 
  [*] bluez-utils 5.x
 
  [*]  build OBEX support
 
  [*]  build CLI client
 
  [*]    install deprecated tool
 
  [*]  build experimental obexd plugin
 
  [*]  build health plugin
 
  [*]  build midi profile
 
  [*]  build nfc plugin
 
  [*]  build sap plugin
 
 
  [*] openobex
 
 
==添加wifi工具==
 
> Target packages > Networking applications
 
 
  [*] wpa_supplicant
 
  [*]  Enable nl80211 support
 
  [*]  Enable AP mode
 
  [*]    Enable Wi-Fi Display
 
  [*]    Enable mesh networking
 
  [*]  Enable autoscan
 
  [*]  Enable EAP
 
  [*]  Enable HS20
 
  [*]  Enable syslog support
 
  [*]  Enable WPS
 
  [*]  Install wpa_cli binary
 
  [*]  Install wpa_client shared library
 
  [*]  Install wpa_passphrase binary
 
  [*]  Enable support for old DBus control interface
 
  [*]  Enable support for new DBus control interface
 
  [*]    Introspection support
 
 
==添加http+php工具==
 
===添加httpd工具包===
 
[*] lighttpd
 
[*]  openssl support
 
[*]  zlib support
 
[*]  bzip2 support
 
[*]  pcre support
 
[*]  webdav support
 
===添加php工具包===
 
> Target packages > Interpreter languages and scripting
 
<source lang="makefile">
 
  [*] php
 
  [*]  CGI interface
 
  [ ]  CLI interface
 
  [*]  FPM interface
 
    Extensions --->
 
[*] Readline
 
    [*] Session
 
    *** Compression extensions ***
 
    [*] zlib
 
    *** Cryptography extensions ***
 
    [ ] hash
 
    [ ] mcrypt
 
    [ ] openssl
 
    *** Database extensions ***
 
    [ ] DBA
 
    [ ] Mysqli
 
    [ ] SQLite3
 
    [ ] PDO
 
    *** Human language and character encoding support ***
 
    *** Gettext support needs NLS enabled ***
 
    [ ] iconv
 
    [ ] intl
 
    [ ] mbstring
 
    *** Image processing ***
 
    [ ] EXIF
 
    [ ] GD
 
    *** Mathematical extensions ***
 
    [ ] BC math
 
    [ ] GMP
 
    *** Other basic extensions ***
 
    [*] JSON
 
    [ ] Tokenizer
 
    *** Other services ***
 
    [ ] cURL
 
    [ ] FTP
 
    [ ] SNMP
 
    [*] sockets
 
    *** Process Control ***
 
    [ ] PCNTL
 
    [*] Posix
 
  External php extensions  --->
 
</source>
 
 
===配置http+php===
 
 
==添加Qt==
 
 
包的介绍 [[QT| QT相关介绍]]
 
 
> Target packages > Graphic libraries and applications (graphic/text) > Qt5
 
 
  Qt5 version (Latest (5.9))  --->
 
        *** qt53d module needs an OpenGL-capable backend ***
 
  -*-  qt5base
 
  ()      Custom configuration options
 
  ()      Config file
 
  [ ]    Compile and install examples (with code)
 
  -*-    concurrent module
 
  [ ]    MySQL Plugin
 
  [ ]    PostgreSQL Plugin
 
          SQLite 3 support (No sqlite support)  --->
 
  -*-    gui module
 
  -*-      widgets module
 
            *** OpenGL support needs an OpenGL-capable backend ***
 
  [*]      linuxfb support
 
  [*]      directfb support
 
            *** X.org XCB backend available if X.org is enabled ***
 
            *** eglfs backend available if OpenGL and EGL are enabled ***
 
  ()        Default graphical platform
 
  [*]      fontconfig support
 
  [*]      harfbuzz support
 
  [*]      GIF support
 
  [*]      JPEG support
 
  [*]      PNG support
 
  -*-    DBus module
 
  -*-    Enable ICU support
 
  [*]    Enable Tslib support
 
        *** qt5canvas3d needs an OpenGL-capable backend ***
 
  [*]  qt5charts
 
  [*]  qt5connectivity
 
  [*]  qt5declarative
 
  [*]    quick module
 
  [*]  qt5enginio
 
        *** qt5graphicaleffects needs an OpenGL-capable backend ***
 
  [*]  qt5imageformats
 
  [*]  qt5location
 
  [*]  qt5multimedia
 
  [ ]  qt5quickcontrols
 
  [ ]  qt5quickcontrols2
 
  [ ]  qt5script
 
  [ ]  qt5scxml
 
  [ ]  qt5sensors
 
  [ ]  qt5serialbus
 
  [ ]  qt5serialport
 
  [ ]  qt5svg
 
  [ ]  qt5tools
 
  [ ]  qt5virtualkeyboard
 
        *** qt5wayland needs an OpenGL-capable backend ***
 
  [*]  qt5webchannel
 
  [*]  qt5webkit
 
  [*]  qt5webkit-examples
 
        *** qt5webengine needs udev /dev management and a glibc toolchain w/ gcc >= 4.8, host gcc >= 4.8, threads, wchar ***
 
        *** qt5webengine needs an OpenGL and EGL-capable backend ***
 
  -*-  qt5websockets
 
  -*-  qt5xmlpatterns
 
 
==添加can-until==
 
==添加ssh工具==
 
===选中包===
 
> Target packages > Networking applications
 
[*] openssh
 
 
===修改配置文件===
 
 
==添加mkfs格式化工具==
 
==添加自己的bin文件==
 
 
=编译bootloader=
 
Bootloaders  --->
 
 
  [ ] afboot-stm32
 
  [ ] Barebox
 
  [ ] mxs-bootlets
 
  [ ] s500-bootloader
 
  [ ] ts4800-mbrboot
 
  [*] U-Boot
 
  [ ]  CRC image for Altera SoC FPGA (mkpimage)
 
  [ ]  Environment image  ----
 
  [ ]  Generate a U-Boot boot script
 
  ()    Device Tree Source file paths
 
  [ ] X-loader
 
==u-boot编译==
 
  [*] U-Boot
 
        Build system (Kconfig)  --->
 
        U-Boot Version (Custom Git repository)  --->
 
  (https://git.coding.net/codebug8/mini437x_uboot.git) URL of custom repository
 
  (master) Custom repository version
 
  ()    Custom U-Boot patches
 
        U-Boot configuration (Using an in-tree board defconfig file)  --->
 
  (mini437x) Board defconfig
 
  ()    Additional configuration fragment files
 
  [*]  U-Boot needs dtc
 
  [ ]  U-Boot needs pylibfdt
 
  [ ]  U-Boot needs OpenSSL
 
        U-Boot binary format  --->
 
  [ ]  produce a .ift signed image (OMAP)
 
  [*]  Install U-Boot SPL binary image
 
  (MLO)  U-Boot SPL/TPL binary image name(s)
 
 
=系统镜像的生成=
 
  [ ] axfs root filesystem
 
  [ ] cloop root filesystem for the target device
 
  [*] cpio the root filesystem (for use as an initial RAM filesystem)
 
        Compression method (gzip)  --->
 
  [*]  Create U-Boot image of the root filesystem
 
  [ ] cramfs root filesystem
 
  [*] ext2/3/4 root filesystem
 
        ext2/3/4 variant (ext4)  --->
 
  ()    filesystem label
 
  (300M) exact size
 
  (0)  exact number of inodes (leave at 0 for auto calculation)
 
  (5)  reserved blocks percentage
 
  (-O ^64bit) additional mke2fs options
 
        Compression method (no compression)  --->
 
  [ ] initial RAM filesystem linked into linux kernel
 
  [ ] jffs2 root filesystem
 
  [ ] romfs root filesystem
 
  [ ] squashfs root filesystem
 
  [*] tar the root filesystem
 
        Compression method (gzip)  --->
 
  ()    other random options to pass to tar
 
  [ ] ubi image containing an ubifs root filesystem
 
  [ ] ubifs root filesystem
 
  [ ] yaffs2 root filesystem
 
  
 
=参考=
 
=参考=

2019年1月9日 (三) 09:55的版本