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/