Интервју са Флар2, програмером ЕлементалКс кернела, први део

Интервјуишемо флар2, програмера ЕлементалКс кернела и улазимо у теме као што су његов лични живот, развојни рад и још много тога.

Недавно сам интервјуисао флар2, човека који стоји иза чувеног ЕлементалКс кернела и његове још популарније апликације ЕлементалКс Кернел Манагер. Објавио је верзију свог кернела за широку лепезу уређаја, укључујући ОнеПлус и Некус уређајима.

У овом делу, питамо о флар2-овим размишљањима о уским грлима у перформансама Андроид-а и више о његовом личном животу! Можете проверити део 2 овог интервјуа овде.


Хеј тамо! Прво се представите пре него што пређемо на питања.

Моје име је Аарон Сегаерт, такође познат као флар2. Већина људи ме познаје као програмера ЕлементалКс кернела. Такође имам неколико апликација.

Да ли сте раније имали искуства са рачунарима и развојем? Као диплома информатике или тако нешто?

Почео сам са компјутерима када сам био веома млад. Мој први рачунар је био Текас Инструментс ТИ-99/4А. Научио сам да кодирам у БАСИЦ-у и сачувао своје програме на касети (да, стар сам). Онда је наша породица купила 286 ИБМ клон, а ја сам у том тренутку побегао од кодирања јер је то било пре Интернет је био надалеко познат и нисам имао никакве ресурсе нити сам познавао некога ко је имао рачунар. Почео сам са рачунарством на универзитету, али сам пао на првој години. Никад нисам ишао на часове јер сам био превише заузет забављањем и свиркама са својим бендом. Касније сам се вратио у школу и докторирао социологију. Док сам био студент, заинтересовао сам се за Линук и опен соурце, али се никада нисам бавио озбиљним програмирањем. Ту и тамо сам допринео мањим деловима, али углавном сам направио скрипте и мале програме за своје потребе. Вероватно сам направио свој први Линук кернел око 2002. У то време нисам писао сопствени код, већ сам само експериментисао са различитим закрпама и опцијама изградње да бих побољшао перформансе. Више сам се бавио прављењем рачунара, оверклоком и генерално покушавањем да натерам хардвер да ради ствари које није требало.

Да ли вас је интересовао било који развој осим развоја Андроид апликација и развоја кернела?

Не баш, пронашао сам добре алате доступне за скоро све што сам требао да радим на рачунарима. Разлог зашто сам почео да радим на кернелима и апликацијама за Андроид је зато што сам осетио да постоји потреба за одређеним функцијама и простор за побољшање постојећих алата. На пример, направио сам Буттон Маппер јер сам желео да тастер за почетну страницу на Самсунг телефонима ради више, а нису ми се допали тастери обрнути уназад и недавно. Направио сам ДевЦхецк јер друге апликације за информације о систему нису приказивале информације које сам желео да видим на јасан и концизан начин. ЕлементалКс кернел додаје нове хардверске карактеристике, а ЕКС Кернел Манагер контролише те функције и додаје неке алате које користим да олакшам развој. Волим да решавам проблеме и забаван је изазов обрнути инжењеринг ствари или додати нове хардверске функције телефону.

Како сте дошли у контакт са развојем Андроид-а, посебно развојем кернела?

Увек сам мрзео мобилне телефоне и дуго сам им се опирао. Моја супруга и ја смо делили основни телефон на преклоп са минималним планом који се углавном користио за хитне случајеве. 2012. имали смо пожар у нашој кући и били смо напољу скоро три месеца. Сви наши комуналци су били прекинути и одлучили смо да не повезујемо поново нашу фиксну линију, па смо добили паметни телефон, који је био ЛГ П-нешто што мислим. Схватио сам да је то као мини рачунар и одлучио да ми треба сопствени мини рачунар, па сам купио ХТЦ Оне В.

Пошто сам петљао и модификовао скоро све, одмах сам открио КСДА и открио да не само да Андроид телефони покрећу Линук, већ могу и да се оверклокају. Дуго сам корисник Линук-а, па сам раздвојио један од кернела и био сам закачен. Убрзо сам набавио јефтини Ацер таблет и почео да се петљам са тим хардвером и кернелом јер сам желео да има УСБ ОТГ. Испоставило се да хардвер није способан, али тако сам почео да учим више о мобилном хардверу. Никада нисам јавно објавио кернел за ЛГ, Ацер таблет или Оне В, већ сам направио своја језгра за сваки и инсталирао прилагођене РОМ-ове, који су у то време били неопходни, пошто Андроид још није био зрео.

Убрзо сам прерастао Оне В и заменио за ХТЦ Оне КСЛ и тада је рођен ЕлементалКс.

Шта је првобитно био циљ за ЕлементалКс и како се то променило последњих година?

Циљ ЕлементалКс-а је одувек био да дода корисне хардверске функције, без угрожавања стабилности или перформанси, и пусти нешто на шта људи могу да се ослоне да би само радило. Увек стављам стабилност на прво место јер ми треба да мој телефон буде поуздан. Нема насумичног поновног покретања или ствари као што је камера која не ради. Филозофија је остала иста током година. Одржавам ствари једноставним и додајем хардверске функције које сматрам кориснима. Ствари као што су покрети за буђење, режим високе осветљености, подешавање вибрације, контрола звука, подршка за више система датотека, џојстика итд.

Напорно радим да би моја кернела била ажурирана, лака за инсталацију и што је могуће шире компатибилна. Неки корисници су разочарани што не додајем пуно закрпа са ЦАФ-а или узводног Линука, али мој главни циљ је да испоручим веома стабилан производ без чудних проблема. Многи моји корисници нису људи који много објављују на КСДА, они су напредни корисници који задовољавају одређене потребе од стране прилагођеног кернела или људи који повремено воле да се петљају са својим хардвером, али нису тврдокорни фласхахолицс. Желим да људи који не прате све најновије Андроид развоје могу без проблема да користе ЕлементалКс.

Постоји много других кернела који експериментишу са упстреам закрпама. У ЕлементалКс-у користим пажљиво одабран скуп закрпа и оптимизација. У својој каријери ван Андроид-а, мерим ствари које је тешко измерити и користим доказе за изградњу политике и давање савета. Примењујем исте принципе на развој кернела и генерално не користим закрпе осим ако нема мерљиве користи. Монитор батерије у ЕКС Кернел Манагер-у је пример овога. Нуди начин да се објективно измери ефекат подешавања батерије и промена кернела. Плутајући монитори у ДевЦхецк-у су још један алат који користим за развој, углавном за праћење ЦПУ-а фреквенције и температуре током различитих случајева коришћења као што су играње игара или гледање видео записа или веба прегледавање.

Како су промене Андроид-а у последњих неколико година утицале на ваш рад?

Понекад је тешко носити се са многим безбедносним променама, али их разумем. Ако се не варам, Андроид се сада више користи од Виндовс-а, што га чини метом. Лоши људи ће користити било који угао да искористе Андроид кориснике.

Спречавање модификације системске партиције је очигледно кључно за заштиту интегритета уређаја. Сећам се када је ХТЦ то почео да ради 2012. или 2013. и изгледало је као смак света. У то време, писање у /систем је било потребно за роот, уређивање буилд.проп, инсталирање привилегованих апликација, уклањање блоатваре-а и практично сваки популарни мод. Многа прилагођавања у то време су укључивала ствари као што су дедексирање и модификовање оквира. Дуго времена, извор кернела није био доступан од ХТЦ-а, па сам направио модул кернела да онемогућим системску заштиту од писања у основном кернелу, по чему сам први постао познат као програмер. Али током времена, пошто су заштите попут верити постале стандардни део Андроида, то је форсирало иновације и боље решења попут безсистемског роот-а Цхаинфире-а и сада постоји Магиск који ради све врсте ствари бессистемски.

Још један велики је СЕЛинук, који је проузроковао престанак рада тона апликација. Многи корисници су га мрзели и до данас постоје људи који раде са СЕЛинуком у дозвољеном режиму, што је веома лоша идеја. Рекао бих да је СЕЛинук најважнија безбедносна карактеристика Андроид-а. Да дам пример важности СЕЛинука, када сам први пут добио Пикел КСЛ, није било доступног роот-а, али је експлоатација Прљаве краве доносила вести. Желео сам да почнем са развојем кернела, што подразумева претрагу или модификацију сисфс датотека, за шта је потребан роот. Саставио сам један од доказа о концептима Дирти Цов и могао сам да покренем команде као роот, али ме је СЕЛинук спречио да урадим било шта занимљиво. Морао сам да изменим боот.имг да бих учинио СЕЛинук пермисивним. Можда сам постигао пун приступ без модификације кернела, али би ми требало много, много сати. Све ово да кажем, оставите СЕЛинук да спроводи, то је главна линија одбране од малвера. Научите да користите сеполици-ијецт за промену одређених смерница по потреби.

Када се појавио Ноугат, у почетку су скоро сви /сис и /проц постали невидљиви за корисничке апликације. Роот је одувек био неопходан да би се направиле промене, али одједном је роот био неопходан једноставно да би се прочитао /сис и /проц. У тим фајл системима дефинитивно постоје информације које се могу користити за експлоатацију уређаја, па је било неопходно додати ограничења. Али постоји и много информација које би корисници требали моћи да виде. Зашто би требало да буде потребан роот да би се видело тренутни И/о планер, или ГПУ фреквенција, или тип хардвера панела? Морао сам да направим много промена у ДевЦхецк-у да бих решио ово, а многи корисници су били збуњени зашто информације више нису биле доступне након ажурирања на Ноугат. На крају су нека ограничења на сисфс путањама укинута.

Осим тога, из перспективе развоја апликација, свиђа ми се већина промена АПИ-ја за Андроид, иако ме приморавају да направим много промена у својим апликацијама. Ове промене су обично на боље.


Погледајте други део овог интервјуа!