Buildroot

From liteSOM Wiki
Jump to: navigation, search

Buildroot

liteSOM support

liteSOM is fully supported by Buildroot. It means that any time you can clone latest Buildroot repository and build minimal liteSOM as presented below.

git clone git://git.buildroot.net/buildroot
cd buildroot
make grinn_liteboard_defconfig
make all 

Latest vs. stable release

Using the latest Buildroot snapshot is probably not the best solution for you <ref>it may contain some not detected bugs</ref>, therefore every quarter Buildroot is frozen and new stable release is created.

Latest stable release you can download from Buildroot download page. All stable releases you can download from Buildroot archive directory.

Template:Warning

Daily build

Once a day <ref>if any change on Buildroot master branch is detected</ref> we are building new image for liteboard.

You can download this image from our Jenkins. More about our Jenkins you can find on Jenkins page.

Buildroot build process in nutshell

Buildroot is using following flow to build firmware for liteSOM.

Software download

All software required by Buildroot during build process (both for host and liteSOM) will be downloaded by https://buildroot.org Buildroot automatically. Downloaded software is cached by Buildroot in dl/ directory; any further build will reuse cached software.

Host tools

Except few exceptions (see list) Buildroot will build all required host tools during the first build. All of them will be installed in output/host/ directory.

Software cross-compilation

Selected to build software will be build within output/build/ directory. In addition during this step:

Mentioned patches are adding support for liteSOM and liteboard to both packages.

Each compiled software is installed in following directories:

  • output/staging,
  • output/target.

Output files

All output files are stored within output/images/ directory. Inside this directory you will find sdcard.img file with complete image for SD card.

You can use following command to program your uSD card

dd if=sdcard.img of=/dev/<SD-CARD> bs=4M

Buildroot customization

Default liteboard configuration (see grinn_liteboard_defconfig file) is extremely lightweight.

To modify/extend your configuration you can use
make menuconfig
command. Current Buildroot configuration will be presented to you as menu tree.

Buildroot configuration menu

Here you can easily modify your project configuration.

Linux customization

To modify kernel configuration you can use
make linux-menuconfig
command.

Busybox customization

To modify busybox configuration you can use
make busybox-menuconfig
command.

U-Boot customization

To modify busybox configuration you can use
make uboot-menuconfig
command.