求助,u-boot无法引导Linux内核(S3C2410)
问题如下:
S3C2410的板子,64MB的SDRAM,64MB的Nand Flash
SDRAM地址为0x30000000~0x34000000
u-boot 1.1.4已经移植到板子上,可以正确读写/擦除Nand Flash,可以从Nand Flash启动,网络功能正常,可以使用tftp下载文件。
现有一个2.4.18-rmk7的ARM Linux内核,这个内核是买板子的时候厂家随板子给的,可以正常使用,文件系统也是用厂家给的,是一个11MB大小的cramfs。
u-boot的启动信息如下:
U-Boot 1.1.4 (Feb 7 2007 - 17:17:52)
U-Boot code: 33F80000 -> 33F9C0A4 BSS: -> 33FA018C
RAM Configuration:
Bank #0: 30000000 64 MB
Flash: 512 kB
NAND: 64 MB
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
PY2410 #
然后我用tftp下载zImage内核镜像到板子上的0x30008000处,执行go 0x30008000后,串口输出如下:
PY2410 # go 0x30008000
## Starting application at 0x30008000 ...
Uncompressing Linux............................................................... done, booting the kernel.
Error: a
然后就停在这里不动了,只能reset板子
于是我又使用u-boot的mkimage工具做了一个uimage:
#mkimage -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008000 \
> -n 'linux-2.4' -d zImage zImage.img
把生成的zImage下载到板子上的0x33000000处,用bootm 0x33000000执行,输出如下:
PY2410 # bootm 0x33000000
## Booting image at 33000000 ...
Image Name: linux-2.4
Created: 2007-02-07 9:21:31 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 882012 Bytes = 861.3 kB
Load Address: 30008000
Entry Point: 30008000
Verifying Checksum ... OK
OK
Starting kernel ...
Uncompressing Linux............................................................... done, booting the kernel.
同样是解压缩之后就没反应了。
内核启动参数是:
bootargs= root=/dev/mtdblock2 load_ramdisk=0 init=/linuxrc console=ttyS0 mem=64M devfs=mount
这个参数是从厂家给的bootloader上抄下来的
另外加载内核的之前设置了r0=0, r1=193,中断全关,mmu也关了,但不知道怎么回事内核就是起不来。我用nand read命令把板子上的zImage读到SDRAM中运行,也是一样不行。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题解决了,自己写了一段引导代码,没用u-boot的bootm和go命令。
不过对u-boot如何引导Linux的还是不太清楚,继续努力中