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
556 B
Bash
Executable File
17 lines
556 B
Bash
Executable File
#!/bin/sh
|
|
# build-payload.sh — pack krane-fb-stub.bin + krane DTB into a signed
|
|
# depthcharge kernel image using devkeys (fits USB-boot testing with
|
|
# dev_boot_usb=1; not for internal storage without explicit confirmation).
|
|
set -e
|
|
cd "$(dirname "$0")"
|
|
|
|
PYTHONPATH=src/depthcharge-tools python3 -m depthcharge_tools.mkdepthcharge \
|
|
-A arm64 \
|
|
-o krane-fb-stub-payload.bin \
|
|
-n "krane-fb-stub framebuf test" \
|
|
-d krane-fb-stub.bin \
|
|
-b krane-sku176.dtb
|
|
|
|
echo "---- verify ----"
|
|
futility vbutil_kernel --verify krane-fb-stub-payload.bin
|