Astrazione del kernel e dell’hardware

Questa pagina documenta le risorse e i processi per costruire il kernel e l’astrazione hardware per i dispositivi UT. Questo documento è utile se si desidera lavorare su:

  • Un problema relativo all’hardware (camera, sensori, radio)

  • Un problema relativo al kernel Linux

  • Un problema relativo al processo di aggiornamento dell’immagine del sistema

This document is not useful if you would like to modify Preinstalled apps or System software. See the respective documentation for each.

Ci sono alcuni diversi gruppi di dispositivi Ubuntu Touch rispetto a come viene implementata l’astrazione del kernel e dell’hardware:

  • Trasporto basato su Android 5.1

  • Trasporto basato su Halium

  • Linux kernel

Trasporto basato su Android 5.1

I trasporti basati su Android 5.1 di Ubuntu Touch consistono dal kernel Linux per questo dispositivo più un sistema Android minimale che viene utilizzato per abilitare tutto l’hardware. Ogni dispositivo ha la sua forchetta (fork) del kernel Linux. Sono tutti fortemente modificati per l’hardware specifico utilizzato in quel dispositivo. Queste forchette si basano anche sulle vecchie versioni del kernel Linux.

Per alcuni dispositivi l’integrazione continua (CI) è stata creata per costruire sia il Kernel che il sistema Android. Altri dispositivi devono essere costruiti manualmente dai loro repository. Per un terzo gruppo di dispositivi, purtroppo, non abbiamo il codice sorgente completo disponibile. I dispositivi Bq e Meizu hanno sorgenti del kernel, ma l” «albero dispositivo Android» non è pubblicamente disponibile. I produttori di questi dispositivi fornivano invece delle costruzioni binarie.

  • Con CI
    • Nexus 5 (hammerhead)

    • OnePlus One (bacon)

    • Fairphone 2 (FP2)

  • Costruzioni manuali
    • Nexus 4 (mako)

    • Nexus 7 2013 Wifi (flo)

  • (Parziali) Costruzioni binarie
    • Bq Aquaris E4.5 (krillin)

    • Bq Aquaris E5 (vegetahd)

    • Bq Aquaris M10 HD (cooler)

    • Bq Aquaris M10 FHD (frieza)

    • Meizu MX4 (arale)

    • Meizu Pro 5 (turbo)

    • Nexus 7 2013 GSM (deb)

Detailed steps for the three CI enabled devices can be found under HAL for Nexus 5, OnePlus One, and Fairphone 2.

Per il Nexus 7 2013 Wifi (flo) dirigersi verso la Comunità Ports repository per flo.

Il trasporto per il Nexus 7 2013 GSM (deb) è stato creato da un membro della comunità. Purtroppo quei depositi (repositories) sono scomparsi nel tempo. Quindi questa build rientra anche nel gruppo dei binari precostruiti.

Da fare

Documentare il processo per Nexus 4 (mako)

Trasporto basato su Halium

Newer ports to Android devices are based on Halium. In some aspects Halium is similar to the 5.1 based ports:

  • Utilizza anche la fork specifica del dispositivo del kernel Linux fornita dal produttore.

  • Utilizza anche un sistema Android minimo per abilitare alcuni hardware.

Tuttavia, Halium permette un modo più generico il trasporto a dispositivi Android. Questo consente di condividere il lavoro tra più progetti che portano diversi sapori di sistemi Linux a dispositivi Android. I trasporti Halium si basano anche sulle versioni Android più recenti 7.1 e superiori.

Alcuni esempi di trasporti Halium sono quelli per Sony Xperia X e Oneplus 3. Fondamentalmente tutti i dispositivi che sono elencati su devices.ubuntu-touch.io, aspettatevi che quelli esplicitamente menzionati sopra come 5.1, o sotto come trasporti basati su Linux.

All new ports of UT to Android devices should follow the Halium process. Further details can be found under Halium porting

Trasporti basati su Linux

Il trasporto basato su Linux si riferisce ai dispositivi in cui viene utilizzato un kernel Linux senza parti Android. I seguenti dispositivi sono in questo gruppo: