A toolchain is a set of tools that compiles source code into executables that can run on
your target device and includes a compiler, a linker, and runtime libraries. We
need toolchain to build the other three elements of an embedded Linux system: the bootloader, the kernel, and the root filesystem. It has to be able to compile code written in assembly, C, and C++ since these are the languages used in the base open source packages.