Este tutorial descreve a instalação e configuração do BuildRoot
Descrição
Instalação do BuildRoot
Entre no site do BuildRoot (http://buildroot.uclibc.org/download.html) e faça download da última versão
Ou pode ir no terminal, entre na pasta alvo (usando o comando cd) e digite:
- wget http://buildroot.net/downloads/buildroot-"versão".tar.bz2
Neste caso versão: 2013.05
- tar -jxvf buildroot-2013.05.tar.bz2
Será necessário instalar algumas dependencias para o BuildRoot, execute:
Para o Fedora 19:
Para o Fedora 19:
- sudo yum update
- sudo yum install -y wget subversion binutils bzip2 gawk gettext flex ncurses-devel zlib-devel make patch unzip perl-ExtUtils-MakeMaker glibc glibc-devel glibc-static quilt ncurses-lib sed sdcc intltool sharutils bison
Para o Debian 7(Wheezy):
- sudo apt-get update
- sudo apt-get install subversion build-essential libncurses5-dev zlib1g-dev gawk
Entre na pasta do BuildRoot e execute:
- make menuconfig

Aparecerá uma interface gráfica simples, a base de cursor para a configuração.
Algumas destas configurações é necessário analisar o datasheet do processador ou do kit de desenvolvimento.
Em "Target Architecture Variant", deve ser escolhida a família do processar, neste caso Cortex A8.
Em "Build options": tem a opção de mudar diretório base, algumas configurações do compilador e debug.
Neste caso foi apenas adicionado 1 em "Number of jobs to run simultaneously", isto é responsável por configurar o número de cores que vão ser utilizados na máquina alvo.
Em "Toolchain": tem a opção de escolher a versão do kernel headers, a Toolchain, o uClibc, o GCC e Binutils Options.
Para cada módulo apresenta um conjunto de opções para incluir quando o sistema for gerado, neste caso:
Em "System configuration": tem a opção de escolher o nome do sistema, a codificação de senha, permições, taxa de transmição e número da porta.
Neste caso foi escolhido o nome LinuxEmbedded em "System hostname".
E a porta ttyO2 em "Port to run a getty (login prompt) on".
Em "Package Selection for the target: tem a opção de obter outros pacotes que o usuário achar necessário.
Em "Host utilities": aparecerá opções de utilitátios para o Host, sendo que ele tem que ser compatíveis com o bootloader escolhido, sendo analisado mais a frente. Marque as opções "host omap-u-boot-utils" e "host u-boot tools".
Em "Build options": tem a opção de mudar diretório base, algumas configurações do compilador e debug.
Neste caso foi apenas adicionado 1 em "Number of jobs to run simultaneously", isto é responsável por configurar o número de cores que vão ser utilizados na máquina alvo.
Em "Toolchain": tem a opção de escolher a versão do kernel headers, a Toolchain, o uClibc, o GCC e Binutils Options.
Para cada módulo apresenta um conjunto de opções para incluir quando o sistema for gerado, neste caso:
- O "Enable large file (files > 2 GB) suppport".
- "Enable WCHAR support" foi abilitado.
Em "System configuration": tem a opção de escolher o nome do sistema, a codificação de senha, permições, taxa de transmição e número da porta.
Neste caso foi escolhido o nome LinuxEmbedded em "System hostname".
Em "Package Selection for the target: tem a opção de obter outros pacotes que o usuário achar necessário.
Em "Host utilities": aparecerá opções de utilitátios para o Host, sendo que ele tem que ser compatíveis com o bootloader escolhido, sendo analisado mais a frente. Marque as opções "host omap-u-boot-utils" e "host u-boot tools".
Em "Filesystem images": pode escolher o tipo do filesystem de acordo com a necessidade, neste caso foi escolhido "ext2/3/4 root filesystem", pois o dispositivo de armazenamento é um SD-Card, e em seu subtópico ext2(rev0))(apresenta um menor consumo de espaço em disco).
No caso de usar uma Memoria Flash Externa, marque "Ubifs root filesystem", umas das sucessoras do jffs2, ela apresenta um desempenho melhor comparada ao seu antecessor, desmarque "tar the root filesystem".
Pode ser necessário configurar os endereços referente a memória flash alvo, faça as modificações necessárias e salve.
Em "Bootloaders": pode ser selecionado o tipo do bootloader, neste caso o U-Boot, pois seus utilitários já foram escolhidos anteriormente e é um dos mais usados, sendo possível fazer algumas configurações. Pode ser modificado o nome em "U-Boot board name", sua versão em "U-Boot Version", a extensão do U-Boot em "U-Boot binary format".
O nome tem que ser um disponível no repositório do U-Boot e que sirva para a arquitetura do micro, neste caso ():
Versão do U-Boot escolhida 2013.05:
O formato da extensão será .img:
Em "Kernel", marque "Linux Kernel"; modifique "Defconfig name" pode ser escolhido a arquitetura alvo, em arch/<type>/configs/ aparecerá as arquiteturas suportadas pelo kernel, neste caso (), "Kernel version"pode ser escolhido a versão do kernel, faça as modificações que achar necessário e salve as configurações.
Volte para o terminal e de execute o comando "make" para gerar os arquivos com as configurações setadas anteriormente, pode ser necessário baixar alguns arquivos, mas estes serão baixados automaticamente.
Os arquivos gerados vão esta na pasta alvo.
No caso de usar uma Memoria Flash Externa, marque "Ubifs root filesystem", umas das sucessoras do jffs2, ela apresenta um desempenho melhor comparada ao seu antecessor, desmarque "tar the root filesystem".
Pode ser necessário configurar os endereços referente a memória flash alvo, faça as modificações necessárias e salve.
Em "Bootloaders": pode ser selecionado o tipo do bootloader, neste caso o U-Boot, pois seus utilitários já foram escolhidos anteriormente e é um dos mais usados, sendo possível fazer algumas configurações. Pode ser modificado o nome em "U-Boot board name", sua versão em "U-Boot Version", a extensão do U-Boot em "U-Boot binary format".
O nome tem que ser um disponível no repositório do U-Boot e que sirva para a arquitetura do micro, neste caso ():
O formato da extensão será .img:
Marque "U-Boot SPL support" e renomeie para MLO.
Em "Kernel", marque "Linux Kernel"; modifique "Defconfig name" pode ser escolhido a arquitetura alvo, em arch/<type>/configs/ aparecerá as arquiteturas suportadas pelo kernel, neste caso (), "Kernel version"pode ser escolhido a versão do kernel, faça as modificações que achar necessário e salve as configurações.
Volte para o terminal e de execute o comando "make" para gerar os arquivos com as configurações setadas anteriormente, pode ser necessário baixar alguns arquivos, mas estes serão baixados automaticamente.
Os arquivos gerados vão esta na pasta alvo.