Système d'exploitation gratuit et simple
L'objectif principal de ce projet est d'apprendre, alors attendez-vous à quelques erreurs. Si vous souhaitez contribuer au projet, n'hésitez pas à faire une demande de traction.
Ce projet a un wiki expliquant comment le système d'exploitation fonctionne dès le début, alors n'hésitez pas à le vérifier ici et à ouvrir un problème si vous trouvez des informations erronées ou incomplètes.
L'objectif de ce projet n'est pas de créer un système convivial et sécurisé. L'objectif est de créer un terrain de jeu pour bricoler, où vous avez beaucoup de puissance et beaucoup de choses qui peuvent mal tourner. Au fur et à mesure que le projet évolue, j'aimerais que le bricolage soit plus accessible au moment de l'exécution, au lieu d'avoir à modifier le code directement et à recompiler le système d'exploitation. Être capable de modifier le code et d'assembler à l'exécution (pas nécessairement le code du système d'exploitation) serait incroyable.
Une partie importante de ce projet, comme son nom l'indique, est de le garder très simple et sans ballonnement. Ceci est très important pour comprendre comment fonctionne tout dans le projet, qui est l'un des principaux objectifs.
Quelques ressources intéressantes qui ont influencé la philosophie du projet:
Note
Selon la distribution, vous pourriez également avoir besoin des packagesqemu-ui-gtketqemu-audio-papour la machine virtuelle.
Une fois que vous avez toutes les exigences, exécutez simplement:
$ git clone https://github.com/fs-os/fs-os
$ cd fs-os
$ make
...Ce qui serait le même que celui qui suit:
$ make limine # Clone and build the bootloader inside ./limine/, you only need to do this once
...
$ make sysroot
...
$ make fs-os.iso
...Note
Pour plus d'informations sur le processus de construction et les dépendances cibles, voir la section de compilation du wiki.
Ou pour le tester directement avec Qemu:
$ make qemu
...Ce projet utilise l'outil Doxygen pour générer sa documentation.
| Nom du package (gentoo) | Description |
|---|---|
app-doc/doxygen | Doxygen pour construire la documentation |
app-text/texlive | Pour construire la documentation au format latex (pour PDF) |
media-gfx/graphviz | (Facultatif *) pour les graphiques |
dev-texlive/texlive-latexextra | (Facultatif) uniquement nécessaire pour construire la documentation au format PDF |
* Nécessaire si HAVE_DOT=YES dans doxyfile (la valeur par défaut).
Courez simplement:
$ doxygen
...
$ firefox doc/html/index.html
...Générer PDF à partir de latex (facultatif):
$ cd doc/latex
$ make pdf
...
$ firefox refman.pdf
...Voir TODO.MD ou la liste TODO de la documentation DOXYGEN.
Note
Certaines captures d'écran peuvent être un peu dépassées.

