Hello, I would need kernel modules for a pl2303 usb-serial adapter. I am running debian on my mini2440 and the kernel seems to be 2.6.32-rc8, which I have compiled from the git repository. I have tried to install the usbserial and pl2303 kernelmodules with apt-get install kernel-module-usbserial and apt-get install kernel-module-pl2303, but they don't seem to be in the repository. So what is the proper way to get the kernel modules? Can/should I compile the modules myself, how? Can it be done directly on the mini2440? Or can I download them somewhere? Do they need to be compiled especially for my kernel?
Kernel modules
Looks like you are trying to install these modules on the host. To install the kernel modules you want, or look at the 1000 or so options available to you, I think you need to do a <make menuconfig> My crude attempt at trying to explain this process is in the Linux tutorial on the Wiki. Prepare to spend quite a bit of time. Is 2.6.32rc8 the latest on buserror's site? Good luck!
I'm trying to install the modules directly on the mini2440 (I have debian armel), but maybe they aren't in the repository. Yes, it's from the buserror's git repository. When I compile the kernel I get a bunch of .o files in the kernel-bin directory, including usbserial.o, but when I try to load them using insmod file.o, I get the errormessage that the file is in a wrong format. If someone has kernel modules for the mini2440, could you please upload them for example in a zip package to rapidshare or something? I would appriciate also other modules than just usbserial.
There are two build systems irrelevant of the board you are on: 1. build kernel 2. build modules this is available via the 'make' system. (i'm not going to give you the commands, you need to read up on building different kernels, if you don't understand it clearly yourself it cannot easily be explained) Then there is compiling the module DIRECTLY into the kernel space (options in make menuconfig). Problem is your kernel grows exponentially, filled with crap that may not be used all the time. The task is to keep the actual kernel small enough to get basic functionality, (boot up), anything else is a module. do not go into "make menuconfig" and start making random changes , otherwise you will end up with either a dead system or a bloated system.
I know how to compile kernel modules for my ubuntu pc, the problem is that I don't know how to cross-compile modules for the arm board. When I compile the kernel for the mini2440 I get some kernel modules, but not all that I would need, and not all that I have selected to be compiled as modules in make menuconfig. I have tried the make menuconfig, and the modules I would need are already as default marked as "M" for module, but it won't compile them all as modules. I compile like this: Generate .config from mini2440 template: CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm make O=../kernel-bin/ mini2440_defconfig Then I do the make menuconfig, and then: Compile kernel and modules: CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm make O=../kernel-bin/ (like in wiki.linuxmce.org/index.php/Mini2440)
Hi, Did you solved this. I am running into exactly the same problem. I need usbserial as a module. Is there a difference between the linux that comes by default in the mini2440, and the devian that you are talking about on this thread? Anyway On a linux desktop computer it is just matter of install the module usbserial with modprobe 'sudo modprobe usbserial vendor=0x1234 product=0x5678' (this work file) the mini2440 does not have such module so I compiled a kernel with that option as a module. I compile the modules as the manual suggest 1) run make menuconfig, put at M in the module 2)Compile kernel 3) compile modules then I have a usbserial.ko that I put in the place that it should go. I do this in parallel with a hello_module to check that everything goes fine. When I install the hello_module (it only prints hello) it is installed properly, however when I do this with the usbmodule I got 'usbserial: unkknown relocation: 40' ( at the serial console that I have connected to the serial port of the mini2440) modprobe: 'usbserial.ko': invalid module format (at the telnet console that I have connected to the eternet of the mini2440) any help, comment, or suggestion welcome and again sorry for bothering...
No problems with my 2.6.33 mini2440 kernel. I have installed all needed modules under /lib/modules/<kernel-version>/ and then I can do "insmod <modulename>" without problems to enable specific modules (e.g. WLAN-drivers). Also you may need to do "depmod" to solve module dependencies. Doing "rmmod <modulename>" lets you unload specific modules.
Hey all, I have a compiled kernel module ,then after insmod hello_world.ko I got this error message :- Invalid module format What wrong might I did ??
Then it isn't in the right format for armel processors... Seems that you made a mistake while cross-compiling.
Jay: How do you compile the kernel modules for WLAN-drivers? I have selected rt73 and several others as "M" (module) in the make menuconfig, but it won't compile them to .ko files. How should I save the "make menuconfig" configuration? as .config, or what?
If you have set some of the drivers to "M" in make menuconfig, you must compile and install these modules first in a temporary directory (make modules -> make modules_install -> make firmware_install). Then it produces some .ko files in different folders that you need to copy to the /lib/modules/<kernel-version>/ directory. Look at the description on my project page at http://www.programmers-projects.de/veroeffentlichung/kernel-2633-fuer-mi...
Jay:- just I made a makefile for that ,with the Kernel_directory path and Cross_compiler for arm path ,then using make -C $(kernel_directory) &the arguments of the arch,and the cross complier modules What wrong might I did??
The modules need to be copied to the root filesystem under the right modules path that the kernel can find it there.