Ethereal
Un système d'exploitation tout-en-un personnalisé, conçu pour la rapidité, la conservation de la mémoire et la fiabilité.\ Anciennement connu sous le nom de reduceOS
Qu'est-ce qu'Ethereal ?
Ethereal est un projet ayant pour objectif de créer un système d'exploitation entièrement fonctionnel à partir de zéro avec tous les composants qu'un OS moderne posséderait.
Actuellement, le projet développe ses étapes en mode utilisateur.
Captures d'écran
\
Environnement de bureau moderne en 1080p
\
Ancien environnement principal de bureau d'Ethereal avec DOOM
\
Ethereal démarrant en mode débogage
\
Ethereal sur le chat Libera (#ethereal)
\
Ethereal exécutant DOOM
\
Ethereal exécutant un clone de neofetch fait pour lui (whatarewe)
Fonctionnalités
- Noyau complet avec prise en charge SMP
- Gestionnaire de fenêtres personnalisé (Celestial)
- Support USB pour les contrôleurs UHCI/EHCI/xHCI
- Support AHCI/IDE
- Pile réseau avec pilotes de carte réseau E1000 et RTL8139
- Ordonnanceur round-robin basé sur les priorités avec une API bien testée
- Support pour la bibliothèque C
mlibcet sa grande variété de fonctions - Support complet ACPI avec la bibliothèque ACPICA (avec en secours la bibliothèque MinACPI qui ne fait pas d’analyse AML)
Structure du projet
base: Contient le système de fichiers de base. Les fichiers dansbase/initrdvont dans le ramdisk initial (pour les démarrages non LiveCD) et les fichiers dansbase/sysrootvont dans le sysroot.buildscripts: Contient les scripts de construction pour le système de buildconf: Contient divers fichiers de configuration, tels que les fichiers d’architecture, les configs GRUB, fichiers de démarrage supplémentaires, etc.drivers: Pilotes pour Hexahedron, copiés selon leur configuration.external: Contient des projets externes, comme ACPICA. Voir Composants Externes.hexahedron: Le projet principal du noyaulibkstructures: Contient diverses structures noyau, comme listes/cartes de hachage/analyseurs/quoi que ce soitlibc: Contient mlibc
Compilation
Avis ACPICA
Si vous utilisez ACPICA (activé par défaut), vous devez télécharger l’archive depuis ici et l’extraire dans external/acpica/acpica-src
Sinon, vous pouvez modifier conf/build/ et régler USE_ACPICA à 0.
Compilation
Pour compiler Ethereal, vous aurez besoin d’une chaîne d’outils Ethereal pour votre architecture cible.\ La chaîne d’outils Ethereal se trouve sur le dépôt
Autres paquets requis : grub-common, xorriso, qemu-system, meson, ninja
Modifiez buildscripts/build-arch.sh pour changer l’architecture cible de compilation. \
L’exécution de make all construira une ISO dans build-output/ethereal.iso
Actuellement, l’absence de pilotes systèmes de fichiers dans Ethereal signifie que les démarrages LiveCD sont généralement la meilleure option.\ Le ramdisk initial dans un LiveCD est le sysroot, et si l’OS détecte le démarrage, il copiera le ramdisk initial en RAM.
Arguments du noyau
Souvent, Ethereal ne parvient pas à se charger. C’est prévu. Veuillez ouvrir un ticket GitHub.
Vous pouvez résoudre certains problèmes en utilisant 'e' pour ouvrir une configuration GRUB et en ajoutant quelques arguments du noyau à la fin de l’entrée multiboot.\
Voici une petite liste :
--debug=: Les options sontconsoleetnone. Siconsole, redirige la sortie de débogage du noyau vers l'écran. Utile pour le débogage--noload=: Liste séparée par des virgules des pilotes (.sys) à ne pas charger. Pilotes problématiques : usb_xhci.sys, ahci.sys, ps2.sys (si vous ne supportez pas PS/2),--no-acpica: Désactive la bibliothèque ACPICA et revient à l’implémentation MinACPI. Utile uniquement dans des cas extrêmes.--no-acpi: Désactive toutes les implémentations ACPI. Désactive également le SMP.--disable-smp: Active ACPI, mais désactive le SMP--disable-cow: Désactive le copy-on-write. Non recommandé, mais peut être utile dans des cas extrêmes.--no-psf-font: Ne pas charger la police PSF depuis l’initrd
Composants externes
Certains composants externes sont disponibles dansexternal, libc et d’autres parties du noyau. Voici une liste d’entre eux et leurs versions :
- ACPICA UNIX* (Licence Intel) : Version 20240927 disponible ici
- bibliothèque math libmusl (Licence MIT) : disponible ici
- freetype (Licence GPL) : disponible ici
- mlibc (Licence MIT) : Fork Ethereal disponible ici
- tinf (Licence zlib) : disponible ici
- json-parser (Licence BSD 2-clause) : disponible ici
- PlutoSVG (Licence MIT) : disponible ici
Crédits
Une grande partie de la conception d’Ethereal s’est inspirée de ToaruOS par klange – merci !
La conception du gestionnaire de mémoire virtuelle d’Ethereal et d’autres parties s’est inspirée de Astral par @mathewnd
Du code d’Astral a également été utilisé, crédité lorsque cela est approprié. Un fichier de licence est inclus dans external/.
Le logo Ethereal et le thème Mercury ont été conçus par l’artiste ArtsySquid
Licence
Hexahedron et tous les autres composants non externes d’Ethereal sont soumis aux termes de la licence BSD 3-clause (disponible dans LICENSE).\ Tous les fichiers, sauf indication contraire dans l’en-tête de copyright, sont soumis à cette licence. Tout fichier sans en-tête de copyright n’est PAS protégé par la BSD 3-clause.
PROBLÈMES DE LICENCE : Si un fichier est trouvé sans commentaire approprié, contactez-moi immédiatement (de préférence via un canal public tel que les issues GitHub pour plus de transparence) directement afin de résoudre cela.
L’objectif d’Ethereal n’a JAMAIS été de prendre du code, mais cela s’est produit dans le passé. Veuillez me contacter ! --- Tranlated By Open Ai Tx | Last indexed: 2026-05-23 ---