GCC toolchain redistribution

Hi,

Why are the GCC Tool Chain downloads restricted ( ie. require a NVIDIA developer account to download)? Could they please be made public to make instructions on how to compile custom kernels easier?

Also, the binary Tool Chain archive does not contain a LICENSE file or other copyright information. I am no copyright law expert but I am pretty sure this is no the correct way to redistribute the binaries.

Hi

Please refer to NVIDIA Jetson Linux Driver Package Developer Guide to get more info of GCC tool chain:
https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fxavier_toolchain.html

Hi Kayccc,

is the Toolchain on the NVIDIA servers a direct mirror of the Linaro binaries?

The 4.x series Linaro tool chains are quite old (and were old even when the TK1 was released). I’m not sure where Linaro stores the “antiques” now, but those binaries are just a compiled version of the public source code (no modifications, so if you request the older source from Linaro, then in theory the same build will occur…the bootloader does not include compiler source, and in theory other compilers could build the bootloader.

Linaro is not mandatory for bootloader build, but other build tools would be extremely troublesome to find a working set of all of the dependencies. You’ll also find that crosstool-ng was used in the past to aid building the chain (http://crosstool-ng.github.io/docs/introduction/). At times crosstool-ng has also been used in the configuration and compile.

Most people prefer the binaries just because the dependencies to build a full tool chain is rather painful. Every older dependency might be an “adventure” in finding and building from source code, so the pre-compiled binaries make life much easier despite the toolchain not actually being part of the final bootloader product (there is no dynamic linking on bare metal). I used to compile all of my tool chains (binaries of releases I needed were not available on my Linux flavor’s package manager), and once a single component becomes deprecated and no longer available except by building it becomes a month-long adventure just to find dependencies. In the slower hardware a single compile could take hours before failing, and then require one of the components to be rebuilt before trying again, and this would go on over and over.

NVIDIA isn’t restricting access so much as it is making binaries available as a convenience if you accepted web site terms of use. Linaro.org is the one who owns and provides one flavor of compiler known to work with that source code. You could in theory ask Linaro to find this older release and the source code of that release and end up with the same unmodified binary NVIDIA has made available.

In terms of binary releases, you’ll find the oldest still published (4.9-2016.02) is here:
https://releases.linaro.org/components/toolchain/binaries/

You’ll find a bit more of “latest” here:
https://www.linaro.org/downloads/