69 lines
3.0 KiB
Plaintext
69 lines
3.0 KiB
Plaintext
|
// -*- mode:doc; -*-
|
||
|
// 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]]
|
||
|
==== Buildroot configuration
|
||
|
|
||
|
For storing the buildroot configuration itself, buildroot offers the
|
||
|
following command: +make savedefconfig+.
|
||
|
|
||
|
This strips the buildroot configuration down by removing configuration
|
||
|
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
|
||
|
the +BR2_DEFCONFIG+ option, or call make with +make savedefconfig
|
||
|
BR2_DEFCONFIG=<path-to-defconfig>+. The usual place is
|
||
|
+configs/<boardname>_defconfig+. The configuration can then be rebuilt by
|
||
|
running +make <boardname>_defconfig+.
|
||
|
|
||
|
Alternatively, you can copy the file to any other place and rebuild with
|
||
|
+make defconfig BR2_DEFCONFIG=<path-to-defconfig-file>+.
|
||
|
|
||
|
|
||
|
[[customize-store-package-config]]
|
||
|
==== Other package configuration
|
||
|
|
||
|
The configuration files for busybox, the linux kernel, barebox and
|
||
|
uClibc should be stored as well if changed. For each of these, a
|
||
|
buildroot configuration option exists to point to an input
|
||
|
configuration file, e.g. +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. To
|
||
|
save their configuration, set those configuration options to a path
|
||
|
outside your output directory,
|
||
|
e.g. +board/<manufacturer>/<boardname>/linux.config+. Then, copy the
|
||
|
configuration files to that path.
|
||
|
|
||
|
Make sure that you create a configuration file 'before' changing
|
||
|
the +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ etc. options. Otherwise,
|
||
|
buildroot will try to access this config file, which doesn't exist
|
||
|
yet, and will fail. You can create the configuration file by running
|
||
|
+make linux-menuconfig+ etc.
|
||
|
|
||
|
Buildroot provides a few helper targets to make the saving of
|
||
|
configuration files easier.
|
||
|
|
||
|
* +make linux-update-defconfig+ saves the linux configuration to the
|
||
|
path specified by +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. It
|
||
|
simplifies the config file by removing default values. However,
|
||
|
this only works with kernels starting from 2.6.33. For earlier
|
||
|
kernels, use +make linux-update-config+.
|
||
|
* +make busybox-update-config+ saves the busybox configuration to the
|
||
|
path specified by +BR2_PACKAGE_BUSYBOX_CONFIG+.
|
||
|
* +make uclibc-update-config+ saves the uClibc configuration to the
|
||
|
path specified by +BR2_UCLIBC_CONFIG+.
|
||
|
* +make barebox-update-defconfig+ saves the barebox configuration to the
|
||
|
path specified by +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+.
|
||
|
* For at91bootstrap3, no helper exists so you have to copy the config
|
||
|
file manually to +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+.
|
||
|
|
||
|
|