linux字元介面下顯示中文,安裝zhcon
阿新 • • 發佈:2019-01-04
1.下載zhcon-0.2.5-to-0.2.6.diff.gz和zhcon-0.2.5.tar.gz兩個包
wget http://sourceforge.net/projects/zhcon/files/zhcon/0.2.6/zhcon-0.2.5.tar.gz
wget http://sourceforge.net/projects/zhcon/files/zhcon/0.2.6/zhcon-0.2.5-to-0.2.6.diff.gz
2.tar zxvf zhcon-0.2.5.tar.gz
gunzip zhcon-0.2.5-to-0.2.6.diff.gz
cd zhcon-0.2.5/
patch -p1 < ../zhcon-0.2.5-to-0.2.6.diff
3 ./configure 加入編譯到指定的目錄 則命令為:./configure --prefix=opt/EmbedSky/4.3.3 (最後不用加/)
make
此處可能會出現錯誤,是因為缺少有些標頭檔案,根據錯誤,一般memset等沒定義,在相應的原始檔或者標頭檔案加入string.h
還有可能有些變數未定義:
在zhcon的make過程中,有很多次報錯,說缺少memset,memcpy等函式的定義,是缺少#include <string.h>;有幾次缺少abs,atoi,free等的定義,
是缺少#include <stdlib.h>;還有報fd_set結構的定義,是缺少#include <sys/select.h>;
另外,缺少幾個常量定義,我從以前版本的核心標頭檔案中找到,然後寫入了src/lrmi.c中(好像就是這個 檔案缺),共用到如下幾個量:
#define VIF_MASK 0x00080000 /* virtual interrupt flag */
#define IF_MASK 0x00000200
#define IOPL_MASK 0x00003000
#define TF_MASK 0x00000100
這樣過後make可以成功
然後make install
4. 啟動字元介面,這是輸入zhcon --utf8 可能還會出現問題,這時一個是修改zhcon.conf 檔案,還有一個非常重要的是修改,把
#x_resolution = 640
#y_resolution = 480
x_resolution = 800 //修改解析度
y_resolution = 600
#color_depth = 4
color_depth = 8
還有一個非常重要的修改是:修改grub啟動檔案,改解析度,在/boot/grub/grub.conf裡的kernel項追加“vga=0x307”後為
這個在你輸入zhcon --utf8時可能會告訴你說沒法啟動fremebuffer等東東,這時你在這裡kernel後面加入即可
kernel /boot/vmlinuz-2.6.25-14.fc9.i686 ro root=UUID=4f04913b-3dd1-4aea-945a-2e64c44665e5 rhgb quiet vga=0x307
initrd /boot/initrd-2.6.25-14.fc9.i686.img
5.現在輸入命令就會出現介面了,成功
6.移植問題,這裡重要的是把編譯好的可執行檔案,配置檔案還有包含的一些檔案拷打linux系統下面就可以了,如:
我是在 opt/EmbedSky/4.3.3/ 下的,所以在該目錄的bin目錄下會有一個zhcon可執行檔案,還有在該目錄下的lib目錄下會有一個
zhcon的目錄,裡面有font和input檔案 ,還有一個就是該目錄下的etc的目錄會有一個zhcon.conf當移植到其他開發板上時可能其他地方沒有這個目錄
這個你自己在建立下即可,把這三個檔案相應的拷貝到開發板上的相應目錄,如在我的目標移植系統上有/opt/EmbedSky/4.3.3/ 目錄,所以你就拷貝到相應的lib和bin目錄下
以及etc等目錄下的zonch.conf (這裡拷貝到/usr/bin 和/usr/lib ,/usr/etc 應該也性,沒試)
7.這樣在目標系統下的字元介面下可以顯示中文了
8.參考文章:
1.http://blog.163.com/jw_chen_cs/blog/static/20221214820126185371482/
2.http://www.linuxidc.com/Linux/2010-05/26183.htm
3.http://hi.baidu.com/liang_zuokui/item/8822d3c4637b5c6588ad9eca