uzbek-plus/docs/RECOVERY.md
q 105bef466a Project Aurora: mainline ARM64 Linux on JZ08AU (MSM8916) LTE modem
Sanitized research log, build/reproducibility docs, DTS, kernel configs,
patches, initramfs sources, bootchain migration plans and test logs.
B5 direct boot PASS; B6 modem lifecycle in progress.
No dumps, NV/EFS, vendor firmware or device identifiers included.
2026-09-30 17:23:18 +03:00

45 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# RECOVERY — аппаратный EDL и откаты
> Перед любыми записями пользователь обязан сделать и **проверить** backup СВОЕГО устройства (QUICKSTART, шаг 5).
> Не прошивайте наши device-specific разделы (NV/EFS, persist, GPT-бинарники, orig-* копии) — их и нет в репозитории.
## Аппаратный EDL (05c6:9008) — проверено 3/3 до и после миграции
1. Аккумулятор **подключён**, USB отключён.
2. Временно замкнуть линию USB **D+ на GND**.
3. Подключить USB-C к хосту.
4. Отпустить D+.
5. На хосте: `lsusb` → `05c6:9008` (Qualcomm HS-USB QDLoader).
Вход выполняет stock SBL1 (UART: `SBL1, Start … clock_init, Delta` → тишина) до загрузки TZ/HYP/aboot, поэтому путь
не зависит от того, что записано в tz/hyp/aboot/boot/cache. Если повреждены GPT/SBL1 — PBL уходит в EDL сам.
Выход из EDL: полное обесточивание (USB, затем аккумулятор).
Не работает как EDL: кнопка RESET (PM8916 RESIN) при включении — проверено, отозвано (NOTES сессия 7c).
Программно: `adb reboot edl` (stock), `fastboot oem reboot-edl` (lk1st/lk2nd).
## fastboot
- lk1st autoboot: зажатый RESET (RESIN = KEY_VOLUMEDOWN) при включении → fastboot (по исходнику; на железе не проверялось).
- `recovery` = lk2nd 23.1: fastboot всегда. Внимание: lk2nd собран с `LK2ND_PARTITION_BASE=boot` — **никогда**
`fastboot flash lk2nd/boot` через него.
- `fastboot boot <img>` работает в lk1st и lk2nd (RAM boot, без записи).
## Откаты стадий
Скрипты откатов (`b5a/A4-rollback.sh`, `b5b/B5b-rollback.sh`, `bootchain-migration/WRITE-PLAN.md` раздел Rollback)
записывают **сохранённые копии оригинальных разделов этой же платы** (`orig-*`, `backup/`) — в репозитории их нет.
Для своей платы подставьте свои копии из backup и пересчитайте LBA/размеры.
| стадия | что менялось | откат |
|---|---|---|
| B5b | cache | записать свой оригинальный cache |
| B5a | boot, aboot | свой stock boot; aboot = lk1st (forced fastboot) или stock aboot |
| S3 | tz, hyp | свои stock tz-область (1 MiB) и hyp |
| S2 | GPT primary/backup, tzbak-промежуток | свои оригинальные GPT (LBA 0..33, последние 33 сектора) и промежуток |
| S1 | aboot | свой stock aboot |
## Безопасное выключение
`poweroff -f` из RAM-Linux перезапускает SoC (NOTES 13b). Выключение = ручное обесточивание; это безопасно в любой момент:
rootfs в RAM, eMMC в Linux read-only, EFS модема в RAM (`rmtfs -r`).