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 uImageformato, que contém os vmlinuxbytes 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 mkimageutilitá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 uImagearquivo de saída do kernel ( BR2_LINUX_KERNEL_UIMAGE=y). Compile normalmente e o Buildroot também criará um vmlinuxarquivo em uma etapa intermediária. Enquanto o vmlinuxarquivo não é copiado para o /output/imagesdiretório, ele pode ser encontrado ./output/build/linux-custom/(ou executando find . -name "vmlinux").