Al final, me retrasé un día en publicar este amago de kernel. Como ya dije utiliza Grub como bootloader y carga un pequeño kernel en C.
Utilicé como tutorial:
http://www.osdever.net/bkerndev/Docs/basickernel.htmMe ayudó muchísimo y conseguí crear una ISO booteable que mostrara esto:
Lamentablemente, solo se puede compilar desde GNU/Linux aunque el manual está hecho para Windows no fui capaz de compilarlo en Windows: ¡me falla el linker!
Mi idea era tener 2 scripts: 1 .bat y un .sh y poder compilarlo tanto en Windows como en GNU/Linux.
Nitro OS no es el nombre definitivo del kernel
, fue una tontería que se me ocurrió. La imagen está tomada desde mi netbook con Ubuntu netbook 10.10, mientras tenía manuales abiertos en mi pc Windows
/*
* Nitro OS kernel
*
*/
#include "inc/types.h"
#include "inc/video.h"
void NitroOS (ULONG magic, ULONG addr)
{
InitVgaMode();
WriteLine("Kernel name: Nitro OS\n");
WriteLine("Prueba de un Kernel cargado desde Grub para elhacker.net\n\n");
WriteLine("Fdo: Khronos\n");
for (;;);
}
Aquí os dejo todo el código fuente, con la ISO ya lista por si queréis probarla.
http://www.multiupload.com/E12IIORG3KCreo que lo mejor es que se cree un repositorio para ir subiendo nuestros aportes, porque andar subiéndolo a un servidor de descargas es un coñazo para todos. También, si alguien es capaz de compilarlo desde Windows, se agradecería mucho su aporte.
Saludos.
Hola:
En el código hubieras puesto el WriteLine de una vez.
/*
* Nitro OS kernel
*
*/
#include "inc/types.h"
#include "inc/video.h"
void NitroOS (ULONG magic, ULONG addr)
{
InitVgaMode();
WriteLine("Kernel name: Nitro OS\n" +
"Prueba de un Kernel cargado desde Grub para elhacker.net\n\n" +
"Fdo: Khronos\n");
for (;;);
}