日期:2014-05-16  浏览次数:20702 次

s3c2410 linux2.6移植问题
好不容易编译了一个linux2.6.18的zImage,

用uboot的tftp 0x30008000下载到SDRAM中。之后,出现了问题,如下:

   
JX2410 # go 0x30008000  
## Starting application at 0x30008000 ...  
Uncompressing Linux.............................................................
   
Error: unrecognized/unsupported machine ID (r1 = 0x33f1ee88).  
   
Available machine support:  
   
ID (hex) NAME  
000000c1 SMDK2410  
   
Please check your kernel config and/or bootloader.  

google 百度一番后, 找到办法:
修改内核的arch/arm/kernel/head.S,直接将s3c2410的参数赋给内核。
70 __INIT
71 .type stext, %function
72 ENTRY(stext)
  /********* add here *********/
  mov r0, #0
  mov r1, #0xc1
  ldr r2, =0x30000100
  /********* end add *********/
 
重新make zImage,  
复制到/tftpboot/ ,
下载, tftp 0x30008000 zImage,
go 0x30008000出现问题:  

JX2410 # go 0x30008000  
## Starting application at 0x30008000 ...  
Uncompressing Linux............................................................

串口再接收不到任何信息了, 不知道出什么问题,  
希望各位前辈指点。谢!  


------解决方案--------------------
用go 0x30008000好像不好使,用bootm 0x30008000
------解决方案--------------------
也准备学习楼主的问题..顶下
------解决方案--------------------
将加载参数中改console=/ttySC0试试
------解决方案--------------------
console=ttySCA0,linux2.6 中串口名改了
------解决方案--------------------
go只能对付bin格式的文件,zImage是带文件头的,可能还需要解压,只能使用bootm
------解决方案--------------------
等待牛人来答.