Skip to content

Latest commit

 

History

History
232 lines (157 loc) · 16.5 KB

downgrade_fw.md

File metadata and controls

232 lines (157 loc) · 16.5 KB
permalink title author_profile
/downgrade_fw.html
Даунгрейд и восстановление прошивки
true

{% include toc title="Разделы" %}

Этот гайд для даунгрейда прошивки и для тех, у кого приставка не включается, но цел раздел PRODINFO, либо есть его бекап (атмосфера 0.8.1 и выше бекапит PRODINFO на карту автоматически). Для обновления прошивки воспользуйтесь этой инструкцией!

Это ОЧЕНЬ сложный и комплексный метод. ОБЯЗАТЕЛЬНО сделайте бекап{:target="_blank"} своей текущей прошивки до того, как начнёте выполнение этого метода. ОБЯЗАТЕЛЬНО. {: .notice--danger}

Что понадобится

Инструкция

Часть I - Резервное копирование NAND

Этот пункт нужно делать обязательно! Для продолжения работы нам понадобятся уникальные ключи именно вашей приставки! Без шуток! Вероятность, что что-то пойдёт не так много выше нуля, без бекапа вы ничего не сможете исправить. Ну и обязательно нужен дамп ключей. {: .notice--danger}

  1. Создайте резервную копию NAND{:target="_blank"} консоли и поместите её в надёжное место
  2. Установите .7z-архив {% include abbr/kefir_addr.txt %}, согласно инструкции в репозитории, если ещё не делали этого

Часть II - Перепаковка прошивки под вашу систему

  1. Распакуйте .zip-архив с ChoiDujour{:target="_blank"} в удобную папку

  2. Распакуйте .zip-архив с ключами в папку ChoiDujour таким образом, чтобы файл keys.txt лежал в той же директории, что и ChoiDujour.exe

  3. Распакуйте .zip-архив с прошивкой 6.1.0 в папку ChoiDujour таким образом, чтобы папка с прошивкой лежала в той же директории, что и ChoiDujour.exe

  4. Откройте файлы keys.txt и prod.keys (бекап ваших ключей) с помощью программы notepad++{:target="_blank"}, который у вас получился в ходе выполнения "Части I"

  5. Скопируйте значение строки "secure_boot_key" из файла prod.keys вместо XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX в поле "secure_boot_key" в файле keys.txt

  6. Скопируйте значение строки "tsec_key" из файла prod.keys вместо XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX в поле "tsec_key" в файле keys.txt

    ![]({{ base_path }}/images/screenshots/keys.png) {: .text-center} {: .notice--info}

  7. Запустите командную строку в папке ChoiDujour (вызовите контекстное меню с зажатой клавишей Shift, нажав на свободное место в папке, и выберите "Открыть Командную строку здесь" или "Открыть окно PowerShell здесь")

  8. В открывшемся окне наберите:

    • Для powershell: .\ChoiDujour.exe --keyset=keys.txt название_папки-с-прошивкой
    • Для командной строки: ChoiDujour.exe --keyset=keys.txt название-папки_с_прошивкой
  9. Дождитесь окончания перепаковки. В результате вы получите папку NX-6.1.0

Часть III - Подготовка карты памяти

{% capture notice-6 %}
ВНИМАНИЕ!!! Если вы в процессе выполнения руководства увидите диалоговое окно, с предложением отформатировать диск - нажмите отмена!!

![]({{ base_path }}/images/screenshots/format.png) {: .text-center} {% endcapture %}

{{ notice-6 | markdownify }}
  1. Выключите консоль
  2. Вставьте карту памяти приставки в ПК
  3. Убедитесь, что включили отображение расширений файлов{:target="_blank"}, если у вас Windows
  4. Скопируйте содержимое папки sample из .zip-архива с memloader{:target="_blank"} в корень вашей карты памяти
  5. Скопируйте пейлоад memloader.bin в папку bootloader/payloads
  6. Верните карту памяти обратно в Switch {% include inc/launch-hekate.txt %}
  7. Перейдите в меню "Payloads"
  8. Выберите "memloader.bin"

Часть IV - Загрузка прошивки на устройство

{% include inc/mount_boot.txt

boot="BOOT0" 

%}

{% include inc/inject_boot.txt

boot="0" 

%}

  1. Повторите для BOOT1

{% include inc/mount_boot.txt

boot="eMMC" 

%}

Настройка eMMC через HacDiskMount

  1. Распакуйте HacDiskMount{:target="_blank"} в удобную папку

  2. Запустите HacDiskMount.exe от имени администратора

  3. Выберите "File" -> "Open Physical"

  4. Выберите UMS Linux Disk 0 (29.121GiB)

  5. Вы увидите полный список разделов, содержащихся в этом диске

    ![]({{ base_path }}/images/screenshots/hdm_disk.png) {: .text-center} {: .notice--info}

  6. Дважды нажмите на PRODINFO

  7. Откройте файл prod.keys, который мы получили при создании дампа ключей в Части I

  8. В разделе "bis_key_00" есть длинная 64-х символьная последовательность, первые 32 символа - это - "Crypto", последние - "Tweak". В файле с ключами ключи делятся попарно. В каждой паре есть так же ключ с меткой "Crypto" (crypt) и "Tweak" (tweak).

    ![]({{ base_path }}/images/screenshots/hdm_key_test.png) {: .text-center} {: .notice--info}

  9. Скопируйте ключи соответственно их меткам из текстового файла prod.keys в окно программы и нажмите кнопку "Test"

  10. Рядом с кнопкой высветится надпись зелёного цвета (OK! Enthropy: (tested)), то ключ скопирован верно - нажмите кнопку "Save" и закройте окно (не программу!)

    • Если после тестирования надпись красная - вы скопировали не верную пару!
  11. Повторите ту же самую процедуру для разделов SAFE, SYSTEM и USER, прописав им пары "bis_key_01", "bis_key_02" и "bis_key_03" (два последних кюча одинаковые - это нормально) соответственно

    • Обращайте внимание на результат тестирования и не забывайте нажимать кнопку "Save"
  12. Дважды нажмите на PRODINFO

  13. В открывшемся окошке уже будут вбиты ключи. Протестируйте их и удостоверьтесь, что результат зелёный. Закройте окно не сохраняя.

Перенос образов BCPKG2

  1. Дважды нажмите на BCPKG2-1-Normal-Main

  2. Убедитесь, что поля для ключей пустые. Если это не так, отчистите их

  3. В секции "Restore from file" нажмите "Browse"

    ![]({{ base_path }}/images/screenshots/hdm_bcpkg21-nm.png) {: .text-center} {: .notice--info}

  4. Выберите BCPKG2-1-Normal-Main.bin, который находится в папке NX-6.1.0, которую мы сгенерировали в Части III

  5. Нажмите кнопку "Start"

  6. После окончания загрузки закройте окно (не программу!)

  7. Повторите то же самое для BCPKG2-2-Normal-Sub, BCPKG2-3-SafeMode-Main и BCPKG2-4-SafeMode-Sub

    • Убедитесь, что прошиваете файлы с названиями, идентичными названиям разделов!
    • Не забывайте стирать ключи, если таковые будут

Удаление файлов из раздела SAFE

{% include inc/mount.txt

mount="SAFE" 

%}

  1. Если на диске есть файлы - удалите их все!
  2. После окончания отмонтируйте диск, нажав на кнопку "Unmount" в окне HacDiskMount

Монтирование раздела SYSTEM

{% include inc/mount.txt

mount="SYSTEM" 

%}

Выберите один из методов:

Метод 1 - Полная инициализация системы

Пойдя этим путём вы удалите все данные из консоли, включая аккаунты, игры и сохранения. Однако этот путь более безопасный и не приведёт к проблемам в дальнейшем

  1. Выделите все файлы на диске и удалите их!
Метод 2 - Сохранение настроек

Это экспериментальный метод! Он может не сработать при попытке в дальнейшем понизить прошивку!

  1. Удалите папку "Content"
  2. Удалите "PRF2SAFE.RCV", если таковой имеется
  3. Перейдите в папку save и удалите файл 8000000000000047

Копирование файлов в раздел SYSTEM

  1. Перейдите в папку NX-6.1.0, которую мы сгенерировали в Части III и скопируйте всё содержимое папки SYSTEM на смонтированный диск с заменой (объединить на macOS)
  2. После окончания копирования отмонтируйте диск, нажав на кнопку "Unmount" в окне HacDiskMount

Монтирование раздела USER

{% include inc/mount.txt

mount="USER" 

%}

Выберите один из методов:

Метод 1 - Полная инициализация системы

Пойдя этим путём вы удалите все данные из консоли, включая аккаунты, игры и сохранения. Однако этот путь более безопасный и не приведёт к проблемам в дальнейшем

  1. Выделите все файлы на диске и удалите их!
Метод 2 - Сохранение настроек
  1. Удалите "PRF2SAFE.RCV", если таковой имеется

Копирование файлов в раздел USER

  1. Перейдите в папку NX-6.1.0, которую мы сгенерировали в Части III и скопируйте всё содержимое папки USER на смонтированный диск с заменой (объединить на macOS)
  2. После окончания копирования отмонтируйте диск, нажав на кнопку "Unmount" в окне HacDiskMount
  3. Закройте HacDiskMount
  4. Выключите Switch, зажав кнопку (POWER) на 15 секунд, пока подсветка экрана не отключится

Часть V - AutoRCM

AutoRCM - на консоли специальным образом портится BOOT0, вследствие чего консоль не может загрузиться прямо в систему и загружается автоматически в режим RCM. Достаточно просто включить консоли и она автоматически попадёт в режим восстановления. Не нужно зажимать комбинацию кнопок и использовать замыкатель, но пейлоад для запуска прошивки всё равно передавать нужно! {: .notice--info}

{% include inc/launch-hekate.txt %}

  1. Перейдите в раздел "Tools" -> "autoRCM" и выберите "Enable AutoRCM", затем нажмите любую кнопку и выберите "Back" для возвращения в главное меню
  2. Проверьте не сгорели ли после обновления предохранители, выполнив ещё раз Часть III{:target="_blank"}

Теперь приставка всегда при включении будет находится в режиме RCM. Не отключайте AutoRCM, если не хотите сжечь предохранитель. Единственная загрузка консоли вне этого режима гарантированно сожжёт предохранитель!

Важно знать

  • Даже один единственный запуск приставки в официальную прошивку не через hekate сожжёт предохранители, которые мы так отчаянно пытались сохранить
  • Если после прошивки вам предложат обновить контроллеры - обновляйте

{: .notice--success}