Month: February 2007

Um motivo para comemorar

Final de semana, todos os meus amigos curtindo o carnaval e praia (né Dr. Marcelo?), e eu aqui ralando com os testes do LinuxBIOS e com o meu TI.
Tudo parecia um tédio até o momento que abro o site com a lista das palestras aprovadas para selecionar quais palestras eu quero assistir.
Para minha surpresa eles selecionaram de verde as palestras que ficaram em primeiro lugar em cada categoria. E não é que a minha palestra ficou em primeiro:
http://fisl.softwarelivre.org/8.0/www/?q=pt-BR/program

Nada mal para quem estava com medo de nem ter a palestra aprovada.

Free JTAG para processadores ARM

Quando você desenvolve uma placa embarcada você precisa instalar um bootloader para conseguir enviar um sistema operacional ou mesmo outro bootloader para ela.

Mas como enviar uma imagem do bootloader se não temos um bootloader gravado na flash, nos encontramos diante do dilema do ovo e da galinha.

Felizmente é possível gravar o bootloader através da Interface JTAG. Programadores JTAG bons geralmente são caros,o BDI2000 da Abatron por exemplo custa mais de U$ 2,000.00.

Felizmente existem vários JTAG caseiros (homebrew) por aí, lembram do cabo JTAG que fiz para recuperar o bootloader de um iPaq estragado.

A novidade é melhor ainda, há um programa (daemon) chamado OpenOCD que permite usá-lo e ainda integrar com o GDB, assim podemos não só gravar o bootloader na flash, mas também depurar (“debugar”) qualquer software rodando no processador.

Site do projeto:
http://openocd.berlios.de/web/

Criando um ELF para usar no LinuxBIOS

A criação de sistema com o Linux BIOS passa por 4 processos:

Criação da Imagem do Kernel
Criação do rootfs como Initramfs
Criação do ELF contendo kernel+Initramfs
Criação da Imagem LinuxBIOS contendo o ELF como payload.

O kernel deve ser o menor possível contendo apenas recursos vitais para o funcionamento do Linux.

A criação do Initramfs (valeu Marcelo), pode ser encontrada aqui:
http://lldn.timesys.com/docs/initramfs
http://www.timesys.com/timesource/initramfs.htm

O comando para criar o ELF é listado abaixo:

mkelfImage --append="console=ttyS0" --initrd=initrd vmlinuz linux.elf

Pronto, já temos o payload, agora é só compilar o LinuxBIOS com ele.

Procurando um Instalador Multiplataforma?

No mundo open source quase sempre temos a vantagem de muitas opções, porém as vezes muitas opções acabam por dificultar uma boa escolha, ou a melhor escolha.
Instaladores para Linux, por exemplo, é o que não falta, é até difícil escolher.
Mas e se precisarmos de um instalador multiplataforma, instaladores que funcionam em Linux e Windows já não são tão comuns, a lista começa a reduzir, mas mesmo assim ainda podemos encontrar algumas dezenas deles.

Se a lista de recursos for aumentando: suporte a instalação via modo texto e modo gráfico, suporte a instalação incremental (patch mode), ambiente de desenvolvimento fácil de utilizar, suporte a vários idiomas. Provavelmente agora você conseguirá reduzir seu conjunto de opções a 2 ou 3 instaladores.
Mesmo assim, perderá um bom tempo procurando por eles.
Felizmente alguém já fez isso e resolveu compartilhar a descoberta com você.

O instalador Multiplataforma (Linux, Windows, BSD’s, MacOSX, AIX, Solaris, HP-UX, etc…) que você está procurando se chama InstallJammer.
O InstallJammer tem todos os recursos listados acima, e muito mais, possui um ambiente de desenvolvimento integrado (IDE) parecido com o do InstallShield, com a vantagem de ser software livre.
A versão atual é a 1.1, e já possui suporte ao Português do Brasil, minha pequena contribuição ao projeto. Espero que este instalador possa ser útil para vocês, e caso o Instalador lhe seja útil, contribua para o projeto codificando, traduzindo ou doando.

O site do projeto é:

www.installjammer.com