miniGUI在RHEL4上的安装编译方法

来源:互联网 发布:影子网络是假的 编辑:程序博客网 时间:2024/05/22 07:01

公司在做一个安全加密的项目,要添加一个启动窗口,然后添加一个按钮来输入密码认证,使用Qt觉得过于庞大,而且也有点大材小用,我就想起了miniGUI了,
或许很多人都很熟悉,可是我却不是很了解,以前也从未用过,现在把安装和编译过程记录下来:
第一步:首先下载源码包;
        我下载了一个包含libminigui-1.3.0.tar.gz、mg-samples-1.3.0.tar.gz、minigui-res-1.3.0.tar.gz、qvfb-1.0.tar.gz、编程指南-V1.3-C.pdf的一个压缩包;
        MiniGUI官方网站:http://www.minigui.com/里面有很多资源可以下载,不过需要注册,为了表达对咱中国人做出这么好的开源软件的敬意,我第一次老老实实的如实的注册了我的个人信息;
第二步:安装:
          (一) 将下载的源码全部解压到一个目录下:
         linux:/usr/src/minigui # ll
         总用量 6150
         drwxr-xr-x   2 root root     232 2006-09-26 18:32 .
         drwxr-xr-x  10 root root    1096 2006-09-26 17:34 ..
         -rw-r--r--   1 root root 2227015 2006-09-26 18:31 libminigui-1.3.3.tar.gz
         -rw-r--r--   1 root root  222891 2006-09-26 18:31 mg-samples-1.3.0.tar.gz
         -rw-r--r--   1 root root 1425621 2006-09-26 18:31 minigui-res-1.3.3.tar.gz
         -rw-r--r--   1 root root 1717567 2006-09-26 18:31 qvfb-1.0.tar.gz
         linux:/usr/src/minigui # tar -zxf libminigui-1.3.3.tar.gz
         linux:/usr/src/minigui # tar -zxf mg-samples-1.3.0.tar.gz
         linux:/usr/src/minigui # tar -zxf minigui-res-1.3.3.tar.gz
         linux:/usr/src/minigui # tar -zxf qvfb-1.0.tar.gz
         
     (二)切换到libminigui-1.3.3目录,开始配置并编译:
         
         linux:/usr/src/minigui # cd libminigui-1.3.3/
         linux:/usr/src/minigui/libminigui-1.3.3 # make menuconfig
         如果对配置的选项不是很清楚,可以查看文档《Linux/uClinux + MiniGUI: 嵌入式系统开发原理、工具及过程》的附录B部分。
         这里保持默认配置,然后退出配置界面并保存设置。
         ./configure
         make
         make install
         按照readme里德说法,configure缺省编译的是Lite版本的,但是我这个编译出来却是pthread版本的;
         安装完成之后,需要在/etc/ld.so.conf文件里添加一句/usr/local/lib,然后执行ldconfig注册链接库到系统,否则编译demo会找不到lib文件;
     (三)接着安装MiniGUI的资源包:

linux:/usr/src/minigui/libminigui-1.3.3 # cd ../
        linux:/usr/src/minigui # cd minigui-res-1.3.3/
        linux:/usr/src/minigui/minigui-res-1.3.3 # make install

(四) 安装qvfb:

linux:/usr/src/minigui # cd minigui-res-1.3.3/
        linux:/usr/src/minigui/minigui-res-1.3.3 # cd ../qvfb-1.0/
        linux:/usr/src/minigui/qvfb-1.0 # ./configure

linux:/usr/src/minigui/qvfb-1.0 # make

linux:/usr/src/minigui/qvfb-1.0 # make install

(五) 安装示例程序:

linux:/usr/src/minigui/qvfb-1.0 # cd ../mg-samples-1.3.1/
        linux:/usr/src/minigui/mg-samples-1.3.1 # ./configure

linux:/usr/src/minigui/mg-samples-1.3.1 # make

linux:/usr/src/minigui/mg-samples-1.3.1 # make install

示例程序将被安装到src目录下。     
        这个编译会出现错误,我遇到的问题是编译./src/skindemo.c出错,大概看了一下,觉得这个文件不是很重要,就直接修改Makefile,去掉了和这个软件相关的编译选项,然后编译正常;
         
        (六) 配置qvfb:
        编辑/usr/local/etc/MiniGUI.cfg,将GAL和IAL引擎均改为qvfb:

25 [system]
           26 # GAL engine
           27 gal_engine=qvfb
           28
           29 # IAL engine
           30 ial_engine=qvfb
           31
           32 mdev=/dev/mouse
           33 mtype=IMPS2
           34
           35 [fbcon]
           36 defaultmode=1024x768-16bpp
           37
           38 [qvfb]
           39 defaultmode=640x480-16bpp
           40 display=0
           41
     (七)配置fb(真实环境):
        编辑/usr/local/etc/MiniGUI.cfg:

25 [system]
           26 # GAL engine
           27 gal_engine=fbcon
           28
           29 # IAL engine
           30 ial_engine=console
           31
           32 mdev=/dev/mouse
           33 mtype=IMPS2
           34
           35 [fbcon]
           36 defaultmode=800x600-16bpp
           37
           38 [qvfb]
           39 defaultmode=640x480-16bpp
           40 display=0
           41
           在真实环境里需要/dev/tty0和/dev/mouse节点存在;
           需要系统启动framebuffer,有两种办法,一种是在启动命令行添加vga=0x314(800x600),
           另一种办法是在内核的./arch/x86/boot/main.c的static void copy_boot_params(void)的末尾加上一句:boot_params.hdr.vid_mode=0x314;
     (八)运行示例:
        运行src目录下的helloworld、listview示例,无论是在qvfb或者真实环境里,均可以运行正常,鼠标,键盘相应也正常。