Minimal freestanding arm64 binary that depthcharge boots as a kernel: parses depthcharge's /firmware/coreboot DTB node, walks the coreboot table, finds LB_TAG_FRAMEBUFFER, and paints red/yellow/green/blue checkpoints (~2s each) into the live boot-splash framebuffer. Verified against coreboot tables header, Linux arm64 booting.rst, and depthcharge's fit.c/boot64.c. Host parser tests pass against the live /sys/firmware/fdt; full red->yellow->green->blue sequence verified end-to-end under qemu-system-aarch64; packed image verifies with the ChromeOS devkeys.
17 lines
393 B
Plaintext
17 lines
393 B
Plaintext
OUTPUT_FORMAT("elf64-littleaarch64")
|
|
OUTPUT_ARCH(aarch64)
|
|
ENTRY(_start)
|
|
SECTIONS
|
|
{
|
|
. = 0;
|
|
|
|
.head : { KEEP(*(.head)) }
|
|
.text : { *(.text*) }
|
|
.rodata : { *(.rodata*) *(.srodata*) }
|
|
.data : { *(.data*) *(.sdata*) *(.stacksec) }
|
|
.bss : { *(.bss*) *(COMMON) }
|
|
|
|
/DISCARD/ : { *(.eh_frame*) *(.comment) *(.note*) }
|
|
ASSERT(SIZEOF(.bss) == 0, "non-empty .bss: image_size would not cover it")
|
|
}
|