LINUX.ORG.RU

MediaDeb 0.1c

 , , ,


11

5

Вышла первая версия MediaDeb — проекта по запуску Debian GNU/Linux на телефонах на базе СнК от Mediatek (без chroot, честная прошивка с Debian).

MediaDeb — это мой небольшой хобби-проект для «оживления» старых аппаратов, не получающих более апдейтов от производителя и пылившихся на полках все это время.

MediaDeb позволяет быстро собрать и запустить прошивку на базе Debian на старых телефонах, таким образом давая вторую жизнь старому апарату в виде одноплатного компьютера/небольшого сервера, зачастую превосходящего по характеристикам Raspberry Pi.

MediaDeb использует ядро, собранное из исходного кода открытых вендорами SDK, с изменениями в конфигурации, необходимыми для корректной работы systemd и стандартного для дистрибутивов linux окружения.

В этом релизе поддерживаются два устройства UMI-X2 на базе MT6589 и iOcean X8 на базе MT6592. Добавить поддержку других устройств на базе этих чипов — тривиальная задача.

Скачать исходники прошивок можно со странички релизов на GitHub.

>>> Скачать

★★★★★

Проверено: jollheef ()

MT6572 бы, было бы куда деть и так мобильник, который мне всё равно только под замену другим мобильником. :)

Впрочем, ядро от него я вполне модифицировал и оно даже работало!

a1batross ★★★★★ ()
Последнее исправление: a1batross (всего исправлений: 1)
Ответ на: комментарий от a1batross

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

ncrmnt ★★★★★ ()

для MT6577 можно ли собрать свое ядро и что будет работать, а что нет?

да и вообще, что работает, а что нет из: вывод-на-экран, wifi, bt, сеть-через-usb, тачскрин, микрофон, камера, звук-через-gsm, 3G ?

www_linux_org_ru ★★★★★ ()

Нужно! Годно!

Про bq, думаю, в курсе?

И да, не планируете заменить systemd на что–нибудь более подходящее для мобильной платформы?

Quote ()

из исходных кодов открытых вендорами SDK

А для Mali там что-то есть?

gag ★★★★★ ()

а звонить там можно? и как, из консоли? :)

buratino ★★★★★ ()
Ответ на: комментарий от buratino

Как будто что-то плохое. Чем

$ call buratino

хуже, чем

+79151234567

?

DELIRIUM ☆☆☆☆☆ ()
Ответ на: комментарий от DELIRIUM

да это, наоборот, классно. только нужна нормальная клавиатура. лучше всего - с цифровым блоком, чтобы можно было ещё и в angband играть. :) а зачем ещё нужен Debian? :)

buratino ★★★★★ ()
Ответ на: комментарий от DELIRIUM

только будет скорее

call buratno -r -S --limit 1m30s --background airport --novideo :)

buratino ★★★★★ ()
Ответ на: комментарий от buratino

-r -S

Зачем мне рекурсивный буратино в ассемблерном представлении

--background airport

да ещё и в аэропорту?

DELIRIUM ☆☆☆☆☆ ()
Ответ на: комментарий от DELIRIUM

тогда какой же ты дебиановец?

был бы гентушником - то вообще звонил бы не просто, а с обязательной оптимизацией

buratino ★★★★★ ()
Ответ на: комментарий от buratino

Что значит «какой»? Вот такой:

[del@del-debian ~]$ uname -a
Linux del-debian 4.11.0-1-amd64 #1 SMP Debian 4.11.6-1 (2017-06-19) x86_64 GNU/Linux
[del@del-debian ~]$ cat /etc/issue
Debian GNU/Linux buster/sid \n \l
DELIRIUM ☆☆☆☆☆ ()
Ответ на: комментарий от DELIRIUM
user@jessie:~$ uname -a
Linux jessie 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2 (2017-04-30) x86_64 GNU/Linux
user@jessie:~$ cat /etc/issue
Debian GNU/Linux 9 \n \l

ядро жессевское, потому что на 4-х ядрах мой компутер не работает :(

buratino ★★★★★ ()
Ответ на: комментарий от DELIRIUM

на другом всё ровно на раёне

user@wheezybox:~$ uname -a
Linux wheezybox 4.9.0-3-686-pae #1 SMP Debian 4.9.30-2 (2017-06-12) i686 GNU/Linux
user@wheezybox:~$ cat /etc/issue
Debian GNU/Linux 9 \n \l
buratino ★★★★★ ()
Ответ на: комментарий от DELIRIUM

Цыфер 10 и пальцов по дефолту 10. Чуиш? Не все же емаксеры и умеют нажимать ногами, да.

mos ★★☆☆☆ ()
Ответ на: комментарий от mos

Пальцев ващето 21 (мы же в интернете, девушек тут нет).

DELIRIUM ☆☆☆☆☆ ()

Что, опять? В 2007 так развлекались

upcFrost ★★★★★ ()

Каждый, кто поддерживает Mediatek в добром здравии - враг прогрессивного человечества. Дизлайк.

droserasprout ★★ ()
Ответ на: комментарий от a1batross

Плюсую за неудачное название. Можно подумать что угодно, кроме того, что в это название вложил автор.

Как вариант, mtkdebian или на худой конец mtkdeb или deb4mtk было бы куда информативней.

AVL2 ★★★★★ ()

У меня нет подходящего девайса, но тема интересна. Можно скриншоты?

fehhner ★★★★★ ()

Мечтаю о таком но для Nokia 9500/9300

disee ★★★ ()

Владельцы китайских лаптей могут начинать прыгать от счастья?

Deleted ()

Если это будет андроидокапцом, то я только за. Прям не верится, что настоящий, не кастрированный по самое не хочу (я про андрюху), линукс будет на телефонах.

Desmond_Hume ★★★★★ ()
Ответ на: комментарий от DELIRIUM

Пальцев ващето 21

Вылез из-под стола. Это какая же клавиатура должна быть, чтобы все их задействовать, особенно последний...

девушек тут нет

4.2

anonymous ()
Ответ на: комментарий от disee

Мечтаю о таком но для Nokia 9500/9300

Мечтаю о таком, но для аппаратов на TI OMAP 3610/3620.

anonymous ()

Столлман ликует.

anonymous ()
Ответ на: комментарий от www_linux_org_ru

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

1. Идем на 4pda находим ядро под свой чип: https://4pda.ru/forum/index.php?showtopic=583114 3.4 и выше вполне сойдут для Stretch'a.

2. Качаем, и собираем ядро. В конфиг нужно добавить опции из README.md, раздел porting. Они сделают systemd из debian счастливым. Тулчейн мой скрипты mediadeb скачивают, он должен подойдти для большинства 32-битных аппаратов.

От сборки ядра нам потребуется ядро, EBR1, MBR1, и scatter.txt. Остальное (lk.bin, preloader, logo.bin) лучше выдернуть из стоковой прошивки.

3. Трепанируем существующую прошивку. Распаковвываем boot.img и сохраняем boot-args.txt для перепаковки.

4. Используем собранное ядро и mediadeb'овский initrd при перепаковке, и проверяем. Если оно успешно загружается и у нас появляется комбо-устройство с сетью, вирт ком-портом и ums. Открываем minicom на вирт. ком-порту и логинимся в initrd (логин root, без пароля. Войти предлагает в течение 10 секунд, потом будет пытаться грузить дебиан) и осматриваемся: какие разделы emmc/устройства определились.

5. Сравниваем лог со стоком и редактируем ProjectConfig.mk. LCM (версия LCD модуля) можно взять сделав cat /proc/cmdline

6. Далее смотрим i2c устройства в sysfs и включаем нужные, отключаем ненужные устрйоства в ProjectConfig.mk. С неплохой вероятностью там будет все необходимое.

7. Открываем драйвер зарядника батареи и ставим максимальное напряжение зарядки с 4.2 вольта на 3.7-3.8. Это спасет батарею от раздувания через месяц, если аппарат будет все время на зарядке.

8. Добавляем кухню для сборки ядра git-подмодулем в каталог vendor_crapware, добавляем скрипты для своего аппарата в platforms/имя_устройства, и шлем мне пулл-реквест ;)

да и вообще, что работает, а что нет из: вывод-на-экран, wifi, bt, сеть-через-usb, тачскрин, микрофон, камера, звук-через-gsm, 3G ?

Экран завелся у меня на UMI-X2, есть /dev/fb0 и работает. На iOcean в открытой кухне нет нужного lcm. Ускорение если и заставить работать можно, то через libhybris. Документации по нему мало, но штука полезная, так как будет доступ не только к ускоренной графике, но и OpenCL (Привет майнерам). Заведется или нет - надо пробовать.

wifi - надо дернуть пару костыле-девайсов нужными ioctl'ками. Потом появится wlan0 и все будет штатно. Я такую «дергалку ioctl» сделал для UMI-X2, устройство на SDIO появляется, id корректен, но от него начинает приходить ворох SDIO прерываний. Подозреваю неправильную распиновку в codegen.dws, пока пытаюсь поправить

bt - немного сложнее, там костыли, которые вроде как можно свести к небольшим пляскам с ioctl + hciattach.

микрофон/звук - то ли у меня не завелся нормально кодек, то ли оно не через alsa подцеплено у этих извращенцев.

3g\4g - Завести в ядре проще всего, так как эта часть один-в-один на всех аппаратах, ядро создает три сетевых интерфейса. А вот чтобы их поднять и по ним пошли данные - скорее всего надо станцевать бачату при помощи ioctl-ек и три раза сделать ку.

fm - у меня драйвер на UMI-X2 завелся, даже попытался дернуть конфиги, которые ему надо подсунуть. Нехилыми хаками включается дополнительный диапазон частот. Настраивается простыми ioctl'ками, а вот как слушать/записывать непонятно по причине приключений со звуком.

камеры - надо подобрать i2c устройства для камер/линз. чаще всего есть в кухнях ядер. v4l2 там и не пахнет, чтобы вести съемку надо дернуть ioctl'ками устройства линз для фокусировки, и из костыле-устройств получать кадры. Аппаратное сжатие - нужно подымать скорее всего libhybris.

Сухой остаток: В общем проще всего сделать headless сервер, wifi поднять сравнительно просто, если оный поднимется - можно пожертвовать usb client'ом и включить в ядре usb host. Все остальное пахнет приключениями. Мейнлайн ядро на 6589 и 6592 есть, но в нем кроме прерываний, уарта и процессора вообще ничего, на данный момент юзать его нецелесообразно.

ncrmnt ★★★★★ ()
Ответ на: комментарий от Desmond_Hume

Неа, скорее это превращение андроедов в некрозомби после смерти.

ncrmnt ★★★★★ ()
Ответ на: комментарий от www_linux_org_ru

для MT6577 можно ли собрать свое ядро

Я собираюсь этим заняться на неделе наверное. А там посмотрим, что из этого получится.

sergej ★★★★★ ()

желаю успехов проекту!!!

название не совсем удачное кмк

FINKfreaky ()

небольшой хобби проект для «оживления» старых аппаратов
systemd
CVE-2017-9445: удалённое выполнение кода в systemd

понятно.

anonymous ()
Ответ на: комментарий от droserasprout

А что лично вы имеете против данного вендора? Да, может Mediatek выпускает не самые мощные решения, но у них как правило отличное соотношение таких параметров как цена/качество. У меня и телефон, и WiFi-машрутизатор на решениях от Mediatek. И даже миниатюрный wifi-брелок от этого вендора, и работает без дополнительных дров в любом актуальном дистрибутиве Linux(очень неплохо, кстати, работает для такого маленького девайса).

lucentcode ★★★★★ ()

Никогда не понимал за что ругают MediaTek. Клепают дешевые, энергоэффективные и достаточно продвинутые процессоры. Благодаря им может треть населения мира получила свой первый смарт. Теперь пускай получит свой первый линь на смарте))) Что до исходников, то это у всех проблема. Респект проекту.

poshat ★★ ()
Ответ на: комментарий от FINKfreaky

facepalm.png. С каких это пор системд стал частью ядра?

ncrmnt ★★★★★ ()
Ответ на: комментарий от poshat

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

ncrmnt ★★★★★ ()

Consult Systemd README and add required options for it to work

Вся ясно с проектом. Расходимся.

anonymous ()

А можно попросить (на будущее) вариант без системд? Можно в виде инструкций, как на without-systemd. Пожалуйста!

the1 ()

Не с того места начали. Никому не нужен Debian GNU/Linux на телефонах. Нужна юзабельная система.

Возьмите лучше планшетик на Атоме. Он х86. Поставьте на него Linux, он относительно легко туда ставится, заморочки только в вебках, фирмварях на звук, etc. Поработайте с этим хотя бы несколько дней. Понервничайте, попадая мышкой по пикселю (ибо единственное вменяемо работающее с тачем ДЕ - Юнити). Порассказывайте недоумевающей девушке что она вас не увидит по скайпу, потому что вы еще не отко-ко-компилировали драйверы. А потом когда убедитесь, что даже на простом и понятном Х86-планшете Линуксу делать пока что нечего - подумайте, что вы будете с ним делать аж на мобильном.

vblats ()
Ответ на: комментарий от the1

Debian Stretch идет с системд, и оный очень привередлив к фичам ядра, из-за него и основные пляски с бубном. Если хочется другой дистр:

1. Собираем уже инструментами этого дистра корневую фс для arm и делаем из нее образ ext4 (ext3 для iocean-x8)

2. меняем этом файлике последнюю строчку, чтобы указывала на init который будет использоваться, собираем.

3. В прошивке подменяем systemd.img на корневую фс своего дистрибутива и пользуемся.

4. Если рассматривается вариант именно stretch без системд - то, думаю, это можно запилить правкой Skyfile и конфига multistrap. Но сейчас пока для меня это не приоритетно. В первую очередь хочу запилить оптимизацию по использованию флеша (tmpfs для /tmp и некоторых других мест, journald в память и т.п.)

Если очень хочется поддерживать вариант без systemd - присоединяйтесь к проекту ;)

ncrmnt ★★★★★ ()
Последнее исправление: ncrmnt (всего исправлений: 1)
Ответ на: комментарий от vblats

Описание не читай @ в тред отвечай

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

ncrmnt ★★★★★ ()
Ответ на: комментарий от ncrmnt

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

Разупорись уже.

anonymous ()
Ответ на: комментарий от ncrmnt

Сухой остаток: В общем проще всего сделать headless сервер

Эх блин, а я уж было, прочитав первые строки новости, губу раскатал на полноценный дебиан на мобилке с нормальным ядром, а оно эвона как - ничего не работает, ядро ищите сами, драйвера подбирайте сами, куски блоатвари тоже сами выковыривайте из прошивки... Тогда нафиг все это нужно? Можно через chroot что угодно на телефоне поднять. Думал попробовать поиграться на своих девайсах с МТ6572/МТ6582 (до сих пор пользуюсь, кстати, и не думаю менять - зря ты их в устаревшие записал), ибо отличий от МТ6592 и нет по сути, но раз не работает ничего, то и смысла нет.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.