De nombreux fournisseurs de SoC et ODM acceptent l'utilisation de plusieurs arborescences d'appareils (DT) sur un appareil, ce qui permet à une image d'alimenter plusieurs SKU ou configurations. Dans ce cas, le bootloader identifie le matériel et charge le DT correspondant au moment de l'exécution:
Figure 1 : Plusieurs superpositions de l'arborescence des appareils (DTO) dans le bootloader.
Remarque:L'utilisation de plusieurs DT n'est pas obligatoire.
Configuration
Pour ajouter la prise en charge de plusieurs DT au modèle DTO, configurez une liste de DT principales et une autre liste de DT superposées.
Figure 2. Implémentation de DTO d'exécution pour plusieurs DT.
Le bootloader doit pouvoir:
- Lisez l'ID du SoC et sélectionnez la DT principale correspondante.
- Lisez l'ID de la carte et sélectionnez l'ensemble de DT de superposition en conséquence.
Vous ne devez sélectionner qu'un seul DT principal à utiliser au moment de l'exécution. Vous pouvez sélectionner plusieurs DT de superposition, mais ils doivent être compatibles avec le DT principal choisi. L'utilisation de plusieurs superpositions peut aider à éviter de stocker une superposition par carte dans la partition DTBO et à permettre au bootloader de déterminer le sous-ensemble des superpositions requises en fonction de l'ID de la carte (ou éventuellement en sondant les périphériques). Par exemple, le tableau A peut avoir besoin des appareils ajoutés par les superpositions 1, 3 et 5, tandis que le tableau B peut avoir besoin des appareils ajoutés par les superpositions 1, 4 et 5.
Partition
Pour partitionner, déterminez un emplacement de confiance accessible au moment de l'exécution du bootloader dans la mémoire flash pour stocker les DTB et les DTBO (le bootloader doit pouvoir localiser ces fichiers dans le processus de mise en correspondance). N'oubliez pas que les DTB et les DTBO ne peuvent pas coexister dans la même partition. Si vos DTB/DTBO se trouvent dans la partition dtb
/dtbo
, utilisez la structure de table et le format d'en-tête décrits dans la section Format de partition DTB et DTBO.
Exécuter dans le bootloader
Pour exécuter:
- Identifiez le SoC et chargez le fichier .dtb correspondant à partir de l'espace de stockage dans la mémoire.
- Identifiez la carte et chargez le
.dtbo
correspondant à partir du stockage dans la mémoire. - Superposez
.dtb
à.dtbo
pour obtenir une DT fusionnée. - Démarrer le noyau en fonction de l'adresse mémoire de la table de données fusionnée.