|
刚才又研究了一下,我用没有frambuffer支持的2.4.19和2.4.20启动,都能在640X480的分辨率下正常显示zhcon,确实和tram说的一样,zhcon可以不需要frambuffer的支持。那么为什么我原来安装那么多次zhcon都没有成功呢?为什么每次启动zhcon,都是在屏幕切换到图形方式显示时死机?我查看了今天下午的安装记录,当时即使编译内核,加上了frambuffer的支持,启动zhcon也没有成功,后来怀疑是gpm的影响,所以接着安装zhcon自己带的gpm-1.19.6,安装完成后,启动 zhcon获得成功。因为当时没太在意,所以还以为成功的原因是对内核增加了frambuffer的支持。直到刚才用不同的内核启动zhcon成功才恍然大悟,是gpm的动态链接库造成的问题。
用ldd zhcon可以看到如下结果:
[root:/usr/local/bin]# ldd zhcon
libgpm.so.1 => /usr/lib/libgpm.so.1 (0x40019000)
libdl.so.2 => /lib/libdl.so.2 (0x40039000)
libutil.so.1 => /lib/libutil.so.1 (0x4003c000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x4003f000)
libm.so.6 => /lib/libm.so.6 (0x400f3000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40117000)
libc.so.6 => /lib/libc.so.6 (0x4011f000)
libncurses.so.5 => /lib/libncurses.so.5 (0x40253000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
从中可以看到,采用编译方式安装的zhcon运行时要动态链接libgpm.so.1,而这个libgpm.so.1是编译gpm时安装上去的。如果这个动态库与zhcon不兼容,轻则造成zhcon下鼠标无法使用,重则造成zhcon根本就无法启动。由于LFS安装的gpm是1.20.0的,所以就造成了在LFS上安装zhcon后,启动不了zhcon的问题。只有使用zhcon自己带的gpm-1.19.6(这是修改过源代码的,与zhcon兼容),才能启动zhcon,并在zhcon下正常使用gpm。 |
|