Spesifik olarak problem şu ki, modülünüzü kurduğunuzda, çekirdek kaynak ağacında muhtemelen Modules.symvers dosyası eksikti. Modeminizi kurduğunuzda kbuild sistemi aslında sizi uyarıyor. Modules.symvers eksikse, göreceksiniz:
Uyarı: Sembol sürümü dökümü / usr/src/linux-2.6.34-12/Modules.symvers eksik; modüllerin bağımlılığı ve kipliği yoktur.
Eğer çekirdeğiniz CONFIG_MODVERSIONS
etkinleştirilmişse, sürücünüzü inşa etmenin mütevazi aşamasında -m seçeneğiyle scripts / mod / modpost komutunu çalıştıracaktır . Cesursanız ve scripts / mod / modpost.c kaynağına bakarsanız , -m seçeneğinin vmlinux'den _module_layout_ sembolünü eklediğini göreceksiniz, ancak çekirdeğinizden Modules.symvers yoksa, bu sembol için CRC değerini alamazsınız ve bu hata mesajıyla sonuçlanırsınız.
Yani bunun etrafında iki yol var.
1) Modules.symvers oluşturmak için çalışan çekirdeğinizin tam derlemesini çalıştırın, ardından modülünüzü yeniden oluşturun. [Http://www.mjmwired.net/kernel/Documentation/kbuild/modules.txt][1]
51 === 2. How to Build External Modules
52
53 To build external modules, you must have a prebuilt kernel available
54 that contains the configuration and header files used in the build.
55 Also, the kernel must have been built with modules enabled. If you are
56 using a distribution kernel, there will be a package for the kernel you
57 are running provided by your distribution.
58
59 An alternative is to use the "make" target "modules_prepare." This will
60 make sure the kernel contains the information required. The target
61 exists solely as a simple way to prepare a kernel source tree for
62 building external modules.
63
64 NOTE: "modules_prepare" will not build Module.symvers even if
65 CONFIG_MODVERSIONS is set; therefore, a full kernel build needs to be
66 executed to make module versioning work.
2) Diğer seçenek, aptal modprobe'a tüm bu saçmalıkları görmezden gelmesini ve modülünüzü yine de yüklemesini söylemektir:
modprobe -f <module>
Ben seçenek 2 lehine eğilimindedir :)