buildroot CS423 Dick Steflik buildroot u Clibc C
buildroot CS-423 Dick Steflik
buildroot • u. Clibc – C library for developing for embedded Linux – much smaller than GNU C • tools to make a cross-compilation tool chain and root file system for embedded systems using the u. Clibc library • buildroot and u. Clibc are developed and supported by Erik Anderson (codepoet. org)
Architectures Supported • • AVR 32 Power PC MIPS ARM i 386 Blackfin sparc alpha
Requirements • Linux – – – – – gcc g++ (for Qtopia) GNU make sed bison flex autoconf ncurses zlib libaci lzo
Steps • Download/unpack buildroot from Atmel (AVR 32) – http: //buildroot. uclibc. org (for other architectures) • Atmel version includes setups for Atmel development boards and board specific setup. c files • Make sure your system has the required software packages or you’ll end up starting over several time until everything is in place.
First time… • go to the buildroot directory – make atngw 100_defconfig – this downloads the boards default configuration – make source – this will download the files, you should now have everything you need to build the default file systems (root and user) • this step can take a couple of hours – make – this will start the build process and may take a more than an hour.
more…. • To change the configuration use: make menuconfig – this will present you with a text based menu system to modify the configuration files for the build • name the project with something relavant – upon exiting menuconfig your are ready to do a build • after the build the file systems will be in binaries/[project_name]/
Directories (before build) • • Config. in/. defconfig/ docs/ Makefile package/ target/ TODO tool/chain
Directories (after build) • 6 additional directories – binaries/ – build_avr 32_nopfu/ – include/ – project_build_avr 32_nopfu/ – src/ – toolchain_build_avr 32_nopfu/
Binaries • atngw 100 -linux-kernel-[version] – the linux kernel you just built, also included in the rootfs • rootfs-avr 32 -jffs 2 -root – rootfs targeted for jffs 2 for flash (can also be targetted to ext 2 for booting from MMC/SD card • rootfs-avr 32 -jffs 2 -usr – the user file system in jffs 2 format for flash • u-boot. bin – u-boot binary, must be loaded via avr 32 programm/JTAGICE
- Slides: 10