Sunday, June 28, 2009
Saturday, June 27, 2009
rpmforge for CentOS, etc
rpmforge contains many packages that does not come with default CentOS, such as ghex.
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge?action=show&redirect=Repositories%2FRPMForge
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge?action=show&redirect=Repositories%2FRPMForge
Friday, June 26, 2009
Tuesday, June 23, 2009
To compile QEMU with just i386 and x86_64 support
To compile QEMU with just i386 and x86_64 support:
./configure --target-list=x86_64-linux-user,i386-linux-user,i386-softmmu,x86_64-softmmu
make -j2
make install
./configure --target-list=x86_64-linux-user,i386-linux-user,i386-softmmu,x86_64-softmmu
make -j2
make install
Saturday, June 20, 2009
IDT (interrupt descriptor table)
http://www.unixresources.net/linux/clf/linuxK/archive/00/00/55/19/551958.html
http://blog.csdn.net/lijingze2003/archive/2005/04/10/342523.aspx
http://unixresources.org/linux/clf/linuxK/archive/00/00/58/91/589164.html
http://blog.chinaunix.net/u/19186/showart_299239.html
http://linux.chinaunix.net/bbs/thread-1098425-1-1.html
http://www.phrack.org/issues.html?issue=59&id=4&mode=txt
http://blog.csdn.net/lijingze2003/archive/2005/04/10/342523.aspx
http://unixresources.org/linux/clf/linuxK/archive/00/00/58/91/589164.html
http://blog.chinaunix.net/u/19186/showart_299239.html
http://linux.chinaunix.net/bbs/thread-1098425-1-1.html
http://www.phrack.org/issues.html?issue=59&id=4&mode=txt
Friday, June 19, 2009
用QEMU+GDB 调试LINUX KERNEL的方法
1。安装QEMU,安装个LINUX虚拟机。被调试的是虚拟机。
2。重新编译虚拟机里LINUX KERNEL,打开DEBUG相关设置,具体设置可以看LDD3的第四章
3。用QEMU 启动被调试的虚拟机的时候,加上 -S 参数。注意是大写S,表示虚拟机一启动起来就先暂停(SUSPEND).
4。选中QEMU那个虚拟机,按 CTL+ALT+2切换到控制窗口,然后输入
gdbserver 1234. 意思是启动GDBSERVER,同时端口为1234。然后这时可以按c, 让QEMU继续运行。然后按CTRL+ALT+1 切换回虚拟机本身的显示。
5。在HOST(主机)上面启动一个GDB。如果要看LINUX KERNEL SYMBOL的话,最好在和虚拟机里编译LINUX KERNEL同样的路径上放上KERNEL的源码。
在启动GDB 的时候,用 gdb vmlinux 来启动。其中的vmlinux 是没压缩过,并且带符号表的格式,大小应该为30M 以上。
6。在GDB 里,输入 target remote localhost:1234。 这里的1234是和QEMU里的设置相对应。
7。回车,这时虚拟机应该被停了下来,同时在GDB里会显示一些随机的源码,显示GDB停在了什么地方。
8。这时,在GDB里,可以用b xxx设置断点,然后按c继续运行。
9。如果虚拟机已经运行了一半,这时想停下来加断点,可以在GDB里按CTRL+C.
2。重新编译虚拟机里LINUX KERNEL,打开DEBUG相关设置,具体设置可以看LDD3的第四章
3。用QEMU 启动被调试的虚拟机的时候,加上 -S 参数。注意是大写S,表示虚拟机一启动起来就先暂停(SUSPEND).
4。选中QEMU那个虚拟机,按 CTL+ALT+2切换到控制窗口,然后输入
gdbserver 1234. 意思是启动GDBSERVER,同时端口为1234。然后这时可以按c, 让QEMU继续运行。然后按CTRL+ALT+1 切换回虚拟机本身的显示。
5。在HOST(主机)上面启动一个GDB。如果要看LINUX KERNEL SYMBOL的话,最好在和虚拟机里编译LINUX KERNEL同样的路径上放上KERNEL的源码。
在启动GDB 的时候,用 gdb vmlinux 来启动。其中的vmlinux 是没压缩过,并且带符号表的格式,大小应该为30M 以上。
6。在GDB 里,输入 target remote localhost:1234。 这里的1234是和QEMU里的设置相对应。
7。回车,这时虚拟机应该被停了下来,同时在GDB里会显示一些随机的源码,显示GDB停在了什么地方。
8。这时,在GDB里,可以用b xxx设置断点,然后按c继续运行。
9。如果虚拟机已经运行了一半,这时想停下来加断点,可以在GDB里按CTRL+C.
Subscribe to:
Posts (Atom)