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

Всем привет! Наконец то дошли руки написать новую статью по моддингу очередного аппарата. Но в этот раз моддинг вынужденный. Кому интересно - залетайте. Фоток не будет - слишком мыльно получилось :(

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

Когда-то давно, я выполнив первый фриланс заказ, запилив гиперкеж на юнити заказал дешман смартфон с али. Основное требование было от 1гб ОЗУ и относительно свежий проц. Взор мой пал на Xgody Y20 - обычный одм смартфон, который собирается на условном фоксконе, а платформу делит с сотней таких же собратьев. Однако у него за 4 тысячи рублей был здоровый 6 дюймовый IPS дисплей, 1гб ОЗУ(с некоторой хитростью) и относительно бодрый 4х ядерник. Ходил я с ним не особо долго - где-то полгода, затем я ушатал прелоадер, забыв снять галку. Опыт с нормальными смартфонами на мтк, где родной прелоадер от родной ревизии всегда лежит в прошивке тогда расслабил мою бдительность. Прелоадер - первичный загрузчик процессоров MTK, который инициализирует eMMC(внутрення память) и ОЗУ. В прелоадере хранятся настройки EMI(тайминги, тип памяти и.т.д), и список поддерживаемых emmc. Поэтому аппарат стал кирпичем, и отправился на целый год на полку. Затем, кто-то откликнулся на зов и скинул прелоадер моей ревизии, который я успешно зашил и поднял смартфон... на первые минут 5. Телефон регулярно зависал во сне или в процессе работы с косяками на дисплее. Меня это смутило, я подумал возможно прелоадер с косячными настройками, так и забил на него и занялся другими мобилками. Сейчас руки добрались до него, и я нашел причину косяков - умирающая eMMC. Дело в чем - есть крупные заводы памяти - Hynix, Samsung, Kingston и.т.д. А есть мелкие - ForeSee, Barum и.т.д. И вот они считаются "отбраковкой" - они очень дешевые и у них очень низкий ресурс. Поэтому китайцы их и ставят в очень дешевые телефоны и особенно в планшеты - они ходят 4-5 месяцев, затем память надо накатывать другую. В моем девайсе оказалась именно флешка производства Leahkinn, тоже из той же оперы. И я понял что флешка дышит на ладан и осталось ей недолго, поэтому надо действовать. После смерти emmc переходит в режим readonly - с нее можно только что-то считать, и то не всегда. Система очевидно так работать не может.

Интереса ради я решил перекинуть Android на микросд флешку, и посмотреть буду ли зависания еще. При этом речь шла не только о перенесении раздела /system/, но и /data/ вместе с dalvik-cache. т.е я почти полностью(кроме /cache/) перенес систему на сдкарту, и без сдкарты смартфон не загрузится.

Процесс перенесения

Я не стал как-то скринить процесс перенесения системы на SD-карту. В целом вообще операция перенесения системы на SD карту ооочень редкая, максимум ее можно увидить в топиках на 4pda про какие нибудь легенадрные Samsung Galaxy Ace 2/Galaxy Ace/Galaxy Gio - где тупо поджимало место. Но в общем случае нужно распаковать родной бут, переразметить карту на два раздела, изменить точки монтирования в fstab с mmc, на микросд(предварительно подсмотрев физические имена разделов в системе), скопировать /system/ из emmc на первый раздел микросд(я делал это с dd, чтобы не ломать симлинки), собрать бут и прошить. По итогу система загружается - смотрит logcat, загрузка идет! Ждем минут 5 и видим рабочий стол.

Производительность

Микросд гораздо медленнее даже чем очень китайская emmc. Для сравнения - про-сть родной еммс была 60Мб/с, в то время как Microsd - 6Мб/c. Забавно, да? И на системе это тоже сказалось, однако всё не так критично.

Системе надо дать "пропердется" - затем всё работает очень шустро. Заходим в shell, пишем cat /proc/meminfo и узнаем что памяти у нас... 512МБ ОЗУ) Производитель нас надул, но зато подкинул своп на 300мб)) т.е ОЗУ как бы 1гб, только часть берется из eMMC - что гораздо медленнее) Анимации плавные, но на большинство действий в системе(открытие приложений, навигация в браузере) есть некоторая задержка. В целом, не доставляет особого дискомфорта, девайс все еще можно юзать. Браузер работает адекватно, не прям плавно - но ОК, музыку можно слушать, видео - вот тут не знаю честно) Как смартфон юзать его можно.

Проц весьма бодрый для андроида 5.1 - MT6580, вытягивает систему на все сто. На родной mmc смартфон вполне себе летал. Старые игры он тоже тянет нормально - Asphalt 8 не пойдет, но NFS MW 2012, более старые асфальты и.т.д легко. С таким то дисплеем(пусть и не высокого разрешения - 480x800) и IPS матрицей - играть норм.

Зачем это всё?

На этот раз я не буду говорить, что аппарат можно юзать как NAS файлопомойку, или как плеер, или консоль для старых эмуляторов - это итак очевидно. Но, увы, были аппараты с "слабой" памятью с завода - у которой был пониженный ресурс. И это были флагманы и просто дорогие модели. Например Samsung Galaxy S3 и Galaxy S4 Mini, которые в один момент просто зависали, и без перепайки флешки больше не работали. Если у вас есть девайс с слабой памятью, и некоторые навыки в сисадминстве - не поленитесь закинуть систему на микросд. Старые версии андроида вообще на них летают.

Норм статья?
Норм, но тех. деталей побольше
Норм, но тех. деталей поменьше, побольше фоточек и.т.д
Херня
201
94 комментария