1、设置虚拟机
在两个虚拟机(工作机和目标机)中都选定同一个命名管道 ,指定target机的COM口为server端,并选择"The other end is a virtual machine"属性;指定development机的COM口端为client端,同样指定COM口的"The other end is a virtual machine"属性。对于IO mode属性,在target上选中"Yield CPU on poll"复选择框,development机不选。
测试是否连通:
工作机: stty ispeed 115200 ospeed 115200 -F /dev/ttyS0
目标机: stty ispeed 115200 ospeed 115200 -F /dev/ttyS0
目标机: cat /dev/ttyS0
工作机: echo hello > /dev/ttyS0 //目标机上会显示出“hello”
2、下载内核和对应内核的补丁程序
如:linux-2.6.15.5.tar.bz2();
linux-2.6.15.5-kgdb-2.4.tar.tar()
3、解压、打补丁
tar -jxvf linux-2.6.15.5.tar.bz2
tar -jxvf linux-2.6.15.5-kgdb-2.4.tar.tar //参考该解压后的README
//需要的补丁文件:core-lite.patch、core.patch、i386-lite.patch、i386.patch、8250.patch(串口补丁)、eth.patch(网络补丁)
cd linux-2.6.15.5
patch -p1 < ../linux-2.6.15.5-kgdb-2.4/core-lite.path
4、make menuconfig
在内核配置菜单的Kernel hacking选项中选择kgdb调试项
[*] KGDB: kernel debugging with remote gdb
Method for KGDB communication (KGDB: On generic serial port (8250)) --->
5、将linux-2.6.15.5目录下的Makefile中 -O2 的调试选项改成 -O, 同时加入 -g 选项
6、make //编译内核
7、将编译好后的文件传到虚拟机
scp arch/i386/boot/bzImage
scp System.map
阅读(2426) | 评论(1) | 转发(0) |