Comments 19
А что с батареей? Против андроида сильно больше жор?
Зависит от нагрузки. Линукс в юзерспейсе позволяет нагрузить железо сильнее чем андроид :)
Жрет больше, но 18-20 часов спокойно выдерживает с нагрузкой вида "vscode + браузер с парой вкладок и не сильно жрущих страниц + терминал".
Можно добиться и меньшего расхода, если поменять кеды на lxqt, агрессивнее урезать допустимые частоты, подобрать более экономичный гувернер.
Это лучший заголовок за последние несколько недель!!!
Спасибо! Я старался :)
Александр Сергеевич точно не подозревал, что его сказку приспособят под описание мучений с MediaTek)
Штош, на выходе таки тоже получилась неведома зверюшка)
Из того, что торчало напрямую в линукс - только wifi, аудио и дисплей (причем дисплей был самым решающим фактором - т.к. GLES библиотеки с завода идут только bionic, и завести их под glibc можно через libhybris и прочие извращения.
А после того как были найдены сырцы ядра от похожего планшета, и после энного количества пердолинга был выведен рецепт компиляции произвольных ядерных модулей - скрещивание ежа с ужом прошло достаточно успешно)
Вижу, проделана серьезная работа. Хотелось бы технических подробностей.
Это моя первая статья, так что буду рад пинку в нужном направлении. О чем интересно узнать?)
По сути автор сделал switch-root сразу после загрузки ядра. Основную работу Lenovo сделали за автора оставив drm в ядре в нормальном виде
Как бы там еще куча работы сделано)
Эмуляция android property, компилятор init.rc в jsonl граф + штука которая может исполнять этот граф по тем же правилам что и android init, а так же некоторое количество проксей из binder-интерфейсов в линуксовые.
После простого switch-root, получится красивый интерфейс и максимум usb гаджет. Ни тебе камеры, ни тебе wifi/bt/imu, ни тебе звука
Велком в репо, я ничего не прячу ;)
Модуль Rediska для чтения android properties из-под glibc заслуживает отдельного выноса в отдельный репозиторий для всех мобильных линуксоидов
Скоро вынесу :)
На самом деле, он не прям для чтения и не прям из-под glibc.
Он состоит из двух частей - glibc K/V хранилки + bionic rediska-genuine-property части, которая общается с хранилкой через юникс сокет, и которая инициализирует /dev/__properties__ блок, хранящийся в общей памяти.
Именно читать из-под glibc можно легко, а вот проинициалировать, ЕМНИП, помешает разница в ABI.
Т.к. изначальная задача была сделать замену той части android init, которая отвечает за инициализацию этой области памяти.
Хабр здорового человека. Торт.
со времен ubuntu touch пооже ничего не изменилось - куча ручного труда, костылей и синей изоленты. там был lenovo m10 тут m11 хоть посовременней
Хочу отметить, что синяя изолента с ручным трудом хоть и присутствует, но вот костылей - нет.
Линукс не подозревает, с чем на самом деле он работает: звук нормальный, вайфай обычный, камеры торчат наружу как V4L2 устройства, сенсоры замаплены через IIO.
Так что систему лучше рассматривать как:
- ядро, которое мы не можем поменять
- MediaTek BSP
- обычный юзерспейс
Статья звучит как иток многих месяцев работы, при том качественной. Сам владею такм планшетом и долго бился что бы хотя бы андроид кастомный залить, а тут такой прогресс)
Надеюсь в дальнейшем будет возможность повторить и с другими дистрибутивами
Опыт в целом дистро-независимый)
Учитывая, что весь функционал был замаплен на стандартные линуксовые интерфейсы - если дистрибутив не древний как говно мамонта - федора/генту/арч/слака залезут как нефиг делать.
Кстати, раз у тебя точно такой же планшет, я подумаю как урезать размер дистра на SD-карточке, чтобы как итог можно было просто перешить vendor_boot и вставить SD
Раскатить на userdata можно будет уже из работающей бубунты)
Не мышонок, не лягушка — а Kubuntu на Lenovo Tab M11