關於 OpenWrt Buildroot

OpenWrt Buildroot 是一套可以Makefiles跟安裝patches的程式、讓你輕鬆產生"交叉編譯工具"(toolchain)跟"檔案管理系統"(root filesystem)。
Buildroot重大更新在這(http://www.buildroot.org/)。toolchain使用uClibc (http://www.uclibc.org/), 這個小型C語言標準程式庫

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 / deb: gcc), binary utils like assembler and linker (in our case, binutils / deb: binutils ) and a C standard library (for example GNU Libc, uClibc or dietlibc). If you're using a PC, your compilation toolchain runs on an x86 processor and generates code for a x86 processor. Under most Linux systems, the compilation toolchain uses the GNU libc as C standard library. This compilation toolchain is called the "host compilation toolchain", and more generally, 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 OpenWrt Buildroot has nothing to do with it.

As said above, the compilation toolchain that comes with your system runs and generates code for the processor of your host system. As your embedded system has a different processor, you need a cross-compilation toolchain: it's a compilation toolchain that runs on your host system but that generates code for your target system (and target processor's ISA). For example, if your host system uses x86 and your target system uses MIPS32, the regular compilation toolchain of your host runs on x86 and generates code for x86, while the cross-compilation toolchain runs on x86 and generates code for MIPS32.

You might wonder why such a tool is needed when you can compile gcc, binutils, uClibc and all the tools by hand. Well, it is not needed. Of course, you can do everything manually, but dealing with all the configure options, with all problems of every gcc or binutils version is very time-consuming and uninteresting. OpenWrt 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 the respective instruction set architecture of most embedded systems.

While the OpenWrt Buildroot was intended mostly for developers, it is still simple enough that an inexperienced end user can easily build his or her own customized firmware!

Available Documentation

  1. OpenWrt Buildroot – About
  2. OpenWrt Buildroot – Technical Reference this article needs your attention.

Back to top

zh-tw/about/toolchain.txt · Last modified: 2012/07/09 02:42 by a0951020223