用的是stareast公司的ixp425开发板。由于光盘所带snapgear版本稍旧,所以干脆网上下载gateworks公司为IXP425提供的avila软件套装。在配置中把开发平台由avila改为ixdp425,kernel command line改为: "console=ttyS1,115200 root=/dev/ram0 initrd=0x00800000,16M mem=256M@0x00000000" 然后把LCD驱动去掉(因为我的开发板没有LCD),把SCSI驱动去掉。ramdisk的块大小为1024.编译,用如下命令烧录进开发板:
load -r -v -c 1 -m xmodem -b 0x0160000 zImage
load -r -v -c 1 -m xmodem -b 0x00800000 ramdisk.gz
fis create -b 0x01600000 -l 0x155b53 zImage
fis create -b 0x00800000 -l 0x270000 ramdisk
然后是REDBOOT启动脚本:
fis load zImage
fis load ramdisk
exec 0x01600000
重启,然后出现如下信息:
(上面一部分省略)
RAMDISK: Compressed image found at block 0
Unable to handle kernel paging request at virtual address 219ee000
pgd = c0004000
[219ee000] *pgd=00000000
Internal error: Oops: f5 [#1]
Modules linked in:
CPU: 0
PC is at __copy_to_user+0x4c/0x3a8
LR is at file_read_actor+0xfc/0x11c
pc : [] lr : [] Not tainted
sp : c4251750 ip : 00000000 fp : c425179c
r10: 00000000 r9 : c02c5e70 r8 : cec33dd0
r7 : 00001000 r6 : 00001000 r5 : c4251830 r4 : c4250000
r3 : 00000000 r2 : 00000f80 r1 : 219ee000 r0 : cec60000
Flags: nzCv IRQs on FIQs on Mode SVC_32 Segment kernel
Control: 39FF
Table: 00004000 DAC: 00000017
Process swapper (pid: 1, stack limit = 0xc4250250)
stack:
(这一部分省略,太长了,呵呵)
Backtrace:
[] (file_read_actor+0x0/0x11c) from [] (do_generic_mapping_)
[] (do_generic_mapping_read+0x0/0x570) from [] (generic_fil)
[] (generic_file_aio_read+0x4/0x218) from [] (do_sync_read+)
[] (do_sync_read+0x0/0x11c) from [] (vfs_read+0xac/0xe0)
r7 = C4282008 r6 = C425193C r5 = CEC60000 r4 = C425F1A0
[] (vfs_read+0x0/0xe0) from [] (sys_read+0x4c/0x84)
r6 = C425F1A0 r5 = 00140000 r4 = 00000000
[] (sys_read+0x0/0x84) from [] (fill_inbuf+0x3c/0x88)
r6 = 00000000 r5 = 00000010 r4 = C02BD8AC
[] (fill_inbuf+0x0/0x88) from [] (inflate_codes+0x1b4/0x510)
r4 = 00000008
[] (inflate_codes+0x0/0x510) from [] (inflate_dynamic+0x634)
[] (inflate_dynamic+0x0/0x684) from [] (rd_load_image+0x10e)
[] (rd_load_image+0x0/0x1148) from [] (initrd_load+0x44/0x3)
[] (initrd_load+0x0/0x338) from [] (prepare_namespace+0xb8/)
[] (prepare_namespace+0x0/0x168) from [] (init+0x12c/0x1d8)
r6 = C4250000 r5 = C001F928 r4 = C02BD898
[] (init+0x0/0x1d8) from [] (do_exit+0x0/0x834)
Code: ba000002 f5d1f03c f5d1f05c f5d1f07c (e8b151f8)
Kernel panic - not syncing: Attempted to kill init!
我尝试了载入映像到不同内存地址,改ramdisk块大小,但都没用。哪位大大知道是什么问题吗?THANKS A LOT!