❯ Предыстория
Пожалуй, стоит отметить, что данная статья является ремейком одной из моих самых первый статей, которую я написал еще летом 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, который потихоньку в МСК начинают сворачивать.
Почти всё выше написанное применяется и к похожим смартфонам на 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 модули производителям смартфонов, а те их ставят в свои смартфоны. Ведь хотя-бы месяц-два они походить должны! Вышенаписанное касается только ПЗУ, ОЗУ бракованную я не видел никогда.
Сегодняшним нашим героем станет некий Xgody Y20 — в своё время довольно популярная модель-«лопата» на AliExpress, которую я купил на «сдачу» с покупки свеженькой GTX1050. Смартфон я приобрел за 4.000 рублей, за такие деньги производитель обещал весьма неплохой набор характеристик: 6580, Android 5.1 (в 2018 то году!), 1гб ОЗУ (здесь наврал) и аж 6 дюймовый IPS дисплей с разрешением 480x800.
На своё время, смартфон был в целом неплох за свою цену нового девайса — 5.1 не особо много ресурсов кушает, там можно было поиграть и в NFS Most Wanted, и в оф. клиенте ВК посидеть, пока он ещё не разжирел, и просто пользоваться «на повседнев». Для меня он имеет особое значение, поскольку это первый смартфон, который я купил на первую лично заработанные 400$, когда в 16-17 лет запилил гиперкеж на юнити для своего товарища. Теперь я храню его как память, вместе с родной коробочкой, но его работоспособность под сомнением…
Причем я нашел страницу производителя: 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 основных раздела, которые необходимы для работы системы:
- system — /system/ в файловой системе, read-only раздел с основными файлами системы, android.jar, приложениями.
- userdata — /data/ в файловой системе, хранит установленные приложения, их данные.
- cache — /cache/ в файловой системе, хранит собственно кэш ART/Dalvik (в более старых системах).
Сначала preloader загружает lk, затем lk в зависимости от режима загрузки (charger/normal/recover) выбирает нужный образ с ядром и рамдиском. boot.img — основной образ с ядром, запускающий систему, а recovery.img — рамдиск с рекавери, который содержит абсолютно такое же ядро, но вместо zygote запускает recovery. Точки монтирования основных разделов лежат в vold.fstab, который можно найти в /etc/ каждого образа. Суть переноса проста:
- Делим флэшку на 4 раздела с помощью fdisk.
- Форматируем 3 раздела в ext4, а 1 — в fat (для пользовательских файлов).
- Патчим vold.fstab.
- Копируем подмонтированный как loopback устройство system.img на первый раздел флэшки с сохранением всех прав.
- Перезагружаемся, ждём первой загрузки и радуемся спасенному девайсу!
В первую очередь нам надо разбить флэшку на разделы. Есть два варианта: с устройства и с ПК. Я лично всё делаю с устройства для наглядности. Для этого нам понадобится TWRP, ADB и флэшка на 8-16гб. Можно и на 2-4 уместить, но будет немного… тесновато! Флэшку лучше брать 10 класса: скорость eMMC редко ниже чем 100мб/c, а на флэшке 4-5 класса все будет совсем печально. Прошиваем TWRP с помощью SP Flash Tool:
Загружаем скаттер MT6580, выбираем наш recovery.img и жмем Download. Подключаем выключенный смартфон, дальше софт всё сделает сам!
После прошивки рекавери, в него нужно зайти с помощью громкости вверх + включения. Девайс предложит выбор режима загрузки — выбираем 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).
Таблица разделов обновится только после перезагрузки. То, что сыпет ошибками 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
Со скоростью флэшки не обманули!
В этой версии 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 из прошивки:
В 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. Этот флаг нужно убрать, иначе система упадет в бутлуп. Шифрование «нинужно»!
Собираем boot.img, прошиваем с помощью SP Flash Tool и тестируем что получилось! По самому распространенному списку ошибок:
- Ребут сразу после начальной заставки, до анимации загрузки — либо поврежден boot.img, либо вы неверно скопировали /system/
- Бутлуп: отформатируйте правильно /data/
- Система очень сильно лагает после загрузки: это же первая загрузка, будьте терпеливей. Система с SD стартует заметно медленнее.
- Жалуется на невозможность расшифровать пользовательский раздел: Либо форматировать с помощью mke2fs (только twrp), либо пропатчить таблицу разделов самого twrp и сменить ФС уже с его помощью!
Кстати! Забавный нюанс: во время подготовки оригинала статьи, какая-то китайская флэшка на 16гб с алика у меня померла прямо во время записи образа dd. Так что будьте осторожнее! :)
❯ Юзабельно ли?
Друзья! Очень важно понимать, что после первой загрузки Android нужно закэшировать приложения, а после каждой загрузки — прогрузить все ассеты минимально необходимых приложений в ОЗУ. Для особой наглядности, я назову этот процесс «пропердеться» :) После 1-2 минутной загрузки, система начинает работать неплохо, но не особо отзывчиво. Очень важно не забывать, что даже быстрая MicroSD в десятки раз медленней самой дешевой eMMC памяти, поэтому система будет работать не особо быстро.
Если бы в устройстве было хотя-бы 2-3гб ОЗУ, то теоретически систему можно было бы загнать в рамдиск и распаковывать с флэшки при каждой загрузке. Да, загрузка системы будет занимать минут 5, но сама система будет прямо таки летать!
Сёрфинг девайсу даётся неплохо. В целом, всё работает шустро, главное не заставлять девайс выгружать приложения в фоне. Иначе переключение на мессенджер или рабочий стол обернется 10 секундным ожиданием!
Неплохо даются и соц. сети. Пользоваться легким клиентом ВК можно без проблем, Telegram и WhatsApp я бы не рискнул — они нехило наседают на хранилище. Но попробовать можно.
Основные функции звонилки тоже работают адекватно. Никаких проблем с этим нет, хотя теоретически может произойти ситуация, когда при первом звонке после ребута вы сможете ответить только через 1-2 секунды прогрузки интерфейса звонилки.
Поиграть тоже можно, но в основном в эмуляторы. Никаких вам пубгов на таком железе! Зачем было городить 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)
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
bodyawm Автор
00.00.0000 00:00Спасибо :) За журналы забыл.
Вообще, для флэшек лучше YAFFS, но не везде она есть
13werwolf13
00.00.0000 00:00f2fs же делался для такого применения не? и насколько я помню f2fs поддерживается ведром очень давно.
shlyakpavel
00.00.0000 00:00Ведром - да, ядром от китайцев - далеко не факт. Исходники ядра во времена этих медиатеков не давал почти никто (шо? GPL? не слышали), а самому, чтобы собрать кастомное, дрова искать да реверс-инженерить слишком уж долго и муторно
bodyawm Автор
00.00.0000 00:00Порядочные производители дают. Например, ZTE.
shlyakpavel
00.00.0000 00:00+2Ага. Но это редкое исключение, а не правило :(
И ещё некоторые (Lenovo) порой дают мусор вместо нужных исходниковbodyawm Автор
00.00.0000 00:00Не получилось скомпилировать?
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
Rusrst
00.00.0000 00:00Вообще emmc и есть по факту sd карта - emmc можно считать через карт ридер (подпаяться правда придется), стандарты ufs прямо прописаны в стандарте sd (насколько я на память помню).
bodyawm Автор
00.00.0000 00:00+1Именно так, всё верно! Но к бга подпаиваться сложновато (у сервисников для этого есть колодки), плюс SD в однобитном режиме работает
Rusrst
00.00.0000 00:00+1Я когда-то очень давно игрался с sdio (да, да, не spi) на МК и точно помню что sd карта поддерживает до 4 бит данных (пол байта). Так что я не уверен, что более-менее карта памяти (стандарта типа ufs) будет медленнее чем emmc, но тут вопрос, как с ней на плате общение сделано.
Floppok
00.00.0000 00:00Лежал у меня DNS S4508 (И до сих пор) был у него сбой шифрования (Походу emmc уже умерла), решил разобрать, снял экран, потом снова установил и 2 шлейфа у экрана вырвал...
bodyawm Автор
00.00.0000 00:00не факт, что именно умерла, а сбой шифрования может быть из-за запоротой метадаты (если я не путаю, там хранятся ключики).
С дисплеями осторожней :) Гораздо более частая ошибка - вскрытие с помощью отвертки, это не только неприятные зазубрины, но и пробитые "посерединке" шлейфа. Они слишком тонкие, перемычку поставить без микроскопа не выйдет :(
titbit
00.00.0000 00:00+1Android на SD-карту на любом смартфоне/планшете
Так уж прям на любом? Тут рассмотрены только варианты с MTK, да и для них желательно иметь recovery хотя бы, хотя для кучи редких моделей не то что twrp, даже обновлений прошивок не выпускалось "производителем". Да и что делать если например чип qualcomm или hisilicon?
bodyawm Автор
00.00.0000 00:00+2Прям на любом.
Да и что делать если например чип qualcomm
Так а разница? Тут никто не патчит загрузчик, а патчится лишь таблица разделов. Бут разлочили, boot.img с ПК перепаковали и вперед. На квалках при отвале еммс и наличие специального фьюза с завода, есть возможность прямой загрузки с microsd, так раньше восстанавливали полные кирпичи Galaxy S4 (заливали первые 500мб флэши на SD).
TWRP без проблем портируется в пределах чипсета правкой таблицы разделов. В случае мтк частенько вообще без изменений запускается :) Тут важно понимать, что рекавери - не какой-то магический загрузчик, а просто программа, которую запускает init
titbit
00.00.0000 00:00+1Прям на любом. ... Бут разлочили, boot.img с ПК перепаковали и вперед.
О, так надо иметь разблокированный загрузчик, а это возможно далеко не на любом телефоне. Вот тот же Huawei например, что там делать?
bodyawm Автор
00.00.0000 00:00Не понял, в чём проблема? У нормальных вендоров загрузчик разблокируется без проблем, у китайцев на мтк бут патчится
How to Unlock Bootloader on Huawei P30 Pro (Official method) | Beginner's guide (droidfeats.com)
На соньках может быть гемор из-за того, что страница с разлочкой бута недоступна. Но там это решается через впн.
bodyawm Автор
00.00.0000 00:00+1На квалках boot.img лучше всего шить из под юзермода, т.к файлы под QPST можно и не найти
shlyakpavel
00.00.0000 00:00+3Ну и давайте сразу дисклеймер: в отличие от аппарата из статьи, из некоторых кулаков можно получать отличные кирпичи :)
bodyawm Автор
00.00.0000 00:00Да, на соньках бывают проблемы с разлочкой.
А всякие сяомики даже если убить, то их инженеркой легко поднять.
Если остается доступ к фастбуту и есть бэкапы то квплку поднять легко.MarSoft
00.00.0000 00:00А можно пожалуйста подробнее? Есть Redmi Note 9, бутлуп даже после перепрошивки. Загрузчик заблокирован, соответственно разблокировать не выходит без возможности загрузить. Работают recovery (штатный) и fastboot. А что за "инженерка"?..
Заранее спасибо.
bodyawm Автор
00.00.0000 00:00Здравствуйте! "Инженерка" - инженерная прошивка, которую прошивают перед MIUI на заводе. В ней есть необходимый софт для диагностики железа смартфона - звонки, дисплей, тачскрин, камера. Она же используется для обхода MIUI (чтобы накатить прошивку без проверки Mi аккаунта) т.к не требует входа в Mi сервисы. Шьются по разному, на некоторых девайсах только с буткеем через флэштул.
См. здесь (сверяйте с кодом своего девайса):
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, но всё же.
AlexanderS
00.00.0000 00:00Для этого нам понадобится TWRP
Это если TWRP уже есть под конкретный телефон. Проект в последнее время подсдулся и обновлениями не балует. Тем более есть ещё одна проблема — на новых устройствах с новым андроидом recovery засовывают в boot и всё… это теперь ещё нужно уметь правильно boot патчить получается.
Прочитав статью я понял, что на SD перенесли разделы system, userdata, cache. А boot получается на еMMC остался? То есть если/когда еMMC окончательно помрёт, то устройство всё равно окирпичивается получается?shlyakpavel
00.00.0000 00:00Это если TWRP уже есть под конкретный телефон.
Как писал выше автор поста, в рамках чипсета перенести не проблема. Как правило достаточно перенести ядро + device tree + таблицу разделов
Boot перепаковать чаще всего не проблема, если загрузчик не залочен.
Да, если/когда еMMC окончательно помрёт, то устройство всё равно окирпичивается получается в данном конкретном случае. Бывают чипы, которые можно научить сразу с карты памяти грузиться, но это скорее исключение, чем правило.
P. S. Стоит отметить, что оставшийся срок жизни eMMC существенно возрастает, так как фактически preloader/lk/boot разделы в режиме read only и записей на eMMC после переноса остальных разделов не будет. От себя добавлю, что тему можно развить и запилить свой lk с загрузкой системы сразу с карты памяти, включая boot раздел, но это муторно.AlexanderS
00.00.0000 00:00Boot перепаковать чаще всего не проблема, если загрузчик не залочен.
Я вот так и думал, когда год назад покупал edge 20 pro. У моторолы думаю комьюнити всегда было активное, запилят рано или поздно. Только уже 2023 год, а рекавери всё нет. Причём под А12 общий релиз был осенью. Даже LOS телефон на официальную поддержку взял! А тут энтузиасты пилили что-то поначалу, но всё затихло.shlyakpavel
00.00.0000 00:00+1Моторола - леново, которая во многих кругах ромоделов считается зашкваром.
Если "рекавери всё нет" - это не значит, что сделать сложно. Это значит, что люди, которые могут сделать, не заинтересованы в этом телефоне.
Ну и, если важно иметь кастомы/рекавери и совсем не хочется делать самим - нужно проверять их наличие перед покупкой устройства, а не после.P. S. В 2021 эта мото конкурировала с очень похожими OnePlus. Я очень легко понимаю, почему разрабы не брали это устройство себе
AlexanderS
00.00.0000 00:00Моторола — леново, которая во многих кругах ромоделов считается зашкваром.
А почему? Это один из немногих вендоров, который выпускал на рынок практический чистый андроид без всех этих наворотов GUI и перепаханным начисто ядром. Куча телефонов получила долговременную поддержку через LOS и кастомов на флагманы было в своё время немеряно. OnePlus я не хотел из-за 888-го снапа с непонятных охлаждением. Теперь вот думаю возможно очень зря — всё равно такая же лопата)
bodyawm Автор
00.00.0000 00:00На некоторых еммс память не полностью сваливается в рид онли, а лишь частично. Если бут или рекавери перезаписывается — можно оживить.
Память сваливается в ридонли не по прихоти, а т.к контроллер хочет сохранить данные.
tchkEn
00.00.0000 00:00У меня аж одскулы свело, — вспомнил как переносил систему на флешку, чтобы накатить на свой LG P-500 свеженький, на тот момент, Android 4.0 в свое время. Выделил под работу с приложениями аж целых 2 гб памяти(вместо 512 мб) и целый 1 гб оперативки(вместо родных 512 мб)
Кто бы сомневался, что китайцы в один и тот же смартфон поставят несколько разновидностей памяти
Не китайцы так начали делать первыми, а бренды категории "А", - те же Гнусмасы так делали 10+ лет назад, при чем не только с памятью, но и процессорами. Одна и та же модель могла на старте продаж оснащаться самым топовым железом, а как только приближался момент заменить ее на более новую во все ещё производимые гаджеты впихивались старые процессоры, разгоняемые до максимума.
bodyawm Автор
00.00.0000 00:00Samsung называли такие версии как Neo - Galaxy S3 Neo, Galaxy Note Neo. Они обычно работали на снапдрагонах вместо эксиносов и их чуть причесывали к реалиям рынка.
Note Neo я бы раздобыл, но это проблематично. Или вы про модели типа J510FN/J510H и.т.п? Это же разделение на частоты/симочность и.т.п
Samsung Galaxy Note 3 Neo - Обзоры, описания, тесты, отзывы - Мобильные телефоны - Helpix
Жаль такой хрен найдешь теперь :(
MegaLite
00.00.0000 00:00А есть ли какой-то вариант, чтобы система вообще полностью грузилась с SD? Есть же там в чипе каком-то в смартфоне, что не прошить? Что-то же ищет на флешке что там грузить дальше надо?..
bodyawm Автор
00.00.0000 00:00Ищет конечно :) В чипсетах от Qualcomm при установке спец. фьюза с завода, если загрузчик не находит таблицу разделов в памяти, то пытается загрузить её с SD как с eMMC. На Samsung'ах это часто эксплуатировалось для восстановления системы: дампились первые 100мб флэш-памяти и записывались на флэшку, вываливая смартфон в Odin. Так лечились смартфоны, которые упали в 9008.
Если попадется S4 mini с отвальной памятью - обязательно поэкспериментирую.
MegaLite
00.00.0000 00:00Возможно так ещё умели девайсы на TI Omap, как Qtek 8500 на Windows Mobile - он так шился, но это не точно:)
Viteonk
00.00.0000 00:00Делал немного по-другому, перепаивал eMMC на microSD на Samsung s4mini (i9190). На борту было две microSD, на одной загрузчик, на второй система. Пост на 4pda.
Запуск целиком с карты памяти был бы отличным решением. У меня, к сожалению, не получилось.
MegaLite
00.00.0000 00:00+2Древний девайс, да с флешки... Даже если долго не проживёт, но может грузиться с другой флехи - он почти бессметрен:) Успевай тока флехи менять, да систему накатывать:)
А если такой девайс ещё и не опрашивает аккум и его можно посадить на "вечную зарядку" - цены ему нет!:)
bodyawm Автор
Вот как-то так мы с вами и дошли до того, что девайсы действительно начали делать "одноразовыми"! И не исключено, что "барумы" можно найти и в девайсах дороже 5.000 рублей.
Плохая тенденция? Если кому интересно, какой был оригинал статьи, то вот:
На грани отвала eMMC - или как работает Android на SD карте 2006 года — Мобайл на DTF
denticulus
В 2011-2014 году умирала флеш память на трёх смартфонах Sony: Xperia Arc, TX и Tipo. Тел постоянно сыпал ошибками, тормозил и нельзя было установить ни одно приложение. Сброс не помогал или помогал ненадолго.
Ладно, у подвального Китая, но уважаемый производитель вроде.
bodyawm Автор
у меня у всех сонериков живая память) но слышал о помирании памяти на HTC
bodyawm Автор
Вчера писал вам с смартфона, отвечу более развернуто с ПК, авось кому-то пригодится.
Заметил сильную деградацию BOOT раздела на девайсах от Lenovo - планшеты 2013-2016 годов, смартфоны. У них через пару лет лежания слетает загрузчик - причем либо lk, либо preloader. При этом, смартфоны не подают признаков жизни от ЗУ, а при подключении к ПК - лихорадочно мигают новым устройством. Плюс, леново ставили довольно ненадежные разъемы и если разъем ушатан - ПК не увидит девайс (но ребята из Lenovo молодцы - разводят резервные подписанные пятачки на плате), Лечится простой прошивкой первых разделов (preloader, boot, recovery).
Чисто теоретически такое может быть и на соньках. Прошейте с помощью SE FlashTool, там ничего сложного нет. Правда на Xperia Arc часто всплывает болячка с уровнем зарядка АКБ.
Javian
Описанная ситуация характерна для Lenovo IdeaTab A3300