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:
parent
f742fe4407
commit
d191c91627
|
@ -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
|
runs on x86 and generates code for x86, while the cross-compilation
|
||||||
toolchain runs on x86 and generates code for ARM.
|
toolchain runs on x86 and generates code for ARM.
|
||||||
|
|
||||||
Buildroot provides different solutions to build, or use existing
|
Buildroot provides two solutions for the cross-compilation toolchain:
|
||||||
cross-compilation toolchains:
|
|
||||||
|
|
||||||
* The *internal toolchain backend*, called +Buildroot toolchain+ in
|
* The *internal toolchain backend*, called +Buildroot toolchain+ in
|
||||||
the configuration interface.
|
the configuration interface.
|
||||||
|
@ -56,10 +55,7 @@ cross-compilation toolchains:
|
||||||
* The *external toolchain backend*, called +External toolchain+ in
|
* The *external toolchain backend*, called +External toolchain+ in
|
||||||
the configuration interface.
|
the configuration interface.
|
||||||
|
|
||||||
* The *Crosstool-NG toolchain backend*, called +Crosstool-NG
|
The choice between these two solutions is done using the +Toolchain
|
||||||
toolchain+ in the configuration interface.
|
|
||||||
|
|
||||||
The choice between these three solutions is done using the +Toolchain
|
|
||||||
Type+ option in the +Toolchain+ menu. Once one solution has been
|
Type+ option in the +Toolchain+ menu. Once one solution has been
|
||||||
chosen, a number of configuration options appear, they are detailed in
|
chosen, a number of configuration options appear, they are detailed in
|
||||||
the following sections.
|
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
|
limited for a long time to the usage of the
|
||||||
http://www.uclibc.org[uClibc C library]. Support for the _eglibc_ C
|
http://www.uclibc.org[uClibc C library]. Support for the _eglibc_ C
|
||||||
library has been added in 2013 and is at this point considered
|
library has been added in 2013 and is at this point considered
|
||||||
experimental. See the _External toolchain backend_ and _Crosstool-NG
|
experimental. See the _External toolchain backend_ for another
|
||||||
toolchain backend_ for other solutions to use _glibc_ or _eglibc_.
|
solution to use _glibc_ or _eglibc_.
|
||||||
|
|
||||||
Once you have selected this backend, a number of options appear. The
|
Once you have selected this backend, a number of options appear. The
|
||||||
most important ones allow to:
|
most important ones allow to:
|
||||||
|
@ -242,54 +238,6 @@ Drawbacks of this backend:
|
||||||
fix from the toolchain vendor, unless you build your external
|
fix from the toolchain vendor, unless you build your external
|
||||||
toolchain by yourself using Crosstool-NG.
|
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
|
/dev management
|
||||||
~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
|
@ -42,13 +42,14 @@ Alternatively, you can copy the file to any other place and rebuild with
|
||||||
Other package configuration
|
Other package configuration
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
The configuration files for busybox, the linux kernel, barebox, uClibc and
|
The configuration files for busybox, the linux kernel, barebox and
|
||||||
crosstool-NG should be stored as well if changed. For each of these, a
|
uClibc should be stored as well if changed. For each of these, a
|
||||||
buildroot configuration option exists to point to an input configuration
|
buildroot configuration option exists to point to an input
|
||||||
file, e.g. +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. To save their
|
configuration file, e.g. +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+. To
|
||||||
configuration, set those configuration options to a path outside
|
save their configuration, set those configuration options to a path
|
||||||
your output directory, e.g. +board/<manufacturer>/<boardname>/linux.config+.
|
outside your output directory,
|
||||||
Then, copy the configuration files to that path.
|
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
|
Make sure that you create a configuration file 'before' changing
|
||||||
the +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ etc. options. Otherwise,
|
the +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+ etc. options. Otherwise,
|
||||||
|
@ -70,9 +71,8 @@ configuration files easier.
|
||||||
path specified by +BR2_UCLIBC_CONFIG+.
|
path specified by +BR2_UCLIBC_CONFIG+.
|
||||||
* +make barebox-update-defconfig+ saves the barebox configuration to the
|
* +make barebox-update-defconfig+ saves the barebox configuration to the
|
||||||
path specified by +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+.
|
path specified by +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+.
|
||||||
* For crosstool-NG and at91bootstrap3, no helper exists so you
|
* For at91bootstrap3, no helper exists so you have to copy the config
|
||||||
have to copy the config file manually to +BR2_TOOLCHAIN_CTNG_CONFIG+,
|
file manually to +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+.
|
||||||
resp. +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+.
|
|
||||||
|
|
||||||
|
|
||||||
[[customize-store-board-support]]
|
[[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):
|
(as far as they are relevant):
|
||||||
* +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+
|
* +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE+
|
||||||
* +BR2_PACKAGE_BUSYBOX_CONFIG+
|
* +BR2_PACKAGE_BUSYBOX_CONFIG+
|
||||||
* +BR2_TOOLCHAIN_CTNG_CONFIG+
|
|
||||||
* +BR2_UCLIBC_CONFIG+
|
* +BR2_UCLIBC_CONFIG+
|
||||||
* +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+
|
* +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE+
|
||||||
* +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+
|
* +BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE+
|
||||||
1. Write the configuration files:
|
1. Write the configuration files:
|
||||||
* +make linux-update-defconfig+
|
* +make linux-update-defconfig+
|
||||||
* +make busybox-update-config+
|
* +make busybox-update-config+
|
||||||
* +cp <output>/build/build-toolchain/.config board/<manufacturer>/<boardname>/ctng.config+
|
|
||||||
* +make uclibc-update-config+
|
* +make uclibc-update-config+
|
||||||
* +cp <output>/build/at91bootstrap3-*/.config board/<manufacturer>/<boardname>/at91bootstrap3.config+
|
* +cp <output>/build/at91bootstrap3-*/.config board/<manufacturer>/<boardname>/at91bootstrap3.config+
|
||||||
* +make barebox-update-defconfig+
|
* +make barebox-update-defconfig+
|
||||||
|
|
|
@ -44,15 +44,3 @@ However, it allows to tune major settings, such as:
|
||||||
|
|
||||||
These settings are available after selecting the +Buildroot toolchain+ type in
|
These settings are available after selecting the +Buildroot toolchain+ type in
|
||||||
the menu +Toolchain+.
|
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+.
|
|
||||||
|
|
|
@ -36,8 +36,6 @@ some settings in the +.config+ file may hide some targets:
|
||||||
+linux+ is enabled;
|
+linux+ is enabled;
|
||||||
* +uclibc-menuconfig+ is only available when the
|
* +uclibc-menuconfig+ is only available when the
|
||||||
Buildroot internal toolchain backend is used;
|
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-menuconfig+ and +barebox-savedefconfig+ only work when the
|
||||||
+barebox+ bootloader is enabled.
|
+barebox+ bootloader is enabled.
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@ In some cases, a full rebuild is mandatory:
|
||||||
|
|
||||||
** after changing any toolchain option under the _Toolchain_ menu (if
|
** after changing any toolchain option under the _Toolchain_ menu (if
|
||||||
the internal Buildroot backend is used);
|
the internal Buildroot backend is used);
|
||||||
** after running +make ctng-menuconfig+ (if the crosstool-NG backend
|
|
||||||
is used);
|
|
||||||
** after running +make uclibc-menuconfig+.
|
** after running +make uclibc-menuconfig+.
|
||||||
|
|
||||||
* after removing some libraries from the package selection.
|
* after removing some libraries from the package selection.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user