domingo, 23 de novembro de 2008

Cofigurando o ambiente de Desenvolvimento para a plataforma TS-7400

Configurar a Crosstool

1. Fazer o download da crosstool-0.43 ou então aproveitar de alguém que ja a tem

$ wget http://www.kegel.com/crosstool/crosstool-0.43.tar.gz

2. Descompactar o arquivo da crosstool e depois entrar no diretório

$ tar zxvf crosstool-0.43.tar.gz
$ cd crosstool-0.43

3. Editar o arquivo demo-arm.sh incluindo a seguinte linha:

eval `cat arm.dat gcc-3.3.4-glibc-2.3.2.dat` sh all.sh --notest

Nesse arquivo sao setadas algumas variaveis de ambiente. Essas variaveis indicam onde os arquivos usados na compilacao da crosstool devem estar. Certifique-se que eles estao onde devem.

TARBALLS_DIR=$HOME/downloads # e aqui onde devem ficar os arquivos de download
RESULT_TOP=/opt/crosstool # aqui sera instalada a crosstoll

Crie o diretorio /opt/crosstool e faca com que ele possa ser escrito por voce:

$ su
# mkdir /opt/crosstool
# chown $USER /opt/crosstool
# exit

4. Tenha certeza que a variavel LD_LIBRARY_PATH nao esteja setada

$ export LD_LIBRARY_PATH=

5. Verifique se o bison esta instalado

$ which bison

6. Edite o arquivo arm.dat

Altere a variavel TARGET=arm-unknown-linux-gnu a sua escolha, pois sera usado quando formos compilar usando a variavel CROSS_COMPILE em Makefile. Sugestao: TARGET=arm-linux

7. Cheque a versao do gcc que voce possui em seu computador

$ gcc --version

Caso nao seja uma versao da serie 3 do gcc sera necessario fazer um downgrade para essa versao. No DVD do Centos-5.0 existe o arquivo que precisamos.

compat-gcc-34-3.4.6-4.i386.rpm

Instale essa versao do gcc.

# rpm -ivh compat-gcc-34-3.4.6-4.i386.rpm

Agora fazendo o downgrade:

$ su
# cd /usr/bin
# mv gcc gcc41 //caso nao exista outra versao pule esta linha
# ln -s gcc34 gcc
# exit
$ gcc --version

8. Agora execute o arquivo demo-arm.sh

$ ./demo-arm.sh

Vai demorar um bom tempo para compilar tudo entao procure fazer outra coisa. No computador que utilizei demorou 1 hr e 30 min
Se der um erro por causa de uma variavel PATH_MAX nao se preocupe, a sua crosstool esta funcionando, so nao tem o modo debugger.

Depois de realizada a compilacao da sua crosstool faca o upgrade do gcc ao normal:

$ su
# cd /usr/bin
# rm gcc
# mv gcc41 gcc
# exit
$ gcc --version

Compilacao do Kernel e dos Modulos

9. Fazer o download da modutils ou então aproveitar de alguém que ja a tem

$ wget http://www.kernel.org/pub/linux/utils/kernel/modutils/v2.4/modutils-2.4.26.tar.bz2

10. Descompactar a modutils

$ tar jxvf modutils-2.4.26.tar.bz2

11. Configurar a ferramenta

$ mkdir modutils-build
$ cd modutils-build; ../modutils-2.4.26/configure --prefix=/home/dwh/ts7300/modutils-install --target=arm-linux

O target e o nome que voce definiu no passo 6

12. Adicionar a crosstool a variavel PATH

$ export PATH=/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-linux/bin:$PATH

Aconselho a adicionar essa linha em seu .bashrc

13. Compilar a ferramenta

Primeiro deve se criar o diretorio /home/dwh e fazer com que voce possa escrever nele, pois ele e usado nos scripts.

$ su
# mkdir /home/dwh
# chown $USER /home/dwh
# exit

Agora sim podemos compilar a ferramenta

$ make
$ make install

14. Adicionar a nova ferramenta ao PATH

$ export PATH=/home/dwh/ts7300/modutils-install/sbin:/opt/crosstool/gcc-3.3.4-glibc-2.3.2/arm-linux/bin:$PATH

Aconselho que faca a substituicao da linha incluida no passo 12 por essa em seu .bashrc

15. Fazer o download do kernel ou então aproveitar de alguém que ja a tem. A fonte desse kernel se encontra em Technologic Systems

tskernel-2.4.26-ts11-src.tar.gz

16. Descompactar o kernel

$ tar -zxvf tskernel-2.4.26-ts11-src.tar.gz

17. Dentro do diretorio do kernel descompactado edite o Makefile. Procure por:

CROSS_COMPILE=arm-unknown-linux-gnu- e mude para a sua crosstool

EX.: CROSS_COMPILE=arm-linux-

E em DEPMOD coloque:

DEPMOD = /home/dwh/ts7300/modutils-install/sbin/depmod

18. Preparando o kernel para compilacao

$ make ts7300_config
$ make oldconfig

19. Compilando o kernel

$ make dep
$ make vmlinux

Esse passo vai durar uns 5 minutos e criara a imagem do kernel em linux24/vmlinux

20. Agora Compilamos os modulos para o kernel

$ make modules
$ make modules_install INSTALL_MOD_PATH=/home/dwh/ts7300/linux24-modules

E os modulos serao instalados em $INSTALL_MOD_PATH/lib/modules/2.4.26-ts11

Pronto, agora seu ambiente de Cross-compilacao para a plataforma TS-7400 esta pronto.

Tutorial feito por Thiago Brito.
Referencias: Technologic Systems TS-7300 ARM+FPGA SBC Analysis

Nenhum comentário: