LINUX.ORG.RU
ФорумMobile

Почему нельзя поставить %osname% на %devicename% без слез?

 , ,


0

1

Мы привыкли, что на random_desktop можно поставить random_os. Почему же такие сложности со сменой или обновлением операционок для смартов и планшетов? Установка новой версии Firefox OS - открытой операционки! - это целая эпопея. Не говоря уже о Android, который даже обновить толком нельзя во множестве случаев.

Я далек от околомобильной темы и не понимаю, почему так. Используемое в каждом конкретном смарте железо обычно известно и его вариантов как будто не так уж много, куда ни глянь - Cortex да Qualcomm. Так почему, к примеру, CyanogenMod ставится только на конкретные железки, список которых невелик, а не на любой андройд? Аппаратов на Tizen вообще шесть штук на весь мир.

Ответ на: комментарий от al_exquemelin

Я читал. Это скорее исторический экскурс, а меня интересуют техничесие проблемы.

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

Используемое в каждом конкретном смарте железо обычно известно и его вариантов как будто не так уж много, куда ни глянь - Cortex да Qualcomm.

У меня на атоме планшет и то туда что-то отличное от ведроида не вкатить, хотя с Intel'ом вроде никогда проблем не было.

alozovskoy ★★★★★
()

Отсутствие стандартизации как в случае с x86.
Загрузчик там не инициализирует всё оборудование да и свой на всех устройствах.
Для видео нет интерфейсов vgaconsole и vesa.
Для разнообразных устройств памяти нет общего контроллера с режмом совместимости.
В остальном, ты можешь в большинстве случаев запустить ядро *bsd или linux. Но готовься, что там не будет ничего из вышеперечисленного - соответственно ты даже не узнаешь, что там будет происходить.
Частично улучшилась ситуация с mainline u-boot.
В совокупности с device-tree новое ядро и u-boot работают на всех устройствах, которые поддерживают этот самый u-boot.
u-boot предоставляет ядру параметры консоли и device-tree, реализует некоторые совместимые режимы (например simplefb)
На новом u-boot так же могут работать и ядра freebsd/netbsd, и они тоже умеют графику через simplefb
Только вот список поддерживаемых устройств в новом u-boot пока что очень мал.

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

уверен? Или даже не пытался?
Ядро linux уже запускается.
У тебя есть рабочие исходники (или появятся по первому требованию).
Ты можешь включить нужные конфиги и накатить любой дистр линукса.
Что касается других ос - ситуация сложнее, но это не означает, что они не запустятся.
Только вот что ты туда из оффтопика поставишь? шindows ставить неразумно т.к актуальные версии непригодны, а неактуальные уже не взлетят.
Apple'овые нельзя.
Haiku чтоль?

mittorn ★★★★★
()

Мы привыкли, что на random_desktop можно поставить random_os.

Это высказывание в общем случае (с оговорками) верно только для IBM-PC платформ. Т.ч., может вы и привыкли, но это совсем не так.

Изначально всё было программно-аппаратный комплекс. И к этому всё опять возвращается.

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

уверен? Или даже не пытался?

Погуглил. SOC довольно распространенный, но ни в руснете, ни даже на том же xda историй успеха нет, а самостоятельно кирпичить девайс мне не хочется. Оффтопик нинужен.

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

посмотри в сторону kexec. Соберёшь кастомное ядро, а из него и запускай.
Ещё есть такая штука как recovery. Обычно для recovery отдельное ядро используется, так что при правильных действиях не окирпичишь.
Историй успеха не было т.к мало кто покупает android с x86.
Чтобы делать дуалбут, используй либо замену recovery либо kexec.
Саму систему с linux храни на карте памяти.
Аргументы лучше всего вшить в само ядро.

mittorn ★★★★★
()

Таблетка с интеловским камнем, бутлоадер заблочен, в биосе секюрбут мать его. Грустно все.

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

Было-бы все так просто, историй успеха в этом направлении скажем на довольно популярных asus zenfone с x86 архитектурой я вот не встречал.

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

А ось какая? Kexec прокатит? Может, потребовать производителя разлочить или самому перешить гада?

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

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

Чтоб минимизировать проблемы нужно выбирать девайс с хорошо изученным SoC и с доступной в инете Service Manual со схемой девайса, чтобы можно было посмотреть какие GPIO в какие состояния нужно установить, чтобы включить нужную периферию. Я бы выбирал девайсы на Allwinner (их невозможно тивоизировать из-за особенностей процесса загрузки SoC) c доступными схемами.

Stanson ★★★★★
()

Потому как PC-совместимые девайсы это исключение и пример ИБМа слишком напугал вендоров.

ya-betmen ★★★★★
()

У Intel отличная стандартизация. Пишешь ОС для процессора Intel (не 8086)? Будь добр грузись в 0x0000:7c00 (или куда?), а если боле 640 Кб оперативки захотел... Ой... Давай, начинай писать уже вторичный загрузчик, ибо не влезет. Но оно хоть поползет без ОС, и ты всегда можешь попросить линух у друга.
А у ARM ситуация другая. Зачастую %osname% не подходит к %devicename%, так как %архитектура% не поддерживает/не шьется планшет/не компилируется/не грузит/убил планшет пока ставил/фаза луны не та.

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

или появятся по первому требованию

Подсказать, что китаец тебе ответит на твоё требование, или сам догадаешься?

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

Это уже проблемы несоблюдения лицензии

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