Как прошить кастомное рекавери с помощью heimdall (не трогая основную систему)?

Первым рекомендуемым шагом при установке CyanogenMod на Samsung Galaxy S является прошивка кастомного рекавери, такого как ClockworkMod или рекавери от Replicant, с помощью команды вроде:

heimdall flash --kernel path/to/recovery.img

Теперь я чувствую, что инструкции могут вводить в заблуждение:

Я сделал первый шаг, желая просто иметь собственный режим восстановления, не переходя к замене основной ОС на устройстве.

Кажется, я сделал это неправильно, потому что устройство теперь всегда загружается в режиме восстановления.

Какой будет правильная команда heimdall, чтобы просто установить пользовательскую систему восстановления, не касаясь основной системы?

Это сработало для меня. Но, насколько я знаю, это зависит от версии вашего стандартного ПЗУ: некоторые пользовательские восстановления могут его загрузить, другие - нет. Я думаю, что нет общего пути.
@Flow Итак, режим восстановления и обычный режим должны использовать одно и то же изображение при загрузке? Я думал, что, возможно, есть два разных образа для разных режимов загрузки, и я по ошибке заменил не тот, и в этом источник моей проблемы: загрузка всегда в систему восстановления (независимо от того, были ли нажаты другие клавиши при включении ) после того, как выполнил команду прошивки из поста, хотя очень хотелось бы загрузить старую основную систему.
Нет, если кастомное ядро/рекавери всегда загружается в рекавери, то обычно это признак того, что оно не может найти/загрузить обычную систему.
Ему просто нужно было перезапустить команду print-pit, а затем прошить свой boot.img в раздел, где он прошил recovery.img, нет? По моему опыту, они почти всегда рядом друг с другом.

Ответы (4)

Это зависит от вашего файла раздела PIT.

Прежде чем что-либо делать с помощью heimdall, распечатайте таблицу разделов вашего телефона.

sudo heimdall print-pit

Результатом файла является местоположение, назначенное каждому разделу. Например, на моем Galaxy S3 у меня есть что-то вроде этого:

--- Entry #20 ---
Binary Type: 0 (AP)
Device Type: 2 (MMC)
Identifier: 19
Attributes: 5 (Read/Write)
Update Attributes: 1 (FOTA)
Partition Block Size/Offset: 491520
Partition Block Count: 32768
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: Kernel2
Flash Filename: recovery.img
FOTA Filename:

Теперь это говорит мне о 3 основных вещах:

  • Назовите файл прошивки:recovery.img
  • Расположение идентификатора19
  • И, наконец, имя раздела восстановленияKernel2

Что это значит?

Это означает, что если я хочу прошить образ восстановления, я должен использовать либо идентификатор 19, либо имя Kernel2.

sudo heimdall flash --19 any-type-of-recovery.img

или

sudo heimdall flash --Kernel2 any-type-of-recovery.img

Итог: Посмотрите на pit-файл, чтобы выяснить, куда прошивать рекавери.

Привет, Мел

Просто примечание для других: если recovery.imgфлэш-память прошла успешно, но вы позволили своему устройству перезагрузиться в обычном режиме сразу после этого, загрузочный образ, скорее всего, удалит пользовательский образ восстановления. Либо используйте adb, либо используйте комбинацию клавиш режима восстановления, как только heimdall будет успешным.

Один из эффективных способов работы с Хеймдаллем — просто запустить

sudo heimdall flash --RECOVERY twrp.img

У меня работал на S3 AT&T

Затем, когда телефон перезагрузится, зайдите в рекавери через

adb reboot recovery

Я также использовал --no-rebootфлаг. В противном случае система загружалась, а позже официальное восстановление казалось переустановленным, поэтому я не мог войти в TWRP. И кстати спасибо.

Я не знаю сопоставления разделов SGS, поэтому могу предложить только графический интерфейс (heimdall-frontend) и выбрать только раздел восстановления. Что касается восстановления исходной системы, я предлагаю перепрошить исходное ПЗУ, не касаясь /data. Но сначала сделайте резервную копию, используя расширенное пользовательское восстановление, подобное этому, если это возможно: http://forum.xda-developers.com/showthread.php?t=2201860 (ключевой функцией является пользовательское резервное копирование/восстановление) .

Но что, если я уничтожу исходную ОС при прошивке кастомного рекавери? В моем случае я прошил кастомное рекавери, но после этого ОС не загружается... что может пойти не так? Это то, чего я не ожидал: я просто хочу прошить кастомное рекавери, но не устанавливать новую основную ОС. Теперь я вынужден это сделать.
heimdall flash --Recovery /Path/recovery.img --Kernel /Path/recovery.img

Установка Replicant OS Recovery