嵌入式开发三:mini2440开发-内核抑制-嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之内核

http://blogold.chinaunix.net/u3/101649/showart.php?id=2073912

 

按以上步骤得出结论如下:

Copy linux kernel from 0x00060000 to 0x30008000, size = 0x00500000 ... done
zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux command line is: "noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySA
C0"
MACH_TYPE = 1999
NOW, Booting Linux......
Uncompressing Linux.............................................................
................................................................. done, booting
the kernel.

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

Available machine support:

ID (hex) NAME
000000c1 SMDK2410
000005d2 JIVE
0000030e SMDK2440

Please check your kernel config and/or bootloader.

 

解决办法:

vim arch/arm/mach-s3c2440/mach-smdk2440.c
在最后一段有这句 MACHINE_START(S3C2440 , "SMDK2440")
这里S3C2440就是machine ID的代号~ 呢具体值是多少呢?~
在arch/arm/tools/mach-types中
s3c2440 ARCH_S3C2440 S3C2440 362
原来我们的machine ID是362~
呢bootloader传递进来的值是多少呢?~
Error: unrecognized/unsupported machine ID (r1 = 0x000007cf).
注意到没有?~ 0x7CF转换成10进制也就是1999
修改mach-types中的对应项
s3c2440 ARCH_S3C2440 S3C2440 1999
虽然这样就和下面MINI2440的1999冲突了,但是只要不加入MINI2440的配置就没事

修改后编译,再执行zImage后得下列输出

zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux command line is: "noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0"
MACH_TYPE = 1999
NOW, Booting Linux......
Uncompressing Linux........................................................................................................ done, booting the kernel.

 

你可能感兴趣的:(嵌入式开发三:mini2440开发-内核抑制-嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之内核)