(Probable Lubomir is subscribed but just in case sending the mail to him, he made originally the Wiki page and is hosting the patch.)
I just tried that GRUB in qemu debugging with GDB stuff. The Stuff on that Wiki page is a bit outdated. I'm not that familiar with such things but maybe I can try to fix this myself. Attached is the grub2-gdb.diff updated to current SVN version. I don't have any webspace to host it. I have compiled grub2 with CFLAGS="-g3 -O0" gdb shows: GNU gdb 6.8-debian [copyright stuff] This GDB was configured as "x86_64-linux-gnu". 0x00008c1e in grub_console_getkey () Function "grub_dl_add" not defined. /home/fz/grub/grub2.svn/.gdbinit:78: Error in sourced command file: No breakpoint number 0. (gdb) bt #0 0x00008c1e in grub_console_getkey () #1 0x81400006 in ?? () #2 0x02060000 in ?? () #3 0xff0080ff in ?? () #4 0x00000000 in ?? ()
Index: kern/main.c =================================================================== --- kern/main.c (Revision 1742) +++ kern/main.c (Arbeitskopie) @@ -106,6 +106,9 @@ grub_print_error (); } +void +main (void) __attribute__ ((alias("grub_main"))); + /* The main routine. */ void grub_main (void) Index: genmk.rb =================================================================== --- genmk.rb (Revision 1742) +++ genmk.rb (Arbeitskopie) @@ -101,10 +101,11 @@ mod_obj = mod_src.suffix('o') defsym = 'def-' + @name.suffix('lst') undsym = 'und-' + @name.suffix('lst') + exec = @name.suffix('elf') mod_name = File.basename(@name, '.mod') symbolic_name = mod_name.sub(/\.[^\.]*$/, '') - "CLEANFILES += [EMAIL PROTECTED] #{mod_obj} #{mod_src} #{pre_obj} #{objs_str} #{undsym} + "CLEANFILES += [EMAIL PROTECTED] #{mod_obj} #{mod_src} #{pre_obj} #{objs_str} #{undsym} #{exec} ifneq ($(#{prefix}_EXPORTS),no) CLEANFILES += #{defsym} DEFSYMFILES += #{defsym} @@ -112,11 +113,14 @@ MOSTLYCLEANFILES += #{deps_str} UNDSYMFILES += #{undsym} [EMAIL PROTECTED]: #{pre_obj} #{mod_obj} $(TARGET_OBJ2ELF) [EMAIL PROTECTED]: #{exec} -rm -f $@ + $(OBJCOPY) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $^ $@ + +#{exec}: #{pre_obj} #{mod_obj} $(TARGET_OBJ2ELF) + -rm -f $@ $(TARGET_CC) $(#{prefix}_LDFLAGS) $(TARGET_LDFLAGS) $(MODULE_LDFLAGS) -Wl,-r,-d -o $@ #{pre_obj} #{mod_obj} if test ! -z $(TARGET_OBJ2ELF); then ./$(TARGET_OBJ2ELF) $@ || (rm -f $@; exit 1); fi - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -K _grub_mod_init -K _grub_mod_fini -R .note -R .comment $@ #{pre_obj}: $(#{prefix}_DEPENDENCIES) #{objs_str} -rm -f $@
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel