К сожалению, китайские производители бюджетных девайсов всё туже и туже затягивают пояса для уменьшения конечной цены девайсов. Попытки сэкономить сказываются не только на качестве дисплеев, пластиковых тачскринах, слабых процессорах, но и на памяти. Причём последнее время в устройства до 5-6 тысяч рублей ставят откровенно неликвидную и отбракованную память брендов Foresee и Barum, которая может прослужить как пару месяцев, так и 5 лет. Сегодня мы с вами: узнаем небольшую историю «затягивания» поясов китайцами, во всех подробностях перенесём Android на MicroSD-флэшку (гайд применим для любых производителей и чипсетов), посмотрим, как будет работать Android с такого накопителя и подведем итоги. Интересно? Тогда добро пожаловать!

image

Предыстория


Пожалуй, стоит отметить, что данная статья является ремейком одной из моих самых первый статей, которую я написал еще летом 2022 года. На тот момент я был совсем неопытным автором и написал достаточно скомканный и не подробный текст, однако понимая, что такой гайд может быть полезен многим, я решил переписать его, снабдив большим количеством скриншотов и пояснений к каждому пункту процесса. В действиях описанных ниже нет ничего сложного, а перенести Android таким образом можно почти на любом устройстве (MTK, Spreadtrum/UniSoc, Qualcomm, Kirin, Exynos).

На самом деле, китайские производители и импортеры в РФ практически всё время пытаются забить ультра-бюджетный сегмент гаджетов различными дешевыми смартфонами и планшетами. До 5.000 рублей можно легко купить 10" планшет или 5" смартфон на относительно свежих версиях Android Go. Подавляющее число девайсов работает на весьма известном чипсете — MediaTek MT6580, 4х-ядерный чипсет аж 7 летней давности, финальная форма эволюции очень неплохого на своё время MT6582, а в качестве памяти используются eMCP (eMCP — чип, сочетающий одновременно кристалл ОЗУ и ПЗУ с общей подложкой) модули с 1гб DDR3 ОЗУ и 8гб ПЗУ. Немудрено, что таких характеристик на 2023 год не просто мало, а очень мало: смартфон из коробки не потянет ни онлайн-банкинг (Сбер, привет тебе с твоим тяжелющим приложением. Запилите лайт версию хотя-бы. Тинькофф/Альфа скорее всего в те же ворота), ни современные игрушки, ни даже клиент ВКонтакте или Telegram! Смартфоны откровенно позиционируются производителями как девайсы начального класса, которые подойдут в роли смарт-звонилки с возможностями что-то загуглить при необходимости. В них даже LTE нет, только 3G, который потихоньку в МСК начинают сворачивать.

image

Почти всё выше написанное применяется и к похожим смартфонам на Ali до 4.000 рублей. То же железо, разве что могут сделать в дизайне свежего флагмана с большим дисплеем неплохого качества. Чип практически 8 летней давности… в 2023… что-то здесь не то, да? В 2013 году выходило просто кучу девайсов за те же 2-3 тысячи рублей (примерно как сейчас 4-5 тысячи рублей), которые работали на очень свежих и бодрых MT6572/MT6577 в те годы. То есть, чипсет брался по году выпуска или чуть-чуть старше и все эти «мегафоны логины», «билайн смарты» легко тянули банки, оф. клиенты соц. сетей и мессенджеры. Но видимо MediaTek изначально сделала огромные заказы на 6580, захотев отнять рынок ультрабюджетных девайсов у Spreadtrum. И таки да, план работает, устройства на 6580 до сих пор продолжают выходить, с одними и теми же чипсетами, одними и теми же чипами памяти и кое-где даже схожими платами (все они наследуются от одной референсной платы). И если 5-6 лет назад в качестве самой дешевой памяти использовали eMCP от Hynix, которая была вполне неплохой: у меня многие девайсы с ней до сих пор живут и здравствуют, то сейчас используется некая Barum и Foresee. Ни по маркировке, ни по CID ничего официального найти не получается, что даёт нам возможность предположить, что это просто перемаркированная бракованная память от Hynix/Samsung с перебитым CID.

На eMMC обычно есть JTAG-поинты, а на заводах их наверняка проверяют на кол-во бэдблоков и перезаписываемость. Лично мне кажется, что сотрудники условного Hynix просто за «дешман» перепродают полуживые eMCP модули производителям смартфонов, а те их ставят в свои смартфоны. Ведь хотя-бы месяц-два они походить должны! Вышенаписанное касается только ПЗУ, ОЗУ бракованную я не видел никогда.

image

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

На своё время, смартфон был в целом неплох за свою цену нового девайса — 5.1 не особо много ресурсов кушает, там можно было поиграть и в NFS Most Wanted, и в оф. клиенте ВК посидеть, пока он ещё не разжирел, и просто пользоваться «на повседнев». Для меня он имеет особое значение, поскольку это первый смартфон, который я купил на первую лично заработанные 400$, когда в 16-17 лет запилил гиперкеж на юнити для своего товарища. Теперь я храню его как память, вместе с родной коробочкой, но его работоспособность под сомнением…

image

Причем я нашел страницу производителя: Shenzhen Xin Sheng Shang Techonology. XGody — похоже ее личный бренд.

Немного теории


В своё время, я не сделал дамп прошивки с этого девайса, а их выходило по меньшей мере 2-3 ревизии. Прошивка в сети только для одной ревизии, поэтому когда моя система окончательно захламилась, я перепрошил его, не снимая галочки с preloader. На устройствах с MediaTek, Preloader помимо загрузки вторичного загрузчика lk, инициализирует контроллер ОЗУ и ПЗУ. Список поддерживаемых модулей eMCP хранится в виде таблицы CID -> настройки ОЗУ. Именно поэтому если прошить «левый» preloader мы будем получать постоянную ошибку в SP Flash Tool — смартфон банально не сможет инициализировать ОЗУ (DRAM_FAILED)! Если производитель захотел заменить eMMC на определенной ревизии, он добавляет в csv параметры ОЗУ eMCP модуля, его CID и пересобирает Preloader. Дошло до того, что прелоадеры сортируют по номеру сборки (preloader_wegc, preloader_magc, preloader_gemini и т. п.), а поддерживаемые CID вычитывают спец. софтом для подбора подходящего preloader'а!

Кто бы сомневался, что китайцы в один и тот же смартфон поставят несколько разновидностей памяти, так случилось и с моим. Похоже к концу производства, в них начали ставить самую дешевую память, поэтому когда я год спустя нашёл подходящий preloader (помог человек с программатором, сейчас найти preloader можно и без программатора — CID флэшки пишется в лог BROM Flash Tool'а), я прошил стоковую прошивку. И всё работало (кроме камеры), вот только девайс начал самопроизвольно зависать через ~час работы. И тут я предположил, что дело может быть именно в eMMC…

Теперь давайте по порядку: если вы когда-то прошили смартфон с неподходящим preloader, то его еще можно оживить, с помощью подбора prleoader'ов с других девайсов. Для этого пытаемся что-нибудь прошить, заходим в логи Flash Tool (Help -> Show logs), открываем лог BROM и ищем там «eMMC». Download Agent сам вычитывает ID флэшки и напишет её в лог. Забиваем CID флэшки в гугл, обычно гугл приводит на форумы, где сервисники сливали спец. софтом прошивку и выкладывали логи, где сервисный софт пишет CID флэшки. Прелоадер от этого девайса можно будет взять!

Если после оживления девайса вы получили белый экран — проблема в lk или ядре. lk — эдакий аналог U-Boot в MTK, инициализирует дисплей и показываем первую «заставку» (до появления бут-анимации). Ищем подходящее ядро (boot.img) или lk. Если остался родной рекавери/бут — ядро можно вытащить оттуда и «собрать из двух один». Ну а теперь к основной теме статьи!

Перенос Android на MicroSD


Давайте определимся с необходимыми работами. Android поделен на 3 основных раздела, которые необходимы для работы системы:

  1. system — /system/ в файловой системе, read-only раздел с основными файлами системы, android.jar, приложениями.
  2. userdata — /data/ в файловой системе, хранит установленные приложения, их данные.
  3. cache — /cache/ в файловой системе, хранит собственно кэш ART/Dalvik (в более старых системах).

Сначала preloader загружает lk, затем lk в зависимости от режима загрузки (charger/normal/recover) выбирает нужный образ с ядром и рамдиском. boot.img — основной образ с ядром, запускающий систему, а recovery.img — рамдиск с рекавери, который содержит абсолютно такое же ядро, но вместо zygote запускает recovery. Точки монтирования основных разделов лежат в vold.fstab, который можно найти в /etc/ каждого образа. Суть переноса проста:

  1. Делим флэшку на 4 раздела с помощью fdisk.
  2. Форматируем 3 раздела в ext4, а 1 — в fat (для пользовательских файлов).
  3. Патчим vold.fstab.
  4. Копируем подмонтированный как loopback устройство system.img на первый раздел флэшки с сохранением всех прав.
  5. Перезагружаемся, ждём первой загрузки и радуемся спасенному девайсу!

В первую очередь нам надо разбить флэшку на разделы. Есть два варианта: с устройства и с ПК. Я лично всё делаю с устройства для наглядности. Для этого нам понадобится TWRP, ADB и флэшка на 8-16гб. Можно и на 2-4 уместить, но будет немного… тесновато! Флэшку лучше брать 10 класса: скорость eMMC редко ниже чем 100мб/c, а на флэшке 4-5 класса все будет совсем печально. Прошиваем TWRP с помощью SP Flash Tool:

image

Загружаем скаттер MT6580, выбираем наш recovery.img и жмем Download. Подключаем выключенный смартфон, дальше софт всё сделает сам!

image

После прошивки рекавери, в него нужно зайти с помощью громкости вверх + включения. Девайс предложит выбор режима загрузки — выбираем Recovery. В TWRP сразу открыт доступ к смартфону через adb, поэтому мы можем работать как root пользователь с обычного терминала. Разбиваем нашу флэшку с помощью fdisk. На большинстве устройств mmcblk0 — это eMMC/NAND, а mmcblk1 — это внешняя microsd флэшка.

fdisk /dev/mmcblk1
n
p
1
<желаемый размер в цилиндрах для системы>

n
p
2
<желаемый размер в цилиндрах для юзердаты (лучше побольше)>

n
p
3
<желаемый размер в цилиндрах для кэша (можно ~50мб)>

n
p
4
Enter (разметит остаток флэшки для данных пользвоателя)

w

exit (выходим из шелла)
adb reboot recovery (перезагружаемся снова в recovery).

image

Таблица разделов обновится только после перезагрузки. То, что сыпет ошибками ioctl — норма. Если вы всё сделали правильно, то в /dev/block увидите mmcblk1p1, p2, p3, p4 — это наши разделы. Еще раз вспоминаем: 1 раздел под system, 2 раздел под userdata, 3 раздел под cache, 4 раздел под всё остальное. Порядок следования значения не имеет, но я решил пронумеровать так для удобства.

Теперь нам нужно отформатировать наши разделы и подмонтировать /system/. Копируем только файлы из /system/, если вам не нужны данные на устройстве — наш /data/ достаточно будет отформатировать вместе с /cache/. Осторожно! На старых мобилках busybox на 32х битных системах не умеет форматировать ext2 на больших разделах. Ниасилили. Тут либо копировать раздел напрямую с помощью dd (что мы и сделаем), либо форматировать флэшку с ПК через кард-ридер. У меня cygwin на ПК не установлен, как и виртуалки с линухом, поэтому это вполне неплохая альтернатива:

adb shell
mount /dev/block/platform/mtk-msdc.0/by-name/system /system/
mkdir /systemsd/
mount /dev/block/mmcblk1p1 /systemsd/
dd if=/dev/block/platform/mtk-msdc.0/by-name/system of=/dev/block/mmcblk1p1 bs=1M

image

Со скоростью флэшки не обманули!

В этой версии busybox есть баг с форматированием разделов >2гб на 32х битных системах. Поэтому если вы не хотите замарачиваться с установкой cygwin/линуха в виртуальную машину, можно просто взять dd. Нулями забить не выйдет — Android автоматом /data/ не форматирует. Если Android не сможет его подмонтировать — получите либо бутлуп, либо в системе ничего не будет сохраняться.

dd if=/dev/block/platform/mtk-msdc.0/by-name/userdata of=/dev/block/mmcblk1p2 bs=1M
dd if=/dev/block/platform/mtk-msdc.0/by-name/cache of=/dev/block/mmcblk1p3 bs=1M

Теперь нам осталось пропатчить vold в родном boot.img, чтобы система загружалась с microsd флэшки. Для этого берем AndImgTools или готовую «кухню» (я использую MTKImgTools) и распаковываем родной boot.img из прошивки:

image

В Unpack/boot/ramdisk/fstab.mt6580 заменяем:

/dev/block/platform/mtk-msdc.0/by-name/system /system ext4 ro wait
/dev/block/platform/mtk-msdc.0/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,resize,encryptable=/dev/block/platform/mtk-msdc.0/by-name/metadata
/dev/block/platform/mtk-msdc.0/by-name/cache /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check
/dev/block/platform/mtk-msdc.0/by-name/protect1 /protect_f ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,autoformat
/dev/block/platform/mtk-msdc.0/by-name/protect2 /protect_s ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,autoformat
/dev/block/platform/mtk-msdc.0/by-name/nvdata /nvdata ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,autoformat

На:

/dev/block/mmcblk1p1 /system ext4 ro wait
/dev/block/mmcblk1p2 /data ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,resize
/dev/block/mmcblk1p3 /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check
/dev/block/platform/mtk-msdc.0/by-name/protect1 /protect_f ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,autoformat
/dev/block/platform/mtk-msdc.0/by-name/protect2 /protect_s ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,autoformat
/dev/block/platform/mtk-msdc.0/by-name/nvdata /nvdata ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,autoformat

Обратите внимание на encryptable. Этот флаг нужно убрать, иначе система упадет в бутлуп. Шифрование «нинужно»!

image

Собираем boot.img, прошиваем с помощью SP Flash Tool и тестируем что получилось! По самому распространенному списку ошибок:

  1. Ребут сразу после начальной заставки, до анимации загрузки — либо поврежден boot.img, либо вы неверно скопировали /system/
  2. Бутлуп: отформатируйте правильно /data/
  3. Система очень сильно лагает после загрузки: это же первая загрузка, будьте терпеливей. Система с SD стартует заметно медленнее.
  4. Жалуется на невозможность расшифровать пользовательский раздел: Либо форматировать с помощью mke2fs (только twrp), либо пропатчить таблицу разделов самого twrp и сменить ФС уже с его помощью!

Кстати! Забавный нюанс: во время подготовки оригинала статьи, какая-то китайская флэшка на 16гб с алика у меня померла прямо во время записи образа dd. Так что будьте осторожнее! :)

Юзабельно ли?


image

Друзья! Очень важно понимать, что после первой загрузки Android нужно закэшировать приложения, а после каждой загрузки — прогрузить все ассеты минимально необходимых приложений в ОЗУ. Для особой наглядности, я назову этот процесс «пропердеться» :) После 1-2 минутной загрузки, система начинает работать неплохо, но не особо отзывчиво. Очень важно не забывать, что даже быстрая MicroSD в десятки раз медленней самой дешевой eMMC памяти, поэтому система будет работать не особо быстро.


Если бы в устройстве было хотя-бы 2-3гб ОЗУ, то теоретически систему можно было бы загнать в рамдиск и распаковывать с флэшки при каждой загрузке. Да, загрузка системы будет занимать минут 5, но сама система будет прямо таки летать!

Сёрфинг девайсу даётся неплохо. В целом, всё работает шустро, главное не заставлять девайс выгружать приложения в фоне. Иначе переключение на мессенджер или рабочий стол обернется 10 секундным ожиданием!

image

Неплохо даются и соц. сети. Пользоваться легким клиентом ВК можно без проблем, Telegram и WhatsApp я бы не рискнул — они нехило наседают на хранилище. Но попробовать можно.

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

image

Поиграть тоже можно, но в основном в эмуляторы. Никаких вам пубгов на таком железе! Зачем было городить 9 андроид на чипсет 8 летней давности — мне не понять, но 5ка и 6ка бегают хорошо! Есть возможность установки кастомной облегченной прошивки, я лично запускал на этом девайсе «линейку» и ходил… до первого зависона. После полного переноса прошивки на microsd, зависания пропали — а значит девайс мы оживили и дали ему вторую, пусть чуть-чуть и тормозную жизнь! Почти из коробки работают все прошивки для 6580 с той же версией ядра — у моего 3.10.72, что даёт возможность накатить Android 5, 6 и 7. Но по понятным причинам, я остановлюсь на «пятерке». Также не рекомендую ставить на такое железо MIUI, прошивки с Meizu и.т.п — MIUI едва вывозят сами редмики, а тут вы на слабое железо его поставит.

Заключение


Как вы уже поняли, оживить таким образом получится только девайсы, у которых eMMC ещё не совсем упала в readonly. Должны быть доступными хотя-бы первые 50мб USER раздела eMMC. На самом деле, я далеко не первооткрыватель такого способа переноса Android на флэшку: похожим образом работают кастомные свежие прошивки для девайсов 2010-2011 годов, как например Xperia Arc: там часть системы тоже отправляется на microsd, поскольку не «помещается» во внутреннюю память, а в 2011-2012 году, таким образом ставили прошивки на Galaxy Young/Ace, дабы освободить немножечко места во внутренней памяти!

После такого даунгрейда, девайс заметно теряет в отзывчивости и работает гораздо медленнее. Но если вам срочно нужен смартфон, а возможности приобрести другой нет, или вам девайс дорог как память — почему бы не оживить его таким способом? А вы как считаете?



Это не единичная статья, я регулярно пишу различные интересные статьи о самых разных гаджетах в своём блоге. Подписывайтесь на меня и TimeWeb, чтобы не пропустить новый контент! Также, если есть что-то, что жалко выкинуть на свалку, но применения найти не можете — можете заслать мне в качестве эдакого «доната». Доставка — с меня! :)

Дзен: dzen.ru/media/id/640316fd36fc3309cedaab30/na-grani-otvala-emmc-ustanavlivaem-android-na-sdkartu-na-liubom-smartfoneplanshete-vtoraia-jizn-dlia-deshevyh-kit-ustroistv-640317eda3566065cd94cf45

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


  1. bodyawm Автор
    00.00.0000 00:00
    +5

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

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

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


    1. denticulus
      00.00.0000 00:00
      +4

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

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


      1. bodyawm Автор
        00.00.0000 00:00

        у меня у всех сонериков живая память) но слышал о помирании памяти на HTC


      1. bodyawm Автор
        00.00.0000 00:00
        +1

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

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

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


        1. Javian
          00.00.0000 00:00

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


  1. Johan_Palych
    00.00.0000 00:00
    +3

    Для SDCard Minimizing disk access:

    mkfs.ext4 -O "^has_journal" /dev/sdXX
    For more performance add fstab opions: data=writeback,noatime,nodiratime


    1. bodyawm Автор
      00.00.0000 00:00

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

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


      1. 13werwolf13
        00.00.0000 00:00

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


        1. shlyakpavel
          00.00.0000 00:00

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


          1. bodyawm Автор
            00.00.0000 00:00

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


            1. shlyakpavel
              00.00.0000 00:00
              +2

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


              1. bodyawm Автор
                00.00.0000 00:00

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


                1. shlyakpavel
                  00.00.0000 00:00
                  +1

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


                  1. bodyawm Автор
                    00.00.0000 00:00

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


      1. Johan_Palych
        00.00.0000 00:00
        +2

        Помню, игрался с 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


  1. Rusrst
    00.00.0000 00:00

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


    1. bodyawm Автор
      00.00.0000 00:00
      +1

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


      1. Rusrst
        00.00.0000 00:00
        +1

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


  1. Floppok
    00.00.0000 00:00

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


    1. bodyawm Автор
      00.00.0000 00:00

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

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


  1. titbit
    00.00.0000 00:00
    +1

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

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


    1. bodyawm Автор
      00.00.0000 00:00
      +2

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

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

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

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


      1. titbit
        00.00.0000 00:00
        +1

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

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


        1. bodyawm Автор
          00.00.0000 00:00

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

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

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


    1. bodyawm Автор
      00.00.0000 00:00
      +1

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


      1. shlyakpavel
        00.00.0000 00:00
        +3

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


        1. bodyawm Автор
          00.00.0000 00:00

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


          1. shlyakpavel
            00.00.0000 00:00

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

            Ключевое


          1. MarSoft
            00.00.0000 00:00

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

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


            1. bodyawm Автор
              00.00.0000 00:00

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

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

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


  1. dartraiden
    00.00.0000 00:00
    +1

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

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

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


  1. AlexanderS
    00.00.0000 00:00

    Для этого нам понадобится TWRP

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

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


    1. shlyakpavel
      00.00.0000 00:00

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

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


      1. AlexanderS
        00.00.0000 00:00

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

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


        1. shlyakpavel
          00.00.0000 00:00
          +1

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

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


          1. AlexanderS
            00.00.0000 00:00

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

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


      1. bodyawm Автор
        00.00.0000 00:00

        На некоторых еммс память не полностью сваливается в рид онли, а лишь частично. Если бут или рекавери перезаписывается — можно оживить.

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


  1. tchkEn
    00.00.0000 00:00

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

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

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


    1. bodyawm Автор
      00.00.0000 00:00

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

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

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

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


  1. MegaLite
    00.00.0000 00:00

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


    1. bodyawm Автор
      00.00.0000 00:00

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

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


      1. MegaLite
        00.00.0000 00:00

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


      1. Viteonk
        00.00.0000 00:00

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

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


        1. bodyawm Автор
          00.00.0000 00:00

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


  1. v1000
    00.00.0000 00:00

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


    1. anegin
      00.00.0000 00:00
      +1

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


  1. MegaLite
    00.00.0000 00:00
    +2

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

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