Démarrer une image Zephyr signée avec U-Boot sur Arm Cortex-A : TI AM62L et QEMU
Sur un microcontrôleur, Zephyr s'exécute en premier : le secure boot passe donc par l'ajout d'un bootloader comme MCUboot. Sur un processeur Cortex-A comme le TI AM62L, la ROM de boot et plusieurs étages de firmware s'exécutent avant Zephyr. Zephyr est le dernier étage, U-Boot peut donc le vérifier avant de le lancer.
Le Learning Path Arm Boot a signed Zephyr image with U-Boot on Arm Cortex-A montre pas à pas comment le mettre en place. Vous placez Zephyr dans une image FIT signée, ajoutez votre clé publique à U-Boot et configurez U-Boot pour qu'il refuse toute image qu'il ne peut pas vérifier.
Étapes
- Situer l'endroit où U-Boot vérifie Zephyr dans la chaîne de démarrage Cortex-A
- Compiler Zephyr avec Workbench for Zephyr et le signer dans une image FIT
- Compiler U-Boot avec votre clé publique, sans modifier son code source
- Démarrer l'image signée, puis vérifier que U-Boot refuse une mauvaise clé et une image modifiée
- Passer en revue ce qu'exige la production : programmer votre clé dans les eFuses de l'AM62L, verrouiller la console et l'environnement de boot, signer au moment de la release
Cibles
Vous pouvez le suivre sur la carte d'évaluation TI AM62L (EVM), ou dans QEMU, sans aucun matériel. Les étapes de signature et de vérification sont les mêmes sur les deux cibles.
Niveau : avancé. Contenu en anglais.
Lire le Learning Path complet sur learn.arm.com
Pour aller plus loin
La même chaîne de confiance protège un système Linux embarqué : chaque étage vérifie le suivant, de la ROM de boot jusqu'au noyau. Notre formation Construction d'une plate-forme Linux embarqué sécurisée (SEC8) couvre le secure boot, le trusted boot et OP-TEE sur Arm, et notre formation Cyber Resilience Act (SEC10) couvre ce que le CRA exige d'un produit connecté.