Chinaunix首页 | 论坛 | 博客
  • 博客访问: 276579
  • 博文数量: 74
  • 博客积分: 1336
  • 博客等级: 中尉
  • 技术积分: 1057
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-02 09:33
文章分类

全部博文(74)

文章存档

2016年(6)

2015年(4)

2014年(20)

2013年(8)

2012年(16)

2010年(9)

2009年(11)

我的朋友

分类: Android平台

2013-11-29 14:06:27

uboot问题:uboot引导kernel时出现machine id不匹配的问题
-------------------------------------------------------------
Starting kernel ...

machid:0x65a,gd:57cdffe0,bd57cdffc4
Uncompressing Linux... done, booting the kernel.

Error: unrecognized/unsupported machine ID (r1 = 0x0000065a).

Available machine support:

ID (hex) NAME
000009d8 MINI6410

Please check your kernel config and/or bootloader.
-------------------------------------------------------------
解决方法:要让uboot传给kernel的machine id与kernel中的id相匹配;
第一种:修改uboot源码:
修改 board/samsung/xwr6410/xwr6410.c 文件:
--> gd->bd->bi_arch_number = MACH_TYPE_SMDK6410;
--> if(gd->bd->bi_arch_number!=MACH_TYPE_SMDK6410)
--> 将SMDK6410改成MINI6410;达到与kernel中的machine id一致;

查看定义的machine id:
arch/arm/include/asm/mach-types.h


第二种:修改kernel源码:
在linux内核(./arch/arm/mach-s3c2440/mach-smdk2440.c)中,代码是这样:
MACHINE_START(SMDK2440, "SMDK2440"

或者
修改 arch/arm/tools/mach-types 
修改里面的id号码;达到与uboot传出的machine id一致
阅读(2221) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~