Mi a baj?
Greg szerint nem is ez a legnagyobb probléma. Az Android kernel kód sokkal több, mint néhány fura driver a drivers/staging/android könyvtárban. Ahhoz, hogy egy Android rendszer működjön, kell egy, az Android fejlesztők által létrehozott új lock típus, és szükséges, hogy a core rendszerben jelen legyenek azok a hook-ok, amelyek kellenek az általuk kifejlesztett biztonsági modellhez.
Ez azt jelenti, hogy semmilyen, az Android hardver platformokhoz írt driver nem kerülhet beolvasztásra a mainline kernelbe, mert azoknak olyan függőségeik vannak, amelyek jelenleg csak a Google belső kernelfájában találhatók meg. Ebből következik, hogy ezek a driver-ek nem is fordíthatók le a kernel.org-os kernelfával.
Greg szerint a Google azzal, hogy nem olvasztatja be a kódjait a mainline kernelbe, megakadályozza, hogy egy rakás hardver driver és platformkód beolvasztásra kerülhessen. A fejlesztő hangsúlyozza, hogy a kernel közösség évek óta arra kéri a vállalatokat, hogy olvasztassák be kódjaikat a mainline kernelbe, hiszen ez számos előnnyel jár. A beolvasztott kódokat szükség esetén ellátják biztonsági javításokkal, illetve lekövetik rajtuk automatikusan a gyors API változásokat.
Jelenleg az Android-specifikus eszközmeghajtó-programokat és platform kódokat fejlesztő vállalatok nem tudják a kódjaikat beolvasztatni, és emiatt sokkal nagyobb erőforrásokat kell a karbantartásra és fejlesztésre fordítaniuk.
Mi kellene ahhoz, hogy az Android kódok beolvasztásra kerülhessenek a mainline kernelbe?
Amikor az Android kód beolvasztásra került a "staging" fába, egy rakás kernelfejlesztő elkezdte átnézni és elkezdtek javaslatokat tenni arra, hogy hol kellene kitisztítani, megváltoztatni őket ahhoz, hogy bekerülhessen a mainline kernelbe. A javasolt változtatások közül számos kihatással van a kernel/user space határvonalra, így ha a kernel oldali dolgokat megváltoztatják, akkor a változtatásokat az Android user space logikájában is le kell követni. Szóval a szükséges változtatásokhoz Google alkalmazott kellene.
Hogy mit lehetne tenni?
Greg nem tudja. A Google nem mutatja jelét annak, hogy a kódját betolná az upstream-be. Pedig ezzel megszüntethetné azt az általa okozott óriási akadályt, amely jelenleg nagyszámú beágyazott Linux hardvercég előtt tornyosul. A fejlesztő reméli, hogy a Google változtat és beolvasztatja a kódjait. Ehhez Greg korábban privátban segítséget ajánlott, de most megtette nyilvánosan is.
A részletek itt.
- A hozzászóláshoz be kell jelentkezni
- 5004 megtekintés
Hozzászólások
Lazán kapcsolódik:
A Microsoft tavaly Hyper-V driver-eket (khm) adott ki a kernelhez. Ezek is a "staging" fába kerültek. Ezután a Microsoft emberei eltűntek. Majd előkerültek, állítva, hogy "mi dolgozunk a Linux driver-einken". Most úgy fest, hogy ismét eltűntek. Ha nem kerülnek elő, akkor a Hyper-V driver-ek is az Android driver sorsára jutnak. Jelenleg elő vannak jegyezve eltávolításra a 2.6.35-re.
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Kérdés, hogy a Hyper V driverek is azért nem lettek eddig beolvasztva, mert nem fordulna le a kernellel, vagy mert eddig csak simán nem került rá sor? Előbbi esetben jogos, utóbbi esetben kitolás. Gondolom nem ahhoz szoktak az ms-nél, hogy 3 havonta módosítani kell egy tökéletesen működő drivert. ;)
- A hozzászóláshoz be kell jelentkezni
Te köcsög troll! :P
-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
"egy tökéletesen működő drivert"
A Microsoft által adott driver messze volt a tökéletestől. Ezért került a "staging" könytárba (aminek nem mellesleg a neve "crap tree"). Ez egy, a beolvasztás előtti átmeneti könyvtár. Ide bekerülnek a dolgok, megnézik mit kell ahhoz változtatni, hogy bekerülhessen a mainline-ba.
Itt láthatod, hogy milyen állaptban volt a driver:
http://lwn.net/Articles/342304/
"Hank Janssen for providing the code and working with me to get it into a workable and semi-mergable state."
[...]
"There is still a lot of work to do in getting this into "proper" mergable state, and moving it out of the staging directory, but Hank and I will be undertaking this task."
Innen (semi-mergeable) kellett volna eljutni a mergeable állapotig, de úgy fest ez nem sikerült.
Ha nem jelentkeznek, akkor GKH bejegyzése szerint el lesz távolítva a staging-ből.
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Ahha. Ez esetben jogos.
- A hozzászóláshoz be kell jelentkezni
ezt nem a redhat-nek kellene karbantartani? ha jol emlekszem ok szerzodtek az ms-el a virtualizacio tamogatasaval kapcsolatban. az ms adja az apit es a kodot a redhat pedig koveti a kernel valtozasait es igazitja hozza a kodot
udv Zoli
- A hozzászóláshoz be kell jelentkezni
Ahhoz, hogy karban lehessen tartani valamit, be kéne olvasztani a mainline kernelbe. Előbb beolvasztható állapotba kellene hozni. GKH elvállalta, hogy ebben segít a Microsoft-os Hank Janssen-nek, aki úgy fest eltűnt (legalábbis abból, amit GKH ír ez jön le - "The developers again seem to have disappeared,"). Amíg nincs valami beolvasztva, addig mit akarsz rajta karbantartani?
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
gondolom az ms atadott egy kodot ami egy adott kernel adott alverziojaval mukodik, a hirveres mar lecsengett es az ms nem akarja a linux szekeret tolni, azt a redhat vallalta, gkh meg ha jol emlekszem a novell kenyeret eszi
udv Zoli
- A hozzászóláshoz be kell jelentkezni
Szerintem az MS, miután kitört a balhé, kiadott valamit, hogy ne lehessen felelősségre vonni. Ehhez ezután már nem sokat nyúlt. Tovább erősíti bennem azt a gyanút, hogy ők sosem akarták ezt a kódot GPL alatt kiadni.
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Ide most mar tenyleg erdekes lenne egy hivatalos allaspont is. Megprobalom elerni lepenyet-t, es atadni neki a hirt, hatha hozzaszol.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Nem tudom, hogy a Mo-i Microsoft-nak mennyi rálátása van erre... Szerintem zéró.
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
+1
Mi anno próbálkoztunk az Xbox-ról szerezni info-t. Sok közük nem volt hozzá. :)
- A hozzászóláshoz be kell jelentkezni
Ti kivulrol probaltatok infot szerezni, egy MS belsos azonban rendelkezhet cegen beluli kulfoldi kapcsolatokkal. Ne hasonlitsd ossze a kettot.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Most az első Xboxról beszélek. Próbáltunk feltenni kérdéseket az SDK-ről és úgy általában arról, hogy hogyan lehetnénk hivatalos Xbox fejlesztők. A válasz az volt, hogy sajnálják, de ők semmit nem tudnak itthon erről, mert az anyacég nem ad erről felvilágosítást a magyarországi MS-nek. Két hónappal később a los angeles-i irodán keresztül szereztünk két dev. kit-et és egy debug kit-et. Hozzánk és a Clevers Games-hez jött az első szállítmány Xbox dev. kit Mo-on, amikor még az itthoni MS alkalmazottak azt sem tudták hogy néz ki. Az egyik - akkor még MS alkalmazott srác - eljött megnézni a cuccot. :D
Ennyit a magyar MS kompetenciájáról. Persze azóta biztosan sokat változott a helyzet.
- A hozzászóláshoz be kell jelentkezni
Egyfelol, masfelol ti meg mindig csak kulsosok vagytok ebben a tortenetben, nulla MS erdekeltseggel. Mas informaciokat kap az ugyfel, es masokat egy belsos ember - teljesen mindegy, hogy fejleszto, rendszergazda, vagy epp titkarno. Ezt tessek vegre megerteni, hogy aki az MS-nel dolgozik (es nem a 2-MSINFO-nal), annak lehetnek kulfoldi kapcsolatai, akikkel kapcsolatba lephet. Nyilvan egy kis ugyintezo nem fog ilyesmikrol tudni, foleg, hogy akkoriban szerintem meg magasabb szinten is csak ismerkedtek a termekkel, nem volt mit kommunikalni az ugyfelek fele, mert ok is valoszinuleg akkor kaptak epp az oktatast a termekrol.
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
"Hivatalos" álláspontot nem tudok mondani, de feldobtam a kérdést egy belső listán. Felelős ember válaszolt, és azt írta, hogy tisztázták (újból) a dolgot GKH-val. Hank Janssen továbbra is MS alkalmazott és továbbra is az Open Source területtel foglalkozik. A Microsoftnak van fejlesztési terve a Linux IC-vel, zajlik is a munka ezzel kapcsolatban. Kb. az Microsoft Management Summit (április) környékén lesz erről több szó.
Üdv:
Lepenye Tamás
- A hozzászóláshoz be kell jelentkezni
A kerdes nem elsosorban az, hogy mikor akarnak beszelni rola, hanem hogy miert nem halad a fejlesztes. A Linux kernel nem az a kategoria, amit honapokra ott lehet hagyni pangani...
Illetve az esetleges roadmap-et illene megosztani a kozosseggel, hogy ezaltal legyen egy alap, ami alapjan lehet tudni, hogy meddig van a kod karbantartva. Nem hinnem, hogy ha az MS-nel sokkal nagyobb hozzajarulok be tudtak tartani a szabalyokat, pont az MS ne tudna...
--
()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Szomorú tény, de a következő 1-2 évben szerintem semmilyen érdeke nem fűződik az MS-nek ahhoz, hogy bekerüljön a mainline-ba a driver, esetleg némi Linux-barát marketingen kívül.
Bevallom, szkeptikus vagyok azzal kapcsolatban, hogy mennyi tesztelést kapnak az in-tree driverek amikor valaki áttúrja a fél kernelt. Mert az, hogy lefordul, még messze van a működőtől. Ezért szerintem az a kernel-fejlesztők felől érkező marketing, hogy az in-tree drivereket a közösség majd jól karbantartja, nem feltétlenül fedi a valóságot. Képzeljük el, ahogy mostantól minden kernelfejlesztő Hyper-V-n is tesztel...:)
Üzleti szempontból az RHEL és az SLES érdekes. Ha jól értem, akkor mindkettő következő verziója 2.6.32-es kernelt fog futtatni. Tehát az a fontos, hogy a 2.6.32-es kernellel jól működjön a Hyper-V. Az Ubuntu felhasználók is örülhetnek, 10.04-en is emiatt feltehetőleg kevés problémával menni fog.
Innentől kezdve azon múlik, hogy az MS (feltehetőleg nem túl nagy létszámú) Linux kernel csapatának mennyi ideje lesz ezzel foglalkozni, a fontosabb dolgok mellett.
Üdv,
Gergely
- A hozzászóláshoz be kell jelentkezni
...tisztázták (újból) a dolgot GKH-val...
Szerintem ez a kulcsszó. Amikor legutóbb GKH-tól láttam levelet az egyik Android listán (talán a -porting-on, 1-2 hónapja lehetett), akkor a következő dolgokat tette:
- teljesen offtopic dologról beszélt
- meggyanúsította a kérdezőt, hogy személy szerint az ő szerzői jogait sértik
Driverfejlesztési kérdés volt egyébként. Hogy ez miért hülyeség:
- Nem volt egyértelmű a threadből, hogy kernel-space vagy user-space driverről van szó. Utóbbinál egyértelműen semmi köze hozzá.
- Pont a beágyazott eszközök világában nagyon könnyen előfordulhat, hogy egy másik OS-ről portolják a drivert, tehát nem lesz a driver (jelentős része) "derived work", ergó nem kell (mindent) kiadniuk GPL alatt -- igen, erről vannak viták, de még nem láttam senkit, hogy az NVIDIA-t beperelte volna copyright sértésért a Linux driver miatt.
- Még ha GPL alatt kellene is kiadniuk a kódot, a fejlesztőt meggyanúsítani nyilvános listán, amikor még kész sincs a termék, és senkinek nem tudta volna terjeszteni a bináris kódot, elég "érdekes" hozzáállás.
Üdv,
Gergely
- A hozzászóláshoz be kell jelentkezni
A vicces az, hogy az NVIDIA pont azeret is van vedve, mert a drivere zart resze nem csak GPLv2 Linuxon megy, igy szorosan nem kapcsolodik hozza, GPL -es kodok nelkul is eletkepes.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Ez szép! :(
- A hozzászóláshoz be kell jelentkezni
Ugyan.
Észre kéne venni, hogy
Android != Linux
Android == Google
Az androidos kernel driverek azért lettek felajánlva, hogy a linuxos fejlesztők "érezzék a törődést", amúgy meg semmi érdeke a Googlenek, hogy bármilyen szinten is résztvegyen nyílt, mainline kernelfejlesztésben, vagy a kódjaik beolvasztásra kerüljenek.
Miért?
Mert a Google egy kutya és a Linux fejlesztői is egy kutya. Kérdés az, hogy ha a két kutya összeáll, akkor melyik fogja a farkat játszani.
Ha az Androidos kódok beolvasztásra kerülnek, ez kihatással lenne a Google addigi munkájára és magára az Androidra is, ami ismerve a Linux kernelfejlesztők tevékenységét, nem biztos, hogy a minőség felé mozdítaná el a dolgot. További probléma, hogy ez esetben a kernel fejlesztők úgy szopathatnák a Googlet (lásd. karbantartott, gyors API változások), ahogy nekik tetszik, ez pedig, nem épp hasznos ha egy üzleti termékről van szó.
Ugyanígy más üzletileg, ha az Androidot és az ahhoz tartozó összes kód felett a Google őrködik. A forrás saját kezelésével jól rajta tudja tartani az ujját az esetleges trendeken és fejlesztéseken, ezáltal megkerülhetetlenné válik. Pl. más az, ha egy hw cég neki, vagy a mainline kernelfába commitol.
A saját kezelésű/nem kompatibilis kód előnyös az HW gyártóknak is, mert nehezebbé teheti a vendor lock-ok megkerülését.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "
- A hozzászóláshoz be kell jelentkezni
a témában ajánlott kötelező olvasmány.
- A hozzászóláshoz be kell jelentkezni
Elhiheted, hogy ennek a fele porhintés.
A visszaportolgatások egyik oka valószínüleg a kódoptimalizálás és a robosztussá tétel. A 2.6 igencsak bloatware és feltehetően az általuk "rondának" defíniált 2.4-es részekkel próbálják kiváltani a 2.6 "tákolt részeit". Szintén valószínüsíthető, hogy nagyon sok saját driver komponensük van, amit megírtak annó a 2.4-hez és a 2.6-os API váltással ezek mentek a levesbe.
A GIT-re való átállás egyik oka az lehet, hogy kezdik utolérni az upstream kernel, tehát egyre kevesebb régi komponensük van.
A sírás kifelé, jó nekik, mert ezzel tudják csökkenti a kódjaik iránti érdeklődést. Egy ekkora cégnél, különösebben nem jelent plusz 5 vagy 10 kóder ráállítása a feladatra, tehátnem valószínű, hogy a feladat mértéke komoly akadályt jelentene számukra.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "
- A hozzászóláshoz be kell jelentkezni
ezek mind feltételezések, szemben a lwn első kézből származó információival.
- A hozzászóláshoz be kell jelentkezni
Valoban. Viszont a googles fejleszto egy darab, "Igen"-je, többet mondott el, mint az összes mókusvakitas előtte.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "
- A hozzászóláshoz be kell jelentkezni
GOTO 948858 :)
- A hozzászóláshoz be kell jelentkezni
Kellett ez? Ket oraig tartott, mire kikerultem a vegtelen ciklusbol. :-)
- A hozzászóláshoz be kell jelentkezni
Ebben a cikkben a Google-ön belül használt kernel fejlesztéséről van szó. Az Android kernel fejlesztők egyrészt másik csapat, másrészt minden kód nyilvános (már azelőtt nyilvános volt, hogy az Android platfrom open-source lett volna).
Tény, hogy a fejlesztési folyamat zárt, de ezen az sem változtatna, ha a mainline kernelbe bekerülnének a driverek.
Üdv,
Gergely
- A hozzászóláshoz be kell jelentkezni
A Google már most szop, sok munka nekik portolni a patchset -jüket (saját bevallásuk szerint), ennél rosszabbul biztos nem járnának mainline beolvasztással sem. Nem hiszem, hogy a mainline kernelfejlesztők szétbarmolnák a patcheket, én ilyen balhéról még nem hallottam. Üzleti oka lesz ennek, kezükben akarják tartani a gyeplőt, illetve nincs rá okuk, hogy commit -oljanak. Bár portolni sok meló, a mainline beolvasztás is sok meló, ott nem lehet gányolni, ami házon belül néha belefér.
- A hozzászóláshoz be kell jelentkezni
Én inkább úgy fogalmaznék, hogy más típusú gányolás fér el a céges belső kernelverzióban és a mainline kernelverzióban :-)
- A hozzászóláshoz be kell jelentkezni
Naja, de ugyanakkor a google meg sir, hogy mennyi munkaja van atterni uj kernel verziora, van vagy 1000 patch-e (igaz ez nem android kapcsan hanem amit ok belsoleg hasznalnak pl szolgaltatasokban - ha jol ertem). Namost en ezt nem ertem. Ok, fork-oljak kvazi a linux kernelt, rendben, de akkor miert sirnak (meg akkor minek kuldenek akar a staging faba is cuccost, ha ugyis tudjak, hogy nem akarnak amugy ennel jobban egyuttmukodni), hogy ooo olyan nehez dolguk van szegenyeknek ... Ha jol remlik, akkor meg google alkalmazott is volt egyszer vmi kernel developer meetingen aki errol sirankozott ...
- A hozzászóláshoz be kell jelentkezni
Hm az nem a Google szervereken hasznalt linux volt?
Most meg az Androidrol van szo. Ket kulon sztori.
- A hozzászóláshoz be kell jelentkezni
szerintem hajítsanak ki minden google meg ms cuccot a kernelből, úgy lesz egyszerűbb az élete mindenkinek.
Egyébként meg, ha a google androidjának bármi köze van a kernelhez, akkor nem kellene közzétenni teljes terjedelmében a patcheket, miután terjesztik a kernelt?
- A hozzászóláshoz be kell jelentkezni
közzétenni != upstream mergelni
- A hozzászóláshoz be kell jelentkezni
Elkezdődött a Kódok Háborúja?
- A hozzászóláshoz be kell jelentkezni