Linuxové jádro 5.0 RC1 je dostupné s ARM big. LITTLE podpora EAS, opravy F2FS a mnoho dalšího

Linuxové jádro, na kterém jsou založena všechna zařízení Android, dostává velkou aktualizaci na verzi 5.0. Projdeme si změny, které se týkají mobilních zařízení.

I když obvykle nepokrýváme, co se děje v hlavní oblasti jádra Linuxu, je pro nás důležité sledovat, co se děje s každým novým vydáním jádra, protože společnost Google nařizuje minimální verze linuxového jádra požadavek s každým novým vydáním Androidu. Nedávné rozhodnutí prodloužit vydání LTS ze 2 na 6 let bude hrát hlavní roli při snižování fragmentace bezpečnostních záplat, protože výrobci zařízení budou muset dělat méně práce při zpětném portování bezpečnostních záplat. Navíc jádro hlavní řady často integruje nové funkce, které jsou relevantní pro mobilní zařízení.

Například první Uvolněte sestavení kandidáta pro další verzi LTS jádra, která byla nedávno vydána – Linuxové jádro 5.0 RC1. Do stabilního vydání zbývá ještě měsíc nebo dva, ale už teď můžeme nakouknout, co se chystá v nadcházejícím vydání. Zdůrazním některé aktualizace, které jsou relevantní pro mobilní zařízení, ale pokud vás vůbec zajímá vývoj open source a linuxové jádro, doporučuji vám prohlédnout si celý changelog.

ARM velký. LITTLE EAS podpora

Plánování s ohledem na energii je věcí na zařízeních Android již od vydání původního Pixelu. EAS je jedním z důvodů, proč jsou zařízení Google Pixel obecně chytřejší než jejich konkurenti. Podpora již byla povolena při vydání jádra Snapdragon 845 od Qualcommu, takže každé zařízení s tímto SoC (nebo novějším) bude podporovat EAS. I když Linux doposud neměl podporu Energy Aware Scheduling. Upstream podpora by teoreticky měla usnadnit výrobcům křemíku a zařízení implementaci technologie do jejich zařízení. Pro koncové uživatele však upstream podpora ve skutečnosti mnoho neznamená.

Podpora Adiantum

Speck je NSA (National Security Administration) vyvinutý šifrovací algoritmus, který dobře funguje na low-end hardwaru. Google zamýšlený přidat podporu pro speck, protože nabízí podporu šifrování dat pro rozpočtová zařízení s SoC bez hardwarově akcelerovaných rozšíření šifrování. Přijetí Specka bylo široce kritizováno kvůli jeho vazbám na NSA. Podpora pro speck byla v linuxovém jádře 4.20 odstraněna a jeho náhrada, Adiantum, funguje stejně dobře, ne-li lépe, na low-end hardwaru se souborovými systémy EXT4/F2FS.

Opravy F2FS a EXT4

Flash-Friendly File-System, neboli F2FS, je široce používaný v zařízeních Android. Google Pixel 3 a Pixel 3 XL oficiálně podpora F2FS, například. Jaegeuk Kim, původní vývojář F2FS, zjevně poslal žádost o sloučení o mnoho oprav pro souborový systém do úložiště Linuxu. Tyto změny se postarají o problémy se šifrováním a správu času nečinnosti spolu s opravami garbage collection. Všechny podrobnosti můžete vidět v tento požadavek na stažení. Celkově oprava F2FS zlepšuje stabilitu a spolehlivost na chytrých telefonech Android, které ji podporují nebo budou podporovat.

Podobně populární souborový systém EXT4 obdržel něco málo přes tucet oprav. EXT4 se používá na mnoha zařízeních Android, jako jsou nejnovější zařízení OnePlus (včetně OnePlus 5T, OnePlus 6 a OnePlus 6T).

Nová hardwarová podpora ARM

Distribuce GNU/Linux jsou pravděpodobně nejlepší operační systémy pro provoz na hardwaru založeném na ARM. Nabízejí spolehlivý multi-tasking založený na modelu open source. Procesory ARM jsou speciálně navrženy tak, aby vykonávaly mnoho úkolů najednou. Proto je důležité, aby OS držel krok s hardwarem. Jak někteří z vás vědí, většina smartphonů a tabletů Android používá čipové sady s architekturou ARM. Čipy založené na RISC jsou ideální pro spouštění každodenních úkolů (které provádíte na svém smartphonu. Linuxové jádro 5.0 přidává podporu pro spoustu nového hardwaru ARM. Tady jsou některé z nich:

  • Tegra X2
  • Tegra Xavier
  • Allwinner F1C100
  • Qualcomm QCS404
  • Allwinner T3
  • NXP Layerscape LX2160

Kromě univerzální podpory kompatibility pro konkrétní hardware ARM má linuxové jádro 5.0 také vylepšenou správu napájení.

Podpora BinderFS

Android používá Binder k výměně argumentů mezi různými procesy v systému. Aplikace, aktivity a procesy používají Binder ke spouštění a správě procesů. Zabezpečení v systému Android je vysoce založeno na oprávněních UID. Binder kontroluje UID poskytovaná aplikacemi pomocí obousměrných volání IPC, aby potvrdila, že má přístup k funkci, kterou chce použít. BinderFS je aktualizovaná verze Binderu, ale je specializovanější a kompatibilní se systémem. Podpora pro BinderFS se pro koncového uživatele příliš nezmění, ale z dlouhodobého hlediska vyřeší některé problémy s implementací pro vývojáře. Zde je příslušný závazek.

Rámec řízení energetického modelu

Dalším přírůstkem je podpora pro Energy Model Management Framework. Tato změna je hlavně pro vývojáře ARM a jádra. Nabízí novou vrstvu standardizovaných informací o spotřebě energie z různých zdrojů, jako je strom zařízení nebo ovladače. Spotřebu energie a hlášení řeší hardware i software odlišně. Energy Model Management Framework bude poskytovat standardní API, které může použít jiný ovladač v jádře pro přístup k informacím o spotřebě energie. To teoreticky usnadní softwarovým inženýrům a vývojářům získat relevantní informace z hardwaru. O tomto frameworku si můžete přečíst více v tomto závazku.

Podpora autentizace ukazatele ARM64

Každé relevantní hardwarové a softwarové řešení, zejména na mobilních zařízeních, vyžaduje silné bezpečnostní protokoly. To je to, co Linuxové jádro 5.0 nabízí s podporou ARM64 Pointer Authentication. Protože většina smartphonů má čipové sady založené na ARM64, je důležité, aby útočníci nemohli zneužít ukazatele, které se v jádře Linuxu používají pro přístup k adresám paměti. Nový ověřovací protokol porovnává ukazatele s tajnými klíči. Pointer Authentication se pokusí vyhnout návratově orientovanému programování (ROP) a dalším druhům útoků.


Existuje mnohem více aktualizací jádra Linux 5.0, které jsme nepokryli. Většina z nich ve skutečnosti pro zařízení Android mnoho neznamená, a proto jsme museli vybrat seznam změn. Pokud chcete vidět celý 'changelog', podívejte se od Phoronixe Dosah.

Díky XDA Recognized Developer vzplanutí2 za pomoc s tímto článkem.