Installation
Compilation
Voici la configuration avec laquelle je compile XOS :
- Système d'exploitation (
uname -srmo
) : Linux 2.6.18.2 i686 GNU/Linux - Compilateur (
gcc --version
) : gcc (Debian 4.3.2-1) 4.3.2 - Editeur de liens (
ld --version
) : GNU ld (GNU Binutils for Debian) 2.18.0.20080103 - Assembleur (
nasm -v
) : NASM version 0.98.38 compiled on May 17 2005 - Programme d'amorçage (
grub --version
) : grub (GNU GRUB 0.97)
Télécharger l'archive compressée xos.tar.gz contenant le code source sur la page des téléchargements.
Extraire les fichiers de l'archive compressée :
~/dev> tar xzf xos.tar.gz
Compiler :
~/dev> cd xos ~/dev/xos> make
La commande précédente génère plusieurs fichiers :
- boot.bin
- Secteur d'amorçage (512 o)
- setup.bin
- Initialisation du système
- startup.bin
- Décompression et exécution du noyau
- xos
- Noyau
- usr.img
- Programmes utilisateurs
- fd.img
- Image de disquette (1,44 Mo)
Il est possible d'ajouter des fichiers dans l'image de disquette en les plaçant dans un répertoire floppy. La commande make rebuild
permet ensuite de reconstruire l'image de disquette sans recompiler :
~/dev/xos> mkdir floppy ~/dev/xos> cp ~/petitprince.txt floppy ~/dev/xos> make rebuild
Exécution
Avec l'émulateur bochs
Bochs est un émulateur de PC IA-32 (x86) Open Source puissant. On peut émuler l'exécution de XOS avec bochs, évitant ainsi de redémarrer l'ordinateur.
Bochs peut être configuré à l'aide d'un fichier de configuration .bochsrc placé dans le répertoire courant. Voici un exemple de .bochsrc pour bochs 2.3 avec lequel on peut exécuter XOS.
Une fois le fichier de configuration .bochsrc créé, lancer bochs avec la commande suivante :
~/dev/xos> bochs
Une fenêtre s'ouvre, représentant l'écran de l'ordinateur virtuel. XOS démarre, s'initialise et affiche l'invite de commande :
Sur une machine réelle, à partir d'une disquette
L'exécution de XOS sur une machine réelle est sans risque, d'autant plus que XOS ne touche pas au disque dur. Il faut néanmoins que l'ordinateur soit équipé d'un lecteur de disquettes, ce qui est devenu moins courant de nos jours.
Insérer une disquette dans le lecteur et écrire l'image de disquette XOS sur la disquette :
~/dev/xos> make floppy dd if=fd.img of=/dev/fd0 2880+0 enregistrements lus 2880+0 enregistrements écrits 1474560 bytes (1,5 MB) copied, 101,545 s, 14,5 kB/s sync
La disquette est formatée dans le système de fichiers FAT et peut donc être montée de façon classique pour accéder aux fichiers ou en déposer de nouveaux :
~/dev/xos> mount -t vfat /dev/fd0 /floppy ~/dev/xos> ls /floppy petitprince.txt
Redémarrer l'ordinateur et demander au BIOS d'amorçer sur la disquette : XOS démarre, s'initialise et affiche l'invite de commande.
Pour redémarrer l'ordinateur tournant sous XOS, il y a plusieurs façons :
- exécuter la commande
reboot
; - appuyer simultanément sur les touches Ctrl+Alt+Suppr ;
- quitter l'interpréteur de commande principal avec la commande
exit
; - quitter l'interpréteur de commande principal avec la combinaison de touches Ctrl+D.
Ne pas oublier de retirer la disquette pour démarrer à nouveau sur le disque dur !
Sur une machine réelle, avec GRUB
XOS peut aussi être démarré à l'aide d'un programme d'amorçage Multiboot, comme GRUB. Dans ce cas il n'est pas nécessaire que l'ordinateur dispose d'un lecteur de disquettes.
Pour pouvoir démarrer XOS avec GRUB, il suffit de rajouter une entrée dans le fichier de configuration de GRUB en indiquant le chemin d'accès vers l'exécutable de XOS. Voici par exemple l'entrée que j'ai rajoutée dans mon menu.lst :
title XOS root (hd0,5) kernel /boot/xos