From 24e62433103beb6bf970cf00d9bc6ee6eaa23a46 Mon Sep 17 00:00:00 2001 From: BarnacleBoy Date: Sun, 7 Jun 2026 22:27:49 +0000 Subject: [PATCH] armbian-install: document session log for 2026-06-07 boot recovery attempts --- README.md | 5 +++-- docs/armbian-install.md | 33 ++++++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9a90c09..bf4751f 100644 --- a/README.md +++ b/README.md @@ -4,15 +4,16 @@ A cyberdeck built from salvaged ASUS K501U laptop components and Orange Pi 3B SB ## Project Status -**Phase:** Initial bring-up — Orange Pi 3B booting from eMMC +**Phase:** Recovery — eMMC boot broken after Armbian SD card's u-boot overwrote bootloader sectors - [x] K501U salvage analysis complete - [x] Build design finalized (wooden case, TrackPoint keyboard, IP5389 power, HDMI switch, port layout) - [x] Display identified — eDP controller board ordered ($35) - [x] SBC: Orange Pi 3B 8GB/256GB — purchased and delivered -- [x] **SBC boot from eMMC — verified** (Orange Pi OS, 3-OS partition layout, multi-boot ready) +- [x] SBC boot from eMMC — ~~verified~~ **BROKEN by Armbian SD card boot attempt** - [x] Display controller board — awaiting delivery (~2 weeks) - [x] Power system — Banggood board + cells + amp ordered Jun 3 +- [ ] Bootloader repair — pending (see docs/armbian-install.md for current state) - [ ] Case fabrication - [ ] Full assembly and software configuration diff --git a/docs/armbian-install.md b/docs/armbian-install.md index ffce925..1064a8c 100644 --- a/docs/armbian-install.md +++ b/docs/armbian-install.md @@ -172,4 +172,35 @@ For the rootless-first Armbian setup (default user created on first boot), `~/.x - eMMC multi-boot setup: `docs/emmc-multiboot.md` - Initial bring-up: `docs/initial-bringup.md` - Storage architecture: `docs/storage-architecture.md` -- OPi 3B bring-up reference: `references/orangepi-3b-bringup.md` (in cyberdeck skill) \ No newline at end of file +- OPi 3B bring-up reference: `references/orangepi-3b-bringup.md` (in cyberdeck skill) + +--- + +## Session Log — 2026-06-07 Boot Recovery + +### Background +Orange Pi OS Arch was booting from eMMC (3-OS multi-boot layout, PARTITION_CONFIG=0x78). An Armbian 26.2.0 minimal (Debian Trixie, kernel 6.18.30) SD card was inserted to test booting. The Armbian image produced a black screen with underscore cursor on HDMI and hung. Upon removing the SD card, the eMMC no longer booted — same black screen / cursor symptom. + +### What Happened +The Armbian SD card's u-boot wrote bootloader data to two places: +1. **SPI NOR flash** — overwrote the previously-erased SPI chip, changing the boot priority back to SPI-first +2. **eMMC bootloader sectors** (0-32767) — overwrote the existing idbloader at sector 64 and u-boot.itb at sector 16384 with Armbian's versions + +### Recovery Attempts + +| Step | Result | +|------|--------| +| SPI erase via maskrom (`rkdeveloptool ef`) | Success (resolved by switching to a better USB-A-to-A cable) | +| eMMC bootloader rewrite — wrote Orange Pi OS's `idbloader.img` to sector 64 and `u-boot.itb` to sector 16384 from within SD-booted OPi OS | RKNS magic verified at sector 64 | +| PARTITION_CONFIG check | **0x78** — verified with `mmc extcsd read` via `mmc-utils` installed on OPi OS Arch. The register was not changed. | +| Full boot cycle (no SD) | Still hangs: black screen + underscore cursor | + +### Diagnostic Signals +- **Green LED:** flashes a quick heartbeat pattern before the hang — the kernel starts booting (extlinux.conf is found, the kernel loads and begins executing) but doesn't complete init +- The underscore cursor is the kernel's framebuffer console — it initialized fbcon but never reached userspace + +### Still Pending (next session) +1. **Check extlinux.conf on eMMC p1** — mount `/dev/mmcblk0p1` from the SD-booted system and verify the `LINUX`, `INITRD`, `FDT` paths exist and `root=PARTUUID=` matches p2's PARTUUID +2. **Check rootfs health on p2** — mount `/dev/mmcblk0p2` and verify filesystem integrity (look for corruption from all the power cycles / failed boots) +3. **Check kernel + initrd file existence on p1** — the files that extlinux.conf references might have been deleted or corrupted during the Armbian u-boot write +4. **Try a kernel panic capture** — add `panic=10` to the APPEND line in extlinux.conf to see if the kernel panics on a missing rootfs before the display driver initializes \ No newline at end of file