建立QQ2440开发环境(基于VMware和Ubuntu)
1. 安装软件
(1) VMware Workstation ACE Edition (6.0.2 build-59824)
(2) Ubuntu Desktop I386 (7.10)
(3) 为了方便客户机与宿主机共享,安装VMware tools:
将VMwareTools-6.0.2-59824.tar.gz复制到/tmp并解压,然后进入目录vmware-tools-distrib,
执行sudo ./vmware-install.pl
主要有3个问题要解决:
(a) 鼠标滚轮失效 ==> 修改/etc/X11/xorg.conf文件,"ps/2"改为"imps/2"
(b) 鼠标从客户机不能平滑的切换到宿主机 ==> 修改/etc/X11/xorg.conf文件,"mouse"改为"vmmouse"
(c) hgfs共享失效 ==> 安装前修改VMtools的lib/modules/source/vmhgfs.tar中的compat_slab.h文件,
if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 22) || defined(VMW_KMEMCR_HAS_DTOR)
将"<"改为"<=",然后将修改后的文件打包并替换掉原来的vmhgfs.tar文件
2. 建立交叉编译环境
(1) install Basic Compilers
sudo apt-get install build-essential
(2) install ncurses
sudo apt-get install libncurses5-dev
(3) 安装交叉编译工具链
复制光盘中的工具包arm-linux-gcc-3.4.1.tgz到虚拟机硬盘中
tar zxvf arm-linux-gcc-3.4.1.tgz -C /media/disk/qq2440/work
(4) 建立编译环境设置脚本
创建文件setenv.sh,内容如下:
PATH_QQ2440_WORK=/media/disk/qq2440/work
export PATH=$PATH:$PATH_QQ2440_WORK/sbin
export PATH=$PATH:$PATH_QQ2440_WORK/usr/sbin
export PATH=$PATH:$PATH_QQ2440_WORK/usr/local/sbin
export PATH=$PATH:$PATH_QQ2440_WORK/usr/local/arm/3.4.1/bin
(5) 设置编译环境
终端下进入setenv文件目录,执source setenv.sh
这时可以查看环境是否已经设置好echo $PATH
3. 编译内核
(1) 建立源代码工作目录
复制光盘中的内核源代码linux-2.6.13-qq2440_20070507.tgz到虚拟机硬盘中
tar zxvf linux-2.6.13-qq2440_20070507.tgz -C /media/disk/qq2440/work
(2) 修改权限
sudo chmod -R 777 kernel-2.6.13
(3) 开始编译
make clean
make menuconfig
make zImage
如果你想要将编译结果保存到文件中可以这样输入:
make zImage 2>&1 | tee build.log
大约4分钟后完成编译(配置是AMD Sempron/64bit/Socket754 2500+ OC to 2.70GHz)