Le bootloader de ZenithOS est le tout premier composant logiciel exécuté au démarrage de la machine. Il est responsable de l’initialisation minimale du matériel, du chargement du kernel en mémoire, et de lancer l'exécution de l'OS.
Il est conçu pour fonctionner en environnement bare-metal sur architecture RISC-V (notamment sur la VisionFive 2), sans dépendre d’U-Boot ou d’OpenSBI.
Initialiser le CPU
Initialiser la mémoire
Afficher un message
Charger le kernel
Sauter vers le kernel
Le bootloader est écrit en assembleur RISC-V (.S) et compilé vers un fichier binaire via riscv64-unknown-elf-as.
L’adresse de démarrage est définie à 0x80000000 sur QEMU.
riscv64-unknown-elf-as -o bootloader.o bootloader.S
riscv64-unknown-elf-ld -T linker.ld -o bootloader.elf bootloader.o
riscv64-unknown-elf-objcopy -O binary bootloader.elf bootloader.bin
🧠 Le bootloader est le gardien de ton monde logiciel. Tout commence ici.