LINUX.ORG.RU
ФорумTalks

кастомы андроида и исходники


0

3

Прочитал я тут про то что нормальные кастомные прошивки андроида появляются только, если производитель выложил нормальные исходники.

Т.е. получается что современные системы без исходников умельцев нет кастомизировать?

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

Почему так с андроидом? Почему например плачут что нет драйверов камеры, вместо того чтобы выдрать из официальной прошивки(в бинарном даже виде), пропатчить адреса(если нужно) и запилить.

Это умельцы перевелись или архитектура андроида(линукса) не позволяет?

★★★★★

Помню как на трубках еще обычных, где не то что исходников, а просто бинарные прошивки были и то кастомизировали довольно сильно.

И что же за кастомизация там такая была, что сейчас не сделать?

najlus ★★★★★
()

Зачем морочаться?

А зачем? Если можно взять устройство для которого производитель выложил прошивоньку.

Camel ★★★★★
()

На некоторых телефонах идет реверсинг бинарных модулей и драйверов, но далеко не на всех. Например патч для поддержки 10-ти пальцевого мультитача на нуках - http://forum.xda-developers.com/showthread.php?t=1629478

XVilka ★★★★★
()

Т.е. получается что современные системы без исходников умельцев нет кастомизировать?

Как ты *без умельцев* вообще что-то собрался *кастомизировать*? В старых системах как раз наоборот - чтото там кастомизировать могли только фрики с дизассемблером наперевес.

Помню как на трубках еще обычных, где не то что исходников, а просто бинарные прошивки были и то кастомизировали довольно сильно.

Тут можно точно так же. Просто андроид это культура опенсорса. Тут сидят не полупроприетарные кулхацкеры которые копаются в грязных бинарях, а нормальные FOSS прпограммисты. В результате людей которые будут пилить исходники заметно больше тех кто будет копаться в бинарях.

kernel ★★☆
()

вместо того чтобы выдрать из официальной прошивки(в бинарном даже виде), пропатчить адреса(если нужно) и запилить.

Так в большинстве случаев и делается.

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

В старых системах как раз наоборот - чтото там кастомизировать могли только фрики с дизассемблером наперевес.

Я и говорю что фрики с дизассемблером поперевелись

Loki13 ★★★★★
() автор топика

А нука напомни мне что можно было кастомизировать в нокле3310...

А теперь посмотри на циганомод и задумайся.

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

И что же за кастомизация там такая была, что сейчас не сделать?

Меняли разрешенную длину имени в зап. книге, кодировку в плеере встроенном(чтобы русский понимал), ограничение на длину мелодии снимали. В бинарную прошивку свои звуки засовывали. Книги вкомпиленные в джава-апплет были. И это то что навскидку вспоминается.

то что тогда делали оно сейчас и из коробки есть, но я про сам подход, что в бинарях ковырялись, адреса выискивали и подменяли в HEX-редакторе.(сам баловался в студенческие годы, поэтому знаю что говорю)

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

А нука напомни мне что можно было кастомизировать в нокле3310...

А теперь посмотри на циганомод и задумайся.

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

Loki13 ★★★★★
() автор топика

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

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

http://allsiemens.com/patch/

Это смена скинов по вашему? И это то что первое нашлось.

Вибра в момент начала разговора v1.2

И это на сименс С65 делали, а сейчас на андроид только за деньги(приложение в маркете требующее рута) и то не работает на многих моделях

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

Я и говорю что фрики с дизассемблером поперевелись

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

При этом
а) разных SoC стало гораздо больше.
б) Выходят новые гораздо чаще.
в) объемы софта резко возросли.
г) старое железо быстро становится неактуальным

kernel ★★☆
()

Про винмобайл я даже и не говорю, который потрошили как могли.

Так он и работал с кровоподтёками :D

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

Меняли разрешенную длину имени в зап. книге, кодировку в плеере встроенном(чтобы русский понимал), ограничение на длину мелодии снимали. В бинарную прошивку свои звуки засовывали.

Тогда это было круто. Тогда у меня был Siemens S65, там да, практически коммуникатор из него делался с многозадачностью, эльфы...

Сегодня, всё что делают пацаны-кустомизаторщики без исходников - это правка build.prop, твики в init.d, картиночки-фреймворки... Всё это можно сделать установкой софтин и тыканьем птичек в них. Какие кустомизации-прошивки?

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

кто эти люди что пишут краки и кейгены к программам

Аутисты.

Почему они не направят их на разработку открытого софта

Нутыпонел.

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

А какой им профит писать открытый софт?

Сделать в своей жизни хоть что-то, направленное на созидание, а не разрушение? Этого мало?

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

Не для всех. Список ограничен. Без исходников никак, выходит.

Список ограничен, потому что нет людей, которые умеют м готовы заниматься разработкой прошивок. Почти все сборки CyanogenMod собраны с использованием блобов.

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

вместо того чтобы выдрать из официальной прошивки(в бинарном даже виде), пропатчить адреса(если нужно) и запилить.

Так в большинстве случаев и делается.

Почему же тогда в кастомных прошивках то, вифи не работает, то камера телефон ребутит или вешает, или ...

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

Скины поменять, это вам не логику работы с внешними интерфейсами переписать

Посмотрите, как кастомизировались Siemens S35 (не путать с C35). Это далеко не скины с мелодиями.

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

уже не могут сделать

Могут. Но а) лицензия, на которую примеры из этой темы полностью клали; б) разбаловал скорее линукс/FLOSS, в хорошем смысле.

qux
()
Ответ на: комментарий от mono

Список ограничен, потому что нет людей, которые умеют м готовы заниматься разработкой прошивок. Почти все сборки CyanogenMod собраны с использованием блобов.

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

Где ты лукавишь?

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

Лукавство состоит в том, что иногда удается завести блобы, иногда не удается, иногда удается частично. Все это зависит от наличия людей и особенностей конкретного блоба.

Блоб - это не обязательно ядерный модуль, который загрузил и радуешься жизнью.

Поэтому и существуют в CyanogenMod официально поддерживаемые девайсы, неофициально поддерживаемые девайсы и «васе из соеднего подъезда удалось завести».

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

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

Не понимаю. Есть ядро. Есть модуль и блоб для него. Почему же все это нельзя использовать с другой версией андроид?

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

Не, тут ты не прав, я же об этом же. Проблема в том что «раньше» системы были очень примитивные. Сейчас же, тот же андроид, уже действительно очень большой монстр. И дело не в открытости или закрытости, а в том что раньше загрузчик писал один человек, а сайчас его пишет комьюнити + у вендора еще парочку человек фултайм им занимаются. Вопрос в том что реально очень большой объем информации надо отреверсить, понять и заимплементировать.

Яркий пример тому драйвера на GPU различные. Даже приналичии спеки (пример радеонщики) опенсорцный драйвер ну очень медленно пишут.

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

Я скорее имел ввиду например такую ситуацию: был такой смартфон htc evo 3d, так у него на кастомах камеру так и не завели потому что не смогли(не захотели или еще что, причину не знаю) к андроиду 4.х вкорячить модуль камеры от андроида 2.3.х

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

получается или андроид намного сложнее поддается реверсу чем тот же винмобайл или умельцев стало меньше и кастомизацией андроида вместо хакеров(в хорошем смысле) сейчас школьники занимаются.

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

ну я тебе такое скажу, камера и гпу это самые вендорзависимые компоненты. Причем сам вендор эти компоненты пилит «на коленке» подпирая их со всех сторон костылями. К тому же вот именно этот барьер android_2.x- <--> android_4.0+ это почти непреодолимый баръер портирования т.к. это совершенно разные ОСи. Есть еще и второй барьер, но он не настолько страшный android_4.1- <--> android_4.2+, тут только несколько подсистем обхромалось )

А теперь доложи сюда то что некоторые вендоры пишут драйвера на С++ (привет Мото/Хтц) и на этом думаю пояснение можно закончить

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

Ты издеваешься?

Нет, почему вы сделали такой вывод? Только потому, что у вас нет вразумительного ответа?

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

К тому же вот именно этот барьер android_2.x- <--> android_4.0+ это почти непреодолимый баръер портирования т.к. это совершенно разные ОСи.

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

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

Потому что ядро разное, и ОС. А блоб - это не всегда исключительно ядерный модуль.

Зачем менять ядро, если старое и так поддерживает все железо? Зачем ядру знать о том, что на нем запущено?

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

Зачем ядру знать о том, что на нем запущено

Этот подход не работает с Android. Ядро сильно модифицируется от выпуска к выпуску, хотя есть умельцы...

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

Потому что новые андроиды требуют нового ядра, ваш К.О.

Где и почему они требуют? Вы в сорцах нового андроида нашли проверку на версию ядра?

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

Этот подход не работает с Android. Ядро сильно модифицируется от выпуска к выпуску, хотя есть умельцы...

О чем и речь, когда есть умельцы, то все работает. Когда умельцев нет, то начинаются отмазки.

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

ядро тут совсем не причем. Ядро и правда чаще всего может оставаться старое... Теоретически...

Проблема в другом, а именно то в чем я уже сказал. Те самые блобы чаще всего это юзерспейсовые ХАЛы. А вот они по определению прибиты гвоздями к лоулвл апи андроида. Никогда не задумывался почему у циганщиков чаще всего проблемы с камерой, апаратным декодированием, серсорами и звуком?

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

Твоя неправда. Андроидные модификации все одни и те же как в 2.6.35 так и в 3.8.10. Ну тоесть технически различия вероятно все же есть, но с точки зрения ОС АПИ они почти идентичны.

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

Потому что вендроры пишут драйвера под конкретную версию кернеля. И если с «соседней» версией оно с горем пополам может собраться то через пару версий уже нет. Внутреннее АПИ ядра переменчиво :)

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

Чаще всего модифицированные прошивки представляют из себя гибрид - часть написанная на Java, которая, работает поверх старого нативного окружения.

Это нельзя считать полноценной поддержкой.

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

Примеров модификации ядра от Google куча. Сейчас идет работа по запуску Android на ванильном ядре. Когда его биндинги станут стандартными, тогда может быть и взлетит, но пока Google не обременяет себя обратной совместимостью.

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

Твоя неправда. Андроидные модификации все одни и те же как в 2.6.35 так и в 3.8.10

Я люблю покопаться в ядре и в нативном коде Android. Действительно не сравнивал патчи, может быть они и идентичны, но нативный код отличается сильно. К тому же, на LWN пишут, что разработчики ядра идут навстречу Google, и, если сейчас эти патчи работают, то не факт, что в следующая версия Android не начнет зависеть от новых фишек.

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

разработчики ядра идут навстречу Google

Бред собачий. Никуда они не идут. А мейнтейнеры подсистем не очень то и жалуют андроид спец фичи (я бы сказал игнорят). Так как ты «любитель покопатьсяв ядре», может назовешь 3 ключевых подсистемы которые смержили в ванильное идро ? :)

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

то все работает

Вот это ключевой момент. Так не бывает :)

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

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

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