@WSGlebKavash

Как работают драйвера на Android?

В GNU\Linux драйвера представляют собой модули ядра, или содержатся в самом ядре, если ядро монолитное. А как с этим обстоят дела в Android? Почему прошивки от одного смартфона не работают на другом? Можно ли прошить на смартфон вместо Android полноценный дистрибутив Linux, например Ubuntu, RHEL или Arch Linux?
  • Вопрос задан
  • 319 просмотров
Решения вопроса 2
@rPman
Бинарные блобы.

Подавляющее большинство производителей смартфонов, планшетников, SmartTV и вообще всего многообразия IoT из мира arm, в нарушение GNU лицензий и здравого смысла не предоставляют никаких драйверов, инструкций и не оказывают содействия сообществу (некоторые только на него и надеются, т.е. вот вам говно, пилите, работайте бесплатно, а мы с продаж железа будем получать бабло, не потратив ни копейки на софт, потом всех кинем). Чаще всего производитель однократно под конкретную версию ядра, пилит рабочую конфигурацию (не только модули но и фактически весь образ android), затем выкидывает все исходники в мусорку и забывает про то что это существует.

Все существующие кастомные прошивки берут существующие образы android, иногда с соседних совместимых устройств, и тусуют содержимое, в некоторых комбинациях это работает.

Нормальный linux в подавляющем большинстве случаев установить не получится. В лучшем случае, если заработает, не будет доступа ни к радиомодулю (включая wifi и модем) ни к тачскрину ни даже к видеоускорителю (максимум в режиме framebufer)

p.s. В некоторых случаях, если у какого-то любопытного хакера, оказывается интересное ему устройство, он может отреверсить работу оборудования и запилить свой драйвер, если повезет, этот код попадает в мейнстрим linux и тогда его поддержкой займется уже не только сообщество (энтузиасты) но и финансово заинтересованные компании.
Ответ написан
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Глеб, пробовал ставить дрова от нвидии? Вот там точно так же - большой обьектный модуль, который линкуется с твоим ядром и становится модулем ядра. Большинство производителей не дает дров на железо, которое поставляет. Завести стандартный линух наверное можно - но там половины устройств просто не будет :)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
HAL ILO BootLoader Network GPU

Вся эта аббревиатура тянет запатентованные блобы. И ни кто в здравом уме не будет их раскрывать, это миллионы человеко лет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы