Un kernel minimalista experimental escrito en Rust basado en el tutorial Writing an OS in Rust.
Este proyecto es un kernel básico desarrollado en Rust sin dependencia de la biblioteca estándar (no_std), diseñado para ejecutarse directamente en hardware sin un sistema operativo subyacente. Actualmente muestra un mensaje "JKernel Started" con un borde animado en la pantalla.
- Rust (última versión estable)
- cargo
- QEMU (para emular el kernel)
rustup component add llvm-tools-preview
(para la herramienta bootimage)cargo install bootimage
(para crear la imagen de arranque)
cargo build
cargo bootimage
qemu-system-x86_64 -drive format=raw,file=target/x86_64-jack_os/debug/bootimage-jkernel.bin
cargo run
Esto automáticamente compila el kernel, crea la imagen de arranque y la ejecuta en QEMU.
Para ejecutar en hardware real, puedes transferir la imagen a una memoria USB:
dd if=target/x86_64-jack_os/debug/bootimage-jkernel.bin of=/dev/sdX && sync
¡ADVERTENCIA! Reemplaza /dev/sdX
con la ruta correcta a tu dispositivo USB. Todo el contenido del dispositivo será sobrescrito.
- Binario autónomo sin dependencia de la biblioteca estándar
- Implementación personalizada del manejador de pánico
- Punto de entrada personalizado (_start)
- Animación de colores en el texto VGA
- Sin desenrollado de pila en caso de pánico
Este proyecto está basado en la serie de blog Writing an OS in Rust por Philipp Oppermann.
Este proyecto está licenciado bajo la GNU General Public License v3.0 (GPLv3) - vea el archivo LICENSE para más detalles.
GPLv3: Las libertades del software libre necesitan ser protegidas. La GPLv3 permite:
- Usar el software para cualquier propósito
- Modificar el software según sus necesidades
- Compartir el software con sus amigos y vecinos
- Compartir los cambios que realice