Что делает перепрошивку ПЗУ рискованной?

Я хотел бы поиграть с разработкой ПЗУ для Android в учебных целях и, возможно, я смогу разветвить свой текущий ПЗУ и изменить в нем интересные вещи.

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

Насколько я знаю , если загрузчик не тронут, перепрошивка даже мусора должна оставить устройство ремонтопригодным, так как все еще можно перейти в режим прошивки и прошить новый ром, потому что с загрузчиком все в порядке. Верно?

Также я предполагаю, что плохое программное обеспечение не может повредить оборудование, не так ли? (Мне нужна веская причина, если вы скажете «да»)

Так что теоретически мое устройство не может сломаться при перепрошивке и попытке использования пользовательского ПЗУ, даже если оно неисправно или даже во время прошивки возникает ошибка, не так ли? (учитывая, что я не трогаю загрузчик)

Обычно разработчики ПЗУ добавляют определенные проверки, называемые asserts, в zip-файлы updater-script, которые прерывают установку, если ваше устройство не подтверждено как совместимое. Очевидно, что это не роскошь, которую вы имеете, если создаете ПЗУ самостоятельно (то есть, если вы не добавляете проверки вручную). Подводя итог, если вы создаете собственное ПЗУ со своим собственным zip-архивом, вы должны позаботиться о том, чтобы не перезаписать загрузчик, перезаписать только раздел, (необязательно) перезаписать /systemдля /dev/block/platform/msm_sdcc.1/by-name/bootустановки пользовательского ядра и проявить большую осторожность, чтобы не очистить таблицу разделов по ошибке. .
@DeathMaskSalesman ... и действительно ли устройство блокируется, если оно установлено, даже если оно несовместимо? Также хм сбрасывает таблицу разделов ..
Сброс таблицы разделов , да. Попробуйте что-то подобное, dd if=/dev/null of=/dev/mmcblk0только если вы хотите, чтобы ваш телефон погиб. Более того, ваше устройство должно просто «софт-кирпич», если вы прошиваете несовместимые прошивки, при условии, что ничего, кроме /system, /bootи необязательно /dataбудет перезаписано. Иными словами, пока ваш загрузчик и/или таблица разделов не повреждены, нет ничего, от чего вы не сможете восстановиться.

Ответы (1)

Как указал продавец масок смерти, вы должны быть уверены, что сам процесс перепрошивки не перезаписывает таблицу разделов или загрузчик. Но даже если перепрошивка сама по себе не вызывает неустранимой проблемы, неисправное ПЗУ все же может сломать аппаратную часть телефона.

Вот пример из реальной жизни, когда я работал над интеграцией ПЗУ. Один из моих коллег испортил оборудование для разработки, над которым мы работали, перепрошив ПЗУ, в котором в ядре были отключены дросселирование процессора и термовыключатель. Плата для разработки работала с процессором на максимальной скорости в течение нескольких минут, а затем расплавила SoC.

Аппаратное обеспечение может быть сильно повреждено драйверами, которые были отредактированы или скомпилированы с неправильными параметрами. Разгон процессора или графического процессора (популярная функция в пользовательских прошивках) сопряжен с риском перегрева, особенно если ваш телефон немного не соответствует спецификации. Некоторые виды подсветки экрана могут быть повреждены при слишком интенсивной работе, что предотвращается драйвером при обычном использовании. Кроме того, некоторые компоненты, такие как чипы NFC и защитные элементы, имеют «предохранители» для защиты от несанкционированного доступа — если вы случайно сожжете один из них (путем записи в неправильный аппаратный регистр), это может быть необратимо.

Вот почему рутирование или перепрошивка пользовательского ПЗУ аннулирует гарантию.