Let's run the bootloader/OS
but ...
but ...
Payloads that use libpayload
Situation in comercial BIOS:
Situation in comercial EFI:
Community efforts in coreboot:
Replaced by libgfxinit on x86:
In general:
#define LB_TAG_FRAMEBUFFER 0x0012
struct lb_framebuffer {
uint32_t tag;
uint32_t size;
uint64_t physical_address;
uint32_t x_resolution;
uint32_t y_resolution;
uint32_t bytes_per_line;
uint8_t bits_per_pixel;
uint8_t red_mask_pos;
uint8_t red_mask_size;
uint8_t green_mask_pos;
uint8_t green_mask_size;
uint8_t blue_mask_pos;
uint8_t blue_mask_size;
uint8_t reserved_mask_pos;
uint8_t reserved_mask_size;
};
facts
pro
con
facts
secondary payloads:
pro
con
facts
pro
con
Note: memtest86 is VGA text mode only
enable CMOS support for nvramcui
Task:
Select Tianocore as payload and select "debug build":
Select "high-resolution" frambuffer in Devices > Display :
Remove the file:
$ rm payloads/external/tianocore/patches/05_CorebootPayloadPkg_noserial.patch
Build coreboot.rom
Run it in qemu:
$ make
$ qemu-system-x64_86 -m 2048 -M q35 -bios build/coreboot.rom