作者:爆米花来爆料V | 来源:互联网 | 2014-05-27 21:13
下载qemu源码:http://wiki.qemu.org/Download我下的是qemu-0.12.4.tar.gzzecho@zecho-laptop:~$tarzxvfqemu-0.12.4.tar.gzzecho@zecho-laptop:~$cdqemu-0.12.4需要在configure之前安装几个组件
下载qemu源码:http://wiki.qemu.org/Download
我下的是qemu-0.12.4.tar.gz
zecho@zecho-laptop:~$ tar zxvf qemu-0.12.4.tar.gz
zecho@zecho-laptop:~$ cd qemu-0.12.4
需要在configure之前安装几个组件
zecho@zecho-laptop:~$ sudo apt-get install zlib1g-dev
下面这个如果不安装,当然也能编译通过,但在安装完成以后,启动qemu,会出现VNC server running on
`::1:5901′
zecho@zecho-laptop:~$ sudo apt-get install libsdl1.2-dev
然后就算简单的./configure make make install
zecho@zecho-laptop:~$ ./configure
zecho@zecho-laptop:~$ sudo make
zecho@zecho-laptop:~$ sudo make install
然后是编译linux
kernel,具体过程就不详细介绍,google里面有很多,推荐http://kingworld.org/linux/62
生成bzImage
进入linux源码目录,并需要http://wiki.qemu.org/Download下载文件系统镜像linux-0.2.img,也放入linux源码目录
zecho@zecho-laptop:~/src/linux-2.6.34$ qemu -S -kernel arch/i386/boot/bzImage -hda linux-0.2.img -append "root=dev/hda"
然后会出现qemu的工作终端,你在上面点击鼠标可以陷入,ctrl + alt + 2可以释放鼠标
下面是启动gdb服务,并设置连接端口
(qemu)gdbserver 1234
但这时出现了错误:
could not open gdbserver on device 1234
重新输入下面
(qemu)gdbserver tcp::1234
这时会显示qemu在等待gdb的连接
重新打开一个新的ubuntu终端,进入linux源码目录下:
zecho@zecho-laptop:~/src/linux-2.6.34$gdb vmlinux
在gdb调试环境下,连接qemu
(gdb)target remote localhost:1234
这时就可以正常使用gdb了,设置断点,查看源码.....:-)