Eu quero usar uma imagem de kernel descompactada e inicializar o BeagleBoard. Geralmente eu uso o uImage para inicializar o kernel que está no formato compactado. Como uso uma imagem de kernel descompactada?
Eu quero usar uma imagem de kernel descompactada e inicializar o BeagleBoard. Geralmente eu uso o uImage para inicializar o kernel que está no formato compactado. Como uso uma imagem de kernel descompactada?
Respostas:
Até onde eu sei, o U-Boot não pode inicializar diretamente uma imagem ELF "bruta" ( vmlinux
). Você precisa transformá-lo no uImage
formato, que contém os vmlinux
bytes compactados mais alguns bytes extras de metadados que descrevem o endereço de carregamento do kernel. U-Boot FAQ 2.19 explica como gerar uImage
; é bastante simples, usando o mkimage
utilitário na árvore de origem 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 carregamento.)
Se você estiver usando o Buildroot, selecione um uImage
arquivo de saída do kernel ( BR2_LINUX_KERNEL_UIMAGE=y
). Compile normalmente e o Buildroot também criará um vmlinux
arquivo em uma etapa intermediária. Enquanto o vmlinux
arquivo não é copiado para o /output/images
diretório, ele pode ser encontrado ./output/build/linux-custom/
(ou executando find . -name "vmlinux"
).