support/misc: Adding Vagrant file for provisioning
[buildroot-gz.git] / docs / manual / customize-configuration.txt
blobae6cebe6c446e4e68141e82f52d8f067cdab0051
1 // -*- mode:doc; -*-
2 // vim: set syntax=asciidoc:
4 [[customize-store-buildroot-config]]
5 === Storing the Buildroot configuration
7 The Buildroot configuration can be stored using the command
8  +make savedefconfig+.
10 This strips the Buildroot configuration down by removing configuration
11 options that are at their default value. The result is stored in a file
12 called +defconfig+. If you want to save it in another place, change the
13 +BR2_DEFCONFIG+ option in the Buildroot configuration itself, or call
14 make with +make savedefconfig BR2_DEFCONFIG=<path-to-defconfig>+.
16 The recommended place to store this defconfig is
17 +configs/<boardname>_defconfig+. If you follow this recommendation, the
18 configuration will be listed in +make help+ and can be set again by
19 running +make <boardname>_defconfig+.
21 Alternatively, you can copy the file to any other place and rebuild with
22 +make defconfig BR2_DEFCONFIG=<path-to-defconfig-file>+.
24 [[customize-store-package-config]]
25 === Storing the configuration of other components
27 The configuration files for BusyBox, the Linux kernel, Barebox, U-Boot
28 and uClibc should be stored as well if changed. For each of these
29 components, a Buildroot configuration option exists to point to an input
30 configuration file, e.g. +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. To store
31 their configuration, set these configuration options to a path where you
32 want to save the configuration files, and then use the helper targets
33 described below to actually store the configuration.
35 As explained in xref:customize-dir-structure[], the recommended path to
36 store these configuration files is
37 +board/<company>/<boardname>/foo.config+.
39 Make sure that you create a configuration file 'before' changing
40 the +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ etc. options. Otherwise,
41 Buildroot will try to access this config file, which doesn't exist
42 yet, and will fail. You can create the configuration file by running
43 +make linux-menuconfig+ etc.
45 Buildroot provides a few helper targets to make the saving of
46 configuration files easier.
48 * +make linux-update-defconfig+ saves the linux configuration to the
49   path specified by +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. It
50   simplifies the config file by removing default values. However,
51   this only works with kernels starting from 2.6.33. For earlier
52   kernels, use +make linux-update-config+.
53 * +make busybox-update-config+ saves the busybox configuration to the
54   path specified by +BR2_PACKAGE_BUSYBOX_CONFIG+.
55 * +make uclibc-update-config+ saves the uClibc configuration to the
56   path specified by +BR2_UCLIBC_CONFIG+.
57 * +make barebox-update-defconfig+ saves the barebox configuration to the
58   path specified by +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+.
59 * +make uboot-update-defconfig+ saves the U-Boot configuration to the
60   path specified by +BR2_TARGET_UBOOT_CUSTOM_CONFIG_FILE+.
61 * For at91bootstrap3, no helper exists so you have to copy the config
62   file manually to +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+.