我有一個運行Linux內核版本2.6.33的路由器,它沒有tun/tap支持。 該CPU是MIPSlittle endien。我建立了一個buildroot,並且爲路由器編譯了「Hello world」程序。爲我的路由器的內核版本編譯特定內核模塊
我試圖從linux-kernel-2.6.33/drivers/net/tun.c作爲獨立的內核對象編譯tun.c。 但我還沒有成功! 我用的buildroot得到的頭文件爲內核(通過make menuconfig後),並設置一個Makefile文件tun.c:
obj-m := tun.o
KDIR=/opt/buildroot/output/build/linux-kernel-2.6.33
PWD=$(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
我運行
make ARCH=mips CROSS_COMPILE=/opt/buildroot/output/bin/buildroot-compiler-
我得到了警告,並生成文件erros:
Warning: Symbol version dump /opt/buildroot/output/build/linux-kernel-2.6.33/Module.symvers is missing; modules will have no dependencies and modversions.
include/linux/mmzone.h:18:30: fatel error: generated/bounds.h. No such or directory .#include
我的哪一步是錯的?
顯示確切的錯誤。 –
@EugeneSh編輯 – ssdfdsfsd
所以你正在編譯一箇舊的內核版本的模塊,然後它的意思是?你的標題說明,但我沒有看到那是你的代碼,所以我有點困惑 – jgr208