Loading docs/manual/configure.txt +4 −56 Original line number Diff line number Diff line Loading @@ -47,8 +47,7 @@ target system uses ARM, the regular compilation toolchain on your host runs on x86 and generates code for x86, while the cross-compilation toolchain runs on x86 and generates code for ARM. Buildroot provides different solutions to build, or use existing cross-compilation toolchains: Buildroot provides two solutions for the cross-compilation toolchain: * The *internal toolchain backend*, called +Buildroot toolchain+ in the configuration interface. Loading @@ -56,10 +55,7 @@ cross-compilation toolchains: * The *external toolchain backend*, called +External toolchain+ in the configuration interface. * The *Crosstool-NG toolchain backend*, called +Crosstool-NG toolchain+ in the configuration interface. The choice between these three solutions is done using the +Toolchain The choice between these two solutions is done using the +Toolchain Type+ option in the +Toolchain+ menu. Once one solution has been chosen, a number of configuration options appear, they are detailed in the following sections. Loading @@ -76,8 +72,8 @@ This backend is the historical backend of Buildroot, and has been limited for a long time to the usage of the http://www.uclibc.org[uClibc C library]. Support for the _eglibc_ C library has been added in 2013 and is at this point considered experimental. See the _External toolchain backend_ and _Crosstool-NG toolchain backend_ for other solutions to use _glibc_ or _eglibc_. experimental. See the _External toolchain backend_ for another solution to use _glibc_ or _eglibc_. Once you have selected this backend, a number of options appear. The most important ones allow to: Loading Loading @@ -242,54 +238,6 @@ Drawbacks of this backend: fix from the toolchain vendor, unless you build your external toolchain by yourself using Crosstool-NG. [[crosstool-ng-toolchain-backend]] Crosstool-NG toolchain backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The _Crosstool-NG toolchain backend_ integrates the http://crosstool-ng.org[Crosstool-NG] project with Buildroot. Crosstool-NG is a highly-configurable, versatile and well-maintained tool to build cross-compilation toolchains. If you select the +Crosstool-NG toolchain+ option in +Toolchain Type+, then you will be offered to: * Choose which C library you want to use. Crosstool-NG supports the three most important C libraries used in Linux systems: glibc, eglibc and uClibc * Choose a custom Crosstool-NG configuration file. Buildroot has its own default configuration file (one per C library choice), but you can provide your own. Another option is to run +make ctng-menuconfig+ to get access to the Crosstool-NG configuration interface. However, note that all Buildroot packages have only been tested with the default Crosstool-NG configurations. * Choose a number of toolchain options (rather limited if glibc or eglibc are used, or numerous if uClibc is used) When you will start the Buildroot build process, Buildroot will download and install the Crosstool-NG tool, build and install its required dependencies, and then run Crosstool-NG with the provided configuration. Advantages of this backend: * Not limited to uClibc: glibc and eglibc are supported. * Vast possibilities of toolchain configuration. Drawbacks of this backend: * Crosstool-NG is not perfectly integrated with Buildroot. For example, Crosstool-NG has its own download infrastructure, not integrated with the one in Buildroot (for example a Buildroot +make source+ will not download all the source code tarballs needed by Crosstool-NG). * The toolchain is completely rebuilt from scratch if you do a +make clean+. /dev management ~~~~~~~~~~~~~~~ Loading docs/manual/customize-store.txt +10 −12 Original line number Diff line number Diff line Loading @@ -42,13 +42,14 @@ Alternatively, you can copy the file to any other place and rebuild with Other package configuration ^^^^^^^^^^^^^^^^^^^^^^^^^^^ The configuration files for busybox, the linux kernel, barebox, uClibc and crosstool-NG 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. 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, Loading @@ -70,9 +71,8 @@ configuration files easier. 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 crosstool-NG and at91bootstrap3, no helper exists so you have to copy the config file manually to +BR2_TOOLCHAIN_CTNG_CONFIG+, resp. +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+. * For at91bootstrap3, no helper exists so you have to copy the config file manually to +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+. [[customize-store-board-support]] Loading Loading @@ -130,14 +130,12 @@ you can skip the steps that are not relevant for your use case. (as far as they are relevant): * +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ * +BR2_PACKAGE_BUSYBOX_CONFIG+ * +BR2_TOOLCHAIN_CTNG_CONFIG+ * +BR2_UCLIBC_CONFIG+ * +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+ * +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+ 1. Write the configuration files: * +make linux-update-defconfig+ * +make busybox-update-config+ * +cp <output>/build/build-toolchain/.config board/<manufacturer>/<boardname>/ctng.config+ * +make uclibc-update-config+ * +cp <output>/build/at91bootstrap3-*/.config board/<manufacturer>/<boardname>/at91bootstrap3.config+ * +make barebox-update-defconfig+ Loading docs/manual/customize-toolchain.txt +0 −12 Original line number Diff line number Diff line Loading @@ -44,15 +44,3 @@ However, it allows to tune major settings, such as: These settings are available after selecting the +Buildroot toolchain+ type in the menu +Toolchain+. Using the Crosstool-NG backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The http://crosstool-ng.org[crosstool-NG] toolchain backend enables a rather limited set of settings under the Buildroot +Toolchain+ menu: * The http://crosstool-ng.org[crosstool-NG] configuration file * Gdb and some toolchain options Then, the toolchain can be fine-tuned by invoking +make ctng-menuconfig+. docs/manual/make-tips.txt +0 −2 Original line number Diff line number Diff line Loading @@ -36,8 +36,6 @@ some settings in the +.config+ file may hide some targets: +linux+ is enabled; * +uclibc-menuconfig+ is only available when the Buildroot internal toolchain backend is used; * +ctng-menuconfig+ is only available when the crosstool-NG backend is used; * +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the +barebox+ bootloader is enabled. Loading docs/manual/rebuilding-packages.txt +0 −2 Original line number Diff line number Diff line Loading @@ -17,8 +17,6 @@ In some cases, a full rebuild is mandatory: ** after changing any toolchain option under the _Toolchain_ menu (if the internal Buildroot backend is used); ** after running +make ctng-menuconfig+ (if the crosstool-NG backend is used); ** after running +make uclibc-menuconfig+. * after removing some libraries from the package selection. Loading Loading
docs/manual/configure.txt +4 −56 Original line number Diff line number Diff line Loading @@ -47,8 +47,7 @@ target system uses ARM, the regular compilation toolchain on your host runs on x86 and generates code for x86, while the cross-compilation toolchain runs on x86 and generates code for ARM. Buildroot provides different solutions to build, or use existing cross-compilation toolchains: Buildroot provides two solutions for the cross-compilation toolchain: * The *internal toolchain backend*, called +Buildroot toolchain+ in the configuration interface. Loading @@ -56,10 +55,7 @@ cross-compilation toolchains: * The *external toolchain backend*, called +External toolchain+ in the configuration interface. * The *Crosstool-NG toolchain backend*, called +Crosstool-NG toolchain+ in the configuration interface. The choice between these three solutions is done using the +Toolchain The choice between these two solutions is done using the +Toolchain Type+ option in the +Toolchain+ menu. Once one solution has been chosen, a number of configuration options appear, they are detailed in the following sections. Loading @@ -76,8 +72,8 @@ This backend is the historical backend of Buildroot, and has been limited for a long time to the usage of the http://www.uclibc.org[uClibc C library]. Support for the _eglibc_ C library has been added in 2013 and is at this point considered experimental. See the _External toolchain backend_ and _Crosstool-NG toolchain backend_ for other solutions to use _glibc_ or _eglibc_. experimental. See the _External toolchain backend_ for another solution to use _glibc_ or _eglibc_. Once you have selected this backend, a number of options appear. The most important ones allow to: Loading Loading @@ -242,54 +238,6 @@ Drawbacks of this backend: fix from the toolchain vendor, unless you build your external toolchain by yourself using Crosstool-NG. [[crosstool-ng-toolchain-backend]] Crosstool-NG toolchain backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The _Crosstool-NG toolchain backend_ integrates the http://crosstool-ng.org[Crosstool-NG] project with Buildroot. Crosstool-NG is a highly-configurable, versatile and well-maintained tool to build cross-compilation toolchains. If you select the +Crosstool-NG toolchain+ option in +Toolchain Type+, then you will be offered to: * Choose which C library you want to use. Crosstool-NG supports the three most important C libraries used in Linux systems: glibc, eglibc and uClibc * Choose a custom Crosstool-NG configuration file. Buildroot has its own default configuration file (one per C library choice), but you can provide your own. Another option is to run +make ctng-menuconfig+ to get access to the Crosstool-NG configuration interface. However, note that all Buildroot packages have only been tested with the default Crosstool-NG configurations. * Choose a number of toolchain options (rather limited if glibc or eglibc are used, or numerous if uClibc is used) When you will start the Buildroot build process, Buildroot will download and install the Crosstool-NG tool, build and install its required dependencies, and then run Crosstool-NG with the provided configuration. Advantages of this backend: * Not limited to uClibc: glibc and eglibc are supported. * Vast possibilities of toolchain configuration. Drawbacks of this backend: * Crosstool-NG is not perfectly integrated with Buildroot. For example, Crosstool-NG has its own download infrastructure, not integrated with the one in Buildroot (for example a Buildroot +make source+ will not download all the source code tarballs needed by Crosstool-NG). * The toolchain is completely rebuilt from scratch if you do a +make clean+. /dev management ~~~~~~~~~~~~~~~ Loading
docs/manual/customize-store.txt +10 −12 Original line number Diff line number Diff line Loading @@ -42,13 +42,14 @@ Alternatively, you can copy the file to any other place and rebuild with Other package configuration ^^^^^^^^^^^^^^^^^^^^^^^^^^^ The configuration files for busybox, the linux kernel, barebox, uClibc and crosstool-NG 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. 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, Loading @@ -70,9 +71,8 @@ configuration files easier. 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 crosstool-NG and at91bootstrap3, no helper exists so you have to copy the config file manually to +BR2_TOOLCHAIN_CTNG_CONFIG+, resp. +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+. * For at91bootstrap3, no helper exists so you have to copy the config file manually to +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+. [[customize-store-board-support]] Loading Loading @@ -130,14 +130,12 @@ you can skip the steps that are not relevant for your use case. (as far as they are relevant): * +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ * +BR2_PACKAGE_BUSYBOX_CONFIG+ * +BR2_TOOLCHAIN_CTNG_CONFIG+ * +BR2_UCLIBC_CONFIG+ * +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+ * +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+ 1. Write the configuration files: * +make linux-update-defconfig+ * +make busybox-update-config+ * +cp <output>/build/build-toolchain/.config board/<manufacturer>/<boardname>/ctng.config+ * +make uclibc-update-config+ * +cp <output>/build/at91bootstrap3-*/.config board/<manufacturer>/<boardname>/at91bootstrap3.config+ * +make barebox-update-defconfig+ Loading
docs/manual/customize-toolchain.txt +0 −12 Original line number Diff line number Diff line Loading @@ -44,15 +44,3 @@ However, it allows to tune major settings, such as: These settings are available after selecting the +Buildroot toolchain+ type in the menu +Toolchain+. Using the Crosstool-NG backend ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The http://crosstool-ng.org[crosstool-NG] toolchain backend enables a rather limited set of settings under the Buildroot +Toolchain+ menu: * The http://crosstool-ng.org[crosstool-NG] configuration file * Gdb and some toolchain options Then, the toolchain can be fine-tuned by invoking +make ctng-menuconfig+.
docs/manual/make-tips.txt +0 −2 Original line number Diff line number Diff line Loading @@ -36,8 +36,6 @@ some settings in the +.config+ file may hide some targets: +linux+ is enabled; * +uclibc-menuconfig+ is only available when the Buildroot internal toolchain backend is used; * +ctng-menuconfig+ is only available when the crosstool-NG backend is used; * +barebox-menuconfig+ and +barebox-savedefconfig+ only work when the +barebox+ bootloader is enabled. Loading
docs/manual/rebuilding-packages.txt +0 −2 Original line number Diff line number Diff line Loading @@ -17,8 +17,6 @@ In some cases, a full rebuild is mandatory: ** after changing any toolchain option under the _Toolchain_ menu (if the internal Buildroot backend is used); ** after running +make ctng-menuconfig+ (if the crosstool-NG backend is used); ** after running +make uclibc-menuconfig+. * after removing some libraries from the package selection. Loading