Proč neexistuje univerzální CyanogenMod ROM?

Androidar

Proč neexistuje univerzální CyanogenMod ROM?
« kdy: 14. 04. 2015, 17:55:00 »
Caute. Zaujimalo by ma, preco sa developeri CyanogenMod ROM nespravili jednu (univerzalnu) verziu, ktora by isla na vacsine zariadeni? Proste tak ako je napr. Ubuntu, stiahnem jedno ISO napalim a instalujem na vsetky podporujuce PC. Pricom u Cyanogenmod treba hladat konkretny CM port na konkretne zariadenie. Vysvetli mi niekto preco to tak je?

Dik ludia :)
« Poslední změna: 14. 04. 2015, 20:04:48 od Petr Krčmář »


flack

Re:Preco nie je jedna CyanogenMod ROM verzia, ako napr. Ubuntu?
« Odpověď #1 kdy: 14. 04. 2015, 18:27:56 »
Ja niesom zrovna najfundovanejsi. Ale myslim ze nebudem od pravdy daleko.

Tak to co pises nieje uplne pravda, ale aj je. Ubuntu sice stiahnes a nainstalujes ale len na podporovanu architekturu x86, amd64. Ubuntu je primarne urcene pre PC. Kernel je skompilovany pre siroku skalu procesorov, zariadeni, periferii... ma velkost okolo +-40MB
Na pc dnes niesi privelmi limitovany velkostou ulozneho miesta. Na smartphone ano. Kernel je teda skompilovany na konkretne zariadenie bez zbytocnych veci, ktore ten mobil nema-mat nebude a len by sa to cele nafuklo.

Dalej kazdy smartphone je iny, ma inak riesenu pamat atd. Do toho moc nevidim, ale myslim si ze hej. Takze kazde zariadenie je ine, tak aj kazda ROM musi byt niecim specificky ina. Pouzivaju sa rozne rozlozenia pamate, partition table a co ja viem co este.

flack

Re:Preco nie je jedna CyanogenMod ROM verzia, ako napr. Ubuntu?
« Odpověď #2 kdy: 14. 04. 2015, 18:32:52 »
To je by mohol byt dovod preco je pre kazdy smartphone iny build. A este neviem co ta presne stve:D ale ta verzia je rovnaka jak pre xperia mini pro tak pre co ja viem lenovo s580. Je to ta ista verzia "iba" upravena aby startovala na konkretnom zariadeni. V principe za to "mozu" asi vyrobcovia, ked ich kazde nove zariadenie je niecim ine.

nobody

Re:Preco nie je jedna CyanogenMod ROM verzia, ako napr. Ubuntu?
« Odpověď #3 kdy: 14. 04. 2015, 19:10:55 »
i jako nie-najfundovanejsi, jsi to popsal vicemene presne :)
jen to "co ja viem co este" je treba bootloader, a pak to ze vetsina ovladacu nebejva soucasti Linux jadra(ci modulu jadra) jako v pripade PC, ale jsou to proprietarni bloby bezici v userspace a pro kazdej telefon to ma zbastlene vyrobce jinac a alternativni rom pro dane zarizeni musi obsahovat vypreparovane bloby z originalni rom daneho zarizeni...


smutný

Re:Proč neexistuje univerzální CyanogenMod ROM?
« Odpověď #4 kdy: 14. 04. 2015, 20:21:39 »
jojo, s těmi ovladači a zavádění jste uhodili hřebíček na hlavičku

navíc většinou výrobci si moc hlavu s instalovatelností alternativních OS nelámou, tudíž na mnoha zařízeních to musíš instalovat pomocí různých obcházení a fint...

Dále pak třeba i takové drobnosti jako různé displeje...

shrnul bych tedy odpověď:
protože existují alespoň dvě jiná zařízení


m

Re:Proč neexistuje univerzální CyanogenMod ROM?
« Odpověď #5 kdy: 15. 04. 2015, 01:32:18 »
no dosel som z hospody cize mi mozno nieco unika ale mne prvy dotaz pride uplne spravny. Kazde distro obsahuje tiez kopec binarnych blobov a ovladacov a "just works". Navyse si myslim, ze na mobile je moznych kombinacii hardveru o dost menej ako roznych vychytaviek v pc a laptopoch. A to ubuntu stale funguje! A ked nefunguje nie tak drbnem nahodny subor z netu do /lib/firmware.

Velkost by mohol byt argument, keby android nechcel porovantelne miesto ako bezne distro. Samozrejme mobily z intel/arm (7,8...) by mali iny build rovnako ako amd64/x86 (486, pae...).

j

Re:Proč neexistuje univerzální CyanogenMod ROM?
« Odpověď #6 kdy: 15. 04. 2015, 07:40:12 »
Nejde o misto, jde prave o reseni ruznych zpusobu jak vlastne ten telefon hacknout. V dalsi etape pak taky o to, ze BFU rozhodne nechce resit nejakou konfiguraci systemu pro konkretni zarizeni, takze pokud to ma fungovat, musi to byt img, ktery se tam da a funguje.

Pokud budes mit blbuntu nebo jiny distro, tak ti sice bude "fungovat" na vetsine HW, ale jakmile budes chtit vyuzivat nejaky specialitky toho svyho, budes muset konfigurovat a velmi casto i kompilovat.

nobody

Re:Proč neexistuje univerzální CyanogenMod ROM?
« Odpověď #7 kdy: 15. 04. 2015, 10:51:50 »
fw drbnout do /lib/firmware/, je neco jineho nez userspace binarni ovladace, predstav si binarni ovladace AMDCatalyst a NVIDIA v PC, jeste binarnejs a uzavrenejs je reseno v telefonu ovladace na VIDEO,AUDIO,SENZORY,GSM,GPS,BT,WIFI.... pokud bys jako vyvojar chtel ziskat zdrojaky ten binarnich ovladacu mas smulu, ani dokumentaci nedostanes, drzi si to zuby nehty vyrobci zarizeni a vyrobci jednotlivejch chipu...

zkusim srovnani...
PC - u auta mas moznost si menit kola napric znackama, pouze staci dodrzet pocet a roztec sroubu
Telefon - u auta nemas moznost menit si motor napric znackama, i presto ze je vzdy jen "nejakek" drzak, "nejake" hadicky, "nejake" napojeni na prevodovku, "nejake" kabely..., "nekde" je chladic....

Lze si upravit se zkusenostma ROM pro nejakej telefon, lze si upravit se zkusenostma Motor pro nejake auto, ale ani jedno nelze udelat universalne, resp. slo by, ale stalo by to strasne moc usili, bylo by potreba sjednocovani napris znackama, hromadu casu...

Jednoduse receno, PC je IBM Compatibilni standard... telefon je co kus to neco jineho

TV

Re:Proč neexistuje univerzální CyanogenMod ROM?
« Odpověď #8 kdy: 15. 04. 2015, 15:08:34 »
Také jsem si kladl podobnou otázku. Pomíjím aspekt nejednotného systému bootování, loaderu, ochran, jailbreaku. To je na samostatné téma.

Android patrně nebyl navržen dostatečně univerzálně, modulárně a vybaven patřičnými abstrakčními vrstvami na to, aby mohl uvedený požadavek elegantně - smysluplně zvládnout. Je to zřejmě daň za uspěchanost a snahu o minimalizaci režie (lidské i HW prostředků) potřebné k realizaci takových prvků. Takže vznikl dost šílený bastl navrstvený tu z kompilátů, tu z uzavřených binárních blobů a jiných souborů. Trochu jako když pejsek s kočičkou vařili dort. Co verze to originál, a je poloviční zázrak, že to tak nějak uspokojivě vůbec funguje, obzvlášť u čínských romek s krátkým poločasem rozpadu a podpory (ok, zrovna tyhle jsou s uspokojivým fungováním dost na hraně).

Řada atributů (konfiguračních parametrů) specifických pro dané zařízení není konfigurována pomocí nějakého obecného unifikovaného rozhraní / konceptu, ale je rozházena po konfiguračních souborech a v horším případě zakompilována - zadrátována přímo do binárek (!!!). Zrovna u Androidu, se kterým jsem přišel do styku (čína Jelly, KitKat) byl přímo nadlidský úkol přenastavit rozlišení UI, bylo totiž zakompilováno kdesi v binárce. Hacker se zaraduje. S takovým "materiálem" se pak dosti těžko smysluplně pracuje.

Re:Proč neexistuje univerzální CyanogenMod ROM?
« Odpověď #9 kdy: 03. 05. 2015, 20:48:35 »
U Ubuntu bylo počítáno s tím, že si to uživatel na počítač, na kterém nic takového nebylo, nainstaluje. U Windows taky. Google nic takového asi neřešil, prostě to nechal na výrobci. A CM? Co by se tím ušetřilo, kdyby byl jeden balík CM pro všechny telefony? (Dejme tomu aspoň v rámci dané architektury, nebudu chtít kompatilibitu napříč ARMv6, ARMv7, ARMv8, x86, …)
* Speciality těch jednotlivých telefonů by se musely řešit tak jako tak.
* Společný základ to má už dnes.
* Akorát by z toho byl jeden velký balík pro všechny telefony.
* Na druhou stranu, ta velikost by byla problém hlavně při stahování. Pokud by to zjistilo již při instalaci, co potřebuje a co ne…
* Ale stejně instalace se bude u různých telefonů lišit… Někde jde z recovery flashnout kernel, jinde se to musí zvlášť. Někde se odemyká bootloader přes výrobce, někde kutilsky a někde to není potřeba. A někde se použije kernel od výrobce (bootloader se nepodařilo odemknout…) a nabastlí se na to neoficiální „něco jako CM“.

mhepp

Re:Proč neexistuje univerzální CyanogenMod ROM?
« Odpověď #10 kdy: 03. 05. 2015, 21:34:52 »
Je tu ještě problém s ARM architekturou a její podporou v jádře. Nevím přesně jak to je, ale v principu jde o to, že nejde dobře zkompilovat jádro pro více typů procesoru tak, jak je to na x86. Tam je architektura silně modulární narozdíl od ARM, kde se o to snaží, ale jde to pomalu a výrobci zařízení to ignorují.

Další problém je množina instalovaného HW -- různé senzory na různé věci, různé displaye, podpora paměťových karet...