Oui, les blobs binaires font partie du système de fichiers Android. Android ne peut pas démarrer sans eux car ils sont des sortes de pilotes matériels pour le périphérique. La plupart d'entre eux se trouvent sous /vendor/lib(64)
certains également sous /system
, /etc
y /bin
. Avant Android Treble , /vendor
n'était pas nécessairement une partition mais un lien symbolique vers /system/vendor
répertoire. En commençant par Oreo, /vendor
est une partition, contenant tout le contenu lié à OEM
y SoC
vendeur. La plupart des blobs sont des fichiers exécutables ou des bibliothèques, exécutés comme des services indépendants au démarrage. Voir cet exemple fichiers propriétaires liste.
En plus de cela, la première partition (généralement appelée modem
) sur la carte eMMC contient des micrologiciels liés à la radio et à la RIL. Une autre partition dsp
contient le nom de Qualcomm Processeur de signaux numériques binaires liés. Ils ne sont pas intégrés à la ROM mais font partie d'Android. arbre du système de fichiers monté à (/vendor)/firmware
y (/vendor)/dsp
. Leur exécution est isolée du reste du dispositif.
De nombreuses partitions liées aux chargeurs de démarrage sont en elles-mêmes des binaires complets, tels que aboot
, sbl
, rpm
, tz
, cmnlib
, devcfg
, keymaster
, lksecapp
sur les appareils Qualcomm. Ce ne sont pas des systèmes de fichiers montables, mais directement exécutés par les chargeurs de démarrage pendant le processus de démarrage. Ce sont tous des blobs binaires propriétaires, la partie à source fermée des appareils Android.
PS : Android (un surensemble de l'AOSP) n'est pas un système d'exploitation générique qui peut être installé sur n'importe quel matériel comme c'est le cas pour les PC. Le support du matériel est limité à des binaires propriétaires ( HALs ) par l'équipementier et/ou les vendeurs de silicium. Les blocs binaires sont donc essentiels, et l'AOSP open-source (y compris le noyau Linux modifié fourni par Google) n'est d'aucune utilité sans pilotes matériels. Et les fabricants documentent rarement le fonctionnement de leur matériel afin que les développeurs comme Replicant peut mettre en œuvre un pilote open source. Il existe un très petit nombre de composants matériels sur les appareils Android qui peuvent être gérés directement par des appels au noyau, comme c'est le cas sur les PC. Le seul ajout notable par les vendeurs de SoC / OEMs à la source générique du noyau déjà modifié par Google ( 1 , 2 ) est le traitement de dispositifs non découvrables (définissant les nœuds du dispositif). Le reste du matériel est géré dans l'espace utilisateur par des blobs binaires.
Pour en savoir plus :