В этой заметке я расскажу о том, как превратить старый убитый китафон на чипе MediaTek, пылящийся на полке, уже даже без обновлений от производителя в… сервер под управлением Debian Stretch! Оную операцию я проделал для UMI-X2 и iOcean X8, и прошивки для оных и можно скачать по ссылке у меня в блоге. Учитывая, что типичный китайский телефон уже давно имеет по четыре, а то и десять процессорных ядер и 2GB оперативной памяти, а то и больше, результат получается намного более производительным, чем тот же Raspbberry PI, при схожем окружении.
Дайте догадаюсь, на полке пылится старый телефон? В котором скорее всего 4 или даже 8 ядер, в котором есть 2 GB RAM а то и больше, и уж точно хватает флеша? И не смотря на это производитель забил на апдейты. Или, быть может разбит экран, пластик поцарапан, антенна отвалилась и т.п. Аппарат за замену мы давно купили, старый уже не продашь, ибо никому даром не нужен, а выкидывать жалко.
Именно такие старые аппараты у меня и пылились на чердаке, вот и решил я из них сделать небольшие такие сервачки с debian на борту.
Так что я готов представить общественности первую версию моего небольшого проектика ‘MediaDeb’, который позволяет запустить на mediatek’овских трубках debian. И нет, это не chroot, где отдельные программы из debian запускаются параллельно с android. Это полноценная установка debian с кастомным ядром, в котором включено все, что нужно чтобы развернуть systemd, iotop и прочие нужности, отключен некоторые android-специфичные вещи, которые ломают debian-окружение. Сам же android выпилен из системы во имя экономии оперативной памяти и флеша.
Иными словами, если можно просто взять телефон, прошить его через SP Flash Tool debian прошивкой, воткнуть usb провод и вуоля: устройство определиться как композитное усб устройство с сетевым адаптером, виртуальным ком-портом и флешкой. Последовательный порт можно использовать, чтобы получить доступ к консоли, если вдруг неправильно настроена сеть. По умолчанию прошивка попытается получить IP адрес через dhcp на rndis интерфейсе. Теперь этого зомби можно положить на полку и представить, что мы арендовали небольшой выделенный сервер.
На что годится такой зомби?
В моем случае основное применение для этих зомби-телефонов — кросс-сборка программного обеспечения для arm используя платформу непрерывной интеграции jenkins. Так же в таком варианте этот аппарат можно использовать как небольшой дешевый сервер, например для персонального блога (долгое время этот самый блог крутился на сервере со схожими характеристиками).
А батарея не разбухнет постоянно держать аппарат на зарядке?
Если батарею телефона постоянно держать на зарядке, т.е. заряженной до 4.2 вольт, то через некоторое время она раздуется и будет ни на что не пригодна. Вдумчивая раскурка исходных кодов с применением зеленого чая показала, что это значение захардкожено в драйвере PMIC. А значит его можно отредактировать и выставить, например, в значение 3.7-3.8 вольт, что позволит батарее месяцами находиться на зарядке, и при этом в случае сбоя питания этого хватит чтобы успеть корректно завершить работу. Пока этот batteryhack сделан только для UMI-X2, Iocean-X8 на очереди.
В каком все состоянии?
Пока проект находится в зачаточной стадии (т.е. собирается на моей машине, результат вполне сносно работает). Я добавил базовую поддержку трубок UMI-X2 (MT6589, 4 ядра) и iOcean X8 (MT6592, 8 ядер). Базовая поддержка телефонов на этих чипсетах должна быть сравнительно простой. Если хотите помочь и портировать это безобразие на свою трубку — милости просим на github
В следующих заметках я постараюсь рассказать про то, как портировать MediaDeb на другие устройства на базе чипов mtk.
Круто! Давно ищу прошивку Linux на Mediatek, написал вам письмо, надеюсь на сотрудничество.
Ооо да эта тематика очень интересная! валяется дома куча телефонов на Mediatek всегда интересовало чо можно замутить на них, так как жалко выбрасывать..!)
Когда будет продолжение статьи о том, как портировать MediaDeb на другие устройства на базе чипов mtk. ??
Проект умер?
Пока у меня не было других телефонов на медиатеке, а народ не подхватил идею. Так что можно сказать что да.
Вы бы поделились более подробными инструкциями, как это всё собирать, предположим, на примере какого-то аппарата, от А до Я нужные действия расписать. Я пытался в силу своего небольшого опыта в сборке ядер и работы с прошивками в целом повторить для 6580, но не смог. Вернулся недавно к этой идее, разгребая закладки в браузере, и пошёл проще: поискал в сети и как раз удачно на местной интернет-барахолке продавался iOcean x8 за 500р, я его и прикупил. Сразу хочу поблагодарить за проект, очень крутой. Ну а так очень не хватает подробных инструкций. Народ подхватил бы
Вечер добрый.
хотел воспользоваться наработками… Для другого оборудования (но тоже МТ).
И сразу уперся … make не дает скачать ….
https://cloud.ncrmnt.org/index.php/s/7hYjCqbJgMcVYFe/download?path=%2F&files=arm-module-linux-gnueabi.tgz
Почитал https://github.com/mediadeb/mediadeb/issues/5?ysclid=ls980yoodt17307939
тоже мимо….
Просьба перевыложить. Заранее спасибо.