Eu tentei inicializar um kernel da linha principal em um Beagle Bone Black, A compilação correu bem, e eu tenho o zImage, no front do uboot eu tenho o MLO e os arquivos u-boot.img.
Estou seguindo as instruções do elinux.
link
Agora, quando eu inicio a placa, Segurando o S2 que força a inicialização do cartão microSD, eu tenho o meu prompt do uboot e o kernel também é pego e carregado, mas o procedimento de inicialização fica preso aqui.
[ 1.645505] Waiting for root device ...
[ 1.654437] mmc1: new high speed MMC card at address 0001
[ 1.660920] mmcblk1: mmc1:0001 S10004 3.56 GiB
[ 1.666011] mmcblk1boot0: mmc1:0001 S10004 partition 1 4.00 MiB
[ 1.672479] mmcblk1boot1: mmc1:0001 S10004 partition 2 4.00 MiB
[ 1.679915] mmcblk1: p1 p2
mmcblk1 tem que ser o módulo de memória mmc onboard e mmcblko é o cartão que estou inicializando.
1.542889] mmc0: o host não suporta a leitura de um switch somente leitura, assumindo a capacidade de gravação
[ 1.554351] mmc0: new high speed SDHC card at address aaaa
[ 1.561019] mmcblk0: mmc0:aaaa SS08G 7.40 GiB <-- Size match
[ 1.567951] mmcblk0: p1 p2
O conteúdo do arquivo uEnv.txt é o seguinte.
bootdir=
bootfile=zImage
fdtfile=am335x-boneblack.dtb
loadaddr=0x80007fc0
fdtaddr=0x80F80000
loadfdt=fatload mmc 0:1 ${fdtaddr} ${fdtfile}
loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile}
uenvcmd=mmc rescan; run loaduimage; run loadfdt; run fdtboot
fdtboot=run mmc_args; run mmcargs; bootz ${loadaddr} - ${fdtaddr}
mmc_args=setenv bootargs console=${console} ${optargs} root=${mmcroot}
rootfstype=${mmcrootfstype}
Eu posso fornecer registros adicionais conforme necessário, pois eles ocuparão muito espaço aqui e pastebin não é uma solução de longo prazo se essa questão for ajudar os outros.