LINUX.ORG.RU
решено ФорумTalks

скачать generic-armv7 прошивку для armv7-телефона... бесплатно, без смс, ксения собчак

 ,


0

1

привет всем! (наверняка эта тема уже поднималась, но беглым взглядом я её не заметил :))

вобщем.. ээээ... вопрос такой:

почему когда я захожу на сайт типа cyanogenmod.org (ну или какой-нибудь там replicant.us) — то меня там МУЧИТЕЛЬНО ЗАСТАВЛЯЮТ выбрать конкретную модель телефона?

почему мне НЕ предлагают на выбор скачать, например:

  • cm-10.1-generic-armv6.zip
  • cm-10.1-generic-armv7.zip
  • cm-10.1-generic-mips.zip
  • ...

когда я захожу на ubuntu.com или fedoraproject.org — меня же НЕ_ЗАВТАВЛЯЮТ выбрать конкретную модель компьютера..
«выберете: Samsung-NP535U4C-S05RU или гроб_собранный_на_заводе_Formoza_#1357 или [...] ?»
даже на сайте gentoo.org в рубрике скачать — нет таких издевательств :)

да, я понимаю что разработчики прошивок телефонов — может быть там оптимизируют вручную флаги ядра Linux для каждого телефона вручную, проводя высокосложные тесты произсодительности, тщательно заглядывая в таблицы полученных результатов тестов, выявляя закономерности. (но что если предположим мне НЕ нужна эта оптимизация, дающая прирост АЖ в 5~15%?).

также я понимаю что для каждой конкретной модели телефона — нужен персональный подход, указывающий на порядок действий для установки туда загрузчика ClockworkMod (для определённых телефонов нужен даже и НЕ ClockworkMod, а что-то другое).

но ClockworkMod это ClockworkMod, а прошивка (операционная система) это прошивка (операционная система). это разные вещи. и если ClockworkMod УЖЕ установлен, то какая может быть ещё проблема в запуске прошивки (операционной системы)?

что мешает разработчикам операционных систем для телефонов — положить в zip-файл (прошивку) — сразу все драйвера? :)

слишком мало место в flash-памяти телефона чтобы уместить всё это?

если вся проблема только лишь в объёме flash-памяти — то можно ли в будущем ожидать (когда на телефонах будет по 32~64G flash-памяти) — что наконец-то начнут появлятся generic-прошивки? как думаете, комрады?

а может это какая-то свежая мода? может быть в будущем и персональные компьютеры (ноутбуки) — тоже — будут заставлять своих владельцев выбирать конкретные установочные образы для конкретных моделей ноутбуков? :-) :-)

Перемещено Pinkbyte из mobile

★★★★★

Последнее исправление: user_id_68054 (всего исправлений: 1)

что мешает разработчикам операционных систем для телефонов — положить в zip-файл (прошивку) — сразу все драйвера? :)

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

vurdalak ★★★★★
()

когда я захожу на ubuntu.com или fedoraproject.org — меня же НЕ_ЗАВТАВЛЯЮТ выбрать конкретную модель компьютера..

Врешь, заставляют. amd64 или i686, или server, или minimal, или что там у них есть.

vurdalak ★★★★★
()

Дай подумать, Терренс,

Понял! Наверное, это все потому что мобильные телефоны - это не ПК!!!

mono ★★★★★
()

Если учесть, какой на рынке процессоров зоопарк, все должно стать понятно.

CLU
()
Ответ на: комментарий от vurdalak

Врешь, заставляют. amd64 или i686, или server, или minimal, или что там у них есть.

amd64 и i686 — это не модель компьютера... :)

вот тут есть пример некоторого списка моделей компьютеров:

http://www.ubuntu.com/certification/desktop/

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

Если учесть, какой на рынке процессоров зоопарк, все должно стать понятно.

другими словами — эту фразу стоит воспринимать так:

даже если разделить эти процессоры на группы (armv6, armv7, mips, ...) — и для каждой группы создать по одому экземпляру generic-ядра Linux...

...то даже в этом случае невозможно чтобы одинаковое ядро было способно работать как на armv7-одного-производителя так и на armv7-другого-производителя ? :-)

[предполижм что загрузчики установленны те которые нужны, персонально для каждой модели телефона]

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

Потому что это не ibm pc со стандартными системами инициализации и загрузки.

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

Например то, что прошивка от этого станет жирной.

жирной для оперативной памяти?

ну ядро-то ведь модульное :) [ненужные модули не подгрузятся]

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

Модель процессора, считай. Конечно, разделение не так глубоко, как у прошивок телефонов, но оно есть. Ты же не спрашиваешь, почему в один образ не кладут и amd64, и i686?

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

не кладут и amd64, и i686

кладут, не ври

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

Ты же не спрашиваешь, почему в один образ не кладут и amd64, и i686?

ну на CyanogenMod-alike-сайтах — этих прошивок — десятки! может даже сотня.

я понимаю, еслибы там было бы 10 разных типов (на каждого производителя процессора, по парочке прошивок) — но ведья ДЛЯ КАЖДОГО ТЕЛЕФОНА индивидуальная прошивка.

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

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

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

а по подроблнее если? :)

Разное набортное железо, разные способы загрузки, разные костыли для работы на разных SoC'ах... Возможность собрать одно универсальное ядро сразу для нескольких ARM-устройств появилась совсем недавно. И, ЕМНИП, поддерживаемые таким «универсальным ядром» платы можно пересчитать по пальцам.

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

Потому что это не ibm pc со стандартными системами инициализации и загрузки.

ну вот в компьютерах есть EFI/BIOS и понятное дело что оно стандартизирует процесс инициализации (с точки зрения процессора/операционной_системы).

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

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

Потому что у каждой прошивки свой набор костылей. Потому что во многих телефонах очень мало флеш-памяти. Ну и вообще пилить дистрибутив под каждую модель компьютера/ноутбука нереально, их дохрена. Кроме того завтра пользователь поменяет видео-карту или даже процессор и его ОС не загрузится. А с телефоном все просто - цианоген поддерживает ограниченное количество моделей и железо в пределах одной модели никогда не меняется. Кроме того есть же ещё всякие там конфигурации сенсоров, светодиодов всяких, которые для каждой модели свои. Короче не сравнивай ПК и телефон, андроид и дистрибутив linux. Не смотря на то, что в основе лежит одно ядро, разные вещи принципиально же. Вот тебе ещё пример - маркет определяет поддерживается приложение на твоем телефоне или нет по имени устройства. Это имя тупо вписано в текстовый конфиг. И таких конфигураций много - они не универсальные.

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

Возможность собрать одно универсальное ядро сразу для нескольких ARM-устройств появилась совсем недавно. И, ЕМНИП, поддерживаемые таким «универсальным ядром» платы можно пересчитать по пальцам.

ясно. спасибо!

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

И, ЕМНИП, поддерживаемые таким «универсальным ядром» платы можно пересчитать по пальцам.

но вообще — это положительная тенденция? или просто появилось такое, а потом опять всё «забыли»? :)

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

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

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

тобишь до этого мне казалось что несовместимости между ARM (например между armv7) — это баги и недоработки.. а теперь вдруг оказывается что это чуть ли не фишка :-D

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

между ARM нет несовместимостей. Они в периферии. Загрузчики, драйвера устройств, к которым нет исходников, и которые линкуются только с определенной версией ведра и т.д. Сами бинарники переносить можно. Но на одном телефоне работатет только 2.6.1 ведро, а на другом 2.6.3. Теперь что, еще и ядро для каждого телефона в общий архив паковать? Для htc hero цианоген метров 80 кажется весил. Моделей телефонов там сейчас поддерживается десятка три точно. Итого, 2.5 гига. Оно тебе точно надо?

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

Но на одном телефоне работатет только 2.6.1 ведро, а на другом 2.6.3. Теперь что, еще и ядро для каждого телефона в общий архив паковать?

не не, такого быть не может.

ну или если может — то это очень редкие частные случаи.

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

в этой инструкции — сначало мы из GIT-репозиториев выкачиваем качаем все эти исходники (много GIT-источников)...

...а только потом уже указываем что конкретно мы хотим собрать. тобишь на какой телефон прошивку.

тоесть ведро посленее — это стопудова.

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

не не, такого быть не может.

ну или если может — то это очень редкие частные случаи.

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

в этой инструкции — сначало мы из GIT-репозиториев выкачиваем качаем все эти исходники (много GIT-источников)...

...а только потом уже указываем что конкретно мы хотим собрать. тобишь на какой телефон прошивку.

тоесть ведро посленее — это стопудова.

Купи себе какую-нибудь плату с ARM'ом или даже телефон. А потом попробуй собрать под эту железку ванильное ядро. Чтобы оно хоть как-то запустилось, про поддержку «периферии» я уже не говорю 8).

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

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

marvin_yorke ★★★
()

Вот и выросло поколение, которое нихрена не понимает в железе
Перефирия разная, повешана на ноги как бог на душу положил, тобишь как разработчику железки захотелось.
Если тебя устроит только рабочее ядро, без обвеса, то флаг в руки. Остальным вроде как и железки в телефоне пригодятся, ну там позвонить, фотку сделать :)

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

Если тебя устроит только рабочее ядро, без обвеса, то флаг в руки. Остальным вроде как и железки в телефоне пригодятся, ну там позвонить, фотку сделать :)

так пишешь как будто на ноутбуке нет всяких там сенсорных вводов, индекаторов и прочей wi-fi-йной хрени.

однако как-то всё-таки получается не создавать кучу разных дистрибутивов.

даже когда на персональных компьютерах было по 16M оперативной памяти — сёравно Windows98 устанавливалось с одного и того-же CDROM-диска.... (правда ещё и floppy-дискеты с драйверами нужны были :))

хотя одна разумная фраза всёже у тебя друг, Анонимус, прозвучала — это «повешана на ноги как бог на душу положил». вот тут да, странно что нет стандартизации.

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

Купи себе какую-нибудь плату с ARM'ом или даже телефон. А потом попробуй собрать под эту железку ванильное ядро.

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

сначало вот захотел выяснить корени проблем всех этих несовместимостей :-)

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

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

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

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

тоесть получается, что если вдруг [волшебым образом, ну по-мечтаем просто :)] — на все ARM-устройства через некоторое время будет устаналиваться стандартизированная подсистема ARM/UEFI --

-- то даже это не позволит создать generic-arm-прошивку (работающую на различных ARM-устройствах)?

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

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

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

anonymous
()

Хотя бы потому, что телефоны это уже мир embedded. А там свои законы. И да, о какой унификации можно говорить, если, например, в allwinner a10 доступ к gpio по одному методу, а в allwinner a13 уже по другому?

no-steam ★★
()

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

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

Таки не могу не привести код для обновления фирмвари в тачскрине goodix touch gt818

╭─[~/projects/linux-sunxi]─[nstm0@AnalDevelop]─[0]─[10159]
╰─[:)] % cat drivers/input/touchscreen/gt818_update.h 
static unsigned char goodix_gt818_firmware[]  =
{
    0x49, 0x44, 0x45, 0x4D,  //magic number 1
    0x4B, 0x45, 0x54, 0x41,  //magic number 2
...

Комменты жгут :3

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

magic number 1, magic number 2

ох, жесть :) ..это же сам кэп прокомментировал код!

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

ТС, возьми 2ва даташита на разные SoC и почитай. глупые вопросы сами отпадут.

ну проще то спросить :)

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

У каждого процессора и железа в смарте свои костыли. Почитайте для примера недавнюю статью с хабра о «кросплатформенной» unity.

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

Купи себе какую-нибудь плату с ARM'ом или даже телефон. А потом попробуй собрать под эту железку ванильное ядро. Чтобы оно хоть как-то запустилось

Это совершенно элементарно. Не сложнее чем собрать ванильное ядро для x86.

про поддержку «периферии» я уже не говорю

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

И всё это исключительно для того, чтобы потребитель не мог собрать ядрышко поновее а купил новый девайс.

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

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

В этом нет никакой проблемы вообще. Вопрос элементарно решается унифицированной табличкой связывающей нумер GPIO и его функцию.

Проблема в драйверах к периферии. Часто даже даташит на микруху какой-нибудь сраной камеры добыть практически нереально. Есть только драйвер от производителя в виде бинарника. Хотя казалось бы - какие там нахер могут быть секреты в каком-то сраном чипе камеры за 2$?

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