Re-flashování jádra zařízení Android. Přehled funkcí jádra verze jádra androidu 3.10 65

V neděli večer oznámil Linus Torvalds, rodič Linuxu a vývojář jádra operačního systému, po dvou měsících práce vydání nové verze jádra Linux 3.10.

Podle samotného vývojáře se ukázalo, že toto jádro bylo z hlediska objemu inovací za posledních pár let největší.

Linus připustil, že nejprve zamýšlel uvolnit dalšího kandidáta na vydání, ale po zaváhání se přiklonil k vydání finálního vydání najednou pod číslem 3.10. Také Torvalds ve své zprávě si všiml, že nové jádro, stejně jako verze 3.9, je zcela připraveno pro každodenní použití.

Linus Torvalds navíc v oznámení RC verze jádra napsal, že dříve vždy zahrnoval seznam jmen lidí, kteří poslali určité části kódu, ale tentokrát by tento seznam byl tak velký, že by nemohl být poskytnuta celá v jednom listu.

Seznam hlavních změn provedených v jádře 3.10:

  • Nyní je možné zakázat spouštění skriptů jako programů - funkce spouštění skriptů obsahujících cestu k tlumočníkovi v záhlaví „#!“ Lze nyní zkompilovat jako modul jádra;
  • Byl integrován systém Bcache vyvinutý a používaný společností Google. Bcache vám umožňuje organizovat ukládání do mezipaměti přístupu k pomalým pevným diskům na rychlých jednotkách SSD; v tomto případě se ukládání do mezipaměti provádí na úrovni blokového zařízení - a to vám umožní urychlit přístup k jednotce a bez ohledu na systémy souborů používané v zařízení;
  • Jádro lze sestavit pomocí kompilátoru Clang díky záplatám připraveným projektem LLVMLinux;
  • Objevil se dynamický systém pro ovládání generování přerušení časovačem. Nyní, v závislosti na aktuálním stavu, můžete změnit přerušení v rozsahu od tisíců tiků za sekundu do jednoho přerušení za sekundu - to vám umožní minimalizovat zátěž CPU při zpracování přerušení v případě nečinnosti systému. Nyní je tato funkce používána pro systémy v reálném čase a HPC (vysoce výkonné počítače), ale v dalších vydáních jádra bude použita i pro stolní systémy;
  • Nyní je možné vygenerovat událost upozorňující aplikaci na přístup k vyčerpání paměti dostupné procesu / systému (v cgroups);
  • Pro příkaz perf je nyní k dispozici profilování přístupu do paměti;
  • Přidána podpora pro protokol RDMA (iSER) do subsystému iSCSI;
  • K dispozici je nová „synchronizace“ ovladače (experimentální). Byl vyvinut v rámci platformy Android a slouží k synchronizaci mezi ostatními ovladači;
  • Byl integrován ovladač virtuální grafické karty QXL (používá se ve virtualizačních systémech pro zrychlený grafický výstup pomocí protokolu SPICE);
  • Nyní jsou podporovány nové funkce správy napájení zavedené v rodinách procesorů AMD 16h („Jaguar“);
  • Do modulu Radeon DRM byla přidána podpora akcelerace dekódování videa pomocí hardwarového dekodéru UVD zabudovaného do moderních GPU AMD;
  • Objevil se ovladač pro virtuální video adaptéry Microsoft Hyper-V (existují také vylepšení provozu Hyper-V obecně);
  • Provádění kryptografických funkcí (sha256, sha512, blowfish, twofish, had a camellia) je optimalizováno pomocí pokynů AVX / AVX2 a SSE.

Uživatelé mobilních zařízení nejsou vždy spokojeni s prací a možnostmi svých gadgetů. Z tohoto důvodu uživatelé hledají nejlepší způsob, jak flashovat jádro operačního systému Android. Na jedné straně lze tuto akci snadno provést pomocí tabletu nebo smartphonu. Tisíce uživatelů úspěšně probliklo jádrem bez jakýchkoli komplikací nebo problémů. Ale na druhou stranu jakákoli chyba během tohoto procesu může vést k, mezi které patří selhání gadgetu a potřeba nákladných služeb. V různých fázích existuje riziko výběru nesprávné verze firmwaru jádra, který byl vytvořen nekvalifikovanými vývojáři nebo se nehodí pro vaše mobilní zařízení. Doporučujeme být velmi opatrní při provádění akcí, které provádějí změny softwarové části zařízení na nízké úrovni. Po úspěšném flashování jádra mají mnozí pocit, že drží v rukou úplně nové zařízení. Pokročilí uživatelé si tak mohou gadget přizpůsobit tak, aby vyhovoval jejich potřebám a preferencím, a zároveň získávat nové znalosti a zkušenosti o moderních mobilních technologiích.

Jádro operačního systému Android a jeho firmware

Co je jádrem mobilního zařízení?

Jádro operačního systému je páteří softwaru, který spravuje hardware zařízení. Na tom závisí hlavní parametry jakéhokoli gadgetu. Je třeba poznamenat, že se skládá ze tří vzájemně propojených komponent - jádra Linuxu, vertikálního stroje Dalvik a různých služeb a knihoven na nízké úrovni. Pokud mluvíme o vlastním firmwaru, pak jsou ovlivněny pouze dvě komponenty, které vám umožňují přidat nové systémové služby, optimalizovat stávající parametry a změnit grafický shell.

Ti, kteří si chtějí nainstalovat jádro na Android, by měli pochopit, že existuje rozdíl mezi koncepcemi vlastního jádra a vlastního firmwaru. Ten je neoficiální verzí softwaru. Vlastní firmware byl vyvinut týmem specialistů pro konkrétní zařízení. Vlastní jádro vychází z jádra Linuxu a je jeho neoficiální verzí. S firmwarem se často dodává vlastní jádro. Po změně firmwaru jej však lze nainstalovat samostatně. Ve skutečnosti nenahrazuje nativní jádro mobilního zařízení, což je konečný cíl takové operace.

Firmware jádra Android se provádí hlavně za účelem prodloužení doby provozu zařízení o několik hodin úpravou nastavení napájení. Možná to je hlavní důvod, proč uživatelé provádějí komplexní softwarové transformace svých gadgetů. Firmware vám umožní změnit video čip, aniž by to ovlivnilo váš smartphone nebo tablet. Pokročilí uživatelé si tak přizpůsobují práci na obrazovce, mění její barevné podání, citlivost. Firmware jádra vám umožňuje zlepšit zvuk zařízení, aktualizovat ovladače a implementovat podporu pro nestandardní externí gadgety.

Před spuštěním jádra doporučujeme ověřit, zda jste vybrali dobrou verzi, kterou vytvořili zkušení vývojáři. Kromě toho je důležité zajistit, aby odpovídal verzi vašeho firmwaru Android. Je vhodné si přečíst recenze lidí, kterým se podařilo do mobilního telefonu nainstalovat vhodnou verzi jádra. Recenze mohou obsahovat důležité informace o problémech, které mohou nastat ve fázi firmwaru nebo dalšího provozu zařízení.

Firmware gadgetu pomocí Fastboot

Zařízení Android můžete obnovit pomocí funkce Fastboot. Nejprve však musíte na svůj gadget nainstalovat nástroj. Existují dvě verze tohoto programu. První zahrnuje stažení Fastboot ve spojení s oficiálním programem Android SDK. Druhá verze zahrnuje stažení nástroje samostatně.

Doporučujeme zkontrolovat, zda vaše mobilní zařízení vidí notebook nebo počítač. Chcete -li to provést, musíte provést. Po stažení a instalaci do počítače, notebooku s operačním systémem Windows, nástroje Fastboot a připojení smartphonu musíte otevřít příkazový řádek. Chcete -li to provést, otevřete Hledat. V systému Windows 8 stačí přesunout kurzor myši na pravou stranu obrazovky a vybrat příslušnou sekci. Do Hledání musíte zadat „cmd“, poté se před vámi zobrazí příkazový řádek. Zařízení by mělo být přepnuto do režimu firmwaru. Dále zadejte příkaz, který otestuje interakci mezi počítačem a mobilním zařízením:

zařízení pro rychlé spuštění

Pokud vše funguje, musíte načíst správnou verzi firmwaru jádra boot.img. Nedoporučujeme obnovit původní jádro firmwaru, protože to může vést k problémům s provozem smartphonu. Soubor by měl být uložen do dříve vytvořeného oddílu na jednotce C s názvem „Android“. Poté musíte načíst mobilní zařízení do Fastboot a připojit jej k počítači. Na obrazovce se objeví zpráva „Fastboot USB“.

  • cd C: \ Android.
  • fastboot flash boot boot.img.
  • rychlé vymazání mezipaměti.
  • rychlé restartování.

Je velmi důležité správně zadat všechna slova s ​​přihlédnutím k velikosti písmen a mezer. Příkaz cd otevře požadovanou složku obsahující požadované soubory. Poté dojde k blikání. Příkaz rychlého spuštění vymazání mezipaměti odstraní oddíl mezipaměti. Posledním příkazem je restart rychlého spuštění, který restartuje zařízení z režimu firmwaru do normálního stavu. Pokud jste všechny uvedené akce provedli správně, bude proces úspěšný.

Firmware s obnovením ClockworkMod

ClockworkMod Recovery (nebo zkráceně CWM) je systém obnovy, který se používá místo původního obnovení z výroby. CWM vám umožňuje nainstalovat nový firmware na mobilní zařízení, flashovat jádro, zálohovat soubory a obnovovat shell. Takový systém je schopen pracovat se soubory aktualizace firmwaru ve formátu zip. Je nainstalován ClockworkMod, který nahrazuje obnovení z výroby. Chcete -li spustit CWM, musíte znát kombinaci kláves, která vyhovuje vašemu gadgetu. Ve většině případů se jedná o kombinaci tlačítek pro snížení hlasitosti a zapnutí, která by měla být stisknuta při spuštění zařízení.

Chcete -li jádro flashovat, stáhněte si archiv s příponou zip. Musí obsahovat složku META-INF. Pak jsou dvě možnosti. V prvním případě musíte zadat soubor firmwaru. Druhá možnost zahrnuje umístění souboru firmwaru do složky / sdcard. Poté byste měli aktivovat ClockworkMod Recovery, najít tam funkci Použít aktualizaci ze sdcard a zadat požadovaný soubor.

Je třeba poznamenat, že nabídka ClockworkMod Recovery je pohodlná a srozumitelná pro většinu uživatelů. Kromě takového systému obnovy firmwaru můžete použít nástroj TWRP Recovery. Tento nástroj je pohodlný a oblíbený mezi uživateli systému Android. Hlavní věcí je vybrat správný soubor firmwaru.

Firmware jádra Android je postup, ke kterému se nedoporučujeme uchýlit, pokud jste s prací gadgetu zcela spokojeni. Takové akce jsou poháněny touhou zlepšit výkon mobilního telefonu nebo tabletu. Pokročilí uživatelé mají možnost nastavit parametry na nižší úrovni. Bez určitých znalostí a objektivních důvodů je však lepší neměnit softwarovou část mobilního zařízení, protože to je spojeno s rizikem a selháním jeho provozu.

"A já ... umýt karburátor!"
Žert

Úvod

Ve školce jsme s podobně smýšlejícími lidmi pitvali kobylky v naději, že porozumíme jejich struktuře. Ve škole byl pájen rozhlasový přijímač „Rusko“. V ústavu přišly na řadu auta, jejichž matice byly opakovaně přeskupovány. Zájmy se změnily, ale touha „rozebrat“ se někdy probudí a dnes směřuje k Androidu.

Kolikrát vás zachránila dostupnost zdrojů Android? Já - už nepočítám. Android je open source projekt, ale bohužel máme pouze schopnost číst; je téměř nemožné upravit kód Android, aniž byste byli zaměstnanci společnosti Google. Buďme smutní z tohoto okamžiku a stáhněte si úložiště. Jak to udělat, je dokonale popsáno na oficiálních webových stránkách.


Obecná architektura

Architekturu Androidu lze schematicky znázornit následovně:

Stolní počítače a notebooky mají zavedený systém energetických režimů (x86 procesorů jich má několik): počítač běží „na plné obrátky“, když se něco dělá, a přejde do energeticky úsporného režimu, když je systém nečinný. Přechod do režimu „spánku“ nastává buď po poměrně dlouhé době nečinnosti, nebo ručně, například při zavírání víka notebooku.

Na telefonech byl vyžadován jiný mechanismus: hlavní stav systému je „hibernace“, výstup z něj se provádí pouze v případě potřeby. Systém tedy může usnout, i když je nějaká aplikace aktivní. V systému Android byl implementován mechanismus wakelock: pokud aplikace (nebo ovladač) provede něco důležitého, co musí dosáhnout logického závěru, „zachytí“ wakelock a zabrání zařízení usnout.

Pokusy o přenesení mechanismu wakelock do jádra narazily na odpor mnoha vývojářů. Programátoři Androidu vyřešili konkrétní problém, jehož řešením byl určitý mechanismus. Podmínky problému byly velmi úzké. Cílovou platformou je ARM, takže byly použity její funkce: Procesory ARM zpočátku předpokládají časté změny v provozním režimu „spánku“ a „bdění“, na rozdíl od x86. V systému Android aplikace komunikují se systémem řízení spotřeby prostřednictvím PowerManager, ale co by měly klientské aplikace Linux dělat?

Vývojáři Androidu se ani nepokusili najít společné řešení „do budoucna“, které by pak bylo bez problémů sloučeno do hlavního jádra, v této záležitosti nekonzultovali komunitu linuxových jader. Můžeš jim to vyčítat? Přes všechny problémy a diskuse, jak bylo uvedeno výše, se v jádru objevilo API s identickou funkcí automatického spánku.

Programátoři aplikací pro Android se s wakelocky musí potýkat jen zřídka, protože platforma a ovladače zpracovávají jim přidělené povinnosti s přihlédnutím k režimu „spánku“. Přesto známý PowerManager pomůže zasáhnout do tohoto procesu. Mimochodem, autorovi napadá jen jeden scénář: zabránit tomu, aby telefon usnul při spuštění služby z BroadcastReceiver, což řeší pomocná třída z knihovny podpory Android WakefulBroadcastReceiver.

Zabiják s nízkou pamětí

Standardní linuxové jádro má nástroj Out of Memory Killer, který na základě parametru badness určuje proces, který má být zabit:

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

Čím více tedy proces spotřebovává paměť a čím méně žije, tím méně štěstí bude mít.

Diagram ukazuje obecný systém protokolování systému Android. Ovladač protokolu poskytuje přístup ke každé vyrovnávací paměti prostřednictvím / dev / log / *. Aplikace k nim nepřistupují přímo, ale prostřednictvím knihovny liblog. Třídy Log, Slog a EventLog komunikují s knihovnou liblog. Příkaz adb logcat zobrazuje obsah „hlavní“ vyrovnávací paměti.

Závěr

V tomto příspěvku jsme stručně prozkoumali některé funkce systému Android jako systému Linux. Některé další části (pmem, konzola RAM atd.), Stejně jako tak důležité aspekty platformy jako celku, jako je například System Service, proces spouštění systému a další, zůstaly mimo hranaté závorky. Pokud je toto téma zajímavé, zvážíme je v následujících článcích.

Už jsme psali o vlastních firmwarech, kořenových aplikacích a alternativních zaváděcích nabídkách. To vše jsou standardní témata v hackerské komunitě Android, ale kromě všeho výše uvedeného existuje také něco jako „vlastní jádro“, které může poskytovat téměř neomezené možnosti ovládání smartphonu a jeho hardwaru na nejnižší úrovni. úroveň. V tomto článku vám řeknu, co to je, proč to potřebujete a jak vybrat správné vlastní jádro.

Vlastní jádro?

Co je to vlastní jádro? Jak všichni víme, Android je koláč tvořený třemi základními vrstvami: linuxovým jádrem, sadou knihoven a služeb na nízké úrovni a virtuálním strojem Dalvik, nad nímž běží grafický shell, nástroje na vysoké úrovni a služby, stejně jako téměř všechny aplikace nainstalované z trhu. Tvůrci většiny alternativních vlastních firmware obvykle pracují pouze s horními dvěma vrstvami, přidávají funkce do grafického shellu (například tlačítka na oponě), mění jej (engine motivů v CyanogenMod) a také přidávají nové systémové služby ( ekvalizér v CyanogenMod) a optimalizaci stávajících.

Autoři populárního firmwaru také, pokud je to možné, provádějí změny v jádře Linuxu: optimalizují (vytvářejí agresivnější příznaky optimalizace kompilátoru), obsahují nové funkce (například podporu pro Windows Ball) a také provádějí další změny , jako je například schopnost zvýšit frekvenci procesoru vyšší, než uvádí výrobce ... To vše často zůstává v zákulisí a mnoho uživatelů vlastního firmwaru o těchto schopnostech ani neví, zejména proto, že stejný CyanogenMod přichází s vlastním jádrem pouze pro omezený rozsah zařízení, pro které je zdrojový kód nativního jádra a je k dispozici možnost jeho nahrazení. Například téměř veškerý firmware CyanogenMod pro smartphony Motorola používá standardní jádro - není možné jej nahradit vlastním kvůli neproniknutelné ochraně zavaděče.

Jádro v chytrých telefonech s odemčeným zavaděčem však lze vyměnit odděleně od hlavního firmwaru. A není snadné jej nahradit, ale nainstalovat jádro s velkým množstvím různých funkcí, které ke správě vyžadují určité technické znalosti, a proto obvykle nejsou integrovány do jader populárního firmwaru, jako jsou CyanogenMod, AOKP a MIUI. Mezi těmito funkcemi najdete podporu pro vysoké frekvence procesoru, ovládání gama obrazovky, režimy úspory energie, vysoce efektivní správce napájení a obrovské množství dalších funkcí.

V tomto článku si povíme, co nám mohou tvůrci vlastních jader nabídnout, zvážíme hlavní vlastní jádra pro různá zařízení a také se pokusíme nainstalovat jádro bez ohledu na hlavní firmware a vše zkontrolovat na vlastní kůži. Co tedy alternativní vývojáři jádra obvykle navrhují?

Inteligentní správce provozu

Například SoC OMAP35XX používané v modelech Galaxy S II a Galaxy Nexus mají například funkci SmartReflex, která funguje jako inteligentní systém pro úpravu napětí při změně zatížení procesoru. Ve skutečnosti to eliminuje potřebu jemného doladění napětí uživatelem.


Optimalizace

Hlavním cílem budování vlastního jádra je často optimalizace výkonu. Prodejce mobilních technologií se obvykle snaží udržovat rovnováhu mezi výkonem a stabilitou, takže i dobré optimalizační techniky, které mohou výrazně zvýšit rychlost zařízení, může výrobce odmítnout pouze na základě toho, že po jejich použití začaly některé aplikace padat. každé desáté spuštění. Samozřejmě, nadšenci nejsou z takových drobností v rozpacích a mnozí z nich jsou připraveni použít jakékoli možnosti kompilátoru, algoritmy pro úsporu energie na jádro vlastní sestavy a zvýšit frekvenci procesoru tak vysoko, jak to zařízení zvládne. Mezi všemi optimalizačními technikami jsou nejběžnější čtyři:



Další typ optimalizace: změna standardního plánovače I / O. Situace v této oblasti je ještě zajímavější, protože místo toho, aby porozuměli tomu, jak plánovače fungují, někteří stavitelé jader jednoduše čtou dokumenty na I / O plánovačích pro Linux na webu a vyvozují závěry. Tento přístup je mezi uživateli ještě rozšířenější. Ve skutečnosti jsou téměř všechny nejvýkonnější a nejinteligentnější plánovače Linuxu pro Android zcela nevhodné: jsou navrženy pro použití s ​​mechanickými datovými úložišti, ve kterých se rychlost přístupu k datům liší v závislosti na poloze hlavy. Plánovač používá různá schémata pro kombinování dotazů v závislosti na fyzickém umístění dat, takže dotazy na data, která jsou blízko aktuální pozici hlavy, získají vyšší prioritu. To je v případě polovodičové paměti, která zaručuje stejnou rychlost přístupu ke všem buňkám, zcela nelogické. Pokročilí plánovači udělají na smartphonu více škody než užitku a ti nejnešikovnější a nejprimitivnější ukážou nejlepší výsledky. Linux má tři takové plánovače:

  • Noop (žádná operace)-takzvaný neplánovací program. Jednoduchá fronta požadavků FIFO, první požadavek bude zpracován jako první, druhý druhý atd. Dobře se hodí pro polovodičovou paměť a umožňuje spravedlivě upřednostňovat aplikace pro přístup k jednotce. Další plus: nízké zatížení procesoru díky velmi jednoduchému provoznímu principu. Nevýhoda: nezohlednění specifik provozu zařízení, což může vést k poruchám výkonu.
  • SIO (jednoduché I / O)- analog plánovače uzávěrky, aniž by se zohlednila vzájemná blízkost sektorů, to znamená, že je navržen speciálně pro polovodičovou paměť. Existují dvě hlavní funkce: priorita operací čtení před operacemi zápisu a seskupování operací podle procesů s přidělením části času pro každý proces k provedení operací. V chytrých telefonech, kde je důležitá rychlost současné aplikace a prevalence operací čtení nad zápisem, ukazuje velmi dobrý výkon. K dispozici v Leankernel, jádro Matr1x pro Nexus 4 a SiyahKernel.
  • ŘADA (PŘEČTĚTE SI NAPIŠTE)- plánovač speciálně navržený pro mobilní zařízení a přidaný do jádra před několika měsíci. Primární výzva: nejprve zpracovat požadavky na čtení, ale také spravedlivé načasování požadavků na zápis. V současné době považován za nejlepší plánovač NAND, je ve výchozím nastavení používán v Leankernel a Matr1x.

Stojí za to říci, že téměř veškerý standardní firmware a polovina vlastních stále používá jádro se standardním plánovačem Linux CFQ, což však není tak špatné, protože ví, jak správně pracovat s jednotkami SSD. Na druhou stranu je příliš složitý, vytváří větší zátěž procesoru (potažmo baterie) a nebere v úvahu specifika mobilního OS. Další populární volbou je Deadline Scheduler, který je stejně dobrý jako SIO, ale nadbytečný. Seznam dostupných plánovačů můžete zobrazit pomocí následujícího příkazu:

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

Chcete -li to změnit, použijte následující (kde řádek je název plánovače):

# for i in / sys / block / * / queue / scheduler; udělat echo řádek> $ 1; Hotovo

Někteří stavitelé jádra také používají jiný druh optimalizace I / O. Tím se deaktivuje systémové volání fsync, které slouží k vynucení vyprázdnění změněného obsahu otevřených souborů na disk. Předpokládá se, že bez fsync bude systém přistupovat k disku méně často, a tím ušetří čas CPU a energii baterie. Poměrně kontroverzní tvrzení: fsync se v aplikacích nepoužívá příliš často a slouží pouze k ukládání opravdu důležitých informací, ale jeho deaktivace může vést ke ztrátě těchto informací v případě havárie operačního systému nebo jiných problémů. Možnost vypnout fsync je k dispozici v jádrech franco.Kernel a GLaDOS a pro ovládání se používá soubor / sys / module / sync / parameters / fsync_enabled, do kterého byste měli zapsat 0, abyste zakázali, nebo 1, abyste povolili. Tato funkce se opět nedoporučuje.

Přidání nových funkcí do jádra

Kromě optimalizací, vychytávek a různých pokročilých systémů pro správu hardwaru můžete ve vlastních jádrech samozřejmě najít také zcela novou funkcionalitu, která není ve standardních jádrech, ale která může být pro uživatele užitečná.

Jde především o různé ovladače a souborové systémy. Některá jádra například obsahují podporu modulu CIFS pro připojení kuliček systému Windows. Takový modul je v jádře Matr1x pro Nexus S, faux123 pro Nexus 7, SiyahKernel a GLaDOS. Samo o sobě je to k ničemu, ale na trhu je několik aplikací, které vám umožňují využívat jeho schopnosti.

Další užitečností je zahrnutí ovladače ntfs-3g do jádra (přesněji v balíčku s jádrem samotný ovladač funguje jako Linuxová aplikace), který je nezbytný pro připojení flash disků formátovaných v systému souborů NTFS. Tento ovladač je k dispozici v jádrech faux123 a SiyahKernel. Obvykle se aktivuje automaticky, ale pokud se tak nestane, můžete použít aplikaci StickMount z trhu.

Mnoho jader také obsahuje podporu pro takzvanou technologii zram, která vám umožňuje rezervovat malé množství paměti RAM (obvykle 10%) a použít ji jako komprimovanou odkládací oblast. V důsledku toho dochází k určitému rozšíření množství paměti bez vážných důsledků pro výkon. K dispozici v Leankernel, povoleno pomocí příkazu Trickster MOD nebo zram enable.

Poslední dvě zajímavé funkce jsou Rychlé nabíjení USB a Sweep2wake. První není nic jiného než nucené zahrnutí režimu „rychlého nabíjení“, i když je smartphone připojen k portu USB počítače. Režim rychlého nabíjení je k dispozici ve všech více či méně nových smartphonech, ale z důvodu technických omezení jej nelze povolit současně s přístupem na paměťovou kartu. Funkce rychlého nabíjení USB vám umožňuje vždy povolit tento režim a zároveň zakázat přístup k disku.

Sweep2wake je nový způsob probuzení zařízení, vynalezený autorem Breaked-kernel. Jeho význam je zapnout smartphone přejetím prstu po navigačních klávesách umístěných pod obrazovkou nebo na obrazovce samotné. Je to opravdu šikovná funkce, ale v důsledku jeho aktivace zůstane senzor aktivní i když zařízení spí, což může baterii výrazně vybít.

Přetaktování, úspora napětí a energie

Přetaktování je oblíbené nejen mezi majiteli stacionárních počítačů a notebooků, ale také mezi nadšenci mobilních technologií. Stejně jako kameny architektury x86 jsou procesory a grafická jádra mobilní technologie skvělá při pronásledování. Samotná metoda přetaktování a kroky přijaté k její implementaci jsou zde však poněkud odlišné. Faktem je, že standardní ovladače pro SoC, které jsou zodpovědné za úsporu energie a změnu frekvence procesoru, jsou obvykle uzamčeny na standardních frekvencích, takže pro jemné doladění musíte nainstalovat buď alternativní ovladač, nebo vlastní jádro.

Téměř všechna více či méně kvalitní a oblíbená vlastní jádra již obsahují odemčené ovladače, takže po jejich instalaci se možnosti ovládání „výkonu“ procesoru výrazně rozšiřují. Vlastní stavitelé jádra obvykle dělají dvě věci, které ovlivňují výběr frekvence. Jedná se o rozšíření frekvenčního rozsahu nad původně stanovenou hodnotu - můžete nastavit vyšší i velmi nízkou frekvenci procesoru, což vám umožní ušetřit baterii a zvýšit například gradaci frekvence místo tří možných frekvencí, je nabízen výběr ze šesti. Druhým je přidání možnosti upravit napětí procesoru, takže můžete snížit napětí procesoru na nízkých frekvencích, abyste šetřili energii baterie, a zvyšovat na vysokých frekvencích, abyste zvýšili stabilitu.

To vše lze ovládat pomocí známého placeného nástroje SetCPU nebo bezplatného Trickster MOD. Doporučení pro správu jsou stejná jako pro stolní systémy. Je lepší nastavit nižší frekvenci procesoru na minimum, ale ne nižší než 200 MHz (aby nedocházelo ke zpožděním), horní práh se postupně zvyšuje s testováním stability provozu, když klesá, doporučuje se mírně zvýšit napětí pro tuto frekvenci. Neexistují žádná doporučení týkající se napětí, protože každý procesor je jedinečný a hodnoty budou pro každého jiné.

Kromě změny frekvencí montéři často přidávají do jádra nové řídicí algoritmy pro úsporu energie (automatické řízení frekvence procesoru), které podle jejich názoru mohou ve srovnání se standardními vykazovat lepší výsledky. Téměř všechny jsou založeny na interaktivním algoritmu používaném standardně v nových verzích systému Android, jehož podstatou je prudké zvýšení frekvence procesoru na maximum v případě zvýšení zátěže a následné postupné snižování na minimum . Nahrazuje dříve používaný algoritmus OnDemand, který plynule upravuje frekvenci v obou směrech úměrně k zátěži a činí systém citlivější. Sběratelé alternativních jader nabízejí k nahrazení Interactive následující algoritmy:

  • SmartAssV2- přehodnocení interaktivního algoritmu se zaměřením na úsporu baterie. Hlavním rozdílem je netrhnout procesor na vysoké frekvence v případě krátkých dávek zátěže, k čemuž postačí nízký výkon procesoru. Výchozí nastavení je použito v jádře Matr1x.
  • InteractiveX- vyladěný interaktivní algoritmus, jehož hlavním rysem je zámek procesoru na minimální frekvenci specifikované uživatelem a vypnutí druhého jádra procesoru při vypnutí obrazovky. Výchozí nastavení je použito v Leankernel.
  • LulzactiveV2 je v podstatě znovu vynalezený OnDemand. Když zatížení procesoru překročí stanovený (standardně 60%), algoritmus zvýší frekvenci o určitý počet dělení (standardně 1), když se zatížení sníží, sníží se. Zvláště zajímavé je, že vám umožňuje nezávisle nastavit parametry práce, a proto je vhodný pro hard-core geeky.

Sběratelé jader obecně velmi rádi přicházejí s novými algoritmy pro úsporu energie kvůli jednoduchosti jejich implementace, takže jich můžete najít tucet. Většina z nich je úplná škvára a při výběru plánovače byste se měli řídit pravidlem: buď jedním ze tří výše popsaných, nebo standardním Interactive, který je mimochodem velmi dobrý. Můžete si vybrat pomocí stejného Trickster MOD.

Rozhraní pro správu

Většina oblíbených vlastních jader obsahuje několik mechanismů pro jemné doladění různých parametrů ovladače, z nichž nejběžnější jsou ColorControl, GammaControl, SoundControl a TempControl.

První dvě rozhraní jsou k dispozici téměř všude, včetně jader CyanogenMod, druhá dvě jsou k dispozici v Leankernel a možná i v dalších. Tak či onak, všechny lze ovládat pomocí Trickster MOD.

Jádra

Jaké jádro byste si měli vybrat? Na tuto otázku neexistuje jediná odpověď, a ne proto, že „každému jeho“, ale proto, že na světě existuje obrovské množství zařízení Android a téměř tolik různých jader. Existuje však několik populárních jader, která jsou vyvíjena pro více zařízení najednou. Tak či onak, mnoho z nich jsem zmínil v průběhu příběhu, zde je stručně popíši.

  • Leankernel je jádro pro Galaxy Nexus, Nexus 7 a Galaxy S III. Hlavní důraz je kladen na jednoduchost a rychlost práce. Algoritmus úspory energie: InteractiveX V2, I / O: ROW plánovač, všechna výše uvedená ovládací rozhraní, podpora rychlého nabíjení USB, Swap a zram, flexibilní možnosti přetaktování CPU a GPU. Jedno z nejlepších jader. Konfigurovatelné pomocí Trickster MOD.
  • Matr1x (http://goo.gl/FQLBI, goo.gl/ZcyvA) - Jádro pro Nexus S a Nexus 4. Jednoduché a nepřetížené jádro. Podporuje přetaktování CPU a GPU, GammaControl, Fast USB Charge, Sweep2wake, I / O plánovače: SIO, ROW a FIOPS. Vylepšení výkonu. Konfigurovatelné pomocí Trickster MOD.
  • Bricked-Kernel (http://goo.gl/kd5F4, goo.gl/eZkAV)-jednoduché a nepřetížené jádro pro Nexus 4 a HTC One X. Optimalizace pro Snapdragon S4 a NVIDIA Tegra 3, přepracovaný úsporný režim pro Tegra 3, schopnost přetaktování, algoritmus pro úsporu energie: vyladěný systémem OnDemand (k dispozici je také interaktivní).
  • SiyahKernel je jádrem pro Galaxy S II a S III. Flexibilní možnosti přetaktování, automatická kalibrace baterie, vylepšený ovladač dotykové obrazovky, algoritmy pro úsporu energie: smartassV2 a lulzactiveV2, plánovače I / O: noop, deadline, CFQ, BFQV3r2 (výchozí), V (R), SIO. Ovladače CIFS a NTFS (automatické připojení). Konfigurovatelné pomocí ExTweaks.
  • franco.Kernel je jádro pro Nexus S, Galaxy Nexus, Nexus 4, Nexus 7, Nexus 10, Galaxy S III, Galaxy Note, Optimus One a One X.

Možnosti jádra se u jednotlivých zařízení velmi liší, takže se budete muset podívat na podrobnosti na místě. Flashováním tohoto jádra však získáte přetaktování, ladění ovladačů, vynikající výkon a také podporu různých algoritmů a plánovačů pro úsporu energie. Ve skutečnosti jádro obsahuje téměř všechny vylepšení popsané v článku. Považováno za jedno z nejlepších dostupných jader. Existuje aplikace pro automatické aktualizace franko.Kernel Updater. Lze jej konfigurovat pomocí Trickster MOD.

Jak nainstalovat?

Všechna jádra jsou distribuována ve standardních archivech Android ZIP, které by měly být přeneseny prostřednictvím konzoly pro obnovení stejným způsobem jako alternativní firmware. Jádra jsou zpravidla kompatibilní s jakýmkoli firmwarem, takže po výběru potřebného jádra jej můžete bezpečně nainstalovat. Jediné, na co si dát pozor, je verze Androidu, se kterou je jádro kompatibilní. Může se hodit buď pro všechny verze systému Android dostupné pro dané zařízení, nebo pracovat pouze s jednou (vývojář to obvykle výslovně říká). Před blikáním si vytvořte zálohu aktuálního firmwaru pomocí stejné konzoly pro obnovení. Pokud se něco pokazí, můžete se kdykoli vrátit.

závěry

Jak vidíte, vlastní jádra mají mnoho výhod oproti jádrům používaným ve standardním firmwaru nebo firmwaru třetích stran. A co je důležitější, nepotřebujete znát všechny složitosti Androidu, abyste je mohli používat, stačí si stáhnout a nainstalovat archiv ZIP.

Nedávno byly poměrně často vydávány nové verze jader. Stabilní vydání vychází každých několik měsíců. A kandidáti na nestabilní vydání vyjdou ještě častěji. Linus Torvalds a mnoho vývojářů po celém světě neustále pracují na vylepšení nových jader a přidávání dalších a dalších funkcí.

S každým novým vydáním přidává jádro Linux podporu několika nových zařízení, jako jsou nové procesory, grafické karty nebo dokonce dotykové obrazovky. V poslední době se podpora nového hardwaru dramaticky zlepšila. V jádře jsou také zahrnuty nové systémy souborů, vylepšen síťový zásobník, opraveny chyby a chyby.

Pokud potřebujete podrobnější informace o změnách v konkrétní verzi jádra, podívejte se do jeho seznamu změn na adrese kernel.org a v tomto článku se podíváme na aktualizaci jádra Linuxu na nejnovější verzi. Pokusím se nevázat vazbu na konkrétní verzi jádra, nová jádra se vydávají poměrně často a bude to relevantní pro každé z nich.

Zvažte aktualizaci jader Ubuntu a CentOS. Nejprve se podívejme na to, jak upgradovat jádro na Ubuntu 16.04.

Nejprve se podívejme, které jádro jste nainstalovali. Chcete -li to provést, otevřete terminál a spusťte:

Například mám aktuálně verzi 4.3 a mohu upgradovat na nejnovější verzi. Vývojáři Ubuntu již zajistili, aby jejich uživatelé nevytvářeli jádro ručně a nevytvářeli balíčky deb nové verze jádra. Lze je stáhnout z oficiálních webových stránek Canonical.

Zde bych mohl uvést příkazy wget ke stažení, pokud by byla známá verze jádra, ale v našem případě by bylo lepší použít prohlížeč. Přejděte na http://kernel.ubuntu.com/~kernel-ppa/mainline/. Zde se nacházejí všechna jádra sestavená týmem Ubuntu. Jádra jsou vytvořena pro konkrétní distribuce s distribučním kódovým jménem i pro obecné. Kromě toho jádra z Ubuntu 16.10 budou s největší pravděpodobností fungovat v 16.04, ale od 9.04 v Ubuntu 16.04 byste neměli instalovat jádro.

Přejděte dolů, kde jsou novější verze jader:

Kromě toho je úplně nahoře složka denně / aktuální, která obsahuje nejnovější, noční sestavení jader. Vyberte správnou verzi jádra a stáhněte dva soubory linux-headers a linux-image pro vaši architekturu:

Po dokončení stahování můžete pokračovat v instalaci. Chcete -li to provést, proveďte v terminálu následující:

Přejděte do složky s instalačními balíčky, například ~ / Downloads:

Spusťte instalaci:

Pokud tento příkaz nefungoval, můžete jít jinou cestou. Nainstalujte nástroj gdebi:

sudo apt-get install gdebi

Poté použijte k instalaci jádra:

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

Jádro je nainstalováno, zbývá aktualizovat zavaděč:

sudo update-grub

Nyní můžete restartovat počítač a zjistit, co se stane. Po restartu se ujistěte, že aktualizace jádra Linuxu na nejnovější verzi byla úspěšná:

Jak vidíte, jádro bylo úspěšně nainstalováno a funguje. S odstraněním staré verze jádra ale nespěchejte, doporučuje se mít v systému několik verzí jádra, abyste v případě problémů mohli zavést systém ze staré pracovní verze.

Automatická aktualizace jádra Linuxu v Ubuntu

Výše jsme se zabývali tím, jak ručně nainstalovat požadovanou verzi jádra. Ubuntu mívalo PPA pro každodenní vytváření jádra, ale nyní je uzavřeno. Proto můžete jádro aktualizovat pouze stažením balíčku deb a jeho instalací. To vše lze ale zjednodušit speciálním skriptem.

Nainstalujte skript:

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

Kontrola aktualizací:

KernelUpdateChecker -r yakkety

Volba -r vám umožňuje určit větev distribuce, pro kterou chcete jádra hledat. Pro xenial se jádra již nevytvářejí, ale jádra z další verze zde budou fungovat dobře. Volba -no -rc navíc může nástroji sdělit, aby nepoužíval kandidáty na vydání, a volba -v určuje přesnou verzi jádra, které se má nainstalovat. Pokud vás nezajímá, pro kterou distribuci je jádro, pokud je nejnovější, použijte možnost --any-release. Skript vytvoří následující výsledek:

Před instalací jádra si můžete zobrazit podrobnosti otevřením souboru / tmp / kernel-update:

Zde vidíme, že bylo provedeno vyhledávání pro yakkety a aktuálně je k dispozici verze 4.7-rc6 jádra. Můžeme nainstalovat:

sudo / tmp / aktualizace jádra

Skript nám ukáže verzi aktuálního jádra a také verzi jádra, které bude nainstalováno, datum jeho sestavení a další podrobnosti. Rovněž budete dotázáni, zda potřebujete uchovávat protokol změn. Další bude instalace:

Stará jádra, pro případ, že je nesmažete (n):

Hotovo, aktualizace jádra na nejnovější verzi je dokončena, nyní restartujte počítač (y):

Zkontrolujte, zda aktualizace jádra Ubuntu skutečně fungovala:

Kromě toho byl skript přidán ke spuštění a nyní bude automaticky kontrolovat aktualizace 60 sekund po přihlášení. Zástupce automatického načítání je v souboru:

vi ~ / .config / autostart / KernelUpdate.desktop

Můžete jej podle potřeby změnit nebo smazat. Chcete -li skript úplně odebrat ze systému, spusťte:

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

Nestahuje se

Pokud se během instalace vyskytnou nějaké chyby nebo jádro nebylo aktualizováno správně a systém se nyní nespustí s novým jádrem, můžete použít staré jádro. Systém se také nemusí spustit, pokud používáte proprietární ovladač pro grafickou kartu NVIDIA, v tomto případě nespěchejte na stažení nejnovější verze jádra, používejte pouze stabilní jádra, podpora pro tento modul již byla zpravidla přidána jim.

A pro obnovení systému vyberte položku Pokročilé možnosti pro Ubuntu v nabídce Grub:

A spusťte předchozí spuštěné jádro:

Po spuštění zbývá odebrat nesprávně nainstalované jádro a znovu aktualizovat Grub, nahradit požadovanou verzi jádra místo 4.7:

sudo apt remove linux-header-4.7 * linux-image-4.7 *

sudo update-grub

Váš systém se nyní vrátil do předchozího stavu. Můžete zkusit nainstalovat starší verzi jádra nebo to zkusit znovu.

Upgrade jádra Linuxu na 4.4 na CentOS

Nyní se podívejme na to, jak aktualizovat nejnovější linuxové jádro na CentOS. Pokyny byly testovány na CentOS 7, ale pravděpodobně budou fungovat na RedHat 7, Fedora a dalších podobných distribucích.

Nová jádra zpravidla nejsou zahrnuta v oficiálních úložištích CentOS, takže abychom získali nejnovější stabilní verzi, budeme muset přidat úložiště ELRepo. Toto je úložiště Enterprise Linux Packages a podporují ho také RedHat a Fedora.

Chcete -li přidat úložiště, postupujte takto:

Nejprve musíte importovat klíč:

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

Přidejte úložiště 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 nainstalovat yum-plugin-nejrychlejší zrcadlo

Fedora 22 a novější: