Flashování jádra zařízení Android. Flashování jádra zařízení Android Kernel verze 3.10 72 android

O vlastním firmwaru, kořenových aplikacích a alternativních spouštěcích nabídkách jsme psali více než jednou. To vše jsou standardní témata v komunitě hackerů pro Android, nicméně kromě všeho výše uvedeného existuje také něco jako „custom kernel“, které může poskytnout téměř neomezené možnosti pro správu smartphonu a jeho hardwaru na nejnižší stupeň. V tomto článku vám řeknu, co to je, proč je to potřeba a jak vybrat to správné vlastní jádro.

Vlastní jádro?

Co je to vlastní jádro? Jak všichni víme, Android je koláč sestávající ze tří základních vrstev: linuxového jádra, sady nízkoúrovňových knihoven a služeb a virtuálního stroje Dalvik, nad nímž běží grafický shell, nástroje a služby na vysoké úrovni. , stejně jako téměř všechny aplikace nainstalované z trhu. Tvůrci většiny alternativního vlastního firmwaru obvykle pracují pouze s horními dvěma vrstvami, přidávají funkce do grafického prostředí (například tlačítka v závěsu), mění jej (engine theme v CyanogenMod), stejně jako 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é provádějí změny linuxového jádra, kdykoli je to možné: optimalizují (vytvářejí s agresivnějšími příznaky optimalizace kompilátoru), zahrnují nové funkce (například podporu pro Windows ball) a také provádějí další změny, jako je schopnost zvýšit frekvenci procesoru nad hodnotu poskytovanou výrobcem . To vše často zůstává v zákulisí a mnoho uživatelů vlastního firmwaru si tyto možnosti ani neuvědomuje, zejména proto, že stejný CyanogenMod přichází s vlastním jádrem pouze pro omezený rozsah zařízení, pro které jsou oba zdrojové kódy nativního jádra a možnost jej nahradit. Například téměř veškerý firmware CyanogenMod pro smartphony Motorola používá standardní jádro – nahradit ho vlastním je nemožné kvůli neproniknutelné ochraně bootloaderu.

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

V tomto článku si povíme, co nám tvůrci custom kernelů mohou nabídnout, zvážíme hlavní custom kernely pro různá zařízení a také si zkusíme nainstalovat kernel nezávisle na hlavním firmwaru a vše si ověřit na vlastní kůži. Co tedy vývojáři alternativních jader obvykle nabízejí?

Inteligentní regulátor provozu

SoC OMAP35XX, používané například v Galaxy S II a Galaxy Nexus, disponují funkcí SmartReflex, která funguje jako chytrý systém úpravy napětí při změně zátěže procesoru. V podstatě eliminuje potřebu jemného dolaďování napětí uživatelem.

Optimalizace

Hlavním cílem vytváření vlastního jádra je často optimalizace výkonu. Prodejce mobilních zařízení se obvykle snaží udržet 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ý start. Samozřejmě, že nadšence takové maličkosti neobtěžují a mnozí z nich jsou připraveni aplikovat 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 výchozího I/O plánovače. Situace v této oblasti je ještě zajímavější, protože někteří tvůrci jádra místo pochopení principů fungování plánovačů prostě čtou dokumenty na internetu o I/O plánovačích pro Linux a vyvozují závěry. Mezi uživateli je tento přístup ještě rozšířenější. Ve skutečnosti jsou téměř všechny nejvýkonnější a nejinteligentnější linuxové plánovače pro Android zcela nevhodné: jsou urč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 agregace požadavků v závislosti na fyzickém umístění dat, takže požadavky na data, která jsou blízko aktuální pozici hlavy, dostanou vyšší prioritu. To je zcela nelogické v případě polovodičové paměti, která zaručuje stejnou rychlost přístupu ke všem buňkám. Pokročilé plánovače nadělají na smartphonu více škody než užitku a ty nejnešikovnější a nejprimitivnější ukážou nejlepší výsledky. Linux má tři podobné plánovače:

  • Noop (žádná operace)- tzv. neplánovač. Jednoduchá fronta požadavků FIFO, první požadavek bude zpracován jako první, druhý druhý a tak dále. Dobře se hodí pro SSD paměti a umožňuje spravedlivě rozdělit priority aplikací pro přístup k disku. Další plus: nízké zatížení procesoru díky velmi jednoduchému principu ovládání. Nevýhoda: žádné zohlednění specifik provozu zařízení, což může vést k výpadkům výkonu.
  • SIO (jednoduché I/O)- analog plánovače uzávěrky bez zohlednění vzájemné blízkosti sektorů, to znamená, že je navržen speciálně pro polovodičovou paměť. Dvě hlavní vlastnosti: priorita operací čtení před operacemi zápisu a seskupování operací podle procesu, přidělující každému procesu časový úsek k provádění operací. V chytrých telefonech, kde je důležitá rychlost aktuální aplikace a převaha operací čtení nad operacemi zápisu, vykazuje velmi dobrý výkon. K dispozici v jádře Leankernel, Matr1x pro Nexus 4 a SiyahKernel.
  • ŘÁDEK (ČTĚTE PŘED ZÁPIS)- plánovač speciálně navržený pro mobilní zařízení a přidaný do jádra před několika měsíci. Hlavním cílem je nejprve zpracovat požadavky na čtení, ale také rozdělit spravedlivý čas na požadavky na zápis. V současné době je považován za nejlepší plánovač pro paměti NAND, standardně se používá v Leankernel a Matr1x.

Za zmínku stojí, že téměř všechny standardní firmwary 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 může správně fungovat s SSD. Na druhou stranu je příliš komplikovaný, vytváří větší zátěž na procesor (potažmo baterii) a nezohledňuje specifika mobilního OS. Další oblíbenou volbou je plánovač Deadline, který je stejně dobrý jako SIO, ale je nadbytečný. Seznam dostupných plánovačů můžete zobrazit pomocí následujícího příkazu:

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

Ke změně se používá následující (kde řádek je název plánovače):

# for i v /sys/block/*/queue/scheduler; do echo row > $1; Hotovo

Někteří tvůrci jádra také používají jiný typ optimalizace související s I/O. Tím se zakáže systémové volání fsync, které se používá k vynucení vyprázdnění změněného obsahu otevřených souborů na disk. Existuje názor, že bez fsync bude systém přistupovat k jednotce méně často a šetří tak čas procesoru a energii baterie. Poněkud kontroverzní tvrzení: fsync se v aplikacích nepoužívá příliš často a pouze pro uložení opravdu důležitých informací, ale jeho vypnutí může vést ke ztrátě stejných informací v případě pádu operačního systému nebo jiných problémů. Možnost zakázat fsync je dostupná v jádrech franco.Kernel a GLaDOS a řídí se souborem /sys/module/sync/parameters/fsync_enabled, do kterého byste měli napsat 0 pro zakázání nebo 1 pro povolení. Opět se nedoporučuje používat tuto funkci.

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

Samozřejmě kromě optimalizací, vychytávek a různých pokročilých systémů správy hardwaru lze v jádrech na míru najít i zcela novou funkcionalitu, která ve standardních jádrech není, ale která se uživatelům může hodit.

Jedná se především o různé ovladače a souborové systémy. Některá jádra například obsahují podporu pro modul CIFS, který umožňuje připojit sdílené složky Windows. Takový modul je v jádře Matr1x pro Nexus S, faux123 pro Nexus 7, SiyahKernel a GLaDOS. Sám o sobě je k ničemu, ale na trhu je několik aplikací, které umožňují využít jeho schopnosti.

Další užitečnou funkcí je začlenění ovladače ntfs-3g do jádra (přesněji do balení s jádrem; samotný ovladač funguje jako linuxová aplikace), který je nezbytný pro připojení flash disků naformátovaných v souborovém systému NTFS. Tento ovladač se nachází v jádrech faux123 a SiyahKernel. Obvykle se aktivuje automaticky, ale pokud se tak nestane, můžete použít aplikaci StickMount z marketu.

Mnoho jader také obsahuje podporu pro takzvanou technologii zram, která umožňuje vyhradit si malé množství paměti RAM (obvykle 10 %) a použít ji jako komprimovanou swapovací oblast. Výsledkem je jakési rozšíření množství paměti, bez vážnějších následků na výkon. K dispozici v Leankernel, povoleno pomocí příkazu Trickster MOD nebo zram enable.

Poslední dvě zajímavé funkce jsou Fast USB charge a Sweep2wake. První není nic jiného než nucená aktivace 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 dostupný ve všech víceméně nových chytrých telefonech, ale kvůli technickým omezením jej nelze aktivovat současně s přístupem na paměťovou kartu. Funkce rychlého nabíjení USB umožňuje vždy povolit tento režim a zároveň zakázat přístup k disku.

Sweep2wake je nový způsob, jak probudit zařízení, vynalezený autorem Breaked-kernel. Jeho smyslem je zapnout smartphone přejížděním prstu po navigačních tlačítkách umístěných pod obrazovkou, případně po samotné obrazovce. To je opravdu pohodlná funkce, ale její zapnutí způsobí, že senzor zůstane aktivní, i když zařízení spí, což může výrazně vybíjet baterii.

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

Přetaktování je oblíbené nejen mezi majiteli stolních počítačů a notebooků, ale také mezi nadšenci do mobilních technologií. Stejně jako kameny architektury x86 jsou procesory a grafická jádra mobilních zařízení vynikající. Samotný způsob přetaktování a kroky k jeho implementaci se však poněkud liší. 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á custom jádra již obsahují odemčené ovladače, takže po jejich instalaci se výrazně rozšiřuje možnost ovládat „výkon“ procesoru. Vlastní tvůrci jádra obvykle dělají dvě věci, které ovlivňují volbu frekvence. Jedná se o rozšíření frekvenčního rozsahu nad původně zadané - můžete nastavit buď vyšší frekvenci procesoru, nebo velmi nízkou, což umožňuje šetřit baterii a zvýšit gradaci frekvencí například místo tří možných frekvencí , je jich na výběr šest. Druhým je přidání možnosti upravit napětí procesoru, takže můžete snížit napětí procesoru při nízkých frekvencích, abyste šetřili nabití baterie, a zvýšit ho při vysokých frekvencích pro zvýšení stability.

To vše lze ovládat pomocí známé placené utility SetCPU nebo bezplatného Trickster MODu. Doporučení pro správu jsou stejná jako u stolních systémů. Spodní frekvenci procesoru je lepší nastavit na minimum, ale ne nižší než 200 MHz (aby nedocházelo k prodlevám), horní práh se zvyšuje postupně při testování stability provozu, pokud klesne, doporučuje se mírně zvýšit napětí pro tuto frekvenci. Neexistují žádná doporučení pro napětí, protože každý procesor je jedinečný a hodnoty se budou pro každého lišit.

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

  • SmartAssV2- přehodnocení interaktivního algoritmu se zaměřením na úsporu baterie. Hlavním rozdílem je netahat procesor do vysokých frekvencí při krátkodobém nárazovém zatížení, na které stačí nízký výkon procesoru. Výchozí hodnota se používá v jádře Matr1x.
  • InteractiveX- vyladěný interaktivní algoritmus, jehož hlavním rysem je uzamknout procesor na minimální frekvenci zadané uživatelem a odpojit druhé jádro procesoru, když je obrazovka vypnutá. Výchozí se používá v Leankernelu.
  • LulzactiveV2- v podstatě znovuobjevený OnDemand. Když zatížení procesoru překročí zadanou hodnotu (ve výchozím nastavení 60 %), algoritmus zvýší frekvenci o určitý počet dílků (ve výchozím nastavení 1) a sníží ji, když se zatížení sníží. Zaujme zejména tím, že umožňuje nezávislé nastavení provozních parametrů, a proto je vhodný pro otrlé geeky.

Obecně platí, že tvůrci jádra opravdu rádi vymýšlejí nové algoritmy pro úsporu energie kvůli snadné implementaci, takže můžete najít tucet dalších. Většina z nich je úplný odpad a při výběru plánovače byste se měli řídit pravidlem: buď jeden ze tří výše popsaných, nebo standardní Interactive, který je mimochodem velmi dobrý. Můžete si vybrat pomocí stejného Trickster MODu.

Ovládací rozhraní

Nejoblíbenější vlastní jádra obsahují několik mechanismů pro jemné ovládání různých parametrů ovladače, z nichž nejběžnější jsou ColorControl, GammaControl, SoundControl a TempControl.

První dvě rozhraní jsou dostupná téměř všude, včetně jader CyanogenMod, druhá dvě jsou dostupná 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 jednoznačná odpověď, a ne proto, že „každému po svém“, 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 několik zařízení najednou. Tak či onak, mnoho z nich jsem v průběhu příběhu zmínil a zde je krátce popíšu.

  • Leankernel je jádrem pro Galaxy Nexus, Nexus 7 a Galaxy S III. Hlavní důraz při vývoji je na jednoduchost a rychlost. Algoritmus úspory energie: InteractiveX V2, I/O plánovač: ROW, všechna výše uvedená ovládací rozhraní, podpora rychlého nabíjení USB, Swap a zram, flexibilní možnosti přetaktování pro CPU a GPU. Jedno z nejlepších jader. Přizpůsobitelné 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. Podpora přetaktování CPU a GPU, GammaControl, Fast USB Charge, Sweep2wake, I/O plánovače: SIO, ROW a FIOPS. Vylepšení výkonu. Přizpůsobitelné 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ý režim úspory energie pro Tegra 3 , schopnost přetaktování, algoritmus úspory energie: vyladěný OnDemand (k dispozici také Interactive).
  • SiyahKernel - jádro 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, I/O plánovače: noop, deadline, CFQ, BFQV3r2 (výchozí), V(R), SIO. Ovladače CIFS a NTFS (s automatickým připojením). Konfigurovatelné pomocí ExTweaks.
  • franco.Kernel - 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 mezi zařízeními značně liší, takže podrobnosti budete muset zkontrolovat na místě. Flashnutím tohoto jádra však získáte možnost 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 úpravy popsané v článku. Považováno za jedno z nejlepších dostupných jader. Existuje aplikace pro automatickou aktualizaci franko.Kernel Updater. Můžete jej nakonfigurovat pomocí Trickster MOD.

Jak nainstalovat?

Všechna jádra jsou distribuována ve standardních Android ZIP archivech, které by měly být flashovány přes konzolu pro obnovu stejným způsobem jako alternativní firmware. Obvykle jsou jádra kompatibilní s jakýmkoli firmwarem, takže jakmile vyberete správné jádro, můžete jej bezpečně nainstalovat. Jediné, na co byste si měli dát pozor, je verze Androidu, se kterou je jádro kompatibilní. Buď může být vhodný pro všechny verze Androidu dostupné pro zařízení, nebo fungovat pouze s jednou (vývojář o tom obvykle výslovně mluví). Před flashováním firmwaru se ujistěte, že jste provedli zálohu aktuálního firmwaru pomocí stejné konzoly pro obnovení. Pokud se něco pokazí, vždy se můžete vrátit zpět.

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 ještě důležitější je, že k jejich používání nepotřebujete znát všechny složitosti Androidu, stačí si stáhnout a nainstalovat archiv ZIP.

Mnoho majitelů zařízení s Androidem na různých fórech a webech často naráží na zmínku o něčem nepochopitelném, čemu se říká kernel nebo anglicky kernel. Lze jej změnit a je uveden v nabídce nastavení zařízení v části „O tabletu (telefonu)“.

Když zapátráte hlouběji, zjistíte, že jádro je součástí operačního systému a má ho nejen Android, ale i další operační systémy: Windows, iOS, MacOS a další. Nás ale bude zajímat jádro Androidu a pokusím se vysvětlit, co to je na úrovni začínajících uživatelů.

Pravděpodobně víte, že jakýkoli operační systém včetně Androidu je vesměs souborem programů, které řídí provoz celého zařízení a jsou zodpovědné za spouštění uživatelských aplikací, jako jsou hry, správci souborů, webové prohlížeče a další.

A jádro Androidu je prakticky nejdůležitější částí operačního systému, která je zodpovědná za interakci mezi veškerou hardwarovou a softwarovou částí systému. Jádro se skládá ze sady ovladačů pro všechna zařízení v zařízení a subsystému pro správu paměti, sítě, zabezpečení a dalších základních funkcí operačního systému.
Když se například dotknete obrazovky za účelem spuštění aplikace, ovladač touchpadu na obrazovce určí místo, kde došlo k dotyku, a nahlásí souřadnice dalším programům, které opět pomocí jádra najdou požadovanou aplikaci v paměti zařízení a spustí to. Jedná se samozřejmě o velmi zjednodušený model, který však odráží podstatu operačního systému.

Zjistili jsme tedy, že když jakýkoli software potřebuje k něčemu hardware tabletu nebo telefonu, obrátí se k tomu jádro operačního systému.

Jádro ovládá naprosto všechna zařízení: Wi-Fi, Bluetooth, GPS, paměť a další zařízení. Výjimkou není ani „srdce“ zařízení – jeho procesor. Jádro může řídit svou frekvenci a napájení.
Jádro operačního systému Android si jeho vývojáři, společnost Google, vypůjčili od operačního systému Linux.

Vzhledem k tomu, že jádro ovládá veškerý hardware a hardware všech tabletů a telefonů je odlišný, je základní jádro Androidu upraveno výrobcem pro každé zařízení zvlášť.

Stejně jako firmware mohou být jádra skladová (tovární) a vlastní - alternativní, vytvořená nezávislými vývojáři.

Proč potřebujeme vlastní jádra? Burzovní jádro je výrobcem maximálně optimalizováno pro konkrétní zařízení, ale obvykle blokuje tak důležité funkce jádra, jako je například řízení frekvence procesoru. A pokud potřebujete přetaktovat procesor svého tabletu, budete muset změnit jádro na vlastní, ve kterém je funkce řízení frekvence procesoru odblokována.

Kromě toho jsou vlastní jádra obvykle založena na novějších verzích jader Linuxu. Zde je přibližný seznam funkcí, které nám vlastní jádra poskytují:

  • Změňte frekvenci procesoru v širokém rozsahu;
  • Přetaktování grafického subsystému (GPU);
  • Snížení frekvence a napětí procesoru, což umožňuje delší životnost baterie;
  • Novější a kvalitnější ovladače, například zrychlení GPS nebo přidání nových funkcí;
  • Široká škála možností pro přizpůsobení a konfiguraci zvuku a barev obrazovky;
  • Podpora alternativních souborových systémů (XFS, ReiserFS a další).

Vzhledem k tomu, že alternativní jádra jsou vytvářena nezávislými vývojáři, není zaručeno, že váš tablet nebo telefon bude po instalaci vlastního jádra fungovat bez problémů. Před flashováním nového jádra je proto vhodné provést úplnou zálohu systému.

V neděli večer bylo oficiálně vydáno nové linuxové jádro 3.10. Podle Linuse Torvaldse se jádro ukázalo jako největší z hlediska inovací za posledních několik let. Linus původně zamýšlel vydat dalšího kandidáta na vydání, ale přikláněl se k vydání finálního vydání 3.10 – a ve své zprávě poznamenává, že nové jádro, stejně jako Linux 3.9, není náchylné k problémům s výkonem a je připraveno pro každodenní použití.

V oznámení RC verze Torvalds napsal, že obvykle obsahuje seznam jmen lidí, kteří poslali určité části kódu, ale tentokrát byl seznam tak velký, že nemohl být uveden celý na jednom mailing listu.

Částečný seznam změn provedených v jádře 3.10:

  • Můžete zabránit spouštění skriptů jako programů - funkcionalitu spouštění skriptů obsahujících cestu k interpretu v hlavičce "#!" lze nyní zkompilovat jako modul jádra;
  • Systém Bcache vyvinutý a používaný společností Google je integrovaný. Bcache umožňuje organizovat ukládání do mezipaměti přístupu k pomalým pevným diskům na rychlých jednotkách SSD; ukládání do mezipaměti se provádí na úrovni blokového zařízení - a to vám umožňuje urychlit přístup k jednotce bez ohledu na systémy souborů používané na zařízení;
  • Jádro lze zkompilovat pomocí kompilátoru Clang díky patchům připraveným projektem LLVMLinux;
  • Objevil se dynamický systém pro řízení generování přerušení časovače. Nyní můžete v závislosti na aktuálním stavu měnit přerušení v rozsahu od tisíců tiků za sekundu až po jedno přerušení za sekundu – to vám umožní minimalizovat zatížení CPU při zpracování přerušení, když je systém neaktivní. V současné době se tato funkce používá pro systémy pracující v reálném čase a HPC (high performance computing), ale v příštích verzích jádra bude použita i pro desktopové systémy;
  • Nyní je možné vygenerovat událost, která aplikaci upozorní, že se blíží 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;
  • Je zde nová "synchronizace" ovladače (experimentální). Byl vyvinut v rámci platformy Android a slouží k synchronizaci mezi ostatními ovladači;
  • Objevil se ovladač pro virtuální grafické adaptéry Microsoft Hyper-V (existuje také vylepšení v provozu Hyper-V obecně);
  • Nyní jsou podporovány nové funkce správy napájení představené v řadě procesorů AMD 16h (Jaguar);
  • Do Radeon DRM byla přidána podpora pro akceleraci dekódování videa pomocí hardwarového UVD dekodéru zabudovaného do moderních GPU AMD;
  • Přidána podpora protokolu RDMA (iSER) do subsystému iSCSI;
  • Provádění kryptografických funkcí (sha256, sha512, blowfish, twofish, had a kamélie) je optimalizováno pomocí instrukcí AVX/AVX2 a SSE.;
  • 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).

Uživatelé mobilních zařízení nejsou vždy spokojeni s provozem 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ě flashly jádro bez jakýchkoli potíží a problémů. Ale na druhou stranu jakákoli chyba během tohoto procesu může vést k problémům, včetně selhání gadgetu a potřeby drahého servisu. V různých fázích existuje riziko výběru špatné verze firmwaru jádra, která byla vytvořena nekvalifikovanými vývojáři nebo není vhodná pro vaše mobilní zařízení. Doporučujeme, abyste byli velmi opatrní při provádění jakýchkoli akcí, které mění softwarovou část zařízení na nízké úrovni. Po úspěšném flashnutí jádra má mnoho lidí pocit, že drží v ruce úplně nové zařízení. Pokročilí uživatelé si tak mohou gadget přizpůsobit svým potřebám a preferencím a zároveň získat 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 základem softwaru, který řídí hardware zařízení. Na tom závisí základní parametry jakéhokoli gadgetu. Nutno podotknout, že se skládá ze tří vzájemně propojených komponent – ​​linuxového jádra, vertikálního stroje Dalvik a různých nízkoúrovňových služeb a knihoven. Pokud se bavíme o vlastním firmwaru, pak se to týká pouze dvou komponent, které umožňují přidávat nové systémové služby, optimalizovat stávající parametry a měnit grafický shell.

Ti, kteří chtějí nainstalovat jádro na Android, by měli pochopit, že existuje rozdíl mezi koncepty vlastního jádra a vlastního firmwaru. Ta je neoficiální verzí softwaru. Vlastní firmware byl vyvinut týmem specialistů pro konkrétní zařízení. Vlastní jádro je založeno na jádře Linuxu, které představuje jeho neoficiální verzi. Vlastní jádro je často dodáváno s firmwarem. Ale lze jej nainstalovat samostatně po změně firmwaru. V podstatě nenahrazuje nativní jádro mobilního zařízení, což je konečným cílem takové operace.

Firmware jádra Androidu se provádí hlavně za účelem zvýšení provozní doby zařízení o několik hodin úpravou parametrů spotřeby energie. Možná to je hlavní důvod, proč uživatelé provádějí složité konverze softwaru svých gadgetů. Firmware vám umožní změnit video čip bez následků pro váš smartphone nebo tablet. Pokročilí uživatelé si tímto způsobem upravují obrazovku, mění její barevné podání a citlivost. Firmware jádra umožňuje zlepšit zvuk zařízení, aktualizovat ovladače a zavést podporu pro nestandardní externí gadgety.

Před flashováním jádra doporučujeme ujistit se, že jste vybrali dobrou verzi, která byla vytvořena zkušenými vývojáři. Kromě toho je důležité se ujistit, že je vhodný pro vaši verzi firmwaru Android. Je vhodné si přečíst recenze lidí, kterým se podařilo nainstalovat příslušnou verzi jádra do mobilu. Recenze mohou obsahovat důležité informace o problémech, které mohou nastat ve fázi firmwaru nebo dalšího provozu zařízení.

Flashování gadgetu přes Fastboot

Zařízení Android můžete přeformátovat pomocí Fastbootu. Nejprve však musíte nainstalovat nástroj do svého gadgetu. Existují dvě verze tohoto programu. První zahrnuje stažení Fastbootu 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í váš notebook nebo počítač. Chcete-li to provést, musíte udělat . Po stažení a instalaci nástroje Fastboot do počítače nebo notebooku s operačním systémem Windows a připojení smartphonu musíte otevřít příkazový řádek. Chcete-li to provést, otevřete Hledat. Ve Windows 8 k tomu stačí přesunout kurzor myši na pravou stranu obrazovky a vybrat příslušnou sekci. Ve vyhledávání musíte zadat „cmd“, po kterém se před vámi objeví příkazový řádek. Zařízení by mělo být přepnuto do režimu firmwaru. Dále byste měli zadat příkaz, který otestuje interakci mezi vaším počítačem a mobilním zařízením:

fastboot zařízení

Pokud vše funguje, musíte si stáhnout správnou verzi firmwaru jádra boot.img. Nedoporučujeme flashovat jádro původního 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 zavést mobilní zařízení do Fastbootu 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é spuštění vymazání mezipaměti.
  • fastboot restart.

Je velmi důležité zadat všechna slova správně, s ohledem na velká a malá písmena a mezery. Příkaz cd otevře požadovanou složku, která obsahuje požadované soubory. Poté dojde k blikání. Příkaz fastboot erase cache odstraní oddíl Cache. Poslední příkaz - fastboot reboot restartuje zařízení z režimu firmwaru do normálního stavu. Pokud jste provedli všechny výše uvedené kroky správně, proces bude úspěšný.

Firmware pomocí ClockworkMod Recovery

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

Chcete-li aktualizovat firmware jádra, 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 Apply update from 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ě tohoto systému obnovy firmwaru můžete použít TWRP Recovery. Tento nástroj je pohodlný a oblíbený mezi uživateli Androidu. Hlavní věcí je vybrat správný soubor firmwaru.

Flashování jádra Androidu je postup, který nedoporučujeme používat, pokud jste s fungováním gadgetu zcela spokojeni. Takové akce jsou vedeny touhou zlepšit výkon mobilního telefonu nebo tabletu. Pokročilí uživatelé mají možnost nastavit parametry na nižší úrovni. Ale bez určitých znalostí a objektivních důvodů je lepší neměnit softwarovou část mobilního zařízení, protože to je spojeno s rizikem a poruchami v jeho provozu.

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

Podle samotného vývojáře je toto jádro největší z hlediska inovací za posledních pár let.

Linus připustil, že nejprve zamýšlel vydat dalšího kandidáta na vydání, ale po zamyšlení se přiklonil k okamžitému vydání finálního vydání s číslem 3.10. Torvalds ve své zprávě také poznamenal, že nové jádro, stejně jako verze 3.9, je zcela připraveno pro každodenní použití.

Navíc v oznámení RC verze jádra Linus Torvalds 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 zasílané výhradně v jednom listu.

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

  • Nyní můžete zabránit spouštění skriptů jako programů – funkce pro spouštění skriptů obsahujících cestu k interpretu v hlavičce „#!“ lze nyní zkompilovat jako modul jádra;
  • Systém Bcache vyvinutý a používaný společností Google je integrovaný. Bcache umožňuje organizovat ukládání do mezipaměti přístupu k pomalým pevným diskům na rychlých jednotkách SSD; ukládání do mezipaměti se provádí na úrovni blokového zařízení - a to vám umožňuje urychlit přístup k jednotce bez ohledu na systémy souborů používané na zařízení;
  • Jádro lze zkompilovat pomocí kompilátoru Clang díky patchům připraveným projektem LLVMLinux;
  • Objevil se dynamický systém pro řízení generování přerušení časovače. Nyní můžete v závislosti na aktuálním stavu měnit přerušení v rozsahu od tisíců tiků za sekundu až po jedno přerušení za sekundu – to vám umožní minimalizovat zatížení CPU při zpracování přerušení, když je systém neaktivní. V současné době se tato funkce používá pro systémy pracující v reálném čase a HPC (high performance computing), ale v příštích verzích jádra bude použita i pro desktopové systémy;
  • Nyní je možné vygenerovat událost, která aplikaci upozorní, že se blíží 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 protokolu RDMA (iSER) do subsystému iSCSI;
  • Je zde 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í představené v řadě procesorů AMD 16h (Jaguar);
  • Do Radeon DRM byla přidána podpora pro akceleraci dekódování videa pomocí hardwarového UVD dekodéru zabudovaného do moderních GPU AMD;
  • Objevil se ovladač pro virtuální grafické adaptéry Microsoft Hyper-V (existuje také vylepšení v provozu Hyper-V obecně);
  • Provádění kryptografických funkcí (sha256, sha512, blowfish, twofish, had a kamélie) je optimalizováno pomocí instrukcí AVX/AVX2 a SSE.