Como instalar a inicialização herdada do Das U-Boot no x86 IBM-PC?

Como instalar a inicialização herdada do Das U-Boot no x86 IBM-PC?

O U-Boot éambosbootloader de primeiro e segundo estágio, como FSBL em um IBM-PC ele deve caber no primeiro446 bytes(ou menos) antes do MBR no primeiro setor.

Há também um carregador de boot de estágio 1.5 que usa o código FSBL para ler 31.744 bytes do disco e pular para ele (setor 1 a 62, já que a primeira partição compatível com DOS pode iniciar no setor 63). Acredito que não seja o caso do U-Boot.

Não estou procurando UEFI nem kexec, e prefiro que não exija coreboot ou outro código de bootloader, eu tenholeré possível, mas ninguém deixou claro como.

Qual configuração devo usar? Link do Chromebook ou Edison? Ele gerará um pedaço de 446 bytes para colocar no MBR? devo colocar algo no setor 1 a 62? Acredito que não vai caber no estágio 1.5, como é que vou encontrar o resto no disco?

Responder1

Embora o U-Boot suporte x86hardware, não inclui suporte para BIOS x86firmware.

Portanto, o primeiro passo para usar o U-Boot em um PC x86 legado seria substituir o BIOS por seu próprio firmware personalizado que inclua o primeiro estágio do U-Boot.

Depois de fazer isso, as antigas convenções de inicialização do BIOS, como carregar um código de inicialização de 446 bytes do bloco nº 0 do primeiro disco rígido, não serão mais aplicadas e as convenções do U-Boot serão usadas.

Obviamente, a substituição do BIOS exige que seu firmware personalizado primeiro seja capaz de lidar com a inicialização do chipset do sistema e testar e ativar a RAM após uma inicialização a frio. Em hardware de PC, isso pode ser um desafio maior do que você esperava, pois a documentação de programação do chipset pode não estar facilmente disponível para todos os chipsets de PC.

O U-Boot não é um gerenciador de inicialização compatível com BIOS nem um substituto fácil para o BIOS; quando sua documentação diz que suporta x86, significa apenas que o U-Boot pode ser facilmente integrado a projetos de hardware que usam um processador x86 em hardware personalizado.

Parece que você está confundindo a terminologia específica do GRUB Legacy (primeiro estágio, segundo estágio, estágio 1.5) com uma terminologia de design de sistemas mais genérica para carregadores de boot.

No sentido de design de sistemas, em um PC x86 legado com o objetivo de rodar Linux,o BIOSé o bootloader de primeiro estágio: ele é organizado em ROM (ou flash EEPROM) para ser a primeira coisa que o processador executará após uma reinicialização a frio, e sua função é inicializar o hardware necessário e carregar um programa relativamente compacto a partir de um arquivo fixo ou caso contrário, localização bem definida.

No sentido de design de sistemas, todo o GRUB seria um gerenciador de inicialização de segundo estágio. O GRUB Legacy também é dividido em componentes chamados “estágios”, mas são apenas divisões internas do GRUB que foram criadas para contornar as restrições do BIOS legado; Os estágios do GRUB não são iguais ao design dos sistemasbootloader de primeiro/segundo estágioterminologia.

informação relacionada