diff options
Diffstat (limited to 'docs/manual/customize-configuration.txt')
-rw-r--r-- | docs/manual/customize-configuration.txt | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/docs/manual/customize-configuration.txt b/docs/manual/customize-configuration.txt new file mode 100644 index 0000000000..d118cadd56 --- /dev/null +++ b/docs/manual/customize-configuration.txt @@ -0,0 +1,68 @@ +// -*- 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+. + + |