f6d74ae1f4cc8e32d036fef15d96a138f1c5bb3e
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / docs / manual / adding-board-support.txt
1 // -*- mode:doc; -*-
2 // vim: set syntax=asciidoc:
3
4 [[adding-board-support]]
5 == Adding support for a particular board
6
7 Buildroot contains basic configurations for several publicly available
8 hardware boards, so that users of such a board can easily build a system
9 that is known to work. You are welcome to add support for other boards
10 to Buildroot too.
11
12 To do so, you need to create a normal Buildroot configuration that
13 builds a basic system for the hardware: toolchain, kernel, bootloader,
14 filesystem and a simple BusyBox-only userspace. No specific package
15 should be selected: the configuration should be as minimal as
16 possible, and should only build a working basic BusyBox system for the
17 target platform. You can of course use more complicated configurations
18 for your internal projects, but the Buildroot project will only
19 integrate basic board configurations. This is because package
20 selections are highly application-specific.
21
22 Once you have a known working configuration, run +make
23 savedefconfig+. This will generate a minimal +defconfig+ file at the
24 root of the Buildroot source tree. Move this file into the +configs/+
25 directory, and rename it +<boardname>_defconfig+.
26
27 It is recommended to use as much as possible upstream versions of the
28 Linux kernel and bootloaders, and to use as much as possible default
29 kernel and bootloader configurations. If they are incorrect for your
30 board, or no default exists, we encourage you to send fixes to the
31 corresponding upstream projects.
32
33 However, in the mean time, you may want to store kernel or bootloader
34 configuration or patches specific to your target platform. To do so,
35 create a directory +board/<manufacturer>+ and a subdirectory
36 +board/<manufacturer>/<boardname>+. You can then store your patches
37 and configurations in these directories, and reference them from the main
38 Buildroot configuration. Refer to xref:customize[] for more details.