请教:U-BOOT引导内核问题,急!
我使用命令生成U-BOOT执行内核zImage.imgmkimage -n 'zImage' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008000 -d zImage zImage.img
下载后开机运行:
U-Boot 1.1.4 (Feb1 2007 - 21:34:29)
U-Boot code: 33F80000 -> 33F9C3C0BSS: -> 33FA04A8
RAM Configuration:
Bank #0: 30000000 64 MB
Flash:2 MB
NAND:64 MB/n*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot:0
NAND read: device 0 offset 1048576, size 3145728 ...3145728 bytes read: OK
## Booting image at 30008000 ...
Image Name: uImage
Created: 2007-02-03 8:57:21 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 957924 Bytes = 935.5 kB
Load Address: 30008000
Entry Point:30008000
Verifying Checksum ... OK
XIP Kernel Image ... OK
Starting kernel ...
data abort
pc : [<30008008>] lr : [<33f95c10>]
sp : 33f07c64ip : 33f07c54fp : 33f07c98
r10: 33f07d0cr9 : 00000001r8 : 33f4ffdc
r7 : 33f9f2e4r6 : 30008000r5 : 00000000r4 : 00000000
r3 : 30008000r2 : 30000100r1 : 000000c1r0 : 00000000
Flags: nZCvIRQs offFIQs offMode SVC_32
Resetting CPU ...
U-Boot 1.1.4 (Feb1 2007 - 21:34:29)
U-Boot code: 33F80000 -> 33F9C3C0BSS: -> 33FA04A8
RAM Configuration:
Bank #0: 30000000 64 MB
Flash:2 MB
NAND:64 MB/n*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot:0
crne2410 #>
然后在运行
crne2410 #>go 0x30008040
crne2410 #> go 0x30008040
## Starting application at 0x30008040 ...
Uncompressing Linux.............................................................
... done, booting the kernel.
Error: unrecognized/unsupported machine ID (r1 = 0x33f07d10).
Available machine support:
ID (hex) NAME
000000c1 SMDK2410
Please check your kernel config and/or bootloader.(不动)
请教这是啥原因啊,怎么修改啊?
谢谢! u-boot传参有问题。
修改内核使u-boot的go命令能够启动内核
找到并打开arch/arm/kernel/head.S文件,直接将s3c2410的参数赋给内核。在如下代码:
__INIT
.type stext, %function
ENTRY(stext)
后面添加:
mov r0, #0
mov r1, #0xc1
ldr r2, =0x30000100
保存后关闭该文件。
然后重新编译内核。当然也可以修改u-boot的源代码。具体怎么修改,你上网查一下吧 谢谢 zshxiong您好:
我按您的方法改了内核代码,可运行还是不行
U-Boot 1.1.4 (Feb1 2007 - 21:34:29)
U-Boot code: 33F80000 -> 33F9C3C0BSS: -> 33FA04A8
RAM Configuration:
Bank #0: 30000000 64 MB
Flash:2 MB
NAND:64 MB/n*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot:0
NAND read: device 0 offset 1048576, size 3145728 ...3145728 bytes read: OK
## Booting image at 30008000 ...
Bad Magic Number
crne2410 #>
若运行go 0x30008000就可正常进入内核运行
crne2410 #> go 0x30008000
## Starting application at 0x30008000 ...
Uncompressing Linux........................................................(正常启动)
帮我分析一下
谢谢 bootm不能使用zImage
页:
[1]