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) |