O vmlinux pode ser usado em vez de uImage?

9

Eu quero usar uma imagem de kernel descompactada e inicializar o BeagleBoard. Geralmente eu uso uImage para inicializar o kernel que está em formato compactado. Como eu uso uma imagem do kernel descompactada?

    
por Sharanya 06.02.2012 / 07:18

3 respostas

7

Até onde eu sei, o U-Boot não pode inicializar diretamente uma imagem ELF "raw" ( vmlinux ). Você precisa transformá-lo no formato uImage , que contém o vmlinux compactado mais alguns bytes extras de metadados que descrevem o endereço de carregamento do kernel. FAQ do U-Boot 2.19 explica como gerar uImage ; é bastante simples, usando o utilitário mkimage na árvore de código-fonte do U-Boot:

 mkimage -A arm -O linux -T kernel -C gzip … -d vmlinux uImage

(Você pode precisar de parâmetros extras indicando o endereço de carga.)

    
por 07.02.2012 / 00:59
3
 mkimage -A arm -O linux -T kernel -C gzip … -d vmlinux uImage

Mude gzip no exemplo acima para nenhum , e você criará uma imagem descompactada compatível com o u-Boot.

    
por 06.05.2014 / 00:31
1

Se você estiver usando o Buildroot, selecione um arquivo de saída do kernel uImage ( BR2_LINUX_KERNEL_UIMAGE=y ). Compile normalmente e o Buildroot também criará um arquivo vmlinux em uma etapa intermediária. Embora o arquivo vmlinux não seja copiado para o diretório /output/images , ele pode ser encontrado em ./output/build/linux-custom/ (ou executando find . -name "vmlinux" ).

    
por 31.07.2014 / 21:52