LINUX.ORG.RU
ФорумMobile

универсальная мобильно-аппаратная платформа


0

1

на PC я могу выбрать какую систему поставить. почему на смартфоне не могу? вот к примеру хочу поставить на android фон, maemo. в чём проблема? что у аппаратов железо между собой не совместимо? для каждого телефона свои драйвера? но linux оперирует с железом телефона то, почему нельзя поставить другую систему на базе linux? где проблема зарыта то?


у аппаратов железо между собой не совместимо
для каждого телефона свои драйвера

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

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

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

lorman
() автор топика

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

Вообще, если уж тебе так уперлось, поставить линукс туда можно, только запарно весьма.

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

и ещё вы так и не сказали в чём проблема то? в какой архитектуре то? ведь всеми операциями по управлению железом аппарата может выполнять linux. в какой архитектуре проблема то?

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

Зайди в гугл и почитай про архитектуру.

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

Zhbert ★★★★★
()

в чём проблема?

Проблем нет. Только производители не хотят скорее всего, чтоб с их телефонами эксперементировали. Вот начнешь ставить неподдерживаемую платформу, и брикнешь девайс. Потом все из твоего окружения будут знать, что у тебя был крутой смартфон ХХХ, а теперь он неработает. Или ты ходишь и рассказываешь, что у тебя камера не фотографирует в нём, так как дров на неё не нашел, или еще чего. Кому нужна такая «слава»? Собственно по этому и кастомные прошивки не жалуют. Тут еще тот факт, что кто-то брикнет девайс, и понесёт в гарантийку. Не знаю, как сейчас отношения гарантийки и производителя устроены, но думаю денег производитель заплатит за исследование того факта, что вот именно твой девайс брикнут по причине корявой прошивки.

Тратить силы производителю на тестирование всех платформ на одном смартфоне? А если их 10 в линейке? Ты хоть на секундочку представь, сколько это ресурсов?

Mr_Alone ★★★★★
()

На смартфоны линейки Google Nexus довольно часто ставят разные сторонние операционки (например webOS), т.к. все дрова открыты, спеки открыты, и все дрова есть в сорцах (AOSP). Берите, и пилите, что-бы поставить туда maemo, если никто до вас этого еще не сделал.

qrck ★★
()

на PC я могу выбрать какую систему поставить. почему на смартфоне не могу?

Потому, что на x86 всё строго стандартизированно, в отличие от ARM.

что у аппаратов железо между собой не совместимо?

Да. Оно именно между собой несовместимо.

где проблема зарыта то?

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

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

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

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

Часи ядра ни при чём. В линуксе есть всё, что надо. Но нужен форк ядра для каждой платы. Ну мудаки производители - что ж тут поделать. Искусственную несовместимость они городят.

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

Это надуманные проблемы. Реальная проблема в производителях платформ, на которых мобильники и делают.

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

Проблема в ARM
Каждый производитель процессора пилит свой чип
разный набор инструкций

Откуда дровишки?

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

На смартфоны линейки Google Nexus довольно часто ставят разные сторонние операционки (например webOS)
часто

?

WebOS и Boot2Gecko(FirefoxOS), больше не знаю. На HTC HD2, да, портировали все что можно.

Deleted
()
Ответ на: комментарий от Mr_Alone

От невидии, к примеру. Ещё и от Cirrus Logic. Первая сделала ARM с урезанным набором инструкций в виде Tegra/Tegra 2, а вторая - настолько багнутый, что процессор получился программно несовместимый с оригинальным ARM.

А ARM виновата в том, что не взяа политику на стандартизацию.

Quasar ★★★★★
()

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

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

Первая сделала ARM с урезанным набором инструкций

NEON всмысле? Дык «NEON is included in all Cortex-A8 devices but is optional in Cortex-A9 devices.» он и не обязан быть в Tegra 2, который ARM-9.

Cirrus Logic

Не совсем в курсе, что там не так?

А ARM виновата в том, что не взяа политику на стандартизацию.

Что нестандартного в ядрах от разных производителей?

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

так же по лицензии положено, если что изменили в ядре linux то обязаны показать что именно? разве не так? таким образом все изменения и перепелиные ядра линукс должны быть открыты. и на этом ядре что мешает то запуститься другому софту? меня интересует гуглофоны. htc sensation и xperia pro

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

разве ядро не стандартизировано под разные arm ядра то?

Может, я не совсем понял, что ты вкладываешь в это выражение, но да, ядро имеет поддержку разных реализаций ARM процессоров. Но штука в том, что SoC - это SoC, а вот обвязка самих плат ну никак не стандартизирована и кардинально различается.

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

Вон, в 3.7 собираются продвинуться в плане консолидации кода.

А вообще, не было ли точно также и с x86? Да и сейчас с драйверами под x86. Да и с x86: amd-Vi/IOMMU vs intel VT-x/VT-d. Эффект у всех один, а команды разные.

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

Mr_Alone> NEON всмысле? Дык «NEON is included in all Cortex-A8 devices but is optional in Cortex-A9 devices.» он и не обязан быть в Tegra 2, который ARM-9.

Конечно не обязан. ARM разрешает выпускать чипы с базовым набором инструкций, а не полным.

Mr_Alone> Не совсем в курсе, что там не так?

Там аппаратные баги такие, из-за которых нет стопроцентной совместимости с ARM. Я одноплатник один щупал на этом процессоре. Выяснилось, что туда нужен специально исправленный компилятор, который генерирует код строго под конкретный чип, а собранный на обычном GCC просто сегфолтится из-за ошибки в процессоре.

Mr_Alone> Что нестандартного в ядрах от разных производителей?

Я уже писал про Cirrus Logic. И тут речь не столько про ядра, сколько про готовые изделия.

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

lorman> так же по лицензии положено, если что изменили в ядре linux то обязаны показать что именно? разве не так?

Так. Но китайцам пофиг. Они до конца обычно зажимают исходники - пока не подойдёшь лично к ним с битой и не проломишь череп.

lorman> таким образом все изменения и перепелиные ядра линукс должны быть открыты. и на этом ядре что мешает то запуститься другому софту? меня интересует гуглофоны. htc sensation и xperia pro

Драйверы - закрытые блобы, которые никто так просто не отдаст. В остальном же, ежели просто ядро запустить, а не нормально работающую систему, получается, что всё работает.

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

Само по себе - ещё нет. И по твоей ссылке грядущие изменения, а не то, что имеем. Надо подождать и следить за развитием событий. Может что толковое и сделают.

В отличие от ARM на x86 (именно ПК, а не различные SoC на x86 для embedded) независимо от производителя процессора:

1. Стандартные шины

2. Стандартная базовая система загрузки (BIOS, EFI)

3. Стандартные разъёмы

4. Стандартная периферия

5. Стандартные указания на аппаратные ресурсы

ARM не заменит x86 до тех пор, пока не возьмёт на вооружение такой подход полностью.

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

gag> А вообще, не было ли точно также и с x86?

Не было. У x86 совсем другая история и совсем другое развитие.

gag> Да и сейчас с драйверами под x86.

Нет драйверов под x86 специальных (если не считать управление питанием). Драйверы - для периферии.

gag> Да и с x86: amd-Vi/IOMMU vs intel VT-x/VT-d. Эффект у всех один, а команды разные.

Если бы было дофига производителей и каждый городил бы свои велосипеды - было бы как на ARM. Но тут совсем иначе: производить x86 массово могут только Intel и AMD. Итого два производителя и два набора аналогичных инструкций. Под них легко приспособиться. Но дело даже не в этом. Дело в том, что на x86 эти инструкции для большинства современных задач нафиг не сдались. На ARM же даже FPU не каждый производитель включает, а в x86 FPU было тотально уже со времён первого пенька и не убиралось (опять же - речь не про embedded). Intel вообще одно время пыталась запретить производство чипов x86 всем кроме себя, но антимонопольщики устроили ему костыляние, поэтому AMD и производит конкурентноспособную продукцию. Transmeta хитрее поступила - она сделала слой трансляции так, что Intel не могла придраться. Но и производительность вышла мизерная.

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

Перечитай свое предыдущее сообщение, хамло. Цитирую;

В линуксе есть часи ядра для каждой платы

Ну так где «часи» ядра для плат с Mali? И почему слово «полнофункциональные» ты проигнорировал?

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