Main -> Software Overview -> Buildroot
Buildroot
This page is dedicated to provide information on how to tame buildroot.
Information on obtaining the current version of buildroot can be found at:
"Buildroot is a set of Makefiles and patches that makes it easy generate a cross-compilation toolchain and root filesystem for your target Linux system using the uClibc C library. Buildroot is useful mainly for people working with small or embedded systems. Embedded systems often use processors that are not the regular x86 processors everyone is used to using on their PC. It can be PowerPC processors, MIPS processors, ARM processors, etc. And to be extra safe, you do not need to be root to build or run buildroot." (http://buildroot.uclibc.org/about.html)
The current stable .config file for buildroot can be found (eventually) here. Rename the file from "working.config" to ".config" and place it in the buildroot directory. Make sure you have all of the dependencies installed and that you have applied all of the modifications. Run make in buildroot/ and get ready to do something else for a while.
Other useful scripts and files can be found in the trunk/buildroot_hacks folder in the main trunk of the repository.
Before You Start…
Dependencies
This is a list of known dependencies needed to appease Buildroot. This list is incomplete so if you find another please feel free to add it.
- <Start list here...>
Modifications (Fixes)
Do these things and you will waste much less time rebuilding everything. These are preemptive steps to avoid errors while building. Eventually there should be a script to do this automatically.
- Replace buildroot/package/x11r7/mesa3d/mesa3d.mk with the mesa3d.mk found at /trunk/buildroot_hacks/
- Add joystick_20051019-2.diff.gz from /trunk/buildroot_hacks/ into ./dl/
Current Build Issues
This is a list of known issues and errors with using buildroot for the OSWALD. Most of these problems can be avoided if you follow all of the modifications outlined above. If somebody is feeling ambitious, they should report these bugs to buildroot so we can remove them from the list.
Known Mesa Problems
Issue
- Building glcontextmodes.o in Mesa-7.0.3: "unrecognized command line option "-m32""
Solution
There is an erroneous make file for configuring the mesa package. The make file sets the MESA_TARGET variable to linux-dri-86. This is bad. It will cause buildroot to use the wrong make files and options during the build process.
- Copy mesa3d.mk from the repository (trunk/buildroot_hacks/) into buildroot/package/x11r7/mesa3d/
- To avoid complications: remove ./build_arm and ./project_build_arm
- Run make in buildroot
build_arm/Mesa then make realclean then restart make in buildroot
- Remove ./build_arm and ./project_build_arm from build root and start over
Known Freetype Problems
Issue
- While making, a whole ton of errors of something like: expected '=', ',', ';', 'asm' or 'attribute' before '_XftFTlibrary'
Solution
For some reason the "freetype" directory in buildroot/build_arm/staging_dir/usr/include/ is called "freetype2". You need to copy the "freetype2" folder and call it "freetype".
Known Pixman Problems
Issue
- While making, an error of something like: /miscstruct.h:54:20: error: pixman.h: No such file or directory
Solution
Browse to buildroot/build_arm/staging_dir/usr/include/Pixman-1/ and copy the contents of the directory (should just be two files) up a level (the included directory).
