Comment installer et utiliser VOSySmonitor sur une carte Raspberry Pi 4B
Un guide pour implémenter plusieurs OS sur Raspberry Pi 4B
La solution VOSySmonitor de VOSyS a été adaptée pour fonctionner sur la carte Raspberry Pi 4 Model B, permettant ainsi l'exécution simultanée d'un système d'exploitation en temps réel critique pour la sécurité et d'un système d'exploitation non critique. Bien que ce guide soit destiné à cette plateforme d'architecture ARM, la solution de criticité mixte VOSySmonitor est également portable sur les architectures x86 (VOSySmonitorX86) et RISC-V (VOSySmonitoRV).
La plateforme Raspberry Pi est conforme aux exigences requises pour l'installation de VOSySmonitor, en particulier en ce qui concerne les extensions matérielles de sécurité ARM et les dispositions relatives aux différents niveaux d'exception de sécurité; de plus, cette plateforme dispose d'un contrôleur d'interruption générique qui permet de configurer chaque interruption comme étant sécurisée ou non sécurisée; enfin, la puissance de son processeur permet l'exécution de plusieurs systèmes d'exploitation.
Attention!
Ce SoC ne dispose pas d'un contrôleur de mémoire sécurisé: en conséquence, l'installation de VOSySmonitor sur la carte Raspberry Pi 4 n'offre aucune garantie réelle que les mondes RTOS et GPOS sont isolés. Cela est dû au fait que dans ce SoC, il n'y a pas de support pour l'isolation DRAM entre le monde sécurisé et le monde non sécurisé.
Ce guide présente toutes les étapes nécessaires à l'installation de VOSySmonitor sur la carte Raspberry Pi 4 et à la coordination de l'exécution d'un FreeRTOS et d'un système d'exploitation général 32 bits Raspberry Pi.
Figure 1 - Architecture
Toutes les commandes et la VM de ce guide peuvent être exécutées en ligne de commande via un terminal ou une connexion série/SSH.
1. Génération binaire de VOSySmonitor
Sur la carte Raspberry Pi 4B, VOSySmonitor et FreeRTOS sont chargés en tant que binaire exécutable unique à partir du firmware RPI. Le binaire final de VOSySmonitor peut être généré après avoir étendu et compilé FreeRTOS avec l'application de votre choix. Ainsi, la première étape de la génération du binaire VOSySmonitor consiste à compiler FreeRTOS à partir des sources. Une fois FreeRTOS compilé, le binaire final de VOSySmonitor peut être généré.
Compilation de FreeRTOS
Les pré-requis pour la compilation de FreeRTOS sont :
- Avoir accès au code source de FreeRTOS
- Installation du compilateur croisé aarch64_none_elf
Ensuite, l'étape de compilation de FreeRTOS aboutira à la génération de FreeRTOS.bin et peut être effectuée comme suit:
# Clone FreeRTOS code
$ git clone git@git.virtualopensystems.com:enoch/freertos.git
$ cd freertos
# Build Application of choice
$ make PLAT=rpi4 ARCH=a64 APP={APP NAME} CROSS_COMPILE=/path/to/aarch64-none-elf-
Compilation binaire de VOSySmonitor
Étant donné que FreeRTOS.bin est à ce stade disponible, la dernière étape vers la génération de vosysmonitor.bin demande:
- FreeRTOS.bin
- le fichier objet vosysmonitor.axf, qui est basé sur le code de VOSySmonitor uniquement
- Le compilateur croisé installé aarch64-linux-gnu-objcopy
Ensuite, la génération de vosysmonitor.bin peut être effectuée en deux étapes comme suit :
# Commande pour placer FreeRTOS.bin sous la section correcte
$ aarch64-linux-gnu-objcopy \
--update-section "SecWorld_EntryPoint"=/path/to/FreeRTOS.bin \
vosysmonitor.axf vosysmonitor-rtos.axf
# Commande pour produire le binaire final de vosysmonitor
$ aarch64-linux-gnu-objcopy -O binary vosysmonitor-rtos.axf vosysmonitor.bin
Le binaire de VOSySmonitor incluant FreeRTOS est maintenant prêt, nous pouvons donc passer à l'étape suivante.
2. Installation de VOSySmonitor pour le système d'exploitation GPOS 32 bits de Raspberry Pi GPOS
Chaque distribution Linux est fournie avec des fichiers de configuration qui sont utilisés pour configurer les chargeurs d'amorçage antérieurs à Linux. Nous profitons de cette fonctionnalité pour présenter VOSySmonitor comme un binaire à exécuter lors des étapes initiales de démarrage. Ces instructions de configuration sont spécifiques à chaque distribution, puisqu'elles dépendent des fichiers de configuration que chaque distribution exporte.
Pour une configuration Raspberry Pi OS 32-bit, deux étapes principales sont nécessaires pour faire démarrer VOSySmonitor sur la carte. La première étape concerne certains arguments de configuration de démarrage qui doivent être intégrés. La deuxième étape concerne certaines personnalisations de l'arbre des périphériques. zations. Ces étapes sont expliquées dans les sections suivantes.
Identifiant ou inscription pour visualiser l'information complète