0% found this document useful (0 votes)
22 views2 pages

Prev

Uploaded by

Sunno Julian
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views2 pages

Prev

Uploaded by

Sunno Julian
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Prev Next

Chapter 1. About Buildroot


Buildroot is a set of Makefiles and patches that allows you to easily generate a cross-
compilation toolchain, a root filesystem and a Linux kernel image for your target.
Buildroot can be used for one, two or all of these options, independently.

Buildroot is useful mainly for people working with embedded systems. Embedded
systems often use processors that are not the regular x86 processors everyone is used
to having in his PC. They can be PowerPC processors, MIPS processors, ARM
processors, etc.

A compilation toolchain is the set of tools that allows you to compile code for your
system. It consists of a compiler (in our case, gcc), binary utils like assembler and
linker (in our case, binutils) and a C standard library (for example GNU
Libc, uClibc or dietlibc). The system installed on your development station certainly
already has a compilation toolchain that you can use to compile an application that
runs on your system. If you’re using a PC, your compilation toolchain runs on an x86
processor and generates code for an x86 processor. Under most Linux systems, the
compilation toolchain uses the GNU libc (glibc) as the C standard library. This
compilation toolchain is called the "host compilation toolchain". The machine on
which it is running, and on which you’re working, is called the "host system". The
compilation toolchain is provided by your distribution, and Buildroot has nothing to
do with it (other than using it to build a cross-compilation toolchain and other tools
that are run on the development host).

As said above, the compilation toolchain that comes with your system runs on and
generates code for the processor in your host system. As your embedded system has a
different processor, you need a cross-compilation toolchain - a compilation toolchain
that runs on your host system but generates code for your target system (and target
processor). For example, if your host system uses x86 and your 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.

Even if your embedded system uses an x86 processor, you might be interested in
Buildroot for two reasons:
 The compilation toolchain on your host certainly uses the GNU Libc which is a
complete but huge C standard library. Instead of using GNU Libc on your
target system, you can use uClibc which is a tiny C standard library. If you
want to use this C library, then you need a compilation toolchain to generate
binaries linked with it. Buildroot can do that for you.
 Buildroot automates the building of a root filesystem with all needed tools like
busybox. That makes it much easier than doing it by hand.

You might wonder why such a tool is needed when you can
compile gcc, binutils, uClibc and all the other tools by hand. Of course doing so is
possible but, dealing with all of the configure options and problems of
every gcc or binutils version is very time-consuming and uninteresting. Buildroot
automates this process through the use of Makefiles and has a collection of patches for
each gcc and binutils version to make them work on most architectures.

Moreover, Buildroot provides an infrastructure for reproducing the build process of


your kernel, cross-toolchain, and embedded root filesystem. Being able to reproduce
the build process will be useful when a component needs to be patched or updated or
when another person is supposed to take over the project.

Prev Next
Home

You might also like