今天继续把qemu安装完成,qemu主要是作为模拟器或者叫虚拟机一样的角色。昨天已经完成了Eclispe的配置和源代码的编译,喝了几壶茶之后终于编译完了。
一、eqmu安装&配置
首先从下面的网址获得编译包:http://wiki.qemu.org/Download
由于我当时下载的是.tar.bz2包,所以我们采用tar jxvf 解压一下接下来就是./configure && make && make install 三步走。安装完成之后,当然就开心地准备使用啦。谁知道没有qemu命令,查了一下资料之后发现从1.3版本之后时代变了。要根据机子来选择命令,以我的老爷机为例子i386就选择qemu-system-i386。如果不知到有什么型号,可以去/usr/bin里面find一下。或者根据自己之前的配置find一下。命令行参数基本是一致的。
然后我们来制作一下虚拟机用到的盘子。这里我们可以使用qemu-img命令行进行制作,但是官网上面为我们提供了简易的测试盘。地址:http://wiki.qemu.org/Testing
然后我们开始执行下面命令启动虚拟机,
qemu -s -S -hda ~/linux-0.2.img -kernel /home/sleipnir/linux-2.6.32-obj/arch/x86/boot/bzImage -append root=/dev/hda
命令参数解释:
-s shorthand for -gdb tcp::1234
-S freeze CPU at startup (use 'c' to start execution)
-fda/-fdb file use 'file' as floppy disk 0/1 image
-hda/-hdb file use 'file' as IDE hard disk 0/1 image
-hdc/-hdd file use 'file' as IDE hard disk 2/3 image
-kernel bzImage use 'bzImage' as kernel image
-append cmdline use 'cmdline' as kernel command line到这里还有一些问题,就是执行完命令之后提示VNC server running on `::1:5900'然后没反应了。这里搜集了一下资料,发现是没有安装libsdl-dev。搜了一搜发现这个东西只有deb。这里建议不要搞apt-get去安装,因为apt-get安装的依赖包太坑跌了。有一款叫alien的工具,可以实现rpm包和deb包的转换。alien -r XXXX(非常方便)
二、Eclipse debuger配置
我们在菜单中选择Run -> Debug Configurations ,这时候打开一个配置页面。然后我们在C/C++ Application上双击鼠标,这时在右侧的页面弹出了debug配置选项,然后我们在project一栏选择 kernel-linux ,在下面的C/C++ Application中填入/home/sleipnir/LinuxCore/linux-2.6.32-object/vmlinux,如下图所示:
然后我们单击Debugger选项页,将Debugger改为 GdbServer Debugger,将Stop on startup at 改为start_kernel,将Connection子选项页下的Type改为TCP将Port number改为1234 。最终如下图所示:
然后单击Debug按钮开始调试!这时候Eclipse会提示我们切换 Perspective ,选择是,不再提示。到这里祝各位学习愉快!