linux小系统支持中文的问题
最近在调试linux小系统,想让小系统支持中文,经过几天的调试,这个问题终于得以解决,下面总结一下遇到的问题和解决办法。
在console下面支持中文我选择的是采用外挂式平台的办法,并不真正汉化内核,因为担心汉化内核会有较大的风险,所以选用外挂的方式。采用外挂的方式必须得准备软件包,诸如zhcon、chdrv、autoconvert、cce之类,但这些源码包在我的虚拟机下编译始终不通过,花了一定时间在修改zhcon源码上,源码中某些结构体的声明在其他头文件中编译时不认识,由于对gcc、vi运用比较生疏,查找感觉比较麻烦而且花费时间较多,于是放弃了这条路,选择从rpm包的方式安装,结果rpm安装zhcon后提示运行提示cannot open framebuffer,查看内核选项发现支持framebuffer,将启动方式改为vga=***,cat /proc/device发现确实有fb后仍然不能使用zhcon,当时怀疑rpm可能不靠谱,因为下载的rpm包和我的redhat4.7版本差别较大,果断放弃了rpm决定一心一意回头去编译源码,顺便提到一点就是考虑到我们项目组内服务器和我的redhat标准系统是一个版本,内核为2.6.9,里面各种库十分齐全而且很稳定,将zhcon拷贝到服务器上编译通过,然后在服务器上测试zhcon能够正常运行,将服务器zhcon移植到我的系统中却不能干活同样是cannot open framebuffer这时候似乎是黔驴技穷了,于是跑去请教钟sir,钟sir告知通过strace查找原因。
strace是linux中用来跟踪系统调用的命令,功能非常强大。
移植zhcon我采用的思路是在虚拟机标准系统(内核2.6.9)的console下测试,然后在新编译的内核系统(内核2.6.33)下测试,最后测试mini系统。
在虚拟机标准系统(内核2.6.9)下strace调试比较顺利,strace发现缺少/etc/zhcon.conf配置文件从服务器上copy过来即可。
在新编译的内核系统(内核2.6.33)中测试,strace之后发现/dev/下面很多文件提示cannot open,于是将这些设备文件mknod,mknod的主要设备文件有pty、ptmx、vc、mem、zero等设备文件,之后zhcon能正常运行,做到这一点就非常好办了,因为新编译的内核系统能够运行,mini系统是肯定可以运行的。但是谁知道在mini系统中测试的时候遇到了很多问题,虽然我对能够将zhcon移植到mini系统上的可行性这一点深信不疑,后面会谈到这一点。
移植到mini系统中zhcon一把,果然是不能
相关文档:
2009 年 4 月 23 日
本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对比 Linux 特性,以加深读者印象。
背景
Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微 ......
Linux 操作系统从一开始就对串行口提供了很好的支持,本文就 Linux 下的串行口通讯编程进行简单的介绍。 串口简介 串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用。常用的串口是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由 ......
我的项目是用UTF-8编码的 jsp页面提交的form表单到ctrl层用system.out.println()打印是一堆问号 但是保存到oracle数据库中的中文又是正确的,从数据库中读取中文后,在控制台上打印的是乱码 但是在页面中显示又是正确的 很奇怪 我的环境是linux下的weblogic ......
开机自启动任务的设定
通常情况是编辑rc.local,将要启动的内容写在里面即可
Eg:
开机自动开启3306端口
#vi /etc/rc.local
iptables -I RH-Firewall-1-INPUT -p tcp --dport 3690 -j ACCEPT
当然,有的服务,想要设定开机自启动还要做一些其它的配置,譬如,设定oracle开机自启动。
crontab有兩 ......
在linux上安装oracle是一件复杂的事情,尤其对于一个生手来说,它的复杂程度远超过了linux操作系统的安装,因为不像windows那样可以直接点击sertup.exe就ok了,在安装之前你要配置环境变量,修改若干个系统文件,并且这些参数可能根据你linux版本的不同而有所不同,如果配置不正确,可能导致最终的安装失败,其它还有你的目 ......