Frank Ihle
2014-03-05 08:49:40 UTC
Hi everyone,
there is this problem, that I searched the Internet
for its solution but without success. Here's what it's about, I hope
someone can give me a hint:
I'm using Buildroot 2013.10 to generate my Linux 2.6.39 Images, with the following Kernel module:
void GPIO_LED(void) {
printk(" GPIO: set PC8: '0');
at91_set_gpio_value(AT91_PIN_PC8, 1);
}
int init_module(void) {
GPIO_LED(); return 0;
}
MODULE_LICENSE("GPL");
When using it with mdev device management. everything works just
fine. But using it with a udev device management, while executing insmod
insmod /usr/modules/measurement_gpio.ko
the following message appeared:
insmod: can't insert '/usr/modules/measurement_gpio.ko': invalid
module format
Every setting stayed the same (especially the kernel version) but the
device management changes during this test, so actually the module
should be fine. Building the kernel to be able for loading modules for
multiple versions didn't solve it, neither the option "force module
loading"
The way I build my module is:
with Buildroot I'm generating an Image, on the way a Linux 2.6.39 is installed.Afterwards I'm compiling the kernel module with the path to the Linux 2.6.39, that Buildroot has downloaded.When the module is created I'm putting it into a fs-overlay directory, so it will be included into the image on next build.I hit another "make" on Buildroot and i got everything together and a bootable image.
I change nothing, that's why it confuses me even more
How can this be and how to solve it?
Kind Regards,
Frank
there is this problem, that I searched the Internet
for its solution but without success. Here's what it's about, I hope
someone can give me a hint:
I'm using Buildroot 2013.10 to generate my Linux 2.6.39 Images, with the following Kernel module:
void GPIO_LED(void) {
printk(" GPIO: set PC8: '0');
at91_set_gpio_value(AT91_PIN_PC8, 1);
}
int init_module(void) {
GPIO_LED(); return 0;
}
MODULE_LICENSE("GPL");
When using it with mdev device management. everything works just
fine. But using it with a udev device management, while executing insmod
insmod /usr/modules/measurement_gpio.ko
the following message appeared:
insmod: can't insert '/usr/modules/measurement_gpio.ko': invalid
module format
Every setting stayed the same (especially the kernel version) but the
device management changes during this test, so actually the module
should be fine. Building the kernel to be able for loading modules for
multiple versions didn't solve it, neither the option "force module
loading"
The way I build my module is:
with Buildroot I'm generating an Image, on the way a Linux 2.6.39 is installed.Afterwards I'm compiling the kernel module with the path to the Linux 2.6.39, that Buildroot has downloaded.When the module is created I'm putting it into a fs-overlay directory, so it will be included into the image on next build.I hit another "make" on Buildroot and i got everything together and a bootable image.
I change nothing, that's why it confuses me even more
How can this be and how to solve it?
Kind Regards,
Frank