通过串口调试FreeBSD内核的操作示例
2009-05-13 04:27:28来源:未知 阅读 ()
这个示例使用的是Windows vmware里的两台虚拟FreeBSD机器,演示通过串口调试FreeBSD内核的操作过程。内核版本为FreeBSD6.1。
1、调试环境的搭建
首先是在vmware里面安装两台FreeBSD机器,并通过用命名管道模拟的“串口”将这两台机器连接起来,具体设置方法请参见vmware随机文档的“Connecting Two Virtual Machines ”一节。
2、FreeBSD调试内核的编译
两台虚拟FreeBSD机器分别作为调试机和目标机。
(1)在调试机上构建自己的内核配置文件,假设名字为DEBUG_KERNEL:
CODE:
[Copy to clipboard]
#cd /usr/src/sys/i386/conf
#mkdir /root/kernels
#cp GENERIC /root/kernels/DEBUG_KERNEL
#ln -s /root/kernels/DEBUG_KERNEL(2)在调试机上编辑上述内核配置文件:
CODE:
[Copy to clipboard]
#vim DEBUG_KERNEL在配置文件中加入以下选项:
CODE:
[Copy to clipboard]
makeoptions DEBUG=-g
options KDB
options KDB_TRACE
options DDB
options GDB(3)在调试机上编译调试内核:
CODE:
[Copy to clipboard]
#/usr/sbin/config DEBUG_KERNEL
#cd ../compile/DEBUG_KERNEL
#make cleandepend
#make depend
#make(4)完成上述步骤之后,在调试机的当前目录(/usr/src/sys/i386/compile/DEBUG_KERNEL/)目录下就会生成kernel.debug文件。把这个文件拷贝到目标机上,放到/boot/kernel/目录下,更名为kernel,并使用strip -x去掉其中的调试符号。
3、完成调试机和目标机的远程连接
(1)编辑目标机的/boot/device.hints文件,找到0号串口标志对应的行,为其增加0x80标志,修改后该行如下:
CODE:
[Copy to clipboard]
hint.sio.0.flags="0x90"(2)另外,我所使用的FreeBSD6.1版本在进入DDB模式之后会失去键盘响应,这是由于DDB和kbdmux(4)共存还有问题。如果出现这一情况,解决办法是在目标机的/boot/device.hints文件中添加如下这一行:
CODE:
[Copy to clipboard]
hint.kbdmux.0.disabled="1"(3)重启目标机,在启动菜单中选择以下这一项:
CODE:
[Copy to clipboard]
6. Escape to loader prompt然后在“OK”提示符后输入boot -d :
CODE:
[Copy to clipboard]
Type '?' for a list of commands, 'help' for more detailed help.
OK boot -d这时就会出现如下画面:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:宣传画 - FreeBSD靓照
下一篇:ipfw的使用方法
- 内核编译 修改了操作系统名称,改如何改回来? 2009-05-13
- FreeBSD通过PORTS安装软件的几个常用命令(资料留存) 2009-05-13
- 求《4.4BSD操作系统设计与实现》英文版影印版 2009-05-13
- linux内核printk调试 2009-05-13
- 通过pf防火墙来封堵恶意猜测登陆ssh的IP 2009-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash