QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1747|回复: 6

2.6.9以上的内核在skyeye下总是崩溃,请教版主

[复制链接]
发表于 2005-8-7 20:03:34 | 显示全部楼层 |阅读模式
按此帖
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&t=85893&postdays=0&postorder=asc&start=15
模拟Lubbock开发板

SkyEye Ver 0.9.5或
SkyEye Ver 0.9,8
arm-linux-gcc 3.4.1或
3.4.2

Uncompressing Linux.............................................................. done, booting the kernel.
Linux version 2.6.12.4 ([email protected]) (gcc version 3.4.2) #1 Sun Aug 7 19:10:30 CST 2005
CPU: XScale-PXA250 [69052100] revision 0 (ARMv5TE)
CPU0: D VIVT undefined 5 cache
CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
Machine: Intel DBPXA250 Development Platform (aka Lubbock)
Memory policy: ECC disabled, Data cache writeback
Memory clock: 99.53MHz (*27)
Run Mode clock: 99.53MHz (*1)
Turbo Mode clock: 99.53MHz (*1.0, inactive)
Built 1 zonelists
Kernel command line: root=/dev/ram rw initrd=0xa1000000,0x01000000 console=ttyS0,115200 mem=64M
PID hash table entries: 512 (order: 9, 8192 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 64MB = 64MB total
Memory: 46464KB available (1559K code, 306K data, 84K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd
Freeing initrd memory: 16384K
NET: Registered protocol family 16
NetWinder Floating Point Emulator V0.97 (extended precision)
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = c0004000
[00000000] *pgd=00000000
Internal error: Oops: 7 [#1]
Modules linked in:
CPU: 0
PC is at strlen+0xc/0x28
LR is at strlcpy+0x20/0x58
pc : [<c00d5a10>]    lr : [<c00d5a4c>]    Not tainted
sp : c02b7f88  ip : c02b7f98  fp : c02b7f94
r10: 00000000  r9 : 00000000  r8 : 00000000
r7 : c001c538  r6 : 00000000  r5 : c001a858  r4 : 00000100
r3 : 00000000  r2 : 00000100  r1 : 00000000  r0 : 00000000
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  Segment kernel
Control: 3937  Table: A0004000  DAC: 00000017
Process swapper (pid: 1, stack limit = 0xc02b6194)
Stack: (0xc02b7f88 to 0xc02b8000)
7f80:                   c02b7fb4 c02b7f98 c00d5a4c c00d5a10 c02b6000 c001a858
7fa0: 00000001 00000000 c02b7fc4 c02b7fb8 c00e8440 c00d5a38 c02b7fd8 c02b7fc8
7fc0: c00e8484 c00e8430 00000000 c02b7ff4 c02b7fdc c001d0e4 c00e8458 00000000
7fe0: 00000000 00000000 00000000 c02b7ff8 c003d660 c001d06c e4f70b64 d77e98d8
Backtrace:
[<c00d5a04>] (strlen+0x0/0x2 from [<c00d5a4c>] (strlcpy+0x20/0x5
[<c00d5a2c>] (strlcpy+0x0/0x5 from [<c00e8440>] (pxafb_setup+0x1c/0x2
r7 = 00000000  r6 = 00000001  r5 = C001A858  r4 = C02B6000
[<c00e8424>] (pxafb_setup+0x0/0x2 from [<c00e8484>] (pxafb_init+0x38/0x4c)
[<c00e844c>] (pxafb_init+0x0/0x4c) from [<c001d0e4>] (init+0x84/0x1cc)
[<c001d060>] (init+0x0/0x1cc) from [<c003d660>] (do_exit+0x0/0xb20)
r6 = 00000000  r5 = 00000000  r4 = 00000000
Code: e89da800 e1a0c00d e92dd800 e24cb004 (e5d03000)
<0>Kernel panic - not syncing: Attempted to kill init!


但同样环境,同样的config,2.6.8之下的版本却没任何问题,可顺利进入shell
可能什么原因,请教高手
 楼主| 发表于 2005-8-9 20:47:50 | 显示全部楼层

真怪

用skyeye-flash.tar.bz2自带的2.6.10却能正常运行,自己用make ARCH=arm lubbock_defconfig 编译出来的内核始终会崩溃
用xscale-gcc-3.3.3.tar.bz2
回复

使用道具 举报

发表于 2005-8-12 08:52:32 | 显示全部楼层
我使用的最新内河2.6.12,可以运行。但是你需要在menuconfig中关掉一些SkyEye不支持的外设。最好你的选项中只留串口和时钟。。。。。
回复

使用道具 举报

发表于 2005-8-12 08:53:12 | 显示全部楼层
我使用的最新内河2.6.12,可以运行。但是你需要在menuconfig中关掉一些SkyEye不支持的外设。最好你的外设选项中只留串口和时钟。。。。。
回复

使用道具 举报

 楼主| 发表于 2005-8-12 19:44:19 | 显示全部楼层
能把你得config发一份给我吗,谢谢
QQ:2171000
回复

使用道具 举报

 楼主| 发表于 2005-9-21 18:46:27 | 显示全部楼层
版主有空看看什么原因吗
回复

使用道具 举报

发表于 2005-9-21 22:47:15 | 显示全部楼层
[quote:e9ae35a400="chyyuu"]很快就会成功了!

可能是pxafb的一个bug。
把pxafb.c的一行(在pxafb_setup中)注释掉就可以了。具体哪行你自己找找看?

或者不要内核编译fb支持。

成功后,记得把信息输出出来。[/quote]
根据陈大侠提示,是由于pxafb的一个bug造成
解决办法是注释掉linux内核drivers/video目录下pxafb.c中pxafb_setup函数的内容或者编译内核去掉Frame Buffer支持
我是这样做的
int __devinit pxafb_setup(char *options)
{
# ifdef CONFIG_FB_PXA_PARAMETERS
//        strlcpy(g_options, options, sizeof(g_options));
# endif
        return 0;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-27 06:44 , Processed in 0.122892 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表