manual/user guide/customization: rework section on storing configuration

This patch promotes the sections on Buildroot configuration and the
configuration of other components to top-level sections, to match the
overview in the introduction of the chapter. The introduction of the
original section is removed as it does not bring additional info anymore.

Some rewording is done as well.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Thomas De Schampheleire 2014-09-18 21:39:27 +02:00 committed by Thomas Petazzoni
parent e140eb70d4
commit 75de9ac6f2

View File

@ -1,50 +1,44 @@
// -*- mode:doc; -*- // -*- mode:doc; -*-
// vim: set syntax=asciidoc: // vim: set syntax=asciidoc:
[[customize-store-basics]]
=== Basics for storing the configuration
When you have a buildroot configuration that you are satisfied with and
you want to share it with others, put it under revision control or move
on to a different buildroot project, you need to store the configuration
so it can be rebuilt later. The configuration that needs to be stored
consists of the buildroot configuration, the configuration files for
packages that you use (kernel, busybox, uClibc, ...), and your rootfs
modifications.
[[customize-store-buildroot-config]] [[customize-store-buildroot-config]]
==== Buildroot configuration === Storing the Buildroot configuration
For storing the buildroot configuration itself, buildroot offers the The Buildroot configuration can be stored using the command
following command: +make savedefconfig+. +make savedefconfig+.
This strips the buildroot configuration down by removing configuration This strips the Buildroot configuration down by removing configuration
options that are at their default value. The result is stored in a file options that are at their default value. The result is stored in a file
called +defconfig+. If you want to save it in another place, change called +defconfig+. If you want to save it in another place, change the
the +BR2_DEFCONFIG+ option, or call make with +make savedefconfig +BR2_DEFCONFIG+ option in the Buildroot configuration itself, or call
BR2_DEFCONFIG=<path-to-defconfig>+. The usual place is make with +make savedefconfig BR2_DEFCONFIG=<path-to-defconfig>+.
+configs/<boardname>_defconfig+. The configuration can then be rebuilt by
The recommended place to store this defconfig is
+configs/<boardname>_defconfig+. If you follow this recommendation, the
configuration will be listed in +make help+ and can be set again by
running +make <boardname>_defconfig+. running +make <boardname>_defconfig+.
Alternatively, you can copy the file to any other place and rebuild with Alternatively, you can copy the file to any other place and rebuild with
+make defconfig BR2_DEFCONFIG=<path-to-defconfig-file>+. +make defconfig BR2_DEFCONFIG=<path-to-defconfig-file>+.
[[customize-store-package-config]] [[customize-store-package-config]]
==== Other package configuration === Storing the configuration of other components
The configuration files for busybox, the linux kernel, barebox and The configuration files for BusyBox, the Linux kernel, Barebox and
uClibc should be stored as well if changed. For each of these, a uClibc should be stored as well if changed. For each of these
buildroot configuration option exists to point to an input components, a Buildroot configuration option exists to point to an input
configuration file, e.g. +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. To configuration file, e.g. +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. To store
save their configuration, set those configuration options to a path their configuration, set these configuration options to a path where you
outside your output directory, want to save the configuration files, and then use the helper targets
e.g. +board/<manufacturer>/<boardname>/linux.config+. Then, copy the described below to actually store the configuration.
configuration files to that path.
As explained in xref:customize-dir-structure[], the recommended path to
store these configuration files is
+board/<company>/<boardname>/foo.config+.
Make sure that you create a configuration file 'before' changing Make sure that you create a configuration file 'before' changing
the +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ etc. options. Otherwise, the +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ etc. options. Otherwise,
buildroot will try to access this config file, which doesn't exist Buildroot will try to access this config file, which doesn't exist
yet, and will fail. You can create the configuration file by running yet, and will fail. You can create the configuration file by running
+make linux-menuconfig+ etc. +make linux-menuconfig+ etc.