- 0x00 – Mise en place de l’environnement de développement
- 0x01 – Le premier boot
- 0x02 – Organiser notre projet
- 0x03 – La mémoire
- 0x04 – L’Allocation Dynamique
Avant de pouvoir créer un système d’exploitation, nous devons d’abord configurer notre environnement de développement. Nous allons supposer que vous travaillez sur un environnement Linux. Ce tutoriel suppose que vous avez une connaissance pratique du langage de programmation C, ainsi qu’une compréhension de base des différentes parties d’un ordinateur (CPU, GPU, RAM, etc.). Nous n’assumons aucune connaissance préalable sur la conception d’un système d’exploitation. Tout cela sera expliqué au fur et à mesure.
Le compilateur
Très probablement, votre ordinateur fonctionne sur un processeur Intel ou AMD qui utilise l’architecture x86_64. Le processeur de raspberry pi, cependant, utilise l’architecture ARM. Cette différence signifie que nous ne pouvons pas utiliser gcc qui est probablement pré installé sur votre machine. Nous avons besoin de télécharger un compilateur multiplate-forme. Plus précisement un compilateur qui fonctionne sur x86_64 et qui compile pour ARM. Le compilateur que nous recherchons est gcc-arm-none-eabi . Il peut être télécharger depuis le site du développeur ARM.
Si vous êtes sur Linux, créez un nouveau dossier pour ce projet et copiez le fichier téléchargé dqns ce dossier. Puis extrayez le fichier en utilisant cette commande:
1 |
tar -xf gcc-arm-none-eabi-X-XXXX-XX-update-linux.tar.bz2 |
les X peuvent varier en fonction de la version du compilateur. Le compilateur doit être situé dans gcc-arm-none-eabi-X-XXXX-XX-update/bin/arm-none-eabi-gcc
Si vous êtes sur une distribution de famille Debian, vous pouvez exécuter la commande
1 |
apt install gcc-arm-none-eabi binutils-arm-none-eabi |
La machine virtuelle
Cette partie n’est pas strictement nécessaire, mais elle facilitera le débogage et le test de notre système d’exploitation. Nous allons utiliser QEMU pour exécuter la machine virtuelle. Les nouvelles versions de QEMU peuvent émuler un raspberry pi, mais il est peu probable que votre gestionnaire de paquets ait cette version. Nous avons besoin d’une version non inférieure à 2.11.0 de la machine virtuelle QEMU ARM. Nous pouvons compiler la dernière version de QEMU à partir du code source en procédant comme suit:
1 2 3 4 5 6 |
wget https://download.qemu.org/qemu-2.11.0.tar.xz tar xvJf qemu-2.11.0.tar.xz cd qemu-2.11.0 ./configure --target-list=arm-softmmu,arm-linux-user make -j 2 sudo make install |
Nous pouvons vérifier si cela a réussi en exécutant
qemu-system-arm --version
Maintenant que nous avons l’environnement configuré, nous pouvons maintenant commencer à développer le noyau du système.
GIPHY App Key not set. Please check settings
One Comment