À quoi sert un composant logiciel enfichable dans Ubuntu Core?

8

J'ai cherché à configurer Ubuntu Core (la version IoT d'Ubuntu) sur un Raspberry Pi, et j'ai lu des informations sur les gadgets , qui, selon la documentation, visent à définir les fonctionnalités de l'appareil:

Le composant logiciel enfichable est chargé de définir et de manipuler les propriétés du système qui sont spécifiques à un ou plusieurs appareils qui se ressemblent généralement du point de vue de l'implémentation.

Quelle est la motivation pour avoir un gadget instantané? Les informations ne peuvent-elles pas être obtenues via des fonctionnalités système normales telles que lshw, ou y a-t-il une autre raison à cela (peut-être la sécurité ou un environnement plus déclaratif)?

La raison pour laquelle je pose la question est que si je souhaitais utiliser Ubuntu Core sur un autre appareil, les accrochages de gadgets prédéfinis ne conviendraient pas, mais je ne sais pas pourquoi j'ai même besoin d'un accrochage de gadgets en premier lieu.

Aurora0001
la source

Réponses:

7

Selon developer.ubuntu.com , il y a essentiellement deux objectifs :

- Déclarer les capacités matérielles du système

Citant de la documentation Ubuntu :

Le composant logiciel enfichable est chargé de définir et de manipuler les propriétés du système qui sont spécifiques à un ou plusieurs appareils qui se ressemblent généralement du point de vue de l'implémentation. Ce composant logiciel enfichable doit nécessairement être produit et signé par la marque de l'appareil, qui est défini via l'assertion du modèle. La marque sait où et comment cet appareil sera utilisé et conçoit le composant logiciel enfichable en conséquence.

Par exemple, la marque peut savoir que l'appareil est en fait une machine virtuelle spéciale à utiliser sur un cloud particulier, ou elle peut savoir qu'il sera fabriqué dans une usine particulière. Le composant logiciel enfichable peut coder les mécanismes d'initialisation de l'appareil - génération de clés et certification d'identité - ainsi que des processus particuliers pour le cycle de vie de l'appareil, tels que les réinitialisations d'usine. Il est parfaitement possible pour différents modèles de partager un composant logiciel enfichable.

- Pré-autoriser l'accès aux snaps qui ont besoin d'utiliser ce matériel

Également à partir de la documentation Ubuntu :

Le hook de préparation de périphérique en option est un script qui sera appelé sur le gadget au début du processus d'initialisation du périphérique, une fois le composant logiciel enfichable installé. Le hook sera également appelé si ce processus est réessayé ultérieurement à partir de zéro en cas d'échecs d'initialisation.

Le processus d'initialisation de l'appareil est par exemple chargé de définir l'identification série de l'appareil via un échange avec un service de l'appareil. Le hook prepare-device peut par exemple rediriger cet échange et définir dynamiquement les options qui le concernent.

anonyme2
la source