- 论坛徽章:
- 0
|
现象:
2410 # go 30008000
## Starting application at 0x30008000 ...
Uncompressing Linux.............................................................
Error: unrecognized/unsupported machine ID (r1 = 0x31f07d30).
Available machine support:
ID (hex) NAME
000000c1 SMDK2410
Please check your kernel config and/or bootloader.
原因和解决办法:
产生的原因是go启动内核的话,u-boot不会传machiine ID给内核,因为go只是执行普通的应用程序,不考虑到传递参数给内核的问题,没有必要在乎它。如果只是想看看go能不能启动内核的话,修改方法有两个:
a、修改u-boot的common/cmd_boot.c的do_go()函数:
DECLARE_GLOBAL_DATA_PTR;
#if !defined(CONFIG_NIOS)
// add code
if(argc==2)
rc = ((ulong (*)(int, char *[]))addr) (0, gd->bd->bi_arch_number);
else
//end add code
rc = ((ulong (*)(int, char *[]))addr) (--argc, &argv[1]);
重新编译U-BOOT就可以用GO命令启动LINUX。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/72877/showart_1073275.html |
|