Go to file
Thomas Petazzoni 184d47a7ad support/scripts/gen-bootlin-toolchains: add new script to support Bootlin toolchains
https://toolchains.bootlin.com/ has been providing for a few years a
number of ready-to-use pre-built toolchains, for a wide range of
architectures (which it turns out, are all built using Buildroot).

While toolchains.bootlin.com provides Buildroot config fragments to
easily use those toolchains with Buildroot (see [0] for example), this
is not visible anywhere. So instead, we would like to add support for
these toolchains in Buildroot just like we have existing support for
Linaro, ARM, Synopsys, etc. toolchains.

[0] https://toolchains.bootlin.com/downloads/releases/toolchains/aarch64/fragments/aarch64--glibc--bleeding-edge-2020.02-2.frag

However, the number of toolchains provided by toolchains.bootlin.com
is really large, and they are regularly updated. Maintaining that
manually would be time consuming and error-prone. So instead, this
commit introduces a script that automatically generates:

 - toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options
 - toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.mk
 - toolchain/toolchain-external/toolchain-external-bootlin/toolchain-external-bootlin.hash
 - support/testing/tests/toolchain/test_external_bootlin.py

We create a single external toolchain package, with a Kconfig "choice"
as a sub-option to select the toolchain variant to be used. The script
contains a Python dict that provides the mapping between the
toolchains provided by toolchains.bootlin.com, and the architecture
options/variants they are applicable to.

The test cases allow to verify that the toolchain configuration is
correct, and that it is able to build a Busybox based system. It
doesn't do any runtime testing as such testing is already done by
toolchains.bootlin.com: the test cases here are only meant to verify
that the toolchain-external-bootlin package works as expected.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Titouan Christophe <titouan.christophe@railnova.eu>
Tested-by: Titouan Christophe <titouan.christophe@railnova.eu>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-08-29 15:47:39 +02:00
arch arch/Config.in: add BR2_ARCH_NEEDS_GCC_AT_LEAST_10 2020-06-24 21:57:43 +02:00
board configs/roseapplepi: switch to mainline 5.7.19 kernel 2020-08-28 23:42:08 +02:00
boot Merge branch 'master' into next 2020-08-12 16:49:22 +02:00
configs configs/roseapplepi: switch to mainline 5.7.19 kernel 2020-08-28 23:42:08 +02:00
docs docs/manual/adding-packages-golang.txt: update following go.mod integration 2020-08-29 14:49:12 +02:00
fs fs/cpio: generate reproducible archives 2020-06-29 17:57:12 +02:00
linux {linux, linux-headers}: bump 4.{4, 9, 14, 19}.x / 5.{4, 7}.x series 2020-07-31 09:06:47 +02:00
package package/docker-cli: drop <pkg>_WORKSPACE variable 2020-08-29 15:02:30 +02:00
support support/scripts/gen-bootlin-toolchains: add new script to support Bootlin toolchains 2020-08-29 15:47:39 +02:00
system system: set default PATH according to BR2_ROOTFS_MERGED_USR 2020-08-17 00:15:05 +02:00
toolchain toolchain/toolchain-buildroot: enable uclibc for riscv64 2020-07-27 18:00:17 +02:00
utils utils/scancpan: use two spaces indentation in hash file 2020-03-15 23:17:46 +01:00
.defconfig
.flake8
.gitignore
.gitlab-ci.yml gitlab: generate the gitlab-ci configuration before each build 2020-07-27 13:45:52 +02:00
CHANGES CHANGES: update for 2020.08-rc1 2020-08-06 22:36:12 +02:00
Config.in Config.in: update BR2_OPTIMIZE_FAST prompt and help text 2020-07-18 16:05:01 +02:00
Config.in.legacy Config.in.legacy: adjust location of gdb 8.1 legacy option 2020-08-29 13:50:52 +02:00
COPYING
DEVELOPERS DEVELOPERS: add Alejandro González for watchdog 2020-08-29 14:33:00 +02:00
Makefile Update for 2020.08-rc1 2020-08-06 23:07:30 +02:00
Makefile.legacy
README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches