Pessoal boa noite,
recentemente ganhei uma BBB e comecei a estudar o processo de boot dela, o processo de boot de um modo geral eu já tenho algum conhecimento, mas quero entender alguns detalhes,vamos la:
pelo o que eu entendi o processo se resume a:
ROM code > checa configuração de boot no coldstart (alterado pelo botão de boot) e procura uma imagem do MLO no MMC selecionado (eMMC ou SD CARD) > carrega o x-loader dessa imagem na SRAM > x-loader inicia RAM e carrega U-Boot nela >
U-Boot procura pelo uEnv.txt (?) e carrega a imagem do kernel (??) para a RAM seguindo o script > kernel monta o RootFS e inicia user space
Vamos la:
(?) o U-Boot irá procurar pelo uEnv.txt em qual particao? SD ou eMMC?
(??) a imagem do kernel carregada para a RAM será de qual partição?
Faco essas perguntas porque flasheei uma imagem do debian no meu cartao (a img para rodar, nao a eMMC flasher) e percebi que minha BBB boota por ela mesmo sem apertar o botao, então estudando mais a fundo, percebi que na verdade minha BBB boota pela imagem do eMMC e em algum momento desse boot o U-Boot (ou o x.loader, não sei) carrega o kernel? e o RootFS do meu cartão de memoria em vez das versões do eMMC, mas não consegui achar exatamente aonde isso acontece ainda, achei que seria algo scriptado no uEnv.txt, mas li ele e não me pareceu nada
Isso de o u-Boot tentar bootar pelo cartão se encontrar um ficou mais evidente com essa explicação que encontrei:
http://elinux.org/Beagleboard:MicroSD_As_Extra_Storagemostrando que para se ter um cartao SD na BBB e não bootar por ele, se deve colocar um uEnv.txt nele...
entao, aonde exatamente o U-Boot procura pelo cartao SD e oq ele usa do Cartao caso encontre um?
isso foi codificado no código fonte dele (não olhei isso ainda) ou é parte de algum outro script de init dele?
Obrigado!