Blinkar kärnan på en Android-enhet. Blinkar kärnan på en Android-enhet Kernel version 3.10 72 android

Vi har skrivit mer än en gång om anpassad firmware, rotapplikationer och alternativa startmenyer. Alla dessa är standardämnen i Android-hacking-communityt, men förutom allt ovanstående finns det också något som en "anpassad kärna", som kan ge nästan obegränsade möjligheter att hantera en smartphone och dess hårdvara på lägsta nivån. I den här artikeln kommer jag att berätta vad det är, varför det behövs och hur du väljer rätt anpassad kärna.

Anpassad kärna?

Vad är en anpassad kärna? Som vi alla vet är Android en paj som består av tre grundläggande lager: Linuxkärnan, en uppsättning lågnivåbibliotek och tjänster, och den virtuella Dalviksmaskinen, ovanpå vilken körs ett grafiskt skal, verktyg och tjänster på hög nivå , liksom nästan alla applikationer installerade från marknaden. Skaparna av de flesta alternativa anpassade firmware fungerar vanligtvis bara med de två översta lagren, lägger till funktioner till det grafiska skalet (till exempel knappar i gardinen), ändrar det (temamotor i CyanogenMod), samt lägger till nya systemtjänster (equalizer) i CyanogenMod) och optimera befintliga.

Författarna till populär firmware gör också ändringar i Linux-kärnan när det är möjligt: ​​de optimerar (byggs med mer aggressiva kompilatoroptimeringsflaggor), inkluderar ny funktionalitet (till exempel stöd för Windows-boll) och gör även andra ändringar, såsom förmågan för att höja processorfrekvensen över den som tillhandahålls av tillverkaren. Ofta ligger allt detta bakom kulisserna, och många användare av anpassad firmware är inte ens medvetna om dessa möjligheter, särskilt eftersom samma CyanogenMod kommer med en anpassad kärna endast för ett begränsat antal enheter, för vilka både källkoden för den inbyggda kärnan och möjligheten att ersätta den finns. Till exempel använder nästan all CyanogenMod-firmware för Motorola-smarttelefoner en standardkärna - det är omöjligt att ersätta den med din egen på grund av bootloaderns ogenomträngliga skydd.

Däremot kan kärnan i smartphones med en olåst bootloader ersättas separat från den huvudsakliga firmwaren. Och inte bara byta ut, utan installera en kärna med ett stort antal olika funktioner som kräver viss teknisk kunskap för att hantera, och därför vanligtvis inte är inbyggda i kärnorna i populär firmware som CyanogenMod, AOKP och MIUI. Bland dessa funktioner kan du hitta stöd för höga processorfrekvenser, kontroll av skärmgamma, energisparlägen, högeffektiva strömhanterare och ett stort antal andra funktioner.

I den här artikeln kommer vi att prata om vad skaparna av anpassade kärnor kan erbjuda oss, överväga de viktigaste anpassade kärnorna för olika enheter och även försöka installera kärnan oberoende av den huvudsakliga firmwaren och kontrollera allt på vår egen hud. Så vad brukar utvecklare av alternativa kärnor erbjuda?

Smart trafikledare

OMAP35XX SoCs, som används till exempel i Galaxy S II och Galaxy Nexus, har en SmartReflex-funktion, som fungerar som ett smart spänningsjusteringssystem när belastningen på processorn ändras. I huvudsak eliminerar det behovet av att finjustera spänningen av användaren.

Optimeringar

Ofta är huvudmålet med att bygga en anpassad kärna att optimera prestanda. Vanligtvis försöker en mobilenhetsleverantör att upprätthålla en balans mellan prestanda och stabilitet, så även bra optimeringstekniker som avsevärt kan öka hastigheten på en enhet kan avvisas av tillverkaren endast på grundval av att efter att ha använt dem började vissa applikationer krascha var tionde lansering. Naturligtvis besväras inte entusiaster av sådana små saker, och många av dem är redo att använda alla kompilatoralternativ, energisparalgoritmer på kärnan i sin egen sammansättning och höja processorfrekvensen så högt som enheten kan hantera. Bland alla optimeringstekniker är fyra de vanligaste:



En annan typ av optimering: ändra standard I/O-schemaläggare. Situationen på detta område är ännu mer intressant, eftersom i stället för att förstå principerna för drift av schemaläggare, läser vissa kärnbyggare helt enkelt dokument på Internet på I/O-schemaläggare för Linux och drar slutsatser. Bland användare är detta tillvägagångssätt ännu mer utbrett. Faktum är att nästan alla de mest kraftfulla och intelligenta Linux-schemaläggarna är helt olämpliga för Android: de är designade för användning med mekaniska datalager, där hastigheten för dataåtkomst varierar beroende på huvudets position. Schemaläggaren använder olika scheman för aggregering av förfrågningar beroende på den fysiska platsen för data, så förfrågningar om data som är nära den aktuella huvudpositionen kommer att få högre prioritet. Detta är helt ologiskt när det gäller solid-state-minne, vilket garanterar samma åtkomsthastighet till alla celler. Avancerade schemaläggare kommer att göra mer skada än nytta på en smartphone, och de mest klumpiga och primitiva kommer att visa de bästa resultaten. Linux har tre liknande schemaläggare:

  • Noop (ingen operation)- den så kallade icke-schemaläggaren. En enkel FIFO-förfrågningskö, den första begäran kommer att behandlas först, den andra andra, och så vidare. Väl lämpad för solid-state-minne och låter dig fördela applikationsprioriteterna rättvist för åtkomst till enheten. Ett ytterligare plus: låg processorbelastning på grund av en mycket enkel driftprincip. Nackdel: ingen hänsyn till specifikationerna för enhetens funktion, vilket kan resultera i prestandafel.
  • SIO (Simple I/O)- en analog till Deadline-schemaläggaren utan att ta hänsyn till sektorernas närhet till varandra, det vill säga utformad specifikt för halvledarminne. Två huvuddrag: prioriteringen av läsoperationer framför skrivoperationer och gruppering av operationer efter process, allokering av en tidsdel till varje process för att utföra operationer. I smartphones där hastigheten på den aktuella applikationen och övervägande läsoperationer framför skrivoperationer är viktiga visar den mycket bra prestanda. Tillgänglig i Leankernel, Matr1x kärna för Nexus 4 och SiyahKernel.
  • RAD (LÄS ÖVER SKRIV)- en schemaläggare speciellt designad för mobila enheter och lades till kärnan för bara några månader sedan. Huvudmålet är att behandla läsbegäranden först, men fördela rättvis tid för skrivbegäranden också. Den anses vara den bästa schemaläggaren för NAND-minne för tillfället; den används som standard i Leankernel och Matr1x.

Det är värt att säga att nästan all standard firmware och hälften av de anpassade fortfarande använder kärnan med standard Linux CFQ-schemaläggaren, vilket dock inte är så dåligt, eftersom det kan fungera korrekt med solid-state-enheter. Å andra sidan är det för komplicerat, skapar en större belastning på processorn (och därmed batteriet) och tar inte hänsyn till det mobila operativsystemets särdrag. Ett annat populärt val är Deadline-schemaläggaren, som är lika bra som SIO men är överflödig. Du kan se listan över tillgängliga schemaläggare med följande kommando:

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

För att ändra används följande (där rad är namnet på schemaläggaren):

# för i i /sys/block/*/queue/scheduler; gör echo row > $1; Gjort

Vissa kärnbyggare använder också en annan typ av optimering relaterad till I/O. Detta inaktiverar systemanropet fsync, som används för att tvinga det ändrade innehållet i öppna filer att tömmas till disken. Det finns en åsikt att utan fsync kommer systemet att komma åt enheten mer sällan och därmed spara processortid och batterikraft. Ett ganska kontroversiellt uttalande: fsync används inte särskilt ofta i applikationer och bara för att spara riktigt viktig information, men om du inaktiverar den kan det leda till att samma information går förlorad i händelse av ett operativsystemkrasch eller andra problem. Möjligheten att inaktivera fsync är tillgänglig i franco.Kernel- och GLaDOS-kärnorna och styrs av filen /sys/module/sync/parameters/fsync_enabled, där du ska skriva 0 för att inaktivera eller 1 för att aktivera. Återigen, det rekommenderas inte att använda den här funktionen.

Lägger till nya funktioner till kärnan

Utöver optimeringar, tweaks och olika avancerade hårdvaruhanteringssystem kan du förstås i anpassade kärnor även hitta helt ny funktionalitet som inte finns i standardkärnor, men som kan vara användbar för användarna.

Dessa är främst olika drivrutiner och filsystem. Till exempel inkluderar vissa kärnor stöd för CIFS-modulen, som låter dig montera Windows-resurser. En sådan modul finns i Matr1x-kärnan för Nexus S, faux123 för Nexus 7, SiyahKernel och GLaDOS. I sig är det värdelöst, men det finns flera applikationer på marknaden som låter dig använda dess kapacitet.

En annan användbar funktion är inkluderingen av ntfs-3g-drivrutinen i kärnan (mer exakt, i paketet med kärnan; själva drivrutinen fungerar som en Linux-applikation), vilket är nödvändigt för att montera flash-enheter formaterade i NTFS-filsystemet. Denna drivrutin finns i kärnorna faux123 och SiyahKernel. Vanligtvis aktiveras det automatiskt, men om det inte händer kan du använda StickMount-applikationen från marknaden.

Många kärnor innehåller även stöd för den så kallade zram-teknologin, som gör att du kan reservera en liten mängd RAM (vanligtvis 10%) och använda det som ett komprimerat swapområde. Resultatet är en sorts expansion av minnesmängden, utan några allvarliga konsekvenser för prestandan. Tillgänglig i Leankernel, aktiverad med hjälp av Trickster MOD eller zram enable-kommandot.

De två sista intressanta funktionerna är snabb USB-laddning och Sweep2wake. Den första är inget annat än den tvingade aktiveringen av "snabbladdningsläget", även om smarttelefonen är ansluten till datorns USB-port. Snabbladdningsläge finns i alla mer eller mindre nya smartphones, men på grund av tekniska begränsningar kan det inte aktiveras samtidigt med tillgång till minneskortet. Snabb USB-laddningsfunktionen gör att du alltid kan aktivera detta läge, samtidigt som du inaktiverar åtkomst till enheten.

Sweep2wake är ett nytt sätt att väcka en enhet, uppfunnet av författaren till Breaked-kernel. Poängen är att slå på smarttelefonen genom att föra fingret över navigeringsknapparna under skärmen eller över själva skärmen. Detta är en riktigt bekväm funktion, men om du slår på den kommer sensorn att förbli aktiv även när enheten sover, vilket kan tömma batteriet avsevärt.

Överklockning, spänning och energibesparing

Överklockning är populärt inte bara bland ägare av stationära datorer och bärbara datorer, utan också bland mobilteknikentusiaster. Precis som x86-arkitekturstenar är processorer och grafikkärnor för mobila enheter utmärkta. Men själva överklockningsmetoden och de steg som tas för att implementera den är något annorlunda. Faktum är att standarddrivrutiner för SoC, som är ansvariga för energibesparing och ändring av processorfrekvens, vanligtvis är låsta vid standardfrekvenser, så för finjustering måste du installera antingen en alternativ drivrutin eller en anpassad kärna.

Nästan alla mer eller mindre högkvalitativa och populära anpassade kärnor innehåller redan olåsta drivrutiner, så efter installationen utökas möjligheten att kontrollera processorns "kraft" avsevärt. Vanligtvis gör anpassade kärnbyggare två saker som påverkar valet av frekvens. Detta är en utökning av frekvensområdet utöver de initialt angivna - du kan ställa in antingen en högre processorfrekvens eller en mycket låg, vilket gör att du kan spara på batteriet och öka graderingen av frekvenser, till exempel istället för tre möjliga frekvenser , det finns sex att välja mellan. Det andra är tillägget av möjligheten att justera processorspänningen, så att du kan minska processorspänningen vid låga frekvenser för att bevara batteriladdningen och öka den vid höga frekvenser för att öka stabiliteten.

Allt detta kan styras med det välkända betalverktyget SetCPU eller den kostnadsfria Trickster MOD. Hanteringsrekommendationer är desamma som för stationära system. Det är bättre att ställa in den lägre processorfrekvensen till minimum, men inte lägre än 200 MHz (för att undvika fördröjningar), den övre tröskeln höjs gradvis medan man testar driftsstabiliteten, om den sjunker rekommenderas att öka spänningen något för denna frekvens. Det finns inga rekommendationer för spänning, eftersom varje processor är unik och värdena kommer att vara olika för alla.

Förutom att ändra frekvenser lägger byggare ofta till nya energisparande kontrollalgoritmer (automatisk kontroll av processorfrekvens) till kärnan, som enligt deras åsikt kan visa bättre resultat jämfört med standard. Nästan alla är baserade på den interaktiva algoritmen som används som standard i nya versioner av Android, vars kärna är att kraftigt öka processorfrekvensen till det maximala när belastningen ökar, och sedan gradvis minska den till ett minimum. Den ersätter den tidigare använda OnDemand-algoritmen, som smidigt justerade frekvensen i båda riktningarna i proportion till belastningen, och gör systemet mer responsivt. Samlare av alternativa kärnor erbjuder följande algoritmer för att ersätta Interactive:

  • SmartAssV2- tänka om den interaktiva algoritmen med fokus på att spara batteri. Den största skillnaden är att inte dra processorn till höga frekvenser i händelse av kortvariga belastningsskurar, för vilka låg processorprestanda är tillräcklig. Standarden används i Matr1x-kärnan.
  • InteractiveX- en avstämd interaktiv algoritm, vars huvudfunktion är att låsa processorn vid den lägsta användarspecificerade frekvensen och avaktivera den andra processorkärnan när skärmen stängs av. Standard används i Leankernel.
  • LulzactiveV2- i grunden en återuppfunnen OnDemand. När belastningen på processorn överstiger den angivna (60 % som standard), höjer algoritmen frekvensen med ett visst antal divisioner (1 som standard), och sänker den när belastningen minskar. Det är av särskilt intresse eftersom det låter dig självständigt ställa in driftsparametrar, därför är det lämpligt för härdade nördar.

Generellt sett gillar kärnbyggare verkligen att komma med nya energibesparande algoritmer på grund av den enkla implementeringen, så du kan hitta ett dussintal andra. De flesta av dem är fullständigt skräp, och när du väljer en schemaläggare bör du vägledas av regeln: antingen en av de tre som beskrivs ovan, eller standarden Interactive, som förresten är väldigt bra. Du kan göra ett val med samma Trickster MOD.

Kontrollgränssnitt

De mest populära anpassade kärnorna inkluderar flera mekanismer för finkornig kontroll av olika drivrutinsparametrar, de vanligaste är ColorControl, GammaControl, SoundControl och TempControl.

De två första gränssnitten är tillgängliga nästan överallt, inklusive CyanogenMod-kärnor, de två andra är tillgängliga i Leankernel och kanske i andra. På ett eller annat sätt kan alla styras med hjälp av Trickster MOD.

Kärnor

Vilken kärna ska du välja? Det finns inget tydligt svar på denna fråga, och inte för att "var och en sin egen", utan för att det finns ett stort antal Android-enheter i världen och nästan lika många olika kärnor. Det finns dock flera populära kärnor som utvecklas för flera enheter samtidigt. På ett eller annat sätt nämnde jag många av dem genom hela historien, och här kommer jag att ge en kort beskrivning av dem.

  • Leankernel är kärnan i Galaxy Nexus, Nexus 7 och Galaxy S III. Huvudvikten under utveckling ligger på enkelhet och snabbhet i arbetet. Energisparalgoritm: InteractiveX V2, I/O-schemaläggare: ROW, alla ovanstående kontrollgränssnitt, stöd för snabb USB-laddning, Swap och zram, flexibla överklockningsalternativ för CPU och GPU. En av de bästa kärnorna. Anpassningsbar med Trickster MOD.
  • Matr1x (http://goo.gl/FQLBI, goo.gl/ZcyvA) - kärna för Nexus S och Nexus 4. Enkel och obelastad kärna. Stöd för CPU- och GPU-överklockning, GammaControl, Fast USB Charge, Sweep2wake, I/O-schemaläggare: SIO, ROW och FIOPS. Prestandajusteringar. Anpassningsbar med Trickster MOD.
  • Bricked-Kernel (http://goo.gl/kd5F4, goo.gl/eZkAV) - en enkel och obelastad kärna för Nexus 4 och HTC One X. Optimering för Snapdragon S4 och NVIDIA Tegra 3, omdesignat energisparläge för Tegra 3 , förmågan överklockning, energisparalgoritm: inställd OnDemand (även tillgänglig Interactive).
  • SiyahKernel - kärna för Galaxy S II och S III. Flexibla överklockningsalternativ, automatisk batterikalibrering, förbättrad drivrutin för pekskärm, energisparalgoritmer: smartassV2 och lulzactiveV2, I/O-schemaläggare: noop, deadline, CFQ, BFQV3r2 (standard), V(R), SIO. CIFS- och NTFS-drivrutiner (med automatisk montering). Konfigurerbar med ExTweaks.
  • franco.Kernel - kärna för Nexus S, Galaxy Nexus, Nexus 4, Nexus 7, Nexus 10, Galaxy S III, Galaxy Note, Optimus One och One X.

Kärnans kapacitet varierar mycket från enhet till enhet, så du måste kontrollera detaljerna på plats. Men genom att flasha den här kärnan får du möjlighet att överklocka, drivrutinjustering, utmärkt prestanda, samt stöd för olika energisparalgoritmer och schemaläggare. Faktum är att kärnan innehåller nästan alla justeringar som beskrivs i artikeln. Anses vara en av de bästa kärnorna som finns. Det finns ett program för automatisk uppdatering av franko.Kernel Updater. Du kan konfigurera det med Trickster MOD.

Hur man installerar?

Alla kärnor distribueras i vanliga Android ZIP-arkiv, som ska flashas genom återställningskonsolen på samma sätt som alternativa firmwares. Vanligtvis är kärnor kompatibla med vilken fast programvara som helst, så när du väl har valt rätt kärna kan du säkert installera den. Det enda du bör vara uppmärksam på är versionen av Android som kärnan är kompatibel med. Det kan antingen vara lämpligt för alla versioner av Android som är tillgängliga för enheten, eller bara fungera med en (utvecklaren brukar uttryckligen tala om detta). Innan du flashar den fasta programvaran, se till att du gör en säkerhetskopia av den aktuella firmware med samma återställningskonsol. Om något går fel kan du alltid rulla tillbaka.

Slutsatser

Som du kan se har anpassade kärnor många fördelar jämfört med kärnor som används i standard- eller tredjepartsfirmware. Och vad som är ännu viktigare är att du inte behöver känna till Androids alla krångligheter för att använda dem, bara ladda ner och installera ZIP-arkivet.

Många ägare av Android-enheter på olika forum och webbplatser stöter ofta på omnämnande av något obegripligt, som kallas kärnan, eller på engelska kernel. Det kan ändras och det nämns i enhetens inställningsmeny, i avsnittet "Om surfplatta (telefon)".

Om du gräver djupare kommer du att upptäcka att kärnan är en del av operativsystemet, och inte bara Android har det, utan även andra operativsystem: Windows, iOS, MacOS och andra. Men vi kommer att vara intresserade av Android-kärnan, och jag kommer att försöka förklara vad det är på nivån för nybörjare.

Du vet förmodligen att vilket operativsystem som helst, inklusive Android, i stort sett är en uppsättning program som hanterar driften av hela enheten och ansvarar för att starta användarapplikationer som spel, filhanterare, webbläsare och andra.

Och Android-kärnan är praktiskt taget den viktigaste delen av operativsystemet, som ansvarar för interaktionen mellan all hårdvara och mjukvarudelen av systemet. Kärnan består av en uppsättning drivrutiner för all utrustning i enheten och ett undersystem för hantering av minne, nätverk, säkerhet och andra grundläggande funktioner i operativsystemet.
Till exempel, när du trycker på skärmen för att starta en applikation, bestämmer drivrutinen för skärmens pekplatta platsen där beröringen inträffade och rapporterar koordinaterna till andra program, som, återigen med hjälp av kärnan, hittar den önskade applikationen i enhetens minne och startar Det. Detta är naturligtvis en mycket förenklad modell, men den återspeglar kärnan i operativsystemet.

Således fick vi reda på att när någon programvara behöver hårdvaran från en surfplatta eller telefon för att göra något, vänder den sig till operativsystemets kärna för att göra det.

Kärnan styr absolut all utrustning: Wi-Fi, Bluetooth, GPS, minne och andra enheter. Enhetens "hjärta" - dess processor - är inget undantag. Kärnan kan styra sin frekvens och strömförsörjning.
Kärnan i Android-operativsystemet lånades av dess utvecklare, Google, från operativsystemet Linux.

Eftersom kärnan styr all hårdvara, och hårdvaran för alla surfplattor och telefoner är olika, modifieras den grundläggande Android-kärnan av tillverkaren för varje enhet separat.

Liksom firmware kan kärnor vara lager (fabrik) och anpassade - alternativa, skapade av oberoende utvecklare.

Varför behöver vi anpassade kärnor? Lagerkärnan är maximalt optimerad av tillverkaren för en specifik enhet, men den blockerar vanligtvis så viktiga kärnfunktioner som att till exempel styra processorfrekvensen. Och om du behöver överklocka processorn på din surfplatta måste du ändra kärnan till en anpassad, där processorns frekvenskontrollfunktion är upplåst.

Dessutom är anpassade kärnor vanligtvis baserade på nyare versioner av Linux-kärnor. Här är en ungefärlig lista över funktioner som anpassade kärnor ger oss:

  • Ändra processorfrekvensen inom ett brett område;
  • Överklockning av grafikundersystemet (GPU);
  • Minska processorfrekvensen och spänningen, vilket möjliggör längre batteritid;
  • Nyare och högkvalitativa drivrutiner, till exempel snabbare GPS eller lägga till nya funktioner;
  • Brett utbud av alternativ för att anpassa och konfigurera ljud och skärmfärger;
  • Stöd för alternativa filsystem (XFS, ReiserFS och andra).

Eftersom alternativa kärnor skapas av oberoende utvecklare finns det ingen garanti för att din surfplatta eller telefon kommer att fungera utan problem efter installation av en anpassad kärna. Därför, innan du flashar en ny kärna, är det lämpligt att göra en fullständig säkerhetskopia av systemet.

På söndagskvällen släpptes den nya Linuxkärnan 3.10 officiellt. Enligt Linus Torvalds visade sig kärnan vara den största vad gäller innovation under de senaste åren. Linus hade först för avsikt att släppa ytterligare en releasekandidat, men var benägen att släppa den slutliga versionen 3.10 - och i sitt meddelande noterar han att den nya kärnan, liksom Linux 3.9, inte är utsatt för prestandaproblem och är redo för dagligt bruk.

I tillkännagivandet av RC-versionen skrev Torvalds att han vanligtvis inkluderade en lista med namn på personer som skickade vissa delar av koden, men den här gången var listan så stor att den inte kunde listas helt på en e-postlista.

Delvis lista över ändringar som gjorts i kärnan 3.10:

  • Du kan förhindra att skript exekveras som program - funktionaliteten för att köra skript som innehåller sökvägen till tolken i "#!"-huvudet kan nu kompileras som en kärnmodul;
  • Bcache-systemet som utvecklats och används av Google är integrerat. Bcache låter dig organisera cachning av åtkomst till långsamma hårddiskar på snabba SSD-enheter; cachelagring utförs på blockenhetsnivå - och detta gör att du kan snabba upp åtkomsten till enheten, oavsett filsystemen som används på enheten;
  • Kärnan kan kompileras med hjälp av Clang-kompilatorn tack vare korrigeringarna förberedda av LLVMLinux-projektet;
  • Ett dynamiskt system för att styra genereringen av timeravbrott har dykt upp. Nu, beroende på det aktuella tillståndet, kan du ändra avbrott i intervallet från tusentals tick per sekund till ett avbrott per sekund - detta gör att du kan minimera belastningen på CPU:n vid bearbetning av avbrott när systemet är inaktivt. För närvarande används den här funktionen för realtidssystem och HPC (högprestandaberäkning), men i nästa kärnutgåvor kommer den också att användas för skrivbordssystem;
  • Det är nu möjligt att generera en händelse för att meddela applikationen att den närmar sig uttömning av minnet som är tillgängligt för processen/systemet (i cgroups);
  • Minnesåtkomstprofilering är nu tillgänglig för perf-kommandot;
  • Det finns en ny drivrutin "sync" (experimentell). Den utvecklades inom Android-plattformen och används för synkronisering mellan andra drivrutiner;
  • En drivrutin för Microsoft Hyper-V virtuella videoadaptrar har dykt upp (det finns också förbättringar i driften av Hyper-V i allmänhet);
  • Nya strömhanteringsfunktioner som introducerats i AMD:s 16h (Jaguar) familj av processorer stöds nu;
  • Stöd för att accelerera videoavkodning med UVD-avkodaren för hårdvara som är inbyggd i moderna AMD GPU:er har lagts till i Radeon DRM;
  • Lade till stöd för RDMA (iSER)-protokollet till iSCSI-undersystemet;
  • Utförande av kryptografiska funktioner (sha256, sha512, blowfish, twofish, orm och camellia) optimeras med AVX/AVX2 och SSE instruktioner.;
  • Den virtuella QXL-grafikkortets drivrutin har integrerats (används i virtualiseringssystem för accelererad grafikutmatning med SPICE-protokollet).

Användare av mobila enheter är inte alltid nöjda med funktionen och kapaciteten hos sina prylar. Av denna anledning letar användare efter det bästa sättet att flasha kärnan i Android-operativsystemet. Å ena sidan kan denna åtgärd enkelt utföras med din surfplatta eller smartphone. Tusentals användare har framgångsrikt flashat kärnan utan några svårigheter eller problem. Men å andra sidan kan alla misstag under denna process leda till problem, inklusive fel på gadgeten och behovet av dyr service. I olika skeden finns det en risk att välja fel version av kärnans firmware, som skapades av okvalificerade utvecklare, eller som inte är lämplig för din mobila enhet. Vi rekommenderar att du är extremt försiktig när du utför några åtgärder som gör ändringar i mjukvarudelen av enheten på en låg nivå. Efter att ha lyckats flasha kärnan känner många människor att de håller en helt ny enhet i sina händer. Avancerade användare kan därmed anpassa gadgeten efter deras behov och preferenser, samtidigt som de skaffar sig ny kunskap och erfarenhet om modern mobilteknik.

Kärnan i Android-operativsystemet och dess firmware

Vad är kärnan i en mobil enhet?

Operativsystemets kärna är grunden för programvaran som styr enhetens hårdvara. De grundläggande parametrarna för en gadget beror på den. Det bör noteras att den består av tre sammankopplade komponenter - Linuxkärnan, Dalviks vertikala maskin och olika lågnivåtjänster och bibliotek. Om vi ​​pratar om anpassad firmware, påverkas bara två komponenter, vilket gör att du kan lägga till nya systemtjänster, optimera befintliga parametrar och ändra det grafiska skalet.

De som vill installera kärnan på Android bör förstå att det finns en skillnad mellan begreppen anpassad kärna och anpassad firmware. Den senare är en inofficiell version av programvaran. Anpassad firmware utvecklades av ett team av specialister för specifika enheter. Den anpassade kärnan är baserad på Linux-kärnan, som representerar dess inofficiella version. Ofta levereras en anpassad kärna med fast programvara. Men det kan installeras separat efter byte av firmware. I huvudsak ersätter det inte den inbyggda kärnan i den mobila enheten, vilket är det slutliga målet för en sådan operation.

Android-kärnans firmware görs främst för att öka enhetens driftstid med flera timmar genom att justera strömförbrukningsparametrarna. Kanske är detta den främsta anledningen till att användare utför komplexa konverteringar av programvaran för sina prylar. Den fasta programvaran låter dig byta videochip utan konsekvenser för din smartphone eller surfplatta. Avancerade användare anpassar skärmen på detta sätt och ändrar dess färgåtergivning och känslighet. Kernel-firmware låter dig förbättra enhetens ljud, uppdatera drivrutiner och introducera stöd för icke-standardiserade externa prylar.

Innan du flashar kärnan rekommenderar vi att du har valt en bra version som skapats av erfarna utvecklare. Dessutom är det viktigt att se till att den är lämplig för din Android-firmwareversion. Det är tillrådligt att läsa recensioner från personer som lyckades installera rätt version av kärnan på sin mobiltelefon. Recensioner kan innehålla viktig information om problem som kan uppstå i stadiet av firmware eller vidare drift av enheten.

Flashar gadgeten via Fastboot

Du kan ladda om din Android-enhet med Fastboot. Men först måste du installera verktyget på din gadget. Det finns två versioner av detta program. Den första innebär att ladda ner Fastboot i samband med det officiella Android SDK-programmet. Den andra versionen innebär att du laddar ner verktyget separat.

Vi rekommenderar att du kontrollerar om din mobila enhet kan se din bärbara eller dator. För att göra detta måste du göra. Efter att ha laddat ner och installerat Fastboot-verktyget på din dator eller bärbara dator som kör Windows-operativsystemet och anslutit din smartphone måste du öppna kommandoraden. För att göra detta, öppna Sök. I Windows 8, för att göra detta, flytta bara muspekaren till höger sida av skärmen och välj lämplig sektion. I Sök måste du ange "cmd", varefter kommandoraden visas framför dig. Enheten bör ställas om till firmware-läge. Därefter bör du ange ett kommando som testar interaktionen mellan din dator och mobila enhet:

fastboot-enheter

Om allt fungerar måste du ladda ner rätt version av kärnans firmware boot.img. Vi rekommenderar inte att flasha kärnan i den ursprungliga firmware, eftersom detta kan leda till problem med driften av smarttelefonen. Filen ska sparas på en förskapad partition på enhet C som heter "Android". Efter detta måste du starta den mobila enheten i Fastboot och ansluta den till datorn. Meddelandet "Fastboot USB" kommer att visas på skärmen.

  • cd C:\Android.
  • fastboot flash boot boot.img.
  • fastboot radera cache.
  • fastboot omstart.

Det är mycket viktigt att ange alla ord korrekt, med hänsyn till skiftläge och mellanslag. Kommandot cd öppnar den önskade mappen som innehåller de nödvändiga filerna. Efter detta uppstår blinkning. Kommandot fastboot radera cache tar bort cachepartitionen. Det sista kommandot - fastboot reboot startar om enheten från firmwareläge till normalt. Om du utförde alla ovanstående steg korrekt kommer processen att lyckas.

Firmware med ClockworkMod Recovery

ClockworkMod Recovery (eller CWM för kort) är ett återställningssystem som används istället för den ursprungliga fabriksåterställningen. CWM låter dig installera ny firmware på en mobil enhet, flasha kärnan, säkerhetskopiera filer och återställa skalet. Ett sådant system kan fungera med firmwareuppdateringsfiler i zip-format. ClockworkMod är installerat i och ersätter fabriksåterställningen. För att starta CWM måste du veta vilken tangentkombination som är lämplig för din gadget. I de flesta fall är detta en kombination av volym ned- och strömknapparna som ska tryckas ned medan enheten startar.

För att flasha kärnans firmware, ladda ner arkivet med en zip-förlängning. Den måste innehålla META-INF-mappen. Sedan finns det två alternativ. I det första fallet måste du ange firmwarefilen. Det andra alternativet innebär att du placerar firmwarefilen i mappen /sdcard. Efter detta bör du aktivera ClockworkMod Recovery, hitta funktionen Apply update from sdcard där och ange önskad fil.

Det bör noteras att ClockworkMod Recovery-menyn är bekväm och begriplig för de flesta användare. Utöver detta återställningssystem för firmware kan du använda TWRP Recovery. Detta verktyg är bekvämt och populärt bland Android-användare. Det viktigaste är att välja rätt firmware-fil.

Att blinka Android-kärnan är en procedur som vi inte rekommenderar att du använder om du är helt nöjd med hur gadgeten fungerar. Sådana åtgärder drivs av önskan att förbättra prestandan hos en mobiltelefon eller surfplatta. Avancerade användare har möjlighet att ställa in parametrar på en lägre nivå. Men utan viss kunskap och objektiva skäl är det bättre att inte ändra mjukvarudelen av den mobila enheten, eftersom detta är förknippat med risker och funktionsfel i dess drift.

På söndagskvällen tillkännagav Linus Torvalds, föräldern till Linux och utvecklaren av operativsystemkärnan, att en ny version av Linuxkärnan 3.10 släpps efter två månaders arbete.

Enligt utvecklaren själv är denna kärna den största när det gäller innovation under de senaste åren.

Linus medgav att han först hade för avsikt att släppa en annan releasekandidat, men efter eftertanke var han benägen att omedelbart släppa den slutliga releasen med nummer 3.10. Torvalds noterade också i sitt meddelande att den nya kärnan, liksom version 3.9, är helt redo för dagligt bruk.

Dessutom, i tillkännagivandet av RC-versionen av kärnan, skrev Linus Torvalds att han tidigare alltid inkluderade en lista med namn på personer som skickade vissa delar av koden, men den här gången skulle den här listan vara så stor att den inte kunde vara ges helt i ett ark utskick.

Lista över större ändringar som gjorts i kärnan 3.10:

  • Nu kan du förhindra att skript exekveras som program - funktionaliteten för att starta skript som innehåller sökvägen till tolken i "#!"-huvudet kan nu kompileras som en kärnmodul;
  • Bcache-systemet som utvecklats och används av Google är integrerat. Bcache låter dig organisera cachning av åtkomst till långsamma hårddiskar på snabba SSD-enheter; cachelagring utförs på blockenhetsnivå - och detta gör att du kan snabba upp åtkomsten till enheten, oavsett filsystemen som används på enheten;
  • Kärnan kan kompileras med hjälp av Clang-kompilatorn tack vare korrigeringarna förberedda av LLVMLinux-projektet;
  • Ett dynamiskt system för att styra genereringen av timeravbrott har dykt upp. Nu, beroende på det aktuella tillståndet, kan du ändra avbrott i intervallet från tusentals tick per sekund till ett avbrott per sekund - detta gör att du kan minimera belastningen på CPU:n vid bearbetning av avbrott när systemet är inaktivt. För närvarande används den här funktionen för realtidssystem och HPC (högprestandaberäkning), men i nästa kärnutgåvor kommer den också att användas för skrivbordssystem;
  • Det är nu möjligt att generera en händelse för att meddela applikationen att den närmar sig uttömning av minnet som är tillgängligt för processen/systemet (i cgroups);
  • Minnesåtkomstprofilering är nu tillgänglig för perf-kommandot;
  • Lade till stöd för RDMA (iSER)-protokollet till iSCSI-undersystemet;
  • Det finns en ny drivrutin "sync" (experimentell). Den utvecklades inom Android-plattformen och används för synkronisering mellan andra drivrutiner;
  • QXL-drivrutinen för virtuellt grafikkort har integrerats (används i virtualiseringssystem för accelererad grafikutmatning med SPICE-protokollet);
  • Nya strömhanteringsfunktioner som introducerats i AMD:s 16h (Jaguar) familj av processorer stöds nu;
  • Stöd för att accelerera videoavkodning med UVD-avkodaren för hårdvara som är inbyggd i moderna AMD GPU:er har lagts till i Radeon DRM;
  • En drivrutin för Microsoft Hyper-V virtuella videoadaptrar har dykt upp (det finns också förbättringar i driften av Hyper-V i allmänhet);
  • Utförandet av kryptografiska funktioner (sha256, sha512, blowfish, twofish, orm och camellia) optimeras med AVX/AVX2 och SSE-instruktioner.