Un sistema operativo simple de pasatiempo para la arquitectura x86_64, escrita en C.
El diseño está fuertemente influenciado por el núcleo Linux, y como tal puede encontrar muchas similitudes entre los dos.
Este repositorio tiene licencia bajo el GPLV3. Vea LICENSE.md para más detalles.
Escribí la mayor parte del código aquí cuando tenía 16-17 años y no sabía mejor. Hay algunas partes (principalmente los bits que involucran atómica) de las que no estoy particularmente orgulloso, así que copie a su propio peligro. Si encuentra un problema, no dude en abrir un problema o enviar un PR.
Necesitarás:
binutils de GNU para x86_64-elfgcc para x86_64-elf con Capacidades -mno-red-zone y C11 (Instrucciones) Luego, para construir byteos.iso , simplemente ejecute:
makeNecesitará (además de las dependencias anteriores):
x86_64Entonces, para correr en Qemu:
make run La depuración requiere una versión especialmente parcheada de GDB para la interoperabilidad con QEMU. Una vez que haya instalado esto, simplemente ejecute el Target de debug .
Primero ejecute el objetivo update-modules para descargar los archivos necesarios. Entonces, simplemente ejecute make test .
Vea Makefile para más detalles.
Siéntase libre de abrir un problema si tiene alguna pregunta/inquietud o una solicitud de extracción si desea contribuir con algún código.
Un agradecimiento especial a NO92 por limpiar enormemente el sistema de compilación.