Se hace una construcción para cada compromiso.
Para descargar la última compilación, haga clic en la insignia de arriba, haga clic en la compilación más reciente y descargue el artefacto.
Construir usando Docker
Primero asegúrese de tener instalado Docker. Entonces:
- Clon the Repo
git clone https://github.com/mrgian/felix - Cambiar Dir a Repo
cd felix - Construya la imagen
docker build -t felix-image . - Ejecute el Container
docker run --name felix-container felix-image - Copie la compilación del contenedor al host
docker cp felix-container:/root/felix/build .
Construir sobre macOS/Linux
Asegúrese de tener rustup , mtools , dosfstools y fdisk instalados en su sistema, en cualquier caso, el script MakeFile intentará instalarlos para usted.
git clone https://github.com/mrgian/felix
cd felix
make all
Correr
La imagen de disco final es build/disk.img
O puede ejecutarlo en una computadora X86 real copiando la imagen de disco a una unidad USB usando este comando: sudo dd if=build/disk.img of=/dev/sdX status=progress y luego arrancando desde USB.
Progreso
- 22/10/22 - Inicio del proyecto
- 27/01/23 - Bootloader puede imprimir en la pantalla
- 31/01/23 : el gestor de arranque puede leer datos del disco a la memoria
- 01/02/23 - El cargador de arranque puede cargar el núcleo a la memoria
- 27/02/23 - Movido al ambiente de óxido utilizando el ensamblaje en línea
- 01/03/23 - Código de carga del núcleo reescrito en Rust
- 03/03/23 - Implementado Println Macro
- 20/03/23 - Cambie al modo protegido de 32 bits
- 29/03/23 - Manejador básico de excepciones de la CPU
- 30/03/23 - Conductor de pic
- 06/04/23 - Conductor de teclado
- 07/04/23 - Empiece a trabajar en Shell
- 08/08/23 - Conductor de disco ATA
- 09/04/23 - FAT FILE FILE System File Read
- 26/04/23 - Programador de CPU
- 13/05/23 - Llamada al sistema de impresión
- 13/05/23 - Println! Macro en la biblioteca estándar
- 30/06/23 - multitarea finalmente funcionando
Hoja de ruta
Se planean agregar las siguientes características tarde o temprano:
- paginación
- asignador de memoria
- Controlador de video VESA
- networking
- Controlador de disco SATA AHCI
- interfaz gráfica de usuario
Créditos
Este proyecto está completamente desarrollado por Gianmatteo Palmieri
Diseño de logotipo de Veronica Grana