3 KiB
3 KiB
B9L-PERSIST — lk1st with ST7735S splash: build done, write NOT done (waiting for a separate GO)
Images
| file | size | sha256 | |
|---|---|---|---|
| unsigned | lk1st-b9l-unsigned.mbn | 446664 B | 16f9ec0ad8289fbf62acfa05733025fd254503229cf9cf5266ec190ecbd35ec7 |
signed (qtestsign 0eef3b5 -v 3 aboot) |
aboot-lk1st-b9l.mbn | 367380 B | 0ddbc29a6bbdf0c8ba280dd7a4eaad793531600bce32528a92d59c9110f6bd0a |
| final (zero-padded to the aboot partition, 1 MiB) | aboot-lk1st-b9l.pad1M | 1048576 B | 15208dbb4feafccd72d2b06db5714cd746c216701f0ef8822c58bb47105d37c4 |
| current aboot (B5a) for comparison/rollback | b5a/aboot-lk1st-aurora-autoboot.pad1M | 1048576 B (signed 327196) | 3b8cd266… (unsigned 33c452e4, signed 7b3fb5b3) |
Reproducibility: a clean lk2nd 23.1 e9c8b217 clone with the same command (lk1st-msm8916 LK2ND_BUNDLE_DTB=msm8916-512mb-mtp.dtb) + the same
qtestsign gives 33c452e4 → 7b3fb5b3 → 3b8cd266, i.e. bit-identical to the flashed aboot. The B9L build differs only by the patch and the flags.
Difference from the current lk1st
- config.h:
+AURORA_SPLASH 1,+WITH_LK2ND_AURORA 1only (config-vs-current-lk1st.diff). - Objects: NEW lk2nd/aurora/st7735s.o, platform/msm_shared/spi_qup.o; changed platform/msm8916/{gpio,acpuclock,msm8916-clock}.o, lk2nd/version/tag.o ("23.1-dirty"). Everything else is identical (normalised objdump compare).
- st7735s.o, spi_qup.o, gpio.o, acpuclock.o, msm8916-clock.o are identical to the RAM-tested B9L lk2nd (e6849a2b, formal PASS).
- ELF: the same 4-phdr layout. LOAD 0x8f600000 filesz 0x49b0c (was 0x3fe14), memsz 0x82dd8 (was 0x76dd0) → heap up to 0x8f700000 = 500 KiB (was 548); the hash segment is at 0x8f683000, after the image.
- Present in the final image: all [B9L …] log strings, "frame source: splash image", the 32768-byte splash blob (×1). No "Fastboot mode was forced" (autoboot kept).
- Behaviour change: every lk1st start (normal boot and RESET fastboot) runs the panel init (+~380 ms) before lk2nd boot/fastboot.
Plan (after GO only; on 480s; board in HW EDL 9008)
b9/b9l/persist/B9L-write.sh:- G0: loader sha, candidate 15208dbb/1 MiB, rollback image 3b8cd266/1 MiB, 9008 present.
- G1: printgpt + serial, aboot geometry 0x8100000/0x100000, GPT == A3, boot == e9579f33, cache == B9C b9ce13c9.
Backup: live aboot read to
logs/b9/b9l/W/pre-aboot.bin, must be 3b8cd266. - W: write aboot only → readback → cmp → ABOOT_MATCH.
- V: GPT p/b, tzbak, boot, cache, sbl1 rpm tz hyp recovery modemst1/2 fsg fsc persist == A3, modem/system/userdata == A4pre →
B9L_ABOOT_WRITE_VERIFIED.
- Full power-off → normal power-on: expect the splash ~0.4 s after LK start → lk2nd extlinux
b9c→ Linux fbcon. Check UART + operator. - Rollback if anything fails (lk1st does not start / no UART / boot regression): HW EDL →
b9/b9l/persist/B9L-rollback.sh→ aboot := 3b8cd266 (boot/cache untouched). If readback mismatches during the write: do not reboot, run the rollback at once.