34 lines
3 KiB
Markdown
34 lines
3 KiB
Markdown
# 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 1` only (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)
|
||
1. `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`.
|
||
2. Full power-off → normal power-on: expect the splash ~0.4 s after LK start → lk2nd extlinux `b9c` → Linux fbcon. Check UART + operator.
|
||
3. 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.
|