11 fev

Mini2440 – Compilando Kernel – 256MB – X35

Separei o procedimento em duas etapas de forma que a segundo possa ser executada várias vezes e a primeira apenas uma vez.

Etapa 1 – Baixando os arquivos

echo "Limpando as pastas temporárias"
rm -fr /usr/tmp/arm-2008q3/
rm -fr /usr/tmp/arm-2008q3*
rm -fr /usr/tmp/dl.php?file=linux-2.6.32.2-mini2440_20110413.tgz
rm -fr /usr/tmp/dl.php?file=linux-logomaker.tgz
rm -fr /usr/tmp/linux-2.6.32.2/
rm -fr /usr/tmp/linux-2.6.32.2-mini2440_20110413.tgz
 
echo "Criando diretorio para download"
mkdir /usr/tmp/
 
cd /usr/tmp/
 
echo "Baixando o kernel"
wget http://www.friendlyarm.net/dl.php?file=linux-2.6.32.2-mini2440_20110413.tgz --post-data="file=linux-2.6.32.2-mini2440_20110413.tgz&submit=Download+now&do=downloadfile" -O linux-2.6.32.2-mini2440_20110413.tgz
tar -vzxf linux-2.6.32.2-mini2440_20110413.tgz
 
echo "Baixando a ferramenta de Cross-Compiling - Para compilar para arquitetura ARM920t"
wget http://www.codesourcery.com/sgpp/lite/arm/portal/package3696/public/arm-none-linux-gnueabi/arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
tar -jxvf arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

Etapa 2 – Compilando

echo "instalando as dependencias"
yum install -y gcc ncurses-libs ncurses-devel uboot-tools
 
echo "Removendo diretorio para os fontes"
rm -fr /usr/src/mini2440/
 
echo "Criando diretorio para os fontes"
mkdir /usr/src/mini2440
 
echo "Copiando para o diretorio de fontes"
cp -fr /usr/tmp/linux-2.6.32.2  /usr/src/mini2440/
 
echo "Copiando para o diretorio de fontes"
cp -fr /usr/tmp/arm-2008q3 /usr/src/mini2440/
 
mkdir /usr/src/mini2440/modules
mkdir /usr/src/mini2440/kernel
 
echo "Configurando as variáveis de ambiente"
INSTALL_MOD_PATH=/usr/src/mini2440/modules
O=/usr/src/mini2440/kernel
PATH=$PATH:/usr/src/mini2440/arm-2008q3/bin
CC='arm-none-linux-gnueabi-gcc -march=armv4t -mtune=arm920t'
CROSS_COMPILE=arm-none-linux-gnueabi-
export CC CROSS_COMPILE
 
echo "Entrando no diretório fonte"
cd /usr/src/mini2440/linux-2.6.32.2
 
echo "Copiando o arquivo de configuração..."
echo "Ou utilize o meu arquivo de configuração: http://www.thiagosiqueira.com.br/Downloads/.config.zip"
cp config_mini2440_x35 .config
 
echo "Ou monte o seu .config na hora com o comando comentado abaixo"
#make ARCH=arm menuconfig
 
echo "Compilando Kernel"
 
make ARCH=arm -j4
 
echo "Convert the zImage to uImage (Descompactando o Kernel)"
mkimage -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008000 -d /usr/src/mini2440/linux-2.6.32.2/arch/arm/boot/zImage /usr/src/mini2440/linux-2.6.32.2/arch/arm/boot/uImage
chmod 755 /usr/src/mini2440/linux-2.6.32.2/arch/arm/boot/uImage
 
echo "Compilando os módulos para o kernel"
 
make ARCH=arm -j4 modules
make ARCH=arm -j4 INSTALL_MOD_PATH=/usr/src/mini2440/modules modules_install

Pronto…

Agora basta gravar o uImage (/usr/src/mini2440/linux-2.6.32.2/arch/arm/boot/uImage) na NAND e o seu respectivo RootFS para o sistema desejado.
Copie a pasta /usr/src/mini2440/modules/lib para a raiz do sistema após o boot do kit mini2440.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *