[Windows] TUTO – [Partie 1] [MàJ le 18/05/2017] Créer son système d’exploitation avec Cosmos

Ce tutoriel fut mise à jour le 18/05/2017, avec une autre méthode d’installation dev-kit bien plus pratique et efficace ! N’hésitez pas à re-suivre cette procédure au cas où ! 😀

À travers ce tutoriel et une future suite de tutoriels, nous allons apprendre à créer notre propre OS, ou plutôt le vôtre ! Nous n’allons évidemment pas surpasser Windows ou Ubuntu, ce sera un petit OS fait maison pour les passionnés et débutants en programmation ! Nous n’allons pas utiliser de langage assembleur, ne créerons un noyau, nous le programmerons simplement en C# avec l’aide du projet Cosmos, magnifique non ?

cosmos


Une petite présentation de notre support s’impose, comme ce tutoriel est ciblé aux débutants et que je ne suis pas expert en programmation, je vais m’appuyer sur le super, que dis-je, le magnifique projet Cosmos.

Cosmos est un système d’exploitation, ou plutôt un « kit de construction », basé sur SysLinux autour du compilateur IL2CPU (créé par les mêmes développeurs que CosmosOS). COSMOS signifie d’ailleurs C# Open Source Managed Operating System.

Bref, Cosmos n’est donc pas un système d’exploitation à proprement parler, mais plutôt un « kit de création de système d’exploitation ». Cosmos va vous permettre de créer des systèmes d’exploitation sur Visual Studio et en C# (ou Visual Basic). Le véritable point fort de Cosmos réside dans le fait qu’il est intégré à Visual Studio, ce qui va permettre un développement sous Windows accompagné d’éléments essentiels. En effet, Visual Studio (avec Cosmos) va débugger et générer votre OS avant de l’envoyer à une machine virtuelle.

Logo CosmosOS

Logo officiel de Cosmos

1) Installation de Cosmos (dev-kit)

La dernière version officielle du projet Cosmos étant parue il y a déjà plusieurs années, il va falloir mettre à jour celle que vous avez déjà installée et si ce n’est pas déjà fait, l’installer. Car depuis, il y a eu plusieurs corrections de bugs, d’ajouts, qui améliorent fortement l’expérience utilisateur.

Il existe deux kits pour Cosmos, l’user-kit et le dev-kit. C’est ce dernier que nous allons compiler pour pouvoir profiter des mises à jour (dont beaucoup sur le système de fichiers que nous verrons un peu plus tard :P).

A. Pré-requis
  • Un minimum de connaissances en algorithmique (C# ou VB par exemple) ;
  • Être sous Windows 7 au minimum ;
  • Visual Studio Community 2015télécharger ici) ;
  • .NET Framework 4.5télécharger ici) ;
  • VMWare Player (version gratuite) (à télécharger ici) ;
  • .NET Framework 3.5 SP1, quelques composants requérant cette version (à télécharger ici).
B. Installation de Cosmos

Premièrement, commencez par télécharger ce répertoire (cliquez sur le bouton vert ‘Clone or Download‘ puis ‘Download ZIP‘) que je vous ai moi-même concocté, comprenant de nombreux correctifs et quelques ajouts. Décompressez ensuite l’archive ZIP sur votre bureau par exemple ou dans un dossier dédié (parce que c’est plus propre).

Assurez-vous que ni Visual Studio 2015 ni VMWare ne sont en cours d’utilisation !

Et assurez-vous que vous n’êtes pas en train de faire des mises à jour Windows, ce qui pourrait éteindre votre ordinateur, ou quelque chose d’autre de stupide. 😛

Lancez maintenant le fichier « install-VS2015.bat« .

Si Cosmos est déjà installé sur votre machine, il n’y a rien à faire ! La compilation du dev-kit va automatiquement supprimer les anciennes versions.

Console d’installation de Cosmos made in CTP 😛

Une fois le programme d’installation lancé, il va tout effectuer tout seul et vous pourrez voir les résultats dans cette fenêtre :

La compilation de Cosmos a réussie, on passe à l’installation (Running Setup) !

L’installation n’a normalement pas dû prendre de temps et si tout s’est bien passé, Visual Studio s’est lancé en ouvrant la solution « Cosmos » (où vous pouvez éditer ou voir le code source si vous êtes curieux) et le programme d’installation affiche alors en vert : Build Complete!

 


2) Créer son premier OS

A. Création du projet

Lancez Visual Studio, appuyez sur « Nouveau projet… », cette fenêtre se lance alors :

Fenêtre créer un nouveau projet

Fenêtre « créer un nouveau projet »

Créez un nouveau projet comme n’importe quel projet C#, mais sélectionnez Cosmos comme type de projet. Vous pouvez ensuite choisir de programmer votre OS en C# ou en Visual Basic (je conseille le C# mais Visual Basic est tout aussi bien).

Renseignez ensuite le nom de votre projet, ici « Custom Protocol ». Appuyez ensuite sur « OK ».

Oh, diable, du code ! Ne vous inquiétez : tout va être expliqué.

B. Le code

Tout d’abord, on peut remarquer que votre nouveau projet ressemble beaucoup à une application console C # standard.

explorateur

Pour l’instant, il faudra rester dans « C# Custom Protocol » et non dans « Custom ProtocolBoot ».

Le fichier Kernel.cs contient le code d’amorçage et d’exécution de votre OS.

Quant au fichier AssemblyInfos.cs, il contient des informations relatives à votre programme.

 


Voici le code source de votre OS, j’ai traduit le texte pour plus de compréhension (vous pouvez copier coller celui-là) :

demarrer

Lets’ go !

C. Votre premier boot !

Vous pouvez maintenant appuyer sur le petit bouton vert « Démarrer », il se situe sur la barre du haut de Visual Studio.

Si votre code n’a pas d’erreurs, et si VMWare est bien installé, la génération va commencer. Voici une petite vidéo d’exemple de génération. 

Après que VMWare se soit lancé, vous devriez normalement voir du texte défiler (il correspond à l’initialisation de l’ISO dans VMWare). Et après tout ceci, si vous avez correctement copié-collé le code plus haut, vous devriez obtenir ceci :

Voici le CTPOS ! XD

Voici le CustomProtcolOS ! XD

Voilà, vous venez de créer la première version de votre premier OS en 32 bits, bravo ! Vous pouvez évidemment continuer à le développer, avec l’aide de plusieurs tutoriels qui vont arriver très bientôt ou de la documentation officielle du projet Cosmos.