免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1060 | 回复: 0
打印 上一主题 下一主题

U-BOOT 引导LINUX 2.6 ID不匹配 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-04 16:52 |只看该作者 |倒序浏览

现象:
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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP