Gerando um uImage com a imagem do kernel descompactada

Quando compilamos o kernel do Linux para ARM como o comando “make” ele gera o arquivo Image e zImage, o primeiro é a imagem do kernel descompactada e o segundo é a imagem compactada (pode ser gzip, lzma, lzo, etc). Quando você executa “make uImage” o kernel usa a imagem zImage e adiciona um cabeçalho nela gerando o arquivo uImage.

Este uImage é gravado na memória flash do dispositivo e é carregada com o comando “bootm”. Porém em processadores mais lentos o tempo necessário para descompactar esta imagem é demasiado. Outro problema é que o bootloader precisa carregar a imagem compactada para a memória e descompacta-la em outra área de memória, então se o dispositivo possuir pouca memória usar a imagem compactada pode ser inviável.

A boa notícia é que você pode criar um arquivo uImage com a imagem descompactada (Image) do kernel:

$ mkimage -A arm -O linux -T kernel -C none -a 0x50C08000 -e 0x50C08000 -n 'Linux-2.6.26-ssl' -d kernel/arch/arm/boot/Image uImage

Fonte: http://free-electrons.com/blog/uncompressed-linux-kernel-on-arm/

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s