2012-02-10 4 views
8

Estoy aprendiendo NASM mientras escribo bootloaders. Hasta ahora tengo un gestor de arranque hello world. Quiero saber cómo vincular un programa c con él y hacer que el gestor de arranque lo cargue en la memoria y comience a ejecutar su función de punto de entrada. Necesito el código NASM ya que soy NASM n00b. Muchas gracias por su ayuda.¿Cómo escribiría un gestor de arranque para cargar un kernel c?

EDITAR: Básicamente, necesito saber cómo vincular el programa c y necesito el código NASM para saber si es la función de punto de entrada. ¿Algún problema que deba saber?

+0

¿Ha probado nada hasta ahora? ¿Qué problemas tuviste? –

+0

No. Simplemente no sé cómo vincularlo y cargarlo. Google no ayudó. – user701329

Respuesta

6

Aunque this tutorial es para C++, es exactamente el mismo procedimiento (el tutorial enumera las partes que son específicas de C++, que son solo las ctors estáticas & dtors).

, cuando cada vez que su están teniendo problemas en esta área, osdev.org tiene generalmente la respuesta o un tutorial

+0

Gracias es justo lo que necesitaba. – user701329

2

hay un montón de trampas sobre el arranque de un núcleo:

Aquí es un buen recurso http://linuxgazette.net/issue77/krishnakumar.html

que debe empezar.

+0

Ese es un programa c para copiar un gestor de arranque en un disquete. Necesito un gestor de arranque para iniciar un kernel. Utilicé dd para copiar mi gestor de arranque. – user701329

+0

justo lo suficiente :) creo que tienes la respuesta anterior –

+0

, en realidad, si la lees toda tiene un cargador de arranque –

Cuestiones relacionadas