环境:Fedora 12 (linux-2.6.31.5)
内核: linux-2.6.31.5
GCC: 4.4.2
STEP 1: 启动Fedora 12,查看Fedora 12的内核版本号,GCC版本号。明白这些后方便以后排错。
STEP 2:下载一个与Fedora 12相同版本的内核源代码linux-2.6.31.5,否则实验时一般会出现奇怪错误。为什么需要这个内核代码?因为Fedora 12自身带的内核代码没有usbip的代码。
STEP 3:解压源代码到/usr/src/kernels/.
STEP 4: 进入/usr/src/kernels/linux-2.6.31/drivers/staging目录,把里面的usb整个目录复制到/home/usbip.
mkdir /home/usbip
cp -r /usr/src/kernels/linux-2.6.31/drivers/staging /home/usbip
STEP 5:进入/home/usbip目录,为usbip编写新的Makefile,可以参考usbip-0.1.7里面的Makefile。在Makefile中,KSOURCE的值一定要是你的发行版正在使用的内核的源代码的目录,这样make的时候,使用的就是正在使用的内核的配置进行编译,那么编译的过程中不容易出错,产生的模块在加载的时候就不会出错,编译模块用的配置和当前运行的内核配置一样,那么二者同时运行时就肯定不会出错,因为用的配置一样,GCC也一样什么都一样!!(这个浪费了我N多时间)。Makefile如下:
DEBUG ?= n
KSOURCE ?= /usr/src/