Para compilar o kernel para o Motorola A1200 voce deve primeiramente baixar o kernel mainline 2.6.21:
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.tar.gz
$ tar zxvf linux-2.6.21.tar.gz
Crie um diretorio chamado patches dentro do kernel que vc acabou de descompactar
$ cd linux-2.6.21
$ mkdir patches
Baixe todos os arquivos de http://svn.openezx.org/trunk/src/kernel-2.6/patches/ para dentro de patches.
Baixe o toolchain para ARM:
http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2008q1-126-arm-none-linux-gnueabi.bin
Instale o toolchain em /opt/CodeSourcery/Sourcery_G++_Lite.
Entre dentro do diretorio do kernel 2.6.21 e execute o comando para aplicar os patches em serie:
$ quilt push -a
Mais informacoes sobre como o quilt funciona leia estas dicas:
http://www.wzdftpd.net/blog/index.php?2008/02/05/3-quilt-a-patch-management-system-how-to-survive-with-many-patches
Execute o comando para compilacao do kernel:
make -f patches/Makefile.OpenEZX CROSS_COMPILE=/opt/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-
Ao final da instalacao serao gerados varios arquivos de imagem, mas o que nos interessa e’ apenas o zImage-a1200.
Para rodar este kernel no seu celular voce precisara’ do programa boot_usb. Este programa permite enviar a imagem do kernel para a memoria RAM usando o bootloader do celular. Se voce nao quiser compilar o boot_usb pode baixa-lo daqui.
Este processo nao ira’ apagar o firmware original do seu celular, apenas ira’ enviar a imagem para RAM, entao fique tranquilo, nao precisa ter medo de testa-lo.
Entao vamos ao que interessa: desligue o celular, em seguida mantenha pressionado o botao VR (reconhecimento de voz) e pressione o botao PowerOn, devera’ aparecer a tela vermelha do bootloader. Ligue o cabo de dados no celular e no PC.
Para enviar o kernel para a memoria RAM do seu celular execute:
# boot_usb zImage.a1200
Voce vera’ a inicializacao do kernel em pequenas letras verdes. Infelizmente receberemos um kernel panic, pois ainda nao temos um root file system configurado. Este e’ o proximo passo.