我是新手请请教
在at91rm9200上使用u-boot-1.1.4加载linux-2.6.17问题
现在的问题:
1:u-boot不能自动加载内核,必须在u-boot的命令提示符下自己输入装载命令bootm 10080000
我的U-BOOT1.1.4和内核2.6.12都已经编译并下载到板子上,但是却不能自动引导内核,板子上电后会直接进入到u-boot命令提示符,连 Hit any key to stop autoboot的信息都没有打印,我在命令行直接输入启动运行命令(bootm 10080000)倒是可以启动
应该哪个文件中的是启动命令有问题吧, 大概是什么源文件呢
以下是打印:
Boot BOOT 1.0 (Mar 30 2006 - 23:09:38)
Uncompressing image...
U-Boot 1.1.4 (Oct 23 2007 - 17:27:08)
U-Boot code: 21F00000 -> 21F165C0 BSS: -> 21F33404
RAM Configuration:
Bank #0: 20000000 32 MB
Intel MILANGAGA28F128J3A (128Mbit) 16-Bit
Size: 16 MB in 128 Sectors
Flash: 16 MB
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial [color=#FF0000]//直接跳转到下面的命令提示符
U-Boot> [color=#FF0000]//这里可以输入bootm 100800000后运行内核
2:使用别人比编译好的u-boot无上述问题,但是我自己编译的内核又启动不起来,论坛里也有关于zImage 到uImage的转换,我用下面两条命令编译出来的uImage 都不能正常加载
/u-boot-1.1.1/tools/mkimage -A arm -O linux -C gzip -a 0x20008000 -e 0x20008000 -d linux.bin.gz uImage
/u-boot-1.1.1/tools/mkimage -A arm -O linux -C gzip -a 0x20008000 -e 0x20008040 -d linux.bin.gz uImage
前者是在打印Starting kernel ...后就永远的停住了
后者编译的内核在加载时到了Starting kernel ...应该在执行bootm 1008040命令,估计是找不到适合的入口程序,所以一直重复解压uImage的过程,然后又Starting kernel ..., 不行又重来。。。。。。
======================================================================
[color=#FF0000]// 烧入 -e 0x20008000 -d linux.bin.gz uImage 命令生成的uImage后的打印
U-Boot 1.1.2 (Mar 31 2006 - 00:29:24)#
U-Boot code: 21F00000 -> 21F1872C BSS: -> 21F1CA6C
RAM Configuration:
Bank #0: 20000000 32 MB
Intel 28F128J3A (128Mbit) 16-Bit
Size: 16 MB in 128 Sectors
Flash: 16 MB
NAND: 64 MB
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
## Booting image at 10080000 ...
Image Name:
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 1215034 Bytes = 1.2 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Starting kernel ...
======================================================================
而 烧入 -e 0x20008040 -d linux.bin.gz uImage 命令生成的uImage后的打印和上面内似,只是它不停止,而是反复上面的过程
0x200080400x20008000烧入 -e 0x20008000 -d linux.bin.gz uImage 命令生成的uImage后的打印