Archive for九月, 2006

我的 GPG 公钥

各位如果有什么极秘密信息发送给我的话, 可以使用这个密钥加密。

我以后发送的邮件及重要资料也会使用对应的私钥进行签名


-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

mQGiBEUeTv4RBACM6YjULb4dj/fh6GsYMPf03yYrt7AzpxElFBihq3XwlXG5SSot
mhuNT8d+scn4cd2IS/avtN+xr04ORhDZrHHAVRMjxjEu9j9PvUJvg3Kgks5k5YUD
TXjEi7pu+AtkL+rJLxfkfYIlLAIIJs5QHgCbd/FjWYZf89Zmtu6+jRd6SwCgnbha
r5hyYDRIHZ8p9lY7vMI+8DkEAIAjd6T0LEJBCheHmFBzWX+EM1ijIRJisKGMmyBg
m/EioeMSt2ZJv1M5s2TyM0UGX0epBHL7A9LyQfCsIxQ3VdqsdIDfdOeFDylBWcd0
3YwNGKP0sJtyaQLa4XqfDpM02CmckuMEpBllafm0wkEPeXa7vBCylbp/4aQYEiuv
6DDdA/9S9zVPQ17z8ubzYjqNdWMh3gCQdB/quHa0O/uH1An0tQel+xBfEETuvo4Y
xds7lUKPAbFuMNY2HcEcrJPKWsM+BBjFu96WIJFMYLHo9y9dItMqS08RRElayboe
5Ph1pAG6ZJJhkKmzKzQLKbF59FTWwtZb3R+ISuHiG4a6A8lwRLQfeXVhbnN1eWkg
KG5ieXN5KSA8bmJ5c3lAemouY29tPohgBBMRAgAgBQJFHk7+AhsDBgsJCAcDAgQV
AggDBBYCAwECHgECF4AACgkQzGx0Ea/oEEgsyQCgmu+DOA8U76fb3siq7S2vXH/x
uSkAnRtG8lWSR+8FJt6akj276mIZWgL8uQINBEUeTw0QCACzxb03KpSA6XDL9Ev6
WCgbR7Cvh0PIiTwPpUnf9JOkvuLeMLcQBEwaBTPNl6ASRBU7azbelOfMmCKl0Oy9
OB0wqOv3AbI2z66d0UIU5BvqKWSaGaqrxhFxo7M9poPKdBpN8whXw+SdCECmpdhg
gP2pbSDSfOKfJZeefJoOAzL6tt8vlB6zd+ofzpdWqQYDpF6WdI702dNcJqS0FSuR
H1uYGrARN+N2rliKWhgr0VB7KBIygC90go9VIjlHVUuba+vjZvOFLqtI5OoNV2/k
yREFOVEYXfW1DABjGbUlucLnWe/r3Y9j2U7PP1jqEFHVRLFXMrspwlK0I3zlTMnJ
aVqLAAMFCACMdqEfcafKJ4ff4EW8YoBu8k2xLJ7b7BtnS4lu62UyvEJSlRgDseWw
UoOsljlJ5/gnQPhOEZzD7l+qNfGZvM5nOwNxxaBrFKrhgCy5UDEmX68sKkHKIARJ
gJZQrFmRc3CQ+WfUjELAN8zyxcJ67AxxFoEKyZkpQhSENZx/tck0hM/J/Vdv7kse
5tLWpjApVY5fZobgEZa0kNami/iAbfhCCElsNOaAZD5bFAw4LUAmo0RGuaUIIvpN
iXlZvxNP0B8xDT+nxWnuC24myxDCj8IsjLpBIEg9XMd41I9PoBNsg+bm/hhiAV1O
36sf063viVMylHz2jbcDokdCjEVazPXGiEkEGBECAAkFAkUeTw0CGwwACgkQzGx0
Ea/oEEgdbQCeKmggNv4pdRL3are+FP0qScJJfYcAnjo494f9ntDygj85tQfSAbm/
s5ds
=nRC/
-----END PGP PUBLIC KEY BLOCK-----

Comments (6)

2006年09月28日记事

   Outline  of  tty/console subsystem in kernel 2.6.15

 (only  depict   VT  console  for  simplicity.  )

		           User Space
                   -------------------------------------------
		   -------------------------------------------
       	       	             /\
			     |   |                      Kernel Space
			     \/
		       	char device layer(cdev)                printk()
			     |   |                                                      |
			     \/			                                    |
			   tty layer			                       |
                             /\	                   by struct console  |
			     |   |	      /\----------------/
                             \/	          |   |
                      		            \/
		       vc standing for Virtual Console
		                         +
		       vt terminal emulation(vt is what in VT1XX)
                             /\
                             |   | through  different consw (console switch)
                             \/
                       vga, framebuffer, driver .
                                      +
		       keyboard , joystick driver etc..
                                /\
				|    |
                                \/
                         montior , keryboard

Comments (2)

Ubuntu 安装 Qt/Embedded

For Ubuntu 6.06

Source Code:

  • tmake-1.11.tar.gz
  • qt-x11-2.3.2.tar.gz
  • qt-embedded-2.3.7.tar.gz
  • qtopia-free-1.7.0.tar.gz
  • 这些源代码包可以从网上搜到

    一、准备系统:
           1.  建议使用 gcc/g++-2.95 编译, 使用高版本编译器会出问题
              #apt-get install gcc-2.95  g++-2.95
              #rm   /usr/bin/gcc /usr/bin/g++
              #ln -s /usr/bin/gcc-2.95   gcc
              #ln -s  /usr/bin/g++-2.95  g++
    
          2. 安装所需开发库
              #apt-get install libfreetype6-dev libjpeg62-dev libpam0g-dev libpng12-dev zlib1g-dev \
                libbluetooth1-dev libpcsclite-dev pkg-config
    
             #apt-get install    uuid-dev
    
             #apt-get install libqt3-mt  (这个是否需要未确定)
    
    二、编译
           1. 将下载过来的源代码放入同一个目录,假设为 ~/Qt/
              新建一个脚本文件,内容如下:
            #!/bin/bash
             tar xfvz tmake-1.11.tar.gz
             tar xfvz qt-embedded-2.3.7.tar.gz
             tar xfvz qtopia-free-1.7.0.tar.gz
             tar xfvz qt-x11-2.3.2.tar.gz
             mv tmake-1.11 tmake
             mv qt-2.3.7/ qt
             mv qtopia-free-1.7.0 qtopia
             mv qt-2.3.2 qt-x11
             cd qt-x11
             export QTDIR=$PWD
             echo yes | ./configure -static -no-xft -no-opengl -no-sm
             make -C src/moc
             cp src/moc/moc bin
             make -C src
             make -C tools/designer
             make -C tools/qvfb
             cp tools/qvfb/qvfb bin
             strip bin/uic bin/moc bin/designer bin/qvfb
             cd ..
             cp qt-x11/bin/?* qt/bin
             rm -fr qt-x11
             export QTDIR=$PWD/qt
             export QPEDIR=$PWD/qtopia
             export TMAKEDIR=$PWD/tmake
             export TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++
             export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
             cd qt
             make clean
             cp ../qtopia/src/qt/qconfig-qpe.h src/tools/
             (echo yes; echo yes ) |./configure -platform linux-generic-g++  -qconfig qpe -depths 16,24,32
             make -C src
             cd ..
             cd qtopia/src
            ./configure  -platform linux-generic-g++
             make clean
             make
    
            执行该脚本, 开始编译。 It will take long long time 。
    
    三、 (可选)编译内核,加入 framebuffer 支持
              Qt/Embedded 通过 framebuffer 实现显现,所以内核必须支持 framebuffer ,另外
             官方站上说不支持 vga16fb ,如果你的framebuffer 驱动是 vga16fb,建议重新编译内核,加入相应
             显卡的framebuffer 驱动或者 vesafb 。
    
    四、 测试运行
              首先要设置环境变量, cd 至 ~/Qt/
              export QTDIR=$PWD/qt
              export QPEDIR=$PWD/qtopia
              export TMAKEDIR=$PWD/tmake
              export TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++
              export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
    
              然后执行 qvfb,虚拟出一个 framebuffer 设备供应用程序使用
              #qvfb &
    
              运行qpe  (qtopia, 一个嵌入式桌面环境),将以下内容存为脚本运行:
              #!/bin/sh
             export QTDIR=$PWD/qt
             export QPEDIR=$PWD/qtopia
             export TMAKEDIR=$PWD/tmake
             export TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++
             export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
             export set HOME=/root
             export set PATH=$QPEDIR/bin:$PATH
             export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/lib
            $QPEDIR/bin/qpe > /dev/null 2>/dev/null
    

    Comments (36)

    Ubuntu 安装 lxr

    For Ubuntu 6.06

    Linux Cross-Reference 是一个源代码交叉引用的工具,具体介绍请看 LXR 主页

    1. 下载lxr 的源代码
         最新版本是 0.9.5
    
    http://sourceforge.net/project/showfiles.php?group_id=27350
    
    2. 将 lxr 解压缩为 /var/lib/lxr/
    
       建立  /var/lib/src/ 目录,用以存放 源代码
       将内核源代码解压到/var/lib/src/ , 以版本号命名,比如 2.6.15。可以放置多份不同
       版本的源代码。  新建文件/var/lib/src/versions , 将各个版本号列入其中。
    
       建立 /var/lib/swish-e/ 目录 ,用以存放 swish-cache
    
    3. 安装 ctags
       apt-get install ctags
    
    4. 安装 mysql 4.1  (必须是 4.x )
       apt-get install mysql-server-4.1
    
    5. 安装 apache 及 mod_perl  (必须是 apache ,而非 apache2)
       apt-get install apache libapache-mod-perl
    
    6.  安装  swish-e , 用于文本搜索
        apt-get install swish-e
    
    7. 安装 Perl File:MMagic 模块
        apt-get install  libfile-mmagic-perl
    
    8. 切换到 /var/lib/lxr/ 目录,以root 身份运行  mysql
      输入  \.  initdb-mysql
      以建立数据库表
    
    9.  运行:
       cp  /var/lib/lxr/Local.pm  /usr/lib/perl5/
       cp -r /var/lib/lxr/lib/LXR   /usr/lib/perl5/
    
       mv    /var/lib/lxr/tempaltes/*    /var/lib/lxr/
    
    10 编辑 /var/lib/lxr/lxr.conf
         1)注释掉所有带 glimps 的行
         2)  将 'swishbin' =>  "/some/path/to/exectuable" 改为
                 'swishbin'=> '/usr/bin/swish-e'
    
        3) 将  baseurl 设为 'http://localhost/lxr/'
             将  virtroot 设为 '/lxr'
             (方向同 2)
        4)  注释掉 basealias
        5)  找到 readfile('src/versions'), 将其修改为 readfile('/var/lib/src/versions')
             将 default 设为默认的源代码版本号(比如 2.6.15)
             将 sourceroot  设为 /var/lib/src/
        6) 将 swishdir 设为 /var/lib/swish-e/
    
    11. 生成索引
        运行 : /var/lib/lxr/genxref  --url=http://localhost/lxr/ --version="2.6.15"
         其中 2.6.15 是内核版本号(与 /var/lib/src/ 下的目录相一致)。也可以使用 --allversions
         选项生成 /var/lib/src/ 目录下所有源代码的索引。
    
          (注意: 这个操作要花非常非常长的时间)
    
    12. 配置 apache 服务器
         打开 /etc/apache/httpd.conf ,写入
        Alias /lxr /usr/local/lxr
    
               AllowOverride All
    
         重启apache 以后访问  http://localhost/lxr/source 即可访问源代码交叉索引。
    

    Comments (3)

    Emacs 学习笔记

    1.Chinese Environment setup  (for Ubuntu 6.06 , locale zh_CN.UTF-8 )
    apt-get install  mule-ucs
    apt-get install emacs-intl-fonts
    apt-get install xfonts-intl-chinese*
    
    2.Buffer switch
         C+x b
    3. Kill a  Buffer
        C+x  k
    4. List buffers
        C+x C+b
    

    Comments (7)

    « Previous entries