Un simple système d'exploitation x86 écrit en C.
Le noyau est chargé par grub2. La configuration de démarrage est située dans rootfs/boot/grub/grub.cfg .
Le noyau est chargé par GRUB2 en utilisant le protocole Multiboot 2. Le noyau est chargé à 0x100000 et est chargé en mode 32 bits.
Le noyau analyse le MBR et trouve sa propre partition. Il ne prend pas en charge les partitions étendues. Ensuite, il configure le système de fichiers et le monte.
Le noyau soutient FAT12 et FAT16. Il peut lire des fichiers et des répertoires. Le noyau ne peut pas écrire à FAT12 / 16.
Le noyau prend en charge EXT2. Il peut lire des fichiers et des répertoires. Le noyau ne peut pas écrire à ext2.
Le noyau prend en charge les systèmes via l'instruction int 0x80 . Actuellement, les systèmes suivants sont pris en charge:
sys_writesys_readsys_opensys_closesys_statsys_getpidsys_forksys_execvesys_exitLe noyau peut analyser les fichiers ELF et les exécuter. Il peut également charger des symboles de débogage de lui-même.
Actuellement, le noyau est construit comme un seul binaire. À l'avenir, il sera divisé en modules. Le noyau chargera les modules du système de fichiers.
Le noyau prend en charge la série Intel 82540EM de cartes réseau. Il peut envoyer et recevoir des paquets. Les protocoles suivants sont pris en charge:
Le noyau est construit au-dessus d'une libc primitive. Il est situé dans kernel/libc . Il existe également un system/libc qui est utilisé par les programmes d'espace utilisateur et à l'avenir générera une bibliothèque partagée.