Как стать автором
Обновить

На грани отвала eMMC: Устанавливаем Android на SD-карту на любом смартфоне/планшете! Вторая жизнь для дешевых кит. устр

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров25K
Всего голосов 71: ↑71 и ↓0+71
Комментарии47

Комментарии 47

Вот как-то так мы с вами и дошли до того, что девайсы действительно начали делать "одноразовыми"! И не исключено, что "барумы" можно найти и в девайсах дороже 5.000 рублей.

Плохая тенденция? Если кому интересно, какой был оригинал статьи, то вот:

На грани отвала eMMC - или как работает Android на SD карте 2006 года — Мобайл на DTF

В 2011-2014 году умирала флеш память на трёх смартфонах Sony: Xperia Arc, TX и Tipo. Тел постоянно сыпал ошибками, тормозил и нельзя было установить ни одно приложение. Сброс не помогал или помогал ненадолго.

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

Вчера писал вам с смартфона, отвечу более развернуто с ПК, авось кому-то пригодится.

Заметил сильную деградацию BOOT раздела на девайсах от Lenovo - планшеты 2013-2016 годов, смартфоны. У них через пару лет лежания слетает загрузчик - причем либо lk, либо preloader. При этом, смартфоны не подают признаков жизни от ЗУ, а при подключении к ПК - лихорадочно мигают новым устройством. Плюс, леново ставили довольно ненадежные разъемы и если разъем ушатан - ПК не увидит девайс (но ребята из Lenovo молодцы - разводят резервные подписанные пятачки на плате), Лечится простой прошивкой первых разделов (preloader, boot, recovery).

Чисто теоретически такое может быть и на соньках. Прошейте с помощью SE FlashTool, там ничего сложного нет. Правда на Xperia Arc часто всплывает болячка с уровнем зарядка АКБ.

Описанная ситуация характерна для Lenovo IdeaTab A3300

Спасибо :) За журналы забыл.

Вообще, для флэшек лучше YAFFS, но не везде она есть

f2fs же делался для такого применения не? и насколько я помню f2fs поддерживается ведром очень давно.

Ведром - да, ядром от китайцев - далеко не факт. Исходники ядра во времена этих медиатеков не давал почти никто (шо? GPL? не слышали), а самому, чтобы собрать кастомное, дрова искать да реверс-инженерить слишком уж долго и муторно

Порядочные производители дают. Например, ZTE.

Ага. Но это редкое исключение, а не правило :(
И ещё некоторые (Lenovo) порой дают мусор вместо нужных исходников

Не получилось скомпилировать?

Нет, они оттуда спецом выкидывают драйвера и всё полезное

занимательно) пока не встречал такое, все что видел - были норм

Помню, игрался с JFFS2(mtd-utils), YAFFS2(mkyaffs2image, unyaffs), LogFS(logfs-tools), UBIFS(mtd-utils), f2fs(f2fs-tools) на на SDCard.
Ставил в dual boot с Android: Linaro, РostmarketOS и др.
Закончилось все покупкой на алике внешнего бокса UGREEN и M.2 SSD nvme 32 gb

Вообще emmc и есть по факту sd карта - emmc можно считать через карт ридер (подпаяться правда придется), стандарты ufs прямо прописаны в стандарте sd (насколько я на память помню).

Именно так, всё верно! Но к бга подпаиваться сложновато (у сервисников для этого есть колодки), плюс SD в однобитном режиме работает

Я когда-то очень давно игрался с sdio (да, да, не spi) на МК и точно помню что sd карта поддерживает до 4 бит данных (пол байта). Так что я не уверен, что более-менее карта памяти (стандарта типа ufs) будет медленнее чем emmc, но тут вопрос, как с ней на плате общение сделано.

Лежал у меня DNS S4508 (И до сих пор) был у него сбой шифрования (Походу emmc уже умерла), решил разобрать, снял экран, потом снова установил и 2 шлейфа у экрана вырвал...

не факт, что именно умерла, а сбой шифрования может быть из-за запоротой метадаты (если я не путаю, там хранятся ключики).

С дисплеями осторожней :) Гораздо более частая ошибка - вскрытие с помощью отвертки, это не только неприятные зазубрины, но и пробитые "посерединке" шлейфа. Они слишком тонкие, перемычку поставить без микроскопа не выйдет :(

Android на SD-карту на любом смартфоне/планшете

Так уж прям на любом? Тут рассмотрены только варианты с MTK, да и для них желательно иметь recovery хотя бы, хотя для кучи редких моделей не то что twrp, даже обновлений прошивок не выпускалось "производителем". Да и что делать если например чип qualcomm или hisilicon?

Прям на любом.

 Да и что делать если например чип qualcomm

Так а разница? Тут никто не патчит загрузчик, а патчится лишь таблица разделов. Бут разлочили, boot.img с ПК перепаковали и вперед. На квалках при отвале еммс и наличие специального фьюза с завода, есть возможность прямой загрузки с microsd, так раньше восстанавливали полные кирпичи Galaxy S4 (заливали первые 500мб флэши на SD).

TWRP без проблем портируется в пределах чипсета правкой таблицы разделов. В случае мтк частенько вообще без изменений запускается :) Тут важно понимать, что рекавери - не какой-то магический загрузчик, а просто программа, которую запускает init

Прям на любом. ... Бут разлочили, boot.img с ПК перепаковали и вперед.

О, так надо иметь разблокированный загрузчик, а это возможно далеко не на любом телефоне. Вот тот же Huawei например, что там делать?

Не понял, в чём проблема? У нормальных вендоров загрузчик разблокируется без проблем, у китайцев на мтк бут патчится

How to Unlock Bootloader on Huawei P30 Pro (Official method) | Beginner's guide (droidfeats.com)

На соньках может быть гемор из-за того, что страница с разлочкой бута недоступна. Но там это решается через впн.

На квалках boot.img лучше всего шить из под юзермода, т.к файлы под QPST можно и не найти

Ну и давайте сразу дисклеймер: в отличие от аппарата из статьи, из некоторых кулаков можно получать отличные кирпичи :)

Да, на соньках бывают проблемы с разлочкой.
А всякие сяомики даже если убить, то их инженеркой легко поднять.
Если остается доступ к фастбуту и есть бэкапы то квплку поднять легко.

Если остается доступ к фастбуту

Ключевое

А можно пожалуйста подробнее? Есть Redmi Note 9, бутлуп даже после перепрошивки. Загрузчик заблокирован, соответственно разблокировать не выходит без возможности загрузить. Работают recovery (штатный) и fastboot. А что за "инженерка"?..

Заранее спасибо.

Здравствуйте! "Инженерка" - инженерная прошивка, которую прошивают перед MIUI на заводе. В ней есть необходимый софт для диагностики железа смартфона - звонки, дисплей, тачскрин, камера. Она же используется для обхода MIUI (чтобы накатить прошивку без проверки Mi аккаунта) т.к не требует входа в Mi сервисы. Шьются по разному, на некоторых девайсах только с буткеем через флэштул.

См. здесь (сверяйте с кодом своего девайса):

[V3][ENGINEERING][ROM] OFFICIAL Engineering Firmware for MERLIN (Redmi Note 9 / Redmi 10X 4G) | XDA Forums (xda-developers.com)

Смартфон я приобрел за 4.000 рублей, за такие деньги производитель обещал весьма неплохой набор характеристик: 6580, Android 5.1 (в 2018 то году!), 1гб ОЗУ (здесь наврал) и аж 6 дюймовый IPS дисплей с разрешением 480x800.

Дороговато. В 2019 за 8к вовсю распродавали Яндекс.Телефон, который при оплате в магазинах виртуальной картой Яндекс.Денег приносил до 3к кэшбека.

Итого, за 5к (если не полениться и получить кэшбек) пользователь получал аппарат на Android 8 (с последующим апгрейдом до 9-ки), Snapdragon 630 и 4 гигами памяти. Не без недостатков, конечно, в виде отсутствующей поддержки LTE B2, но всё же.
Для этого нам понадобится TWRP

Это если TWRP уже есть под конкретный телефон. Проект в последнее время подсдулся и обновлениями не балует. Тем более есть ещё одна проблема — на новых устройствах с новым андроидом recovery засовывают в boot и всё… это теперь ещё нужно уметь правильно boot патчить получается.

Прочитав статью я понял, что на SD перенесли разделы system, userdata, cache. А boot получается на еMMC остался? То есть если/когда еMMC окончательно помрёт, то устройство всё равно окирпичивается получается?

Это если TWRP уже есть под конкретный телефон.

Как писал выше автор поста, в рамках чипсета перенести не проблема. Как правило достаточно перенести ядро + device tree + таблицу разделов
Boot перепаковать чаще всего не проблема, если загрузчик не залочен.
Да, если/когда еMMC окончательно помрёт, то устройство всё равно окирпичивается получается в данном конкретном случае. Бывают чипы, которые можно научить сразу с карты памяти грузиться, но это скорее исключение, чем правило.
P. S. Стоит отметить, что оставшийся срок жизни eMMC существенно возрастает, так как фактически preloader/lk/boot разделы в режиме read only и записей на eMMC после переноса остальных разделов не будет. От себя добавлю, что тему можно развить и запилить свой lk с загрузкой системы сразу с карты памяти, включая boot раздел, но это муторно.

Boot перепаковать чаще всего не проблема, если загрузчик не залочен.

Я вот так и думал, когда год назад покупал edge 20 pro. У моторолы думаю комьюнити всегда было активное, запилят рано или поздно. Только уже 2023 год, а рекавери всё нет. Причём под А12 общий релиз был осенью. Даже LOS телефон на официальную поддержку взял! А тут энтузиасты пилили что-то поначалу, но всё затихло.

Моторола - леново, которая во многих кругах ромоделов считается зашкваром.
Если "рекавери всё нет" - это не значит, что сделать сложно. Это значит, что люди, которые могут сделать, не заинтересованы в этом телефоне.
Ну и, если важно иметь кастомы/рекавери и совсем не хочется делать самим - нужно проверять их наличие перед покупкой устройства, а не после.

P. S. В 2021 эта мото конкурировала с очень похожими OnePlus. Я очень легко понимаю, почему разрабы не брали это устройство себе

Моторола — леново, которая во многих кругах ромоделов считается зашкваром.

А почему? Это один из немногих вендоров, который выпускал на рынок практический чистый андроид без всех этих наворотов GUI и перепаханным начисто ядром. Куча телефонов получила долговременную поддержку через LOS и кастомов на флагманы было в своё время немеряно. OnePlus я не хотел из-за 888-го снапа с непонятных охлаждением. Теперь вот думаю возможно очень зря — всё равно такая же лопата)
На некоторых еммс память не полностью сваливается в рид онли, а лишь частично. Если бут или рекавери перезаписывается — можно оживить.

Память сваливается в ридонли не по прихоти, а т.к контроллер хочет сохранить данные.

У меня аж одскулы свело, — вспомнил как переносил систему на флешку, чтобы накатить на свой LG P-500 свеженький, на тот момент, Android 4.0 в свое время. Выделил под работу с приложениями аж целых 2 гб памяти(вместо 512 мб) и целый 1 гб оперативки(вместо родных 512 мб)

Кто бы сомневался, что китайцы в один и тот же смартфон поставят несколько разновидностей памяти

Не китайцы так начали делать первыми, а бренды категории "А", - те же Гнусмасы так делали 10+ лет назад, при чем не только с памятью, но и процессорами. Одна и та же модель могла на старте продаж оснащаться самым топовым железом, а как только приближался момент заменить ее на более новую во все ещё производимые гаджеты впихивались старые процессоры, разгоняемые до максимума.

Samsung называли такие версии как Neo - Galaxy S3 Neo, Galaxy Note Neo. Они обычно работали на снапдрагонах вместо эксиносов и их чуть причесывали к реалиям рынка.

Note Neo я бы раздобыл, но это проблематично. Или вы про модели типа J510FN/J510H и.т.п? Это же разделение на частоты/симочность и.т.п

Samsung Galaxy Note 3 Neo - Обзоры, описания, тесты, отзывы - Мобильные телефоны - Helpix

Жаль такой хрен найдешь теперь :(

А есть ли какой-то вариант, чтобы система вообще полностью грузилась с SD? Есть же там в чипе каком-то в смартфоне, что не прошить? Что-то же ищет на флешке что там грузить дальше надо?..

Ищет конечно :) В чипсетах от Qualcomm при установке спец. фьюза с завода, если загрузчик не находит таблицу разделов в памяти, то пытается загрузить её с SD как с eMMC. На Samsung'ах это часто эксплуатировалось для восстановления системы: дампились первые 100мб флэш-памяти и записывались на флэшку, вываливая смартфон в Odin. Так лечились смартфоны, которые упали в 9008.

Если попадется S4 mini с отвальной памятью - обязательно поэкспериментирую.

Возможно так ещё умели девайсы на TI Omap, как Qtek 8500 на Windows Mobile - он так шился, но это не точно:)

Делал немного по-другому, перепаивал eMMC на microSD на Samsung s4mini (i9190). На борту было две microSD, на одной загрузчик, на второй система. Пост на 4pda.

Запуск целиком с карты памяти был бы отличным решением. У меня, к сожалению, не получилось.

До boot.img доходило с первой sd?

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

system раздел в read-only, ему ничего не будет. а вот userdata и cache могут не долго прожить

Древний девайс, да с флешки... Даже если долго не проживёт, но может грузиться с другой флехи - он почти бессметрен:) Успевай тока флехи менять, да систему накатывать:)

А если такой девайс ещё и не опрашивает аккум и его можно посадить на "вечную зарядку" - цены ему нет!:)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий