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.)