Domov / Návody pre Windows / Prehľad funkcií jadra systému Android. Aktualizácia linuxového jadra na novú verziu Firmvér v jadre 3.10 65 w3bsit3-dns.com

Prehľad funkcií jadra systému Android. Aktualizácia linuxového jadra na novú verziu Firmvér v jadre 3.10 65 w3bsit3-dns.com

Používatelia mobilné zariadenia nie vždy spokojní s prácou a možnosťami svojich gadgetov. Z tohto dôvodu používatelia hľadajú najlepší spôsob flashovania jadra operačný systém Android. Na jednej strane sa takáto akcia dá ľahko vykonať pomocou tabletu alebo smartfónu. Tisíce používateľov úspešne flashovali jadro bez akýchkoľvek ťažkostí a problémov. Na druhej strane však každá chyba počas tohto procesu môže viesť k, medzi ktoré patrí zlyhanie modulu gadget a potreba drahého servisu. V rôznych fázach existuje riziko výberu nesprávnej verzie firmvéru jadra, ktorú vytvorili nekvalifikovaní vývojári alebo sa nehodí do vášho mobilného zariadenia. Odporúčame, aby ste boli mimoriadne opatrní pri vykonávaní akýchkoľvek akcií, ktoré spôsobujú zmeny v softvérovej časti zariadenia na nízkej úrovni. Po úspešnom flashnutí jadra majú mnohí pocit, že v rukách držia úplne nové zariadenie. Pokročilí používatelia si tak môžu prispôsobiť gadget podľa svojich potrieb a preferencií a zároveň získať nové poznatky a skúsenosti o moderných mobilných technológiách.

Jadro operačného systému Android a jeho firmvér

Čo je jadrom mobilného zariadenia?

Základom je jadro operačného systému softvér, ktorý ovláda hardvér zariadenia. Závisia od toho hlavné parametre akéhokoľvek modulu gadget. Treba poznamenať, že pozostáva z troch vzájomne prepojených komponentov - linuxového jadra, vertikálny stroj Dalvik a rôzne nízkoúrovňové služby a knižnice. Ak hovoríme o vlastnom firmvéri, potom sú ovplyvnené iba dve komponenty, ktoré vám umožňujú pridávať nové systémové služby, optimalizovať existujúce nastavenia a zmeniť grafické prostredie.

Tí, ktorí chcú nainštalovať jadro na Android, by mali pochopiť, že existuje rozdiel medzi konceptmi vlastného jadra a vlastného firmvéru. Posledná uvedená je neoficiálna verzia softvéru. Vlastný firmvér vyvinutý tímom špecialistov pod konkrétne zariadenia. Vlastné jadro je založené na jadre Linuxu, ktoré predstavuje jeho neoficiálnu verziu. S firmvérom sa často dodáva vlastné jadro. Dá sa však nainštalovať samostatne po zmene firmvéru. V skutočnosti nenahrádza natívne jadro mobilného zariadenia, čo je konečným cieľom takejto operácie.

Flashovanie jadra Androidu sa vykonáva hlavne na zvýšenie prevádzkového času zariadenia o niekoľko hodín úpravou parametrov spotreby energie. Možno to je hlavný dôvod, prečo používatelia vykonávajú zložité transformácie softvéru svojich gadgetov. Firmvér vám tiež umožní zmeniť video čip bez následkov pre váš smartfón alebo tablet. Pokročilí používatelia tak upravujú obrazovku, menia jej reprodukciu farieb, citlivosť. Firmvér jadra vám umožňuje vylepšiť zvuk zariadenia, aktualizovať ovládače a implementovať podporu pre neštandardné externé miniaplikácie.

Pred flashovaním jadra odporúčame uistiť sa, že ste si vybrali správnu verziu, ktorú vytvorili skúsení vývojári. Okrem toho je dôležité uistiť sa, že vyhovuje vašej verzii firmvéru systému Android. Vhodné je prečítať si recenzie ľudí, ktorým sa podarilo nainštalovať príslušnú verziu jadra do mobilu. Recenzie môžu obsahovať dôležité informácie o problémoch, ktoré sa môžu vyskytnúť počas firmvéru alebo ďalšej prevádzky zariadenia.

Firmvér miniaplikácie cez Fastboot

Svoje zariadenie Android môžete flashovať pomocou Fastboot. Najprv však musíte nainštalovať pomôcku do svojho modulu gadget. Existujú dve verzie tohto programu. Prvá zahŕňa stiahnutie Fastbootu v kombinácii s oficiálnym program pre Android SDK. Druhá verzia zahŕňa samostatné stiahnutie pomôcky.

Odporúčame vám skontrolovať, či vaše mobilné zariadenie vidí prenosný počítač alebo počítač. Ak to chcete urobiť, musíte vykonať. Po stiahnutí a inštalácii do počítača, notebook beží na operačnom systém Windows, nástroje rýchleho spustenia a pripojení smartfónu, musíte otvoriť príkazový riadok. Ak to chcete urobiť, otvorte vyhľadávanie. V systéme Windows 8 stačí nasmerovať kurzor myši na pravú stranu obrazovky a vybrať príslušnú časť. Vo Vyhľadávaní musíte zadať "cmd", po ktorom uvidíte príkazový riadok. Zariadenie by malo byť uvedené do režimu firmvéru. Ďalej zadajte príkaz, ktorý otestuje interakciu medzi počítačom a mobilným zariadením:

zariadenia rýchleho spustenia

Ak všetko funguje, musíte nahrať správnu verziu firmvéru jadra boot.img. Neodporúčame flashovať jadro originálny firmvér, pretože to môže spôsobiť problémy s prevádzkou smartfónu. Súbor by sa mal uložiť do vopred vytvorenej oblasti na jednotke C s názvom „Android“. Potom musíte svoje mobilné zariadenie zaviesť do Fastbootu a pripojiť ho k počítaču. Na obrazovke sa zobrazí správa „Fastboot USB“.

  • cd C:\Android.
  • fastboot flash boot boot.img.
  • rýchle spustenie vymazanie vyrovnávacej pamäte.
  • reštart rýchleho spustenia.

Je veľmi dôležité zadať všetky slová správne, berúc do úvahy veľké a malé písmená a medzery. Príkaz cd otvorí požadovaný priečinok, ktorý obsahuje požadované súbory. Potom sa objaví blikanie. Príkaz fastboot erase cache vymaže oblasť vyrovnávacej pamäte. Posledný príkaz - fastboot reboot reštartuje zariadenie z režimu firmvéru do normálneho stavu. Ak ste všetky tieto kroky vykonali správne, proces bude úspešný.

Firmvér pomocou ClockworkMod Recovery

ClockworkMod Recovery (alebo skrátene CWM) je systém obnovy, ktorý sa používa namiesto pôvodného obnovenia z výroby. CWM vám umožňuje inštaláciu nový firmvér do mobilného zariadenia, flashnúť jadro, urobiť zálohovanie súbory a obnoviť shell. Takýto systém môže pracovať so súbormi aktualizácie firmvéru, ktoré majú formát zip. ClockworkMod je nainštalovaný v , čím nahrádza obnovenie z výroby. Ak chcete spustiť CWM, musíte poznať kombináciu klávesov, ktorá je vhodná pre váš modul gadget. Vo väčšine prípadov ide o kombináciu tlačidiel zníženia hlasitosti a zapnutia, ktoré by sa mali stlačiť počas spúšťania zariadenia.

Ak chcete flashovať jadro, stiahnite si archív s príponou zip. Musí obsahovať priečinok META-INF. Ďalej sú dve možnosti. V prvom prípade musíte zadať súbor firmvéru. Druhá možnosť zahŕňa umiestnenie súboru firmvéru do priečinka / sdcard. Potom by ste mali aktivovať ClockworkMod Recovery, nájsť tam funkciu Apply update from sdcard a zadať požadovaný súbor.

Treba poznamenať, že ponuka ClockworkMod Recovery je pohodlná a zrozumiteľná pre väčšinu používateľov. Okrem takéhoto systému obnovy firmvéru môžete použiť Obnova TWRP. Tento nástroj je pohodlný a obľúbený medzi používateľmi systému Android. Hlavná vec je vybrať si správny súbor firmvéru.

Flashovanie jadra systému Android je postup, ktorý neodporúčame používať, ak ste s fungovaním modulu gadget úplne spokojní. Tieto akcie sú poháňané túžbou zlepšiť výkon. mobilný telefón alebo tablet. Pokročilí používatelia získajú možnosť nastavenia parametrov na nižšej úrovni. Bez určitých vedomostí a objektívnych dôvodov je však lepšie nemeniť softvérovú časť mobilného zariadenia, pretože je to spojené s rizikami a poruchami pri jeho prevádzke.

"A ja... umývam karburátor!"
vtip

Úvod

V škôlke sme s rovnako zmýšľajúcimi ľuďmi pitvali kobylky v nádeji, že pochopíme ich štruktúru. Rádiový prijímač "Rusko" bol spájkovaný v škole. V ústave prišli na rad autá, ktorých matice boli opakovane prestavované. Záujmy sa zmenili, ale túžba „rozoberať“ sa niekedy prebúdza a dnes smeruje na Android.

Koľkokrát vás zachránila prítomnosť zdrojov Androidu? Už sa nedá počítať. Android je projekt s otvoreným zdrojovým kódom, ale bohužiaľ máme len schopnosť čítať; úprava kódu systému Android bez toho, aby ste boli zamestnancom spoločnosti Google, je takmer nemožná. Oplaťme túto chvíľu a stiahnite si úložisko. Ako na to je dokonale popísané na oficiálnom .


Všeobecná architektúra

Architektúra systému Android môže byť schematicky znázornená takto:

Stolné počítače a notebooky majú dobre zavedený systém režimov napájania (procesory x86 ich majú niekoľko): počítač beží „plnou rýchlosťou“, keď sa niečo robí, a keď je systém nečinný, prejde do úsporného režimu. Prechod do režimu „spánku“ nastáva buď po pomerne dlhom období nečinnosti, alebo manuálne, napríklad pri zatváraní veka notebooku.

Na telefónoch bol potrebný iný mechanizmus: hlavným stavom systému je „hibernácia“, výstup z neho sa vykonáva iba v prípade potreby. Systém teda môže prejsť do režimu spánku, aj keď je aktívna nejaká aplikácia. V systéme Android bol implementovaný mechanizmus prebudenia: ak aplikácia (alebo ovládač) robí niečo dôležité, čo by malo dospieť k logickému záveru, „zachytí“ prebudenie, čím zabráni zariadeniu zaspať.

Pokusy preniesť mechanizmus prebudenia do jadra spôsobili odpor mnohých vývojárov. Programátori Androidu riešili špecifický problém, ktorého riešením bol určitý mechanizmus. Podmienky úlohy boli veľmi úzke. Cieľovou platformou je ARM, takže boli použité jej vlastnosti: procesory ARM spočiatku na rozdiel od x86 predpokladajú časté zmeny v režime spánku a budenia. V systéme Android aplikácie komunikujú so systémom správy napájania cez PowerManager, ale čo klientske aplikácie pre Linux?

Vývojári Androidu sa ani nepokúšali nájsť spoločné riešenie „pre budúcnosť“, ktoré by potom bez problémov prúdilo do hlavného jadra, tento problém nekonzultovali s komunitou linuxového jadra. Môžu za to? Napriek všetkým problémom a diskusiám, ako bolo spomenuté vyššie, sa v jadre objavilo API s identickou funkcionalitou autosleep.

Programátori aplikácií pre Android sa zriedkavo musia zaoberať prebudením, pretože platforma a ovládače zvládajú povinnosti, ktoré im boli pridelené, pričom zohľadňujú režim „spánku“. Do tohto procesu však pomôže zasiahnuť známy PowerManager. Mimochodom, autor prichádza s jediným scenárom: aby telefón nezaspal pri spustení služby z BroadcastReceiveru, čo rieši pomocná trieda z Android Support Library WakefulBroadcastReceiver .

Low Memory Killer

Štandardné jadro Linuxu má funkciu Out of Memory Killer , ktorá na základe parametra badness určuje proces, ktorý má byť zabitý:

Badness_for_task = total_vm_for_task / (sqrt(cpu_time_in_seconds) *
sqrt(sqrt(cpu_time_in_minutes)))

Čím viac pamäte teda proces spotrebuje a čím menej žije, tým menej šťastia bude mať.

Diagram ukazuje všeobecný systém prihlásenie do systému Android. Logovací ovládač poskytuje prístup ku každej vyrovnávacej pamäti cez /dev/log/*. Aplikácie k nim nemajú prístup priamo, ale prostredníctvom knižnice liblog. Knižnica liblog komunikuje s triedami Log , Slog a EventLog. Príkaz adb logcat zobrazuje obsah "hlavnej" vyrovnávacej pamäte.

Záver

V tejto poznámke sme stručne zhodnotili niektoré funkcie systému Android ako systému Linux. Niektoré ďalšie časti boli vynechané v zátvorkách (pmem, konzola RAM atď.), ako aj také dôležité aspekty platformy ako celku, ako je systémová služba, proces spustenia systému a iné. Ak je táto téma zaujímavá, zvážime ich v nasledujúcich článkoch.

O vlastnom firmvéri, koreňových aplikáciách a alternatíve sme písali viac ako raz bootovacie ponuky. Toto všetko sú štandardné témy v komunite hackerov s Androidom, avšak okrem všetkého vyššie uvedeného existuje aj niečo ako „vlastné jadro“, ktoré môže poskytnúť takmer neobmedzené možnosti správy smartfónu a jeho hardvéru na najnižšej úrovni. úrovni. V tomto článku vám poviem, čo to je, prečo to potrebujete a ako si vybrať správne vlastné jadro.

vlastné jadro?

Čo je to vlastné jadro? Ako všetci vieme, Android je koláč pozostávajúci z troch základných vrstiev: linuxového jadra, súboru nízkoúrovňových knižníc a služieb a virtuálny prístroj Dalvik, nad ktorým beží grafický shell, nástroje a služby na vysokej úrovni, ako aj takmer všetky aplikácie nainštalované z trhu. Tvorcovia väčšiny alternatívnych vlastných ROM zvyčajne pracujú iba s hornými dvoma vrstvami, pridávajú funkcie do grafického prostredia (napríklad tlačidlá v závese), menia ho (motor tém v CyanogenMod), ako aj pridávajú nové systémové služby (ekvalizér v CyanogenMod) a optimalizácia existujúcich.

Autori populárneho firmvéru tiež robia zmeny v jadre Linuxu, pokiaľ je to možné: optimalizovať (vytvoriť s agresívnejšími príznakmi optimalizácie kompilátora), zahrnúť novú funkcionalitu (napríklad podporu zdieľania Windowsu) a tiež vykonať ďalšie zmeny, ako napríklad schopnosť na zvýšenie frekvencie procesora nad hodnotu výrobcu . Toto všetko často zostáva v zákulisí a mnohí používatelia vlastného firmvéru o týchto funkciách ani nevedia, najmä preto, že rovnaký CyanogenMod prichádza s vlastným jadrom iba pre obmedzený rozsah zariadení, pre ktoré je zdrojový kód natívneho jadra a možnosť jeho výmeny sú k dispozícii. Napríklad takmer všetky firmvér CyanogenMod Pre Smartfóny Motorola použite štandardné jadro - nie je možné ho nahradiť vlastným kvôli nepreniknuteľnej ochrane bootloaderu.

Jadro v smartfónoch s odomknutým bootloaderom je však možné vymeniť oddelene od hlavného firmvéru. A nielen nahradiť, ale nainštalovať jadro s obrovským množstvom rôzne funkcie, ktoré si vyžadujú určité technické znalosti na správu, a preto zvyčajne nie sú zabudované do jadier populárneho firmvéru, ako sú CyanogenMod, AOKP a MIUI. Medzi týmito funkciami môžete nájsť podporu pre vysoké frekvencie procesora, ovládanie gama obrazovky, režimy úspory energie, vysoko účinné manažéry napájania a obrovské množstvo ďalších funkcií.

V tomto článku si povieme, čo nám môžu ponúknuť tvorcovia vlastných jadier, zvážte hlavné vlastné jadrá pre rôzne zariadenia, a tiež sa pokúsiť nainštalovať jadro bez ohľadu na hlavný firmvér a skontrolovať všetko na vlastnej koži. Čo teda vývojári alternatívnych jadier zvyčajne ponúkajú?

inteligentný dopravný kontrolór

SoC OMAP35XX používané napríklad v Galaxy S II a Galaxy Nexus majú funkciu SmartReflex, ktorá funguje ako inteligentný systém úpravy napätia pri zmene zaťaženia procesora. V skutočnosti eliminuje potrebu jemného ladenia napätia zo strany používateľa.


Optimalizácie

Hlavným účelom vytvárania vlastného jadra je často optimalizácia výkonu. Zvyčajne sa predajca mobilnej technológie snaží udržiavať rovnováhu medzi výkonom a stabilitou, takže aj dobré optimalizačné techniky, ktoré dokážu výrazne zvýšiť rýchlosť zariadenia, môže výrobca odmietnuť len na základe toho, že po ich aplikácii začali niektoré aplikácie padať každé desiate spustenie. Takéto maličkosti samozrejme nadšencov neobťažujú a mnohí z nich sú pripravení použiť akékoľvek možnosti kompilátora, algoritmy na úsporu energie na jadro vlastnej zostavy a zvýšiť frekvenciu procesora tak vysoko, ako to zariadenie vydrží. Spomedzi všetkých optimalizačných techník sú najbežnejšie štyri:



Ďalší typ optimalizácie: zmena predvoleného plánovača I/O. Situácia v tejto oblasti je ešte zaujímavejšia, pretože niektorí tvorcovia jadra namiesto toho, aby pochopili, ako fungujú plánovače, jednoducho čítajú dokumenty o plánovačoch I/O Linuxu na webe a vyvodzujú závery. Medzi užívateľmi je tento prístup ešte rozšírenejší. V skutočnosti sú takmer všetky najvýkonnejšie a najinteligentnejšie plánovače Linuxu úplne nevhodné pre Android: sú navrhnuté na použitie s mechanickými úložiskami údajov, v ktorých sa rýchlosť prístupu k údajom mení v závislosti od polohy hlavy. Plánovač používa rôzne schémy agregácie dotazov v závislosti od fyzického umiestnenia údajov, takže požiadavky na údaje, ktoré sú blízko aktuálneho umiestnenia hlavy, dostanú vyššiu prioritu. Úplne nelogické je to v prípade polovodičovej pamäte, ktorá zaručuje rovnakú rýchlosť prístupu ku všetkým bunkám. Pokročilí plánovači narobia na smartfóne viac škody ako úžitku a tie najnešikovnejšie a najprimitívnejšie ukážu najlepšie výsledky. Linux má tri takéto plánovače:

  • Noop (žiadna operácia)- takzvaný neplánovač. Jednoduchá fronta požiadaviek FIFO, prvá požiadavka bude spracovaná ako prvá, druhá druhá a tak ďalej. Dobre sa hodí pre polovodičovú pamäť a umožňuje vám spravodlivo uprednostniť aplikácie pre prístup k jednotke. Ďalšie plus: nízke zaťaženie procesora vďaka veľmi jednoduchému princípu fungovania. Mínus: žiadne zohľadnenie špecifík zariadenia, ktoré môže spôsobiť výpadky výkonu.
  • SIO (jednoduché I/O)- analóg plánovača uzávierok bez zohľadnenia vzájomnej blízkosti sektorov, to znamená, že je navrhnutý špeciálne pre polovodičovú pamäť. Dva hlavné body: priorita operácií čítania pred operáciami zápisu a zoskupovanie operácií podľa procesov s pridelením časového úseku pre každý proces na vykonanie operácií. V smartfónoch, kde je dôležitá rýchlosť aktuálnej aplikácie a prevaha čítania nad zápisom, sa ukazuje veľmi dobrý výkon. K dispozícii v jadre Leankernel, Matr1x pre Nexus 4 a SiyahKernel.
  • RIADOK (ČÍTAJTE NAD ZÁPISOM) je plánovač špeciálne navrhnutý pre mobilné zariadenia a pridaný do jadra len pred niekoľkými mesiacmi. Hlavná výzva: prioritné spracovanie požiadaviek na čítanie, ale spravodlivé rozdelenie času na požiadavky na zápis. Považovaný za najlepší v tento moment plánovač pre pamäť NAND, ktorý sa štandardne používa v Leankernel a Matr1x.

Stojí za to povedať, že takmer všetok štandardný firmvér a polovica vlastných stále používa jadro so štandardným plánovačom Linux CFQ, čo však nie je také zlé, pretože dokáže správne pracovať s disky SSD. Na druhej strane je príliš zložitý, vytvára väčšiu záťaž na procesor (a tým aj batériu) a nezohľadňuje špecifiká mobilného OS. Ďalšou populárnou voľbou je plánovač Deadline, ktorý je rovnako dobrý ako SIO, ale je prehnaný. Zoznam dostupných plánovačov môžete zobraziť pomocou nasledujúceho príkazu:

# cat /sys/block/*/queue/scheduler

Ak chcete zmeniť, použite toto (kde riadok je názov plánovača):

# for i v /sys/block/*/queue/scheduler; do echo riadok > $ 1; hotový

Niektorí tvorcovia jadra používajú aj iný druh optimalizácie súvisiacej s I/O. Toto je zakázanie systémového volania fsync používaného na vynútenie vyprázdnenia zmeneného obsahu. otvorené súbory na disk. Existuje názor, že bez fsync bude systém pristupovať k disku menej často a tým šetrí čas procesora a energiu batérie. Pomerne kontroverzné tvrdenie: fsync sa v aplikáciách nepoužíva príliš často a skutočne len na šetrenie dôležitá informácia, ale jeho zakázanie môže viesť k strate rovnakých informácií v prípade zlyhania operačného systému alebo iných problémov. Schopnosť vypnúť fsync je dostupná v jadrách franco.Kernel a GLaDOS a riadi sa pomocou súboru /sys/module/sync/parameters/fsync_enabled, ktorý by mal byť napísaný ako 0 na vypnutie alebo 1 na povolenie. Táto funkcia sa opäť neodporúča.

Pridávanie nových funkcií do jadra

Samozrejme okrem optimalizácií, úprav a rôznych systémov pokročilá správa hardvéru, vlastné jadrá obsahujú aj úplne novú funkcionalitu, ktorá nie je dostupná v štandardných jadrách, ale ktorá môže byť pre používateľov užitočná.

V podstate ide o rôzne ovládače a súborové systémy. Niektoré jadrá napríklad obsahujú podporu pre modul CIFS, ktorý vám umožňuje pripojiť zdieľané zložky systému Windows. Takýto modul je v jadre Matr1x pre Nexus S, faux123 pre Nexus 7, SiyahKernel a GLaDOS. Sám o sebe je zbytočný, no na trhu existuje niekoľko aplikácií, ktoré umožňujú využiť jeho možnosti.

Ďalšou užitočnou vecou je zahrnutie ovládača ntfs-3g do jadra (presnejšie v balení s jadrom samotný ovládač funguje ako linuxová aplikácia), ktorý je potrebný na pripojenie flash diskov naformátovaných v súborovom formáte. systém NTFS. Tento ovládač je dostupný v jadrách faux123 a SiyahKernel. Zvyčajne sa aktivuje automaticky, ale ak sa tak nestane, môžete použiť aplikáciu StickMount z trhu.

Mnohé jadrá obsahujú aj podporu pre takzvanú technológiu zram, ktorá umožňuje rezervovať malé množstvo Náhodný vstup do pamäťe(zvyčajne 10 %) a použite ho ako komprimovaný odkladací priestor. Výsledkom je akési rozšírenie množstva pamäte, bez vážnejších následkov na výkon. Dostupné v Leankerneli, povolené pomocou príkazu Trickster MOD alebo zram enable.

Posledné dve zaujímavé funkcie sú Fast USB charge a Sweep2wake. Prvým nie je nič iné ako nútená aktivácia „ rýchle nabíjanie“, aj keď je smartfón pripojený k portu USB počítača. Režim rýchleho nabíjania je dostupný vo všetkých viac-menej nových smartfónoch, avšak kvôli technickým obmedzeniam ho nie je možné aktivovať súčasne s prístupom na pamäťovú kartu. Funkcia rýchleho nabíjania USB vám umožňuje vždy povoliť tento režim a zároveň zakázať prístup k disku.

Sweep2wake je nový spôsob prebudenia zariadenia, ktorý vynašiel autor Breaked-kernel. Jeho zmyslom je zapnutie smartfónu potiahnutím navigačných tlačidiel umiestnených pod obrazovkou, prípadne cez obrazovku samotnú. Je to vážne šikovná funkcia, ale jeho zapnutím zostane senzor aktívny, aj keď je zariadenie v režime spánku, čo môže citeľne vybiť batériu.

Pretaktovanie, úspora napätia a energie

Pretaktovanie je obľúbené nielen medzi majiteľmi stacionárnych počítačov a notebookov, ale aj medzi nadšencami mobilných technológií. Rovnako ako kamene architektúry x86, aj procesory a grafické jadrá mobilných technológií bežia skvele. Samotný spôsob pretaktovania a kroky na jeho implementáciu sú tu však trochu odlišné. Faktom je, že štandardné ovládače pre SoC zodpovedné za úsporu energie a zmenu frekvencie procesora sú zvyčajne uzamknuté na štandardných frekvenciách, takže pre jemné doladenie musíte nainštalovať buď alternatívny ovládač alebo vlastné jadro.

Takmer všetky viac či menej kvalitné a obľúbené custom jadrá už obsahujú odomknuté ovládače, takže po ich nainštalovaní sa značne rozšíri možnosť ovládať „výkon“ procesora. Vlastní tvorcovia jadra zvyčajne robia dve veci, ktoré ovplyvňujú výber frekvencie. Ide o rozšírenie frekvenčného rozsahu nad pôvodne nastavené - môžete nastaviť vyššiu frekvenciu procesora aj veľmi nízku, čo vám umožní šetriť batériu a zvýšiť gradáciu frekvencie napríklad namiesto troch možných frekvencií, máte na výber zo šiestich. Druhou je pridaná možnosť upravovať napätie procesora, vďaka čomu môžete znížiť napätie procesora pri nízkych frekvenciách pre úsporu energie batérie a zvýšiť ho pri vysokých frekvenciách pre zvýšenie stability.

To všetko je možné ovládať pomocou známej platenej utility SetCPU alebo bezplatného Trickster MODu. Odporúčania pre správu sú rovnaké ako pre stolné systémy. Spodnú frekvenciu procesora je lepšie nastaviť na minimum, nie však nižšie ako 200 MHz (aby sa predišlo lagom), horná hranica sa zvyšuje postupne testovaním stability, pri poklese sa odporúča mierne zvýšiť napätie pre daný frekvencia. Neexistujú žiadne odporúčania týkajúce sa napätia, pretože každý procesor je jedinečný a hodnoty sa budú pre každého líšiť.

Okrem zmeny frekvencií, assembleri často pridávajú do jadra nové riadiace algoritmy šetrenia energie ( automatické ovládanie frekvencia procesora), o ktorých sa domnievajú, že môžu fungovať lepšie ako štandardné. Takmer všetky sú založené na interaktívnom algoritme, ktorý sa štandardne používa v nových verziách Androidu, ktorého podstatou je v prípade zvýšenia zaťaženia prudko zvýšiť frekvenciu procesora na maximum a potom ju postupne znižovať na minimum. . Nahradil predtým používaný algoritmus OnDemand, ktorý plynulo upravoval frekvenciu v oboch smeroch v pomere k záťaži a umožňuje zvýšiť odozvu systému. Alternatívni tvorcovia jadra ponúkajú nasledujúce algoritmy, ktoré nahradia interaktívne:

  • SmartAssV2- Prehodnotenie interaktívneho algoritmu so zameraním na šetrenie batérie. Hlavným rozdielom je netrhať procesor na vysoké frekvencie pri krátkych návaloch záťaže, na čo stačí nízky výkon procesora. Predvolené nastavenie sa používa v jadre Matr1x.
  • InteractiveX- vyladený algoritmus Interactive, Hlavná prednosť ktorý je v zámku procesora na minimálnej frekvencii určenej používateľom a druhé jadro procesora je počas vypnutej obrazovky bez energie. Predvolené nastavenie sa používa v Leankerneli.
  • LulzactiveV2- v podstate znovuobjavený OnDemand. Keď zaťaženie procesora prekročí zadanú hodnotu (štandardne 60 %), algoritmus zvýši frekvenciu o určitý počet dielikov (štandardne 1) a zníži ju, keď sa zaťaženie zníži. Obzvlášť zaujímavé je, že vám umožňuje nezávisle nastaviť parametre práce, preto je vhodný pre otužilých geekov.

Vo všeobecnosti tvorcovia jadra veľmi radi prichádzajú s novými algoritmami na úsporu energie kvôli jednoduchosti ich implementácie, takže môžete nájsť asi tucet ďalších. Väčšina z nich je úplná troska a pri výbere plánovača by ste sa mali riadiť pravidlom: buď jeden z troch opísaných vyššie, alebo štandardný Interactive, ktorý je mimochodom veľmi dobrý. Môžete si vybrať pomocou rovnakého Trickster MOD.

Manažérske rozhrania

Väčšina populárnych vlastných jadier obsahuje niekoľko mechanizmov na jemné ovládanie rôznych parametrov ovládačov, z ktorých najbežnejšie sú ColorControl, GammaControl, SoundControl a TempControl.

Prvé dve rozhrania sú dostupné takmer všade, vrátane jadier CyanogenMod, druhé dve – v Leankerneli a možno aj v iných. Tak či onak, všetky sa dajú ovládať pomocou Trickster MOD.

Nuclei

Aké jadro si vybrať? Na túto otázku neexistuje jediná odpoveď a nie preto, že „každému po svojom“, ale preto, že na svete je obrovské množstvo zariadení s Androidom a takmer toľko rôznych jadier. Existuje však niekoľko populárnych jadier, ktoré sa vyvíjajú pre viacero zariadení naraz. Tak či onak, mnohé z nich som v priebehu príbehu spomenul, no tu ich stručne popíšem.

  • Leankernel je jadro pre Galaxy Nexus, Nexus 7 a Galaxy S III. Hlavný dôraz pri vývoji je kladený na jednoduchosť a rýchlosť práce. Algoritmus úspory energie: InteractiveX V2, I/O Scheduler: ROW, všetky vyššie uvedené ovládacie rozhrania, podpora rýchleho USB nabíjania, Swap a zram, flexibilné pretaktovanie CPU a GPU. Jedno z najlepších jadier. Prispôsobiteľné pomocou Trickster MOD.
  • Matr1x (http://goo.gl/FQLBI, goo.gl/ZcyvA) – jadro pre zariadenia Nexus S a Nexus 4. Jednoduché a prehľadné jadro. Podpora pretaktovania CPU a GPU, GammaControl, Fast USB Charge, Sweep2wake, I/O plánovače: SIO, ROW a FIOPS. Vylepšenia výkonu. Prispôsobiteľné pomocou Trickster MOD.
  • Bricked-Kernel (http://goo.gl/kd5F4, goo.gl/eZkAV) je jednoduché a prehľadné jadro pre Nexus 4 a HTC One X. Optimalizácie pre Snapdragon S4 a NVIDIA Tegra 3, prepracovaný režim úspory energie pre Tegra 3, možnosť pretaktovania, algoritmus úspory energie: vyladený OnDemand (dostupný je aj interaktívny).
  • SiyahKernel je jadro pre Galaxy S II a S III. Flexibilné možnosti pretaktovania, automatická kalibrácia batérie, vylepšený ovládač dotykovej obrazovky, algoritmy úspory energie: smartassV2 a lulzactiveV2, I/O plánovače: noop, deadline, CFQ, BFQV3r2 (predvolené), V(R), SIO. Ovládače CIFS a NTFS (s automatickým pripojením). Konfigurovateľné pomocou ExTweaks.
  • franco.Kernel – jadro pre Nexus S, Galaxy Nexus, Nexus 4, Nexus 7, Nexus 10, Galaxy S III, Galaxy poznámka, Optimus One a One X.

Schopnosti jadra sa značne líšia od zariadenia k zariadeniu, takže podrobnosti si bude treba pozrieť na mieste. Flashnutím tohto jadra však získate možnosť pretaktovania, ladenia ovládačov, výborného výkonu, ako aj podporu rôznych algoritmov a plánovačov úspory energie. V skutočnosti jadro obsahuje takmer všetky vylepšenia opísané v článku. Považuje sa za jedno z najlepších dostupných jadier. Existuje aplikácia pre automatická aktualizácia Aktualizátor jadra franko. Môžete nakonfigurovať pomocou Trickster MOD.

Ako nainštalovať?

Všetky jadrá sú distribuované v štandardných archívoch Android ZIP, ktoré by mali byť flashované cez konzolu obnovy rovnakým spôsobom ako alternatívny firmvér. Zvyčajne sú jadrá kompatibilné s akýmkoľvek firmvérom, takže po výbere správneho jadra ho môžete bezpečne nainštalovať. Jediná vec, ktorú by ste mali venovať pozornosť, je verzia systému Android, s ktorou je jadro kompatibilné. Obe sa môžu priblížiť ku všetkým dostupným zariadeniam Verzie Androidu a pracovať iba s jedným (vývojár to zvyčajne výslovne hovorí). Pred flashovaním nezabudnite zálohovať aktuálny firmvér pomocou rovnakej konzoly na obnovenie. Ak sa niečo pokazí, vždy sa môžete vrátiť späť.

závery

Ako vidíte, vlastné jadrá majú mnoho výhod oproti jadrám používaným v štandardnom firmvéri alebo firmvéri tretích strán. A čo je dôležitejšie, na ich používanie nepotrebujete poznať všetky zložitosti Androidu, stačí si stiahnuť a nainštalovať archív ZIP.

V poslednej dobe sa pomerne často vydávajú nové verzie jadier. Každých pár mesiacov prichádza stabilné vydanie. No, nestabilní kandidáti na vydanie vychádzajú ešte častejšie. Linus Torvalds a mnoho vývojárov po celom svete neustále pracuje na vylepšovaní nových jadier a pridáva do nich stále viac funkcií.

S každou novou verziou pridáva jadro Linuxu podporu pre niekoľko nových zariadení, ako sú nové procesory, grafické karty alebo dokonca dotykové obrazovky. V poslednej dobe sa výrazne zlepšila podpora nového hardvéru. V jadre sú tiež zahrnuté nové súborové systémy, práca je vylepšená sieťový zásobník, opravuje chyby a chyby.

Ak potrebujete viac detailné informácie zmeny v konkrétnej verzii jadra nájdete v jeho Changelog na kernel.org av tomto článku sa pozrieme na aktualizáciu linuxového jadra na Nová verzia. Pokúsim sa neviazať návod na konkrétnu verziu jadra, nové jadrá vychádzajú pomerne často a bude to relevantné pre každé z nich.

Zvážte aktualizáciu jadra Ubuntu a CentOS. Najprv sa pozrime na to, ako aktualizovať jadro v Ubuntu 16.04.

Najprv sa pozrime, aké jadro máte nainštalované. Ak to chcete urobiť, otvorte terminál a spustite:

Napríklad momentálne používam verziu 4.3 a môžem upgradovať na najnovšiu verziu. Vývojári Ubuntu sa už ubezpečili, že ich používatelia nevytvárajú jadro ručne a nevytvárajú deb balíčky novej verzie jadra. Môžete si ich stiahnuť z oficiálnej webovej stránky Canonical.

Mohol som dať príkazy wget na stiahnutie sem, ak by bola známa verzia jadra, ale v našom prípade by bolo lepšie použiť prehliadač. Prejdite na stránku http://kernel.ubuntu.com/~kernel-ppa/mainline/. Všetko zostavené tímom jadra Ubuntu je tu. Jadrá sú zostavené ako pre špecifické distribúcie s kódovým názvom distribúcie, tak aj pre všeobecné. Okrem toho, jadrá z Ubuntu 16.10 budú s najväčšou pravdepodobnosťou fungovať v 16.04, ale od 9.04 na Ubuntu 16.04 by ste nemali inštalovať jadro.

Prejdite nadol, tam sa nachádzajú novšie verzie jadier:

Okrem toho sa úplne hore nachádza denný/aktuálny priečinok, ktorý obsahuje najnovšie, nočné zostavy jadra. Vyberte požadovanú verziu jadra a stiahnite si dva súbory linux-headers a linux-image pre vašu architektúru:

Po dokončení sťahovania môžete pokračovať v inštalácii. Ak to chcete urobiť, spustite v termináli nasledovné:

Prejdite do priečinka s inštalačnými balíkmi, napríklad ~/Downloads:

Spustite inštaláciu:

Ak tento príkaz nefungoval, môžete ísť iným spôsobom. Nainštalujte pomôcku gdebi:

sudo apt-get install gdebi

Potom ho použite na inštaláciu jadra:

sudo gdebi linux-headers*.deb linux-image-*.deb

Jadro je nainštalované, zostáva aktualizovať bootloader:

sudo update-grub

Teraz môžete reštartovať počítač a zistiť, čo sa stalo. Po reštarte sa uistite, že aktualizácia jadra Linuxu na najnovšiu verziu prebehla úspešne:

Ako vidíte, jadro je úspešne nainštalované a spustené. S odstránením sa však neponáhľajte stará verzia kernelu, odporúča sa mať v systéme viacero verzií jadra, aby ste v prípade problémov mohli nabootovať zo starej pracovnej verzie.

Automatická aktualizácia jadra Linuxu v Ubuntu

Vyššie sme sa pozreli na to, ako manuálne nainštalovať požadovanú verziu jadra. Ubuntu malo PPA pre denné zostavovanie jadra, ale teraz je zatvorené. Preto môžete aktualizovať jadro iba stiahnutím balíka deb a jeho inštaláciou. To všetko sa ale dá zjednodušiť špeciálnym skriptom.

Inštalácia skriptu:

cd /tmp
$ git clone git://github.com/GM-Script-Writer-62850/Ubuntu-Mainline-Kernel-Updater
$ bash Ubuntu-Mainline-Kernel-Updater/install

Kontrolujú sa aktualizácie:

KernelUpdateChecker -r yakkety

Voľba -r vám umožňuje zadať vetvu distribúcie, pre ktorú sa majú hľadať jadrá. Pre xenial sa jadrá už nevytvárajú, ale jadrá z ďalšej verzie tu budú fungovať dobre. Okrem toho voľba -no-rc môže povedať obslužnému programu, aby nepoužíval kandidátov na vydanie, a voľba -v špecifikuje presnú verziu jadra, ktorá sa má nainštalovať. Ak je vám jedno, pre ktorú distribúciu je jadro určené, pokiaľ je najnovšie, použite možnosť --any-release. Skript poskytne nasledujúci výsledok:

Pred inštaláciou jadra si môžete pozrieť podrobnosti otvorením súboru /tmp/kernel-update:

Tu vidíme, že bolo vykonané vyhľadávanie yakkety a momentálne je k dispozícii verzia jadra 4.7-rc6. Môžeme nainštalovať:

sudo /tmp/kernel-update

Skript nám ukáže verziu aktuálneho jadra, ako aj verziu jadra, ktoré sa nainštaluje, jeho dátum zostavenia a ďalšie podrobnosti. Tiež sa vás spýta, či potrebujete viesť denník zmien. Nasleduje inštalácia:

Staré jadrá, pre každý prípad, neodstraňujte (n):

Hotovo, aktualizácia jadra na najnovšiu verziu je dokončená, teraz reštartujte počítač (y):

Kontrola, či aktualizácia jadra Ubuntu skutočne fungovala:

Okrem toho bol skript pridaný do automatického načítania a teraz bude automaticky kontrolovať aktualizácie 60 sekúnd po prihlásení. Skratka automatického načítania je v súbore:

vi ~/.config/autostart/KernelUpdate.desktop

Môžete ho zmeniť, ako chcete, alebo ho odstrániť. Ak chcete skript úplne odstrániť zo systému, spustite:

rm ~/.config/autostart/KernelUpdate.desktop
$ sudo rm /usr/local/bin/KernelUpdate(Checker,ScriptGenerator)

Nesťahuje sa

Ak sa počas inštalácie vyskytli nejaké chyby alebo bolo nesprávne aktualizované jadro a systém sa teraz nespustí s novým jadrom, môžete použiť staré jadro. Systém sa tiež nemusí spustiť, ak používate vlastný ovládač grafické karty NVIDIA v tomto prípade sa neponáhľajte so sťahovaním najnovšej verzie jadra, používajte iba stabilné jadrá, spravidla už pridali podporu pre tento modul.

A ak chcete obnoviť systém, vyberte položku Pokročilé možnosti pre Ubuntu v menu Grub:

A spustite predchádzajúce bežiace jadro:

Po stiahnutí zostáva odstrániť nesprávne nainštalované jadro a znova aktualizovať Grub, nahradiť požadovanú verziu jadra namiesto 4.7:

sudo apt odstrániť linux-header-4.7* linux-image-4.7*

sudo update-grub

Váš systém je teraz späť do predchádzajúceho stavu. Môžete skúsiť nainštalovať staršiu verziu jadra alebo to skúste znova.

Aktualizácia linuxového jadra na 4.4 na CentOS

A teraz sa pozrime na to, ako aktualizovať najnovšiu verziu linuxového jadra v CentOS. Pokyny boli testované na CentOS 7, ale s najväčšou pravdepodobnosťou budú fungovať na RedHat 7, Fedore a ďalších podobných distribúciách.

Nové jadrá spravidla nie sú zahrnuté v oficiálnych úložiskách CentOS, takže na získanie najnovšej stabilnej verzie budeme musieť pridať úložisko ELRepo. Toto je úložisko komerčných balíkov (Enterprise Linux Packages) a je udržiavané aj na RedHat a Fedore.

Ak chcete pridať úložisko, postupujte takto:

Najprv musíte importovať kľúč:

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

Pridajte úložisko a požadované komponenty do RHEL/Scientific Linux/CentOS-7:

rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

yum install yum-plugin-fastestmirror

Na Fedore 22 a vyššej:

V nedeľu večer Linus Torvalds, ktorý je rodičom Linuxu a vývojárom jadra operačného systému, po dvoch mesiacoch práce oznámil vydanie novej verzie linuxového jadra 3.10.

Podľa samotného vývojára sa toto jadro ukázalo ako najväčšie z hľadiska inovácií za posledných pár rokov.

Linus priznal, že najprv zamýšľal vydať ďalšieho kandidáta na vydanie, ale po krátkom premýšľaní sa priklonil k okamžitému vydaniu finálneho vydania s číslom 3.10. Torvalds vo svojej správe tiež poznamenal, že nové jadro, podobne ako verzia 3.9, je úplne pripravené na každodenné používanie.

Okrem toho Linus Torvalds v oznámení o RC verzii jadra napísal, že predtým vždy obsahoval zoznam mien ľudí, ktorí poslali určité časti kódu, ale tentoraz by tento zoznam bol taký veľký, že by to nebolo možné podané celé v jednom liste.

Zoznam hlavných zmien vykonaných v jadre 3.10:

  • Teraz je možné zabrániť spúšťaniu skriptov ako programov – funkcionalitu spúšťania skriptov obsahujúcich cestu k interpreteru v hlavičke „#!“ možno teraz skompilovať ako modul jadra;
  • Integrovaný vyvinutý a používaný v systém Google Bcache. Bcache vám umožňuje ukladať do vyrovnávacej pamäte prístup k pomalým pevným diskom na rýchlych jednotkách SSD; ukladanie do vyrovnávacej pamäte sa vykonáva na úrovni blokového zariadenia - a to vám umožňuje urýchliť prístup k jednotke a bez ohľadu na použité súborové systémy na zariadení;
  • Jadro je možné skompilovať pomocou kompilátora Clang vďaka záplatám pripraveným projektom LLVMLinux;
  • Objavil sa dynamický riadiaci systém na generovanie prerušení časovača. Teraz môžete v závislosti od aktuálneho stavu meniť prerušenia v rozsahu od tisícok tikov za sekundu až po jedno prerušenie za sekundu – to vám umožní minimalizovať zaťaženie CPU pri spracovaní prerušení v prípade nečinnosti systému. V súčasnosti sa táto funkcia používa pre systémy v reálnom čase a HPC (high-performance computing), ale v budúcich vydaniach jadra bude povolená aj pre desktopové systémy;
  • Teraz je možné vygenerovať udalosť, ktorá upozorní aplikáciu na blížiace sa vyčerpanie dostupnej pamäte pre proces/systém (v cgroups);
  • Profilovanie prístupu do pamäte sa stalo dostupným pre príkaz perf;
  • Pridaná podpora pre protokol RDMA (iSER) do subsystému iSCSI;
  • Je tu nový „synchronizačný“ ovládač (experimentálny). Bol vyvinutý v rámci platformy Android a používa sa na synchronizáciu medzi ostatnými ovládačmi;
  • Integrovaný bol ovládač virtuálnej grafickej karty QXL (používaný vo virtualizačných systémoch na zrýchlený grafický výstup pomocou protokolu SPICE);
  • Nové nástroje na správu napájania zavedené v r procesory AMD rodina 16h ("Jaguar");
  • Do Radeon DRM bola pridaná podpora zrýchleného dekódovania videa pomocou hardvérového UVD dekodéra zabudovaného do moderných GPU AMD;
  • Objavil sa ovládač pre virtuálne grafické adaptéry Microsoft Hyper-V(existujú aj vylepšenia v práci Hyper-V ako celku);
  • Vykonávanie kryptografických funkcií (sha256, sha512, blowfish, twofish, had a camelia) je optimalizované pomocou inštrukcií AVX/AVX2 a SSE.