假定,您想要开始研究 USB 驱动程序。从哪里入手查找 USB 代码?
首先,您可以在顶层内核目录中尝试运行 find 命令:
$ find . -name \*usb\*
这个命令将打印出包含有字符串“usb”的所有文件名。
可以尝试的另外一种方法是,查找某个惟一的字符串。这个惟一的字符串可以是 printk() 的输出,或者是 /proc 中的文件名称,或者是可以在源代码中找到的关于那个驱动程序的任意其他惟一的字符串。例如,USB 打印的消息是:
USB Universal Host Controller Interface driver v2.2
所以可以尝试使用递归的 grep 来查找那个 printk 中不包括版本号的部分:
$ grep -r "USB Universal Host Controller Interface driver" .
尝试查找 USB 源代码的另一种方法是查看 /proc。如果输入 find /proc -name usb,那么可能会找到一个名为 /proc/bus/usb 的目录。阅读那个目录中的条目,可能会找到用于 grep 命令的惟一字符串。
如果所有其他方法都失败了,那么可以尝试进入到各个目录并列出文件,或者查看 ls -lR 的输出。可能会看到看起来相关的文件名。不过,这应该是最后的办法,只有在多次运行了不同的 find 和 grep 命令后再来尝试它。
找到感兴趣的源代码后,可以开始阅读它。阅读和理解源代码本身就是另外一门课程。只需要记住,对源代码阅读的越多,就越容易把握它。祝您在研究内核的过程中获得乐趣!
(出处:http://www.sheup.com)