最近搞改了一点网卡驱动代码,去整个编译内核,编了一个小时挂了,一看信息,磁盘空间不足,原来8G的硬盘卡,装的东西多了,剩下的1G空间不够编译一次内核了.于是把hellow world的Makefile改了一下.和网卡驱动的代码8139too.c单独拿出来编译,Makefile如下:
KERNELDIR=/usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686
#PM包装的内核放到这路径了.如果是tar包,放其它位置也可以
PWD:=$(shell pwd) #当前目录
INSTALLDIR=/lib/modules # *.ko的驱动模块文件一般/lib/modules/版本/kernel/drivers/下,这里为了方便查看
CC=gcc #编译器或交叉编译器名
obj-m:=8139too.o #目标模块
modules:
TAB键 $(MAKE) -C $(KERNELDIR) M=$(PWD)
install:
TAB键 cp 8139too.ko $(INSTALLDIR)
clean:
TAB键 rm -rf *.o *.ko *.mod.c *.o.d
make clean;make install;
cd /lib/modules
insmod 8139too.ko
lsmod 就可以看到驱动加载成功了。