Une construction est faite pour chaque engagement.
Pour télécharger la dernière version, cliquez sur l'insigne ci-dessus, puis cliquez sur la version la plus récente et téléchargez l'artefact.
Construire en utilisant docker
Assurez-vous d'abord que Docker a installé. Alors:
- Clone The Repo
git clone https://github.com/mrgian/felix - Changer de dir en repo
cd felix - Construire l'image
docker build -t felix-image . - Exécutez le conteneur
docker run --name felix-container felix-image - Copier la construction du conteneur à l'hôte
docker cp felix-container:/root/felix/build .
Construire sur macOS / Linux
Assurez-vous que rustup , mtools , dosfstools et fdisk installés sur votre système, en tout cas, le script MakeFile essaiera de les installer pour vous.
git clone https://github.com/mrgian/felix
cd felix
make all
En cours d'exécution
L'image de disque finale est build/disk.img
Ou vous pouvez l'exécuter sur un véritable ordinateur x86 en copiant l'image de disque sur un lecteur USB en utilisant cette commande: sudo dd if=build/disk.img of=/dev/sdX status=progress puis démarrer à partir de l'USB.
Progrès
- 22/10/22 - Début du projet
- 27/01/23 - Le chargeur de démarrage peut imprimer à l'écran
- 31/01/23 - Le chargeur de démarrage peut lire les données du disque à la mémoire
- 01/02/23 - Le chargeur de démarrage peut charger le noyau à la mémoire
- 27/02/23 - Déplacé vers Rust Environment à l'aide de l'assemblage en ligne
- 01/03/23 - Code de chargement du noyau réécrit en rouille
- 08/03/23 - Implémentation de macro Println
- 20/03/23 - Passez à un mode protégé à 32 bits
- 29/03/23 - gestionnaire d'exceptions de base du processeur
- 30/03/23 - PICHER
- 06/04/23 - Conducteur de clavier
- 07/04/23 - Commencez à travailler sur Shell
- 08/04/23 - Disque ATA
- 09/04/23 - Fichier de fichiers de fichiers Lire
- 26/04/23 - planificateur de processeur
- 13/05/23 - Imprime l'appel du système
- 13/05/23 - println! macro dans la bibliothèque standard
- 30/06/23 - Le multitâche fonctionne enfin
Feuille de route
Les fonctionnalités suivantes devraient être ajoutées tôt ou tard:
- pagination
- allocateur de mémoire
- Pilote vidéo Vesa
- réseautage
- SATA AHCI Disk Disk
- interface utilisateur graphique
Crédits
Ce projet est entièrement développé par Gianmatteo Palmieri
Conception du logo par Veronica Grana