Les cuento, estoy reescribiendo el kernel que programe hace un tiempo para hacerlo mas legible, pero me encontre con un gran problema recien empezando. Bueno, las funciones mas basicas como el printk y el scanf (que en realidad se parece mas a un getchar) las tome tal cual del codigo que ya tenia y ahora me dan problemas... pero no en compilacion ni en tiempo de ejecucion, sino que simplemente no se ejecuta. El trabajo anterior lo cargaba con GRUB Legacy, pero ahora lo hago con GRUB2, y pues he aislado el problema.
Lo mas extraño es que al parecer, el problema esta en la longitud del switch que hago para traducir scancodes en chars. Esto lo digo porque no importa el orden que tome, ni los cases que comente, el resultado siempre es el mismo. La funcion funciona (valga la redundancia) hasta que supera los 7 u 8 cases (sin importar cual sea) y probe hacerlo con un if...else y pues lo mismo, supera los 7 u 8 y no lo carga.
El error que me da Grub2 es:
Código:
error: no multiboot header found
error: no loaded kernel
He buscado muchisima informacion, he revisado mas de 10 paginas en google y muchas mas en Bing y he probado miles de cosas y nada Espero alguien sepa algo o tenga alguna idea de que puede estar sucediendo.
El codigo de la funcion lo dejo en pastebin porque es muy largo.
http://pastebin.com/7aB0Njcd
Gracias por adelantado y saludos a todos.