Fun With Build Root

From J. Arrizza Wiki

Jump to: navigation, search

See http://buildroot.net/downloads/buildroot.html

Start Point

Start from clean ubuntu 10.04 installation

  * assume 10.04 LTS installed
  * with updates from 11/17/2010 or later

Install It

  * install dependencies

[

 sudo apt-get -y install g++
 sudo apt-get -y install bison
 sudo apt-get -y install flex
 sudo apt-get -y install gettext
 sudo apt-get -y install texinfo
 sudo apt-get -y install git-core
 sudo apt-get -y install subversion
 sudo apt-get -y install lib64ncurses5-dev  (for 64-bit machines)

]

  * install build-root

[

  git clone git://git.buildroot.net/buildroot

]

  * cd buildroot

Configure It

  * make menuconfig
  * select Target Arch: armeb
  * select Arch variant: generic_arm
  * Target ABI : EABI
  * Target Options:
     * System Hostname; johna
     * System Banner: Welcome to johna
     * Generic serial port config: select it and type a "*"
        * Serial port to run getty on: ttyS0
        * Baudrate : 115200
  * Build Options
     * Download dir: $(TOPDIR)/dl
     * Toolchain location: $(BASE_DIR)/staging
     * Mirrors and download locations: 
        * http://sources.buildroot.net
        * easynews
        * http://www.kernel.org/pub/
        * http://ftp.gnu.org/pub/gnu
        * http://ftp.debian.org
     * Number of jobs: 6 (2 * (# of processors - 1)) 
     * Show packages that are deprecated or obsolete: put a star
     * build packages with debugging symbols: no star
     * strip: strip
     * gcc optimization level: optimize for size
     * prefer static libraries: no star
     * doc on the target: no star
     * dev files in target: no star
  * Toolchain
     * toolchain type: buildroot toolchain
     * kernel header options: 2.6.36.x kernel headers
     * uClibc config file: toolchain/uClibc/uClibc-0.9.31.config
     * uClibc version: 0.9.31.x
     * Thread Library debugging: no star
     * Compile and install uClibc tests: no star
     * Binutils version: binutils 2.20.1
     * Additional binutils options: blank
     * gcc compiler version : gcc 4.3.x
     * addional gcc optons: none
     * objective c cross-compiler support: no star
     * build install fortran compiler and runtime: no star
     * build install shared libgcc : add star
     * fortran cross-compiler support: no star
     * build install objective-C compiler and runtime: no star
     * enable ccache supprt: no star
     * build gdb server for target: no star
     * build gdb for the host: no star
     * enable large file support : no star
     * enable IPv6: no star
     * enable RPC : no star
     * enable toolchain locale/i18n support: add star
     * enable purge unwanted locales: add star
     * locales to keep: (C en_US de fr)
     * enable WCHAR support: add star
     * use software floating point: add star
     * enable stack protection support: no star
     * thread library imp: linuxthreads (stable/old)
     * enable program invocation name: no star
     * build/install c++ compiler & libstdc + +: add star
     * target optimizations: -pipe
     * run mklibs on build root fs: no star
     * install sstrip for the target system: no star
     * include target utils in cross toolchain: add star
  * Package selection: leave defaults
  * Target filesystem: leave defaults
  * Bootloaders:
     * Barebox: no star
     * U-boot: add star
        * board name: johna
        * patch dir : no star
        * mkimage   : add star
        * fq_printenv tool : no star
        * network settings: 
           * server: 10.20.0.115
           * ip addr: 10.20.0.130
           * gateway: 10.20.0.1
           * netmask: 255.255.255.0
           * MAC  : 04:25:FE:ED:00:18
  * Kernel
     * Linux Kernel : add star
     * Kernel Version: 2.6.32
     * kernel patch: blank
     * kernel config: using defconfig
     * defconfig name: johna
     * kernel binary format: uImage
  * Save the configuration
  * create the defconfig file:

[

  make defconfig

]

Build It

  * download all the source needed (takes <10 minutes)

[

 make source      

]

  * build it (takes ?? minutes)

[

 make

]

Personal tools