Sponsored Content
Top Forums UNIX for Advanced & Expert Users Kernel module compilation problem Post 302300636 by natraj on Tuesday 24th of March 2009 04:17:37 PM
Old 03-24-2009
Kernel module compilation problem

Dear Marcintom,

Just saw your post on compiling the kernel modules spanning multiple files. I am not able to do it .
I have one file mod.c (the main kernel module) and one list.c (which is the library)
Could you please help me with the following questions ..
1) Is a header file needed (list.h) to be included in the mod.c ?
2) do we need to write the list.c in the kernel mode (using #define __kernel___) and using kmalloc etc ?
3) How would you write the make file ?

Right now If i try writing list.c in the kernel mode and use the makefile that u have give it give a lot of compile errors and if i write it in the user mode it give un known symobol while loading the module somehow it is not able to link it..it would be great if you could please help.

Natraj
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Kernel compilation

I have re-compiled kernel source code available in /usr/src/linux.2.4.20 with "make" command. The compilation is succesful. Now the problem is create the image for this. The documentation in the same folder says that now you have compile "make image". There is no option for image in Makefile. ... (3 Replies)
Discussion started by: mankrish
3 Replies

2. SuSE

max number of slabs per kernel module (kernel 2.6.17, suse)

Hi All, Is there a max number of slabs that can be used per kernel module? I'm having a tough time finding out that kind of information, but the array 'node_zonelists' (mmzone.h) has a size of 5. I just want to avoid buffer overruns and other bad stuff. Cheers, Brendan (4 Replies)
Discussion started by: Brendan Kennedy
4 Replies

3. Red Hat

Problem with kernel-module-ntfs

Hi All Im trying to access the my windows XP NTFS from Redhat linux 4.0 Enterprise edition I have downloaded the respective rpm And im able to install it successfully Then i have given the following command , but got an error Here are my partitions And when i give the below... (1 Reply)
Discussion started by: balumankala
1 Replies

4. Linux

How to convert Linux Kernel built-in module into a loadable module

Hi all, I am working on USB data monitoring on Fedora Core 9. Kernel 2.6.25 has a built-in module (the one that isn't loadable, but compiles and links statically with the kernel during compilation) to snoop USB data. It is in <kernel_source_code>/drivers/usb/mon/. I need to know if I can... (0 Replies)
Discussion started by: anitemp
0 Replies

5. Linux

problem with kernel module loading

Hi masters, I am new to linux and unix forum and this is my first forum. So please excuse if I am not giving sufficient information. I will give them on request. I have created a bandwidth manager module. I am using a 2.6.9 kernel and in Red Hat 3.4.3 distribution. But when i run make... (1 Reply)
Discussion started by: iamjayanth
1 Replies

6. UNIX and Linux Applications

Apache module compilation error

I'm trying to compile an apache module (a tutorial module, Apache 2 Module Tutorial - GNU Build Tools and the Development Environment) and I get errors like this: apr.h:273: error: expected ´=´, ´,´,´;´,´asm´ or ´__attribute__´ before ´apr_off_t´ those errors occur like 30 times in different... (4 Replies)
Discussion started by: hjalle
4 Replies

7. Red Hat

Kernel compilation for s3c2440

Hi All, I am trying to compile Kernel 2.6.31 with arm-linux-gcc3.2.2 for s3c2440a, but I am not able to perform the task. I am using Redhat 9 firstly i am using the following commands $make s3c2410_defconfig // there is no error in execution of this command next i run $make ... (0 Replies)
Discussion started by: niranjanvg
0 Replies

8. Linux

Linux kernel compilation

I have complied the kernel with a default settings... now if I load this kernel , it'll load perfectly but the INTERNET is not workink... I think in the default settings The network modules are not included.. Can anybody help me out with the selection of the network module when i give "make... (1 Reply)
Discussion started by: naresh046
1 Replies

9. UNIX for Dummies Questions & Answers

Kernel Compilation Issue

I have installed ubuntu 11.04 on my system. After this when I used to give uname -r it showed me kernel version as 2.6.38. Now I had downloaded kernel 2.6.34.12 from kernel.org and installed it using the following steps: make make modules make modules_install make install This created... (2 Replies)
Discussion started by: rupeshkp728
2 Replies

10. Linux

Unload kernel module at boot time (Debian Wheezy 7.2, 3.2.0-4-686-pae kernel)

Hi everyone, I am trying to prevent the ehci_hcd kernel module to load at boot time. Here's what I've tried so far: 1) Add the following line to /etc/modprobe.d/blacklist.conf (as suggested here): 2) Blacklisted the module by adding the following string to 3) Tried to blacklist the module... (0 Replies)
Discussion started by: gacanepa
0 Replies
MODPROBE.CONF(5)														  MODPROBE.CONF(5)

NAME
modprobe.d, modprobe.conf - Configuration directory/file for modprobe DESCRIPTION
Because the modprobe command can add or remove more than one module, due to modules having dependencies, we need a method of specifying what options are to be used with those modules. All files underneath the /etc/modprobe.d directory which end with the .conf extension specify those options as required. (the /etc/modprobe.conf file can also be used if it exists, but that will be removed in a future ver- sion). They can also be used to create convenient aliases: alternate names for a module, or they can override the normal modprobe behavior altogether for those with special requirements (such as inserting more than one module). Note that module and alias names (like other module names) can have - or _ in them: both are interchangable throughout all the module com- mands as underscore conversion happens automatically. The format of and files under modprobe.d and /etc/modprobe.conf is simple: one command per line, with blank lines and lines starting with '#' ignored (useful for adding comments). A '' at the end of a line causes it to continue on the next line, which makes the file a bit neater. COMMANDS
alias wildcard modulename This allows you to give alternate names for a module. For example: "alias my-mod really_long_modulename" means you can use "mod- probe my-mod" instead of "modprobe really_long_modulename". You can also use shell-style wildcards, so "alias my-mod* really_long_modulename" means that "modprobe my-mod-something" has the same effect. You can't have aliases to other aliases (that way lies madness), but aliases can have options, which will be added to any other options. Note that modules can also contain their own aliases, which you can see using modinfo. These aliases are used as a last resort (ie. if there is no real module, install, remove, or alias command in the configuration). blacklist modulename Modules can contain their own aliases: usually these are aliases describing the devices they support, such as "pci:123...". These "internal" aliases can be overridden by normal "alias" keywords, but there are cases where two or more modules both support the same devices, or a module invalidly claims to support a device that it does not: the blacklist keyword indicates that all of that partic- ular module's internal aliases are to be ignored. install modulename command... This command instructs modprobe to run your command instead of inserting the module in the kernel as normal. The command can be any shell command: this allows you to do any kind of complex processing you might wish. For example, if the module "fred" works better with the module "barney" already installed (but it doesn't depend on it, so modprobe won't automatically load it), you could say "install fred /sbin/modprobe barney; /sbin/modprobe --ignore-install fred", which would do what you wanted. Note the --ignore- install, which stops the second modprobe from running the same install command again. See also remove below. The long term future of this command as a solution to the problem of providing additional module dependencies is not assured and it is intended to replace this command with a warning about its eventual removal or deprecation at some point in a future release. Its use complicates the automated determination of module dependencies by distribution utilities, such as mkinitrd (because these now need to somehow interpret what the install commands might be doing. In a perfect world, modules would provide all dependency infor- mation without the use of this command and work is underway to implement soft dependency support within the Linux kernel. If you use the string "$CMDLINE_OPTS" in the command, it will be replaced by any options specified on the modprobe command line. This can be useful because users expect "modprobe fred opt=1" to pass the "opt=1" arg to the module, even if there's an install com- mand in the configuration file. So our above example becomes "install fred /sbin/modprobe barney; /sbin/modprobe --ignore-install fred $CMDLINE_OPTS" options modulename option... This command allows you to add options to the module modulename (which might be an alias) every time it is inserted into the kernel: whether directly (using modprobe modulename or because the module being inserted depends on this module. All options are added together: they can come from an option for the module itself, for an alias, and on the command line. remove modulename command... This is similar to the install command above, except it is invoked when "modprobe -r" is run. softdep modulename pre: modules... post: modules... The softdep command allows you to specify soft, or optional, module dependencies. modulename can be used without these optional mod- ules installed, but usually with some features missing. For example, a driver for a storage HBA might require another module be loaded in order to use management features. pre-deps and post-deps modules are lists of names and/or aliases of other modules that modprobe will attempt to install (or remove) in order before and after the main module given in the modulename argument. Example: Assume "softdep c pre: a b post: d e" is provided in the configuration. Running "modprobe c" is now equivalent to "modprobe a b c d e" without the softdep. Flags such as --use-blacklist are applied to all the specified modules, while module parameters only apply to module c. Note: if there are install or remove commands with the same modulename argument, softdep takes precedence. allow_unsupported_modules [0|1] In SUSE kernels, every kernel module has a flag 'supported'. If this flag is not set loading this module will taint your kernel. Setting this option to 0 disables loading of unsupported modules and avoids tainting the kernel. This is typically set in /etc/mod- probe.d/unsupported-modules. COMPATIBILITY
A future version of module-init-tools will come with a strong warning to avoid use of the install as explained above. This will happen once support for soft dependencies in the kernel is complete. That support will complement the existing softdep support within this utility by providing such dependencies directly within the modules. COPYRIGHT
This manual page originally Copyright 2004, Rusty Russell, IBM Corporation. Maintained by Jon Masters and others. SEE ALSO
modprobe(8), modules.dep(5) 02 June 2010 MODPROBE.CONF(5)
All times are GMT -4. The time now is 09:59 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy