Build Tree: $ (O)
I output/
I Global Output Directory
I Can be customized-out-of-tree build by passing o=<dir>
I Variable:o (as passed on the command line)
I Variable:base_dir (as an absolute path)
Build Tree: $ (O)/build
I output/
I build/
I buildroot-config/
I BUSYBOX-1.22.1/
I host-pkgconf-0.8.9/
I kmod-1.18/
I Build-time.log
I Where All source tarballs is extracted
I Where The build of each package takes place
I In addition to the package sources and Object Les, stamp les
is created by BuildRoot
I Variable:build_dir
Build Tree: $ (O)/host
I output/
I host/
I Usr/lib
I Usr/bin
I Usr/sbin
I Usr/<tuple>/sysroot/bin
I Usr/<tuple>/sysroot/lib
I Usr/<tuple>/sysroot/usr/lib
I Usr/<tuple>/sysroot/usr/bin
I Contains Both the tools built for the host (Cross-compiler, etc.)
And the sysroot of the Toolchain
I Variable:host_dir
I Host Tools is directly in HOST/USR
I the sysroot is in HOST/<TUPLE>/SYSROOT/USR
I <tuple> am an identier of the architecture, vendor, operating
System, C Library and ABI. e.g:
ARM-UNKNOWN-LINUX-GNUEABIHF.
I Variable for the Sysroot:staging_dir
Build Tree: $ (O)/staging
I output/
I staging/
I Just a symbolic link to the sysroot, i.e.
host/<tuple>/sysroot/.
I Available for convenience
Build Tree: $ (O)/target
I output/
I target/
I bin/
I etc/
I lib/
I usr/bin/
I usr/lib/
I usr/share/
I usr/sbin/
I This_is_not_your_root_filesystem
I ...
I the target root Lesystem
I usual Linux hierarchy
I not completely ready for the target:permissions, device Les,
etc.
I BuildRoot does not run as Root:all les is owned by the user
Running BuildRoot, not setuid, etc.
I used to generate the NAL root Lesystem images in images/
I Variable:target_dir
Build Tree: $ (O)/images
I output/
I images/
I Zimage
I ARMADA-370-MIRABOX.DTB
I Rootfs.tar
I Rootfs.ubi
I Contains the nal images:kernel image, bootloader image,
Root Lesystem image (s)
I Variable:binaries_dir
Build Tree: $ (O)/graphs
I output/
I graphs/
I visualization of BuildRoot operation:dependencies between
Packages, time to build the dierent packages
I make Graph-depends
I make Graph-build
I Variable:graphs_dir
I See the sections analyzing the build later in this training.
Build Tree: $ (O)/legal-info
I output/
I legal-info/
I Manifest.csv
I Host-manifest.csv
I Licenses.txt
I licenses/
I sources/
I ...
I Legal Information:license of all packages, and their source
Code, plus a licensing manifest
I Useful for license compliance
I make Legal-info
I Variable:legal_info_dir
Build-root variable definition