docs: update manual after Crosstool-NG backend removal

[Peter: remove a few more ctng references in customize-store.txt]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Thomas Petazzoni 2013-10-06 16:19:12 +02:00 committed by Peter Korsgaard
parent f742fe4407
commit d191c91627
5 changed files with 14 additions and 84 deletions

View File

@ -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.
@ -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.
@ -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:
@ -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
~~~~~~~~~~~~~~~

View File

@ -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,
@ -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]]
@ -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+

View File

@ -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+.

View File

@ -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.

View File

@ -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.