Linux Plumbers 201 konferentzian9 (Linux garatzaile nagusien urteroko bilera), Google-k garapenaren inguruan hitz egin zuen ekimen bat transferitu Linux nukleo nagusira garatutako aldaketak plataformarako kernel bertsioa Android.
Azken helburua Android-ek Linux Kernel-en bertsio nagusia erabiltzen uztea da, gailu bakoitzerako bertsio pertsonalizatu bereiziak prestatu beharrean Android-en berariazko Android Core Core adarretan oinarrituta. Helburu hori partzialki lortu da dagoeneko eta konferentzian, "Xiaomi Poco F1" Android telefonoa, aldatu gabeko Linux kernelean oinarritutako firmwarearekin frogatu zen.
Proiektua prest dagoenean, Hornitzaileei nukleo zentral bat hornitzeko eskatuko zaie Linux kernel nagusian oinarrituta. Hardware laguntza osagaiak hornituko dira hornitzaileek soilik kernel modulu osagarrien moduan, nukleoa adabaki gabe.
Moduluetan, nukleo nagusiarekiko bateragarritasuna bermatu behar da nukleoaren sinboloaren izen-espazio mailan. Nukleo nagusian eragina duten aldaketa guztiak gorantz sustatuko dira.
Horrez gain bateragarritasuna mantentzeko jabedun moduluekin LTS sukurtsalen esparruan, core API eta ABI egonkorrak mantentzea du helburuModuluek nukleoaren adar komun bakoitzaren eguneratzeekin bateragarritasuna mantentzea ahalbidetuko dute.
Urtean zehar, PSI azpisistema bezalako ezaugarriak (presio blokeoaren informazioa) hainbat baliabideren denbora-mugari buruzko informazioa aztertzeko (CPU, memoria, sarrera eta irteerako gailuak), BinderFS sasi fitxategi sistema prozesuen arteko komunikazio mekanismorako, Linux kernel nagusira eraman ziren Android kerneletik, baita energia-eraginkortasunaren ataza-planifikatzailea den EAS (Energy Aware Scheduling) ere.
Garrantzitsua da hori jakitea orain arte Android kernelak prestatzeko hainbat fase igaro ditu izan ere, gaur egun hiru sardexka nagusi daude Linux kernel nagusiaren eta bidalitako Android gailu baten artean.
- Lehenik eta behin, Google-k Linux LTS kernela hartu eta "Android Common Kernel" bihurtzen du, Linux kernelak aplikatutako Android sistema eragilearen berariazko adabaki guztiak jasotzen dituelarik.
- Android Common-ek SoC saltzailea (normalean Qualcomm) bidaltzen du eta bertan hardware espezifikoen gehigarrien lehen txanda lortzen du, lehenik SoC eredu jakin batera zuzenduta.
- "SoC Kernel" hau gailuaren fabrikatzaileari bidaltzen zaio, beste edozein hardware onartzen duen hardwarearen berariazko kodea lortzeko, hala nola, pantaila, kamera, bozgorailuak, USB portuak eta edozein hardware osagarri.
LTS nukleo nagusietan oinarrituta (3.18, 4.4, 4.9 eta 4.14), "Android Common Kernel" adarra sortu zen, eta bertan Android adabaki espezifikoak transferitu ziren (lehenago aldaketen tamaina milioi linea batzuetara iritsi zen, baina duela gutxi aldaketak milaka lerroetara murriztu ziren kodearen)
Horrez gain, gailu bakoitzerako bere nukleoa eratu zen, ezin zen beste gailu batzuetan erabili.
Eskema horrek nabarmen zailtzen du eguneratzeak ematea ahultasunak ezabatzearekin eta nukleoaren adar berrietara igarotzearekin. Adibidez, urrian kaleratutako Pixel 4 azken telefonoa Linux kernel 4.14arekin dator, duela bi urte argitaratua.
Neurri batean, Google mantentze lanak errazten saiatu zen Treble sistema sustatuz, horri esker, fabrikatzaileek Android bertsio zehatzekin eta erabilitako Linux kernel bertsioekin lotura ez duten hardware euskarri unibertsaleko osagaiak sor ditzakete. Treble-k prestatutako Google eguneratzeak oinarri gisa erabiltzeko aukera ematen du, gailuaren berariazko osagaiak horietan integratuz.
Android ekosistema Kernelean modu zabalagoan txertatzeko oraindik lana dago egiteko, baita gailu konfigurazioek eredu jakin batzuetarako eskatzen duten lan handia ere, baina Google-k dio gauzak ondo doazela dirudiela.
Idatzi lehenengo iruzkina