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.
3.2 KiB
RECOVERY — аппаратный EDL и откаты
Перед любыми записями пользователь обязан сделать и проверить backup СВОЕГО устройства (QUICKSTART, шаг 5). Не прошивайте наши device-specific разделы (NV/EFS, persist, GPT-бинарники, orig-* копии) — их и нет в репозитории.
Аппаратный EDL (05c6:9008) — проверено 3/3 до и после миграции
- Аккумулятор подключён, USB отключён.
- Временно замкнуть линию USB D+ на GND.
- Подключить USB-C к хосту.
- Отпустить D+.
- На хосте:
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).