[U-Boot-Users] about do_bootm_linux in cmd_bootm.c

i used u-boot to run kernel,and it only stoped at "starting kernel...",so i add some prinft command in cmd_bootm.c as follow:
do_bootm() { .... switch (hdr->ih_os) { default: /* handled by (original) Linux case */ case IH_OS_LINUX: #ifdef CONFIG_SILENT_CONSOLE fixup_silent_linux(); #endif printf("befor do_bootm_linux \n"); \added by myself do_bootm_linux (cmdtp, flag, argc, argv, addr, len_ptr, verify); printf("after do_bootm_linux \n"); \added by myself break; }
do_bootm_linux() {... void (*kernel)(bd_t *, ulong, ulong, ulong, ulong); printf("enter the do_bootm_linux \n"); image_header_t *hdr = &header;
}
but i run get as follow ......
befor do_bootm_linux
Starting kernel ...
so if it can not run to printf("enter the do_bootm_linux \n"), where it puts the "Starting kernel ..."
thanks for any hints
zzhhust

In message 50c9a225050704023652e17de1@mail.gmail.com you wrote:
i used u-boot to run kernel,and it only stoped at "starting kernel...",so i add some prinft command in cmd_bootm.c as follow:
As usual with messages that don't include any information about processor architecture, board name, U-Boot version or anything like that you should not expect a really useful reply.
do_bootm() { .... do_bootm_linux() {... void (*kernel)(bd_t *, ulong, ulong, ulong, ulong); printf("enter the do_bootm_linux \n"); image_header_t *hdr = &header;
...
but i run get as follow ...... befor do_bootm_linux
Starting kernel ...
so if it can not run to printf("enter the do_bootm_linux \n"), where it puts the "Starting kernel ..."
So you obviously modified the wrong code in the wrong source file. There are at leats 8 files which implement the do_bootm_linux() function, depending on which processor you are using.
Also note, that your problem has probably NOTHING to do with U-Boot at all. Read the FAQ.
Best regards,
Wolfgang Denk
participants (2)
-
Wolfgang Denk
-
zhuzhenhua