Hello Jun, Thanks for the reply.I have checked for the unresolved function symbols like "printk" and "register_chrdev", and found that they are present in /proc/ksyms. So it appears to me that I may be compiling the module with incorrect parameters. Below is the Makefile for the Loadable Module: /*****************************************************************************************************************/ CROSS_COMPILE= /backup/buildroot-QuickMIPS/build/staging_dir/bin/mipsel-uclibc- TARGET = example_driver INCLUDE = /backup/buildroot-QuickMIPS/build/linux-2.4.20/include CC = $(CROSS_COMPILE)gcc -I${INCLUDE} CFLAGS = -DMODVERSIONS -I${INCLUDE}/linux/modversions.h ${TARGET}.o: ${TARGET}.c .PHONY: clean clean: rm -rf ${TARGET}.o /****************************************************************************************************************/ Do you think that I need to modify the makefile or add some more options to CFLAGS. I have ensured that the kernel is compiled with "module-option" turned on. Also my module uses symbol versioning (sometimes called module versioning). I use the following lines of code at the start of header file to accomplish this: /*************************************************************************************************************/ #if defined (CONFIG_MODVERSIONS) && ! defined (MODVERSIONS) #include <linux/modversions.h> #define MODVERSIONS #endif /*************************************************************************************************************/ I have successfully cross-compiled user-space applications on the target platform. Only when i do the kernel work, this unresolved symbol (like printk, register_chrdev, etc..) phenomenon happens. ADEEL MALIK,
-----Original Message----- From: linux-mips-bounce@linux-mips.org [mailto:linux-mips-bounce@linux-mips.org]On Behalf Of Jun Sun Sent: Wednesday, August 27, 2003 9:51 PM To: Adeel Malik Cc: linux-mips@linux-mips.org; jsun@mvista.com Subject: Re: Information required
On Wed, Aug 27, 2003 at 07:30:26PM +0500, Adeel Malik wrote: > Hi All, > I am involved in Embedded Linux Development for MIPS Processor. I > need to write a device driver for a MIPS Target Platform. When I insmod the > driver.o file, the linux bash script running on the target hardware gives me > the error message like ; > 1. unable to resolve the printk function > 2. unable to resolve the register_chardev function > etc. > Can you plz give me the direction as to how to proceed to tackle this > situation. Make sure your kernel compiled with module option turned on. Does it use module version (CONFIG_MODVERSIONS)? If so, add -DMODVERSIONS -include $(KERNEL_PATH)/include/linux/modversions.h to your CFLAGS. Jun
|