|
host:rh9
gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
交叉编译器:arm-elf-tools-20030314.sh(uClinux网站发布)
编译skyeye成功后,在 testsuit2.1/s3c2410/2.4.18下运行:
[root@Sysware 2.4.18]# skyeye -e vmlinux -c skyeye.conf
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
mach info: name s3c2410x, mach_init addr 0x807f43f
ethmod num=1, mac addr=0:4:3:2:1:f, hostip=10.0.0.1
SKYEYE: use arm920t mmu ops
Loaded RAM ./initrd.img
exec file "vmlinux"'s format is elf32-little.
断错误
直接运行skyeye
[root@Sysware 2.4.18]# skyeye
SKYEYE: If you have ELF kernel file, please use -e option to indicate your ELF format kernel filename
SKYEYE: If you only have kernel binary image, you should put the filename of kernel binary image in skyeye.conf file
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
mach info: name s3c2410x, mach_init addr 0x807f43f
ethmod num=1, mac addr=0:4:3:2:1:f, hostip=10.0.0.1
SKYEYE: use arm920t mmu ops
Loaded RAM ./initrd.img
~~程序死在这个地方
我用的skyeye的版本如下:
1.2-RC6
1.2-RC7-2
1.2-RC7-3
出现的问题相同。
用gdb调试,发现程序停在死循环中:
arch/arm/common/mmu/cache.c:133
ARMword tag = va_cache_align (va, cache_t);
129 cache_line_t *cache;
130
131 cache_set_t *cache_set = cache_t->sets + set;
132 for (i = 0, cache = cache_set->lines; i < cache_t->way; i++, cache++) {
133 if ((cache->tag & TAG_VALID_FLAG)
134 && (tag == va_cache_align (cache->tag, cache_t)))
135 return cache;
136 }
137 return NULL;
程序停在for循环中。
直接运行testsuite2.1中的skyeye
[root@Sysware testsuite2.1]# ./skyeye
./skyeye: error while loading shared libraries: libXinerama.so.1: cannot open shared object file: No such file or directory
我在网上查了一下,这个问题是由于编译skyeye的机器是有libXinerama.so.1,而运行skyeye二进制文件的机器没有libXinerama.so.1造成的,好像rh9上都有这个问题,要重新安装Xorg(有点麻烦,没有成功)。 |
|