Kernel i abstracció de maquinari¶
Aquesta pàgina documenta els recursos i processos per construir el nucli i l’abstracció de maquinari per als dispositius UT. Aquest document és útil si voleu treballar en:
Un problema relacionat amb el maquinari (càmera, sensors, ràdios)
Un problema relacionat amb el nucli Linux
Un problema relacionat amb el procés d’actualització d’imatge del sistema
Aquest document no és útil si voleu modificar Com desinstal·lar aplicacions o System software. Vegeu la documentació respectiva per a cadascun.
Hi ha alguns grups diferents de dispositius Ubuntu Touch pel que fa a com s’implementa el nucli i l’abstracció de maquinari:
Execució d’aplicacions de l’Android
Ports basats en Halium
kernel de Linux
Execució d’aplicacions de l’Android¶
Els ports basats en Android 5.1 d’Ubuntu Touch consisteixen en el nucli Linux per a aquest dispositiu més un sistema Android mínim que s’utilitza per habilitar tot el maquinari. Cada dispositiu té la seva pròpia bifurcació del nucli Linux. Tots ells estan fortament modificats pel maquinari específic utilitzat en aquest dispositiu. Aquestes bifurcacions també es basen en versions antigues del nucli Linux.
Per a alguns dispositius s’ha configurat la integració contínua (CI) per construir tant el nucli com el sistema Android. Altres dispositius s’han de construir manualment des dels seus repositoris. Per a un tercer grup de dispositius, desgraciadament, no disposem del codi font complet. Els dispositius Bq i Meizu tenen fonts de nucli, però l“«arbre de dispositius Android» no està disponible públicament. Els fabricants d’aquests dispositius van proporcionar construccions binàries en el seu lloc.
- Amb CI
Nexus 5 (hammerhead)
Oneplus One (bacon)
Fairphone 2
- Clon manual
Tema 4 (mako)
Nexus 7 2013 Wifi (flo)
- (Partial) Construccions binàries
Bq Aquaris E4.5 (kkrillin <https://github.com/ubports/kernelkrillin>))
Bq Aquaris E5 ()vegetahd <https://github.com/ubports/kernelvegetahd>))
Bq Aquaris M10 HD ()cooler <https://github.com/ubports/kernelbqm10>))
Bq Aquaris M10 FHD (frieza)
Meizu MX4 ()arale <https://github.com/ubports/kernelarale>))
Meizu Pro 5 (turbo)
Nexus 7 2013 GSM (deb)
Es poden trobar passos detallats per als tres dispositius habilitats amb CI a HAL per a Nexus 5, OnePlus One i Fairphone 2.
Per al Wifi Nexus 7 2013 (flo) aneu al repositori theCommunity Ports per al Flo <https://gitlab.com/ubports/community-ports/flo>..
El port per al GSM Nexus 7 2013 (deb) va ser creat per un membre de la comunitat. Malauradament aquests dipòsits han desaparegut amb el temps. Així que aquesta construcció també cau en el grup de binàries preconstruïdes.
Tasca pendent
Documenta el procés per al Nexus 4 (mako)
Ports basats en Halium¶
Els ports més nous als dispositius Android es basen en .Halium <https://docs.halium.org>.. En alguns aspectes Halium és similar als ports basats en 5.1:
També utilitza la bifurcació específica del dispositiu del nucli Linux proporcionada pel fabricant.
També utilitza un sistema d’Android mínim per habilitar algun maquinari.
No obstant això, Halium permet una manera més genèrica d’adaptar-se als dispositius Android. Això permet compartir el treball entre múltiples projectes que aporten diferents sabors dels sistemes Linux als dispositius Android. Els ports de Halium també es basen en versions d’Android més noves 7.1 i anteriors.
Alguns exemples de ports de Halium són els de Sony Xperia X i Oneplus 3. Bàsicament tots els dispositius que apareixen a .devices.ubuntu-touch.io <https://devices.ubuntu-touch.io>., espereu que els esmentats anteriorment com a 5.1, o a sota com a ports basats en Linux.
Tots els ports nous d’UT als dispositius Android han de seguir el procés Halium. Es poden trobar més detalls a adaptació a l’Halium
Ports basats en Linux¶
El port basat en Linux es refereix a dispositius on s’utilitza un nucli Linux sense cap part d’Android. En aquest grup hi ha els següents dispositius:
)Desktop PC (x86) <https://devices.ubuntu-touch.io/device/x86/>
Libra 5 (librem5)
Pinebook (pinebook)
)Raspberry Pi (rpi) <https://gitlab.com/ubports/community-ports/raspberrypi>) (vegeu també aquest bblog post <https://ubports.com/blog/ubports-blog-1/post/raspberry-pi-266>))