之后将linux-source-2.6.35.tar.bz2剪切到用户目录下,当然,这个得用命令来mv,解压,解压后的目录为:~/linux-source-2.6.35。然后cd linux-source-2.6.35 -->make。
接下来就可以对自己要进行的模块进行调试,因为笔者最近在做bluetooth部分,所以就以bluetooth为例说明,具体的调试过程如下:
1.从解压的源码处获得要改动的模块代码,例如/drivers/bluetooth/下的代码拷贝到/home/xxxx/dir,同时拷贝Kconfig和Makefile文件到dir下。
2.在dir外部编写一个新的Makefile,此Makefile的主要是用于编译改动文件,同时避免了改动文件后对真个kernel重新make,大大节省了时间,具体格式给个例子:
3.执行此Makefile;一条make命令搞定。之后用ls命令查看dir目录下文件,是不是除了*.c和Makefile还有Kconfig之外还有*.o和*.ko。这个就是编译之后的模块了。
4.执行insmod命令,例如生成了btusb.ko,那么就执行:insmod btusb.ko。如果你在代码中已经加入了调试信息,例如在static int btusb_probe()中加入BT_ERR("********hello, I am probe");那么当你插入USB蓝牙适配器时你就会在cons0le里面看到你打印出来的********hell, I am probe。怎样进console,别说你不知道吧,ALT+CTRL+SHIFT+F1,按的键比较多点,退出console则为ALT+F7。
之后的调试方法都是类似的,需要调试那个模块,就把那个模块的代码和Makefile还有Kconfig一起拷贝出来放在一个目录,如上面格式创建新的Makefile在目录外,在代码中加入调试信息后直接make就可以了。