Booting an x86-64 BIOS Machine
Simon Glass
sjg at chromium.org
Wed Nov 15 04:11:46 CET 2023
Hi Desone,
On Tue, 14 Nov 2023 at 17:43, Desone Burns <dburns at seegrid.com> wrote:
>
> Hello,
>
> I have an application in which I need to boot an x86-64 machine with a
> legacy BIOS. I've read about the U-Boot executable, the SPL, and the
> TPL. I'm just having a bit of trouble figuring out which pieces are
> supposed to go where. Looking to Grub, I see there exists a minimal
> "boot.img" file, which gets installed into the MBR of the drive and
> subsequently bootstraps the rest of the sequence. My impression was
> that either the TPL or the SPL would play that same role, but even
> removing basically all options, the binary produced is still too large
> to fit in this 512 Byte area. Syslinux also works on my device, and
> the "mbr.bin" and "gptmbr.bin" files play the same role for that
> bootloader. How can I make optimizations to generate an image small
> enough to fit into the MBR of my device to allow BIOS to load the rest
> of the bootloader?
Normally U-Boot would go in the SPI flash. If you are wanting to put
U-Boot on a disk, then I suspect you need some code in the MBR to load
it into RAM.
Something like [1] perhaps?
For that case, I doubt you need TPL and SPL...we use those on newer
x86 machines, e.g. Apollo Lake - see [2]
Regards,
Simon
[1] https://thestarman.pcministry.com/asm/mbr/STDMBR.htm
[2] https://docs.u-boot.org/en/latest/board/google/chromebook_coral.html?highlight=coral
More information about the U-Boot
mailing list