HN révèle : mon OS hobby écrit maison tourne enfin sur un IBM ThinkPad vintage
(github.com/joexbayer)- RetrOS-32 est un projet de système d’exploitation hobby 32 bits basé sur l’architecture i386
- Il propose des fonctions graphiques, multitâches et réseau, et a aussi été testé sur du matériel réel
- Il est écrit en C, C++ et assembleur, et prend en charge la compilation multiplateforme via Docker
- Il permet de construire un système utilisateur, l’exécuter en émulation QEMU et de démarrer sur machine physique
- Le projet dispose de fonctions noyau avancées et d’une pile réseau, avec des ajouts de fonctionnalités en continu
Présentation du projet RetrOS-32bit
- Projet de développement d’un système d’exploitation hobby 32 bits basé sur l’architecture i386
- Prend en charge un environnement graphique, le multitâche et les fonctions réseau
- Début du projet : 12 mai 2022
Informations de connexion par défaut
- Comptes utilisateur par défaut : system, admin, guest
- Le mot de passe de
adminestadmin,guestn’a pas de mot de passe - Il est possible de créer un nouvel utilisateur avec la commande
admin create <nom_utilisateur> <mot_de_passe>
Principaux langages et outils de développement
- C, Assembly : noyau, utilitaires, système de build
- C++ : applications en espace utilisateur
- Make : automatisation du build
- Docker : fournit un environnement de compilation multiplateforme
Matériel testé
- Lenovo x240
- Asus Eee PC series
- Dell Optiplex 780
- Samsung N150 Plus
- Samsung NP-NC10
- IBM Thinkpad a21p
Démarrage (Getting Started)
Outils nécessaires (Prerequisites)
- Docker : compilation multiplateforme
- QEMU : émulation de machine virtuelle
- Environnement Linux/WSL :
build-essential,gcc-multilib,grub2,xorriso,xxd - MacOS : utilisation de Docker nécessaire (limitations de build x86 32 bits)
Méthode d’installation (Installation)
- Cloner le dépôt Git
- Initialiser les sous-modules Git
- Générer le fichier image avec les commandes
make compile,make img - Lancer l’émulateur QEMU avec la commande
make qemu
Sur MacOS et Windows, l’usage de Docker est recommandé
Utilisation (Usage)
- Envoyer le fichier
.imgsur le site copy.sh v86 pour l’exécuter - Exécution directe possible avec QEMU :
make qemuouqemu-system-i386 <nom_image> - Sur machine physique, il est possible de graver l’ISO basé sur GRUB sur USB/CD pour démarrer
Structure du projet (résumé rapide)
apps: applications en espace utilisateurbin: fichiers binairesboot: sources du bootloaderdrivers: pilotes du noyaufs: code du système de fichiersgraphics: code de traitement graphiqueinclude: fichiers d’en-têtekernel: sources principales du noyaulib: bibliothèquesnet: code réseaurootfs: système de fichiers racinetests: code de testtools: outils de build et utilitaires
Feuille de route de développement (Roadmap)
- Bootloader personnalisé et démarrage compatible GRUB terminés
- Planification préemptive multithread et séparation noyau/espace utilisateur implémentées
- Pile réseau : Ethernet, IP, ARP, UDP, TCP, DHCP, DNS terminés
- Système graphique : gestionnaire de fenêtres, widgets, rendu en double framebuffer implémentés
- Système de fichiers : similaire à Ext2, prise en charge de FAT16, lecture/écriture possible
- Plan futur : ajout de la prise en charge de serveur web, FTP, IRC, SSH, Telnet, HTTP, HTML
1 commentaires
Commentaires Hacker News