Recent Posts
-
January 17, 2011
Linux scsi target framework (tgt) 虚拟磁盘scsi驱动
一个scsi驱动,可以让linux当作scsi的指令的接受机使用。比如虚拟机DVD的,虚拟磁带,iscsi主机等。听说准备被整合进2.6.38版本的内核去了。要写虚拟scsi设备驱动的,可以参考一下实现。 主页是http://stgt.sourceforge.net/ ,支持设备和虚拟设备很多的:Tgt supports various target driversiSCSI target driver for Ethernet NICsiSER target driver for I...
-
December 09, 2010
使用crash工具分析linux 的crash dump文件的常用命令
Crash 工具主页http://people.redhat.com/anderson/(1) “ crash + dump 文件 + 调试版本内核“命令,启动crash例如:crash vmcore vmlinux-2.6.18-92.EL.fulldebug注意这个内核应该和你dump的机器的内核相对应,这里还可以指定 system.map的符号文件等。(2) bt 命令查看调用堆栈,估计的最有效的一个命令的了。bt + pid 列出相应的进程堆栈bt -f 会列出所有堆栈里面数据 ...
-
December 01, 2010
Linux网络协议栈:cisco vpn client实现代码和linux抓包接口的学习
这几天在做一个网络包相关的bug,都是通过 Linux上的思科vpn客户端连到客户的服务器上面去测试的,抓包测试的时候,才发现wireshark没有办法把cisco vpn client接口的返回包抓下来,出去的包是可以抓的到的。bug终于有点头绪了,回来没事做到csdn逛了逛,想起这个问题来,就找了cisco的vpn client的代码,看看能不能发现是什么问题,说Linux的网络的,发现两本书好像讲的不错“Understanding_Linux_Network_Internals.ch...
-
October 08, 2010
Linux 内核的virtio框架
VirtIO 是一个用来实现“虚拟IO”的通用框架,典型的用于虚拟机上面实现虚拟的pci,网卡,磁盘等虚拟设备,kvm等都使用了这个技术。大概浏览了一下相关的内核代码,这个virtio应该是专门应用于那种“半虚拟化?(部分虚拟化)”的虚拟机的来虚拟各种通用io设备的,好像不是很适合单纯的用来虚拟设备。参考资料Virtio:针对 Linux 的 I/O 虚拟化框架 http://www.ibm.com/developerworks/cn/linux/l-virtio/index.html?c...
-
May 06, 2009
Gdb调试程序常用命令
记得用gcc 加-g 参数编译程序,以便生成的程序中带有调试信息。1。gdb载入程序gdb a.out2。运行程序run 加程序需要的参数3。设置源代码目录gdb directory /代码目录4。查看函数名字用 infogdb info functions类似的有gdb info files查看函数所在的源代码行数gdb info line 函数名字(gdb) info line *0xb6779198(gdb) list *0xb67791985。下断点(gdb) br net.c:...
-
January 20, 2009
虚拟光驱学习
这段时间,看了很多代码和图书,包括一个Linux平台的虚拟cd驱动,一个wiindows平台的虚拟光驱驱动,《Linux设备驱动》等书关于 block device驱动的描述,网上pdf文档“Guide to the implementation of SCSI in Linux 2.6.X kernel”,等等。还有一个实际项目中Linux虚拟光驱的实现代码。 其实做一个虚拟光驱也不是很复杂。你按照系统规范实现一个block device 驱动或者scsi底层驱动。然后系统自动会在相应的...
-
July 19, 2006
闲着没事做了个歌词插件
在5Q下载了些 《走遍美国》的MP3,虽然有很多英文的LRC格式的歌词文件,但显示不出来。想到有很多歌词插件 ,于是也想自己动手做一个,还可以练练手。 刚好看到Kmplayer论坛上有人提到歌词文件这个问题,在Kmplayer主页找了找,只看到Kmplayer支持Winamp标准的插件的,象 MiniLRC这类支持Winamp标准的 歌词插件论坛上也有人说可以在Kmplayer 中使用。但是没有找到什么编程相关的资料。在kmplayer的安装目录下SDK里面倒是有一个例...