2012-11-11 04:14:42 +01:00
|
|
|
// -*- mode:doc -*- ;
|
|
|
|
|
|
|
|
[[board-support]]
|
2011-10-10 10:46:39 +02:00
|
|
|
Creating your own board support
|
2012-11-11 04:14:42 +01:00
|
|
|
-------------------------------
|
2011-10-10 10:46:39 +02:00
|
|
|
|
|
|
|
Creating your own board support in Buildroot allows users of a
|
|
|
|
particular hardware platform to easily build a system that is known to
|
|
|
|
work.
|
|
|
|
|
|
|
|
To do so, you need to create a normal Buildroot configuration that
|
|
|
|
builds a basic system for the hardware: toolchain, kernel, bootloader,
|
|
|
|
filesystem and a simple Busybox-only userspace. No specific package
|
|
|
|
should be selected: the configuration should be as minimal as
|
|
|
|
possible, and should only build a working basic Busybox system for the
|
|
|
|
target platform. You can of course use more complicated configurations
|
|
|
|
for your internal projects, but the Buildroot project will only
|
|
|
|
integrate basic board configurations. This is because package
|
|
|
|
selections are highly application-specific.
|
|
|
|
|
|
|
|
Once you have a known working configuration, run +make
|
|
|
|
savedefconfig+. This will generate a minimal +defconfig+ file at the
|
|
|
|
root of the Buildroot source tree. Move this file into the +configs/+
|
|
|
|
directory, and rename it +MYBOARD_defconfig+.
|
|
|
|
|
2012-11-16 05:54:19 +01:00
|
|
|
It is recommended to use upstream versions of the Linux kernel and
|
|
|
|
bootloaders where possible, and also to use default kernel and bootloader
|
|
|
|
configurations if possible. If the defaults are incorrect for
|
|
|
|
your platform, we encourage you to send fixes to the corresponding upstream
|
2011-10-10 10:46:39 +02:00
|
|
|
projects.
|
|
|
|
|
|
|
|
However, in the mean time, you may want to store kernel or bootloader
|
|
|
|
configuration or patches specific to your target platform. To do so,
|
|
|
|
create a directory +board/MANUFACTURER+ and a subdirectory
|
|
|
|
+board/MANUFACTURER/BOARDNAME+ (after replacing, of course,
|
|
|
|
MANUFACTURER and BOARDNAME with the appropriate values, in lower case
|
|
|
|
letters). You can then store your patches and configurations in these
|
|
|
|
directories, and reference them from the main Buildroot configuration.
|