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
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
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
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
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
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
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
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
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
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
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
DEPMOD(8) DEPMOD(8)
NAME
depmod - program to generate modules.dep and map files.
SYNOPSIS
depmod [ -b basedir ] [ -e ] [ -F System.map ] [ -n ] [ -v ] [ version ] [ -A ]
depmod [ -e ] [ -FSystem.map ] [ -n ] [ -v ] [ version ] [ filename... ]
DESCRIPTION
Linux kernel modules can provide services (called "symbols") for other modules to use (using one of the EXPORT_SYMBOL variants in the
code). If a second module uses this symbol, that second module clearly depends on the first module. These dependencies can get quite com-
plex.
depmod creates a list of module dependencies by reading each module under /lib/modules/version and determining what symbols it exports and
what symbols it needs. By default, this list is written to modules.dep, and a binary hashed version named modules.dep.bin, in the same
directory. If filenames are given on the command line, only those modules are examined (which is rarely useful unless all modules are
listed). depmod also creates a list of symbols provided by modules in the file named modules.symbols and its binary hashed version, mod-
ules.symbols.bin.
If a version is provided, then that kernel version's module directory is used rather than the current kernel version (as returned by uname
-r).
depmod will also generate various legacy map files in the output directory for use by the older hotplug infrastructure. These map files are
largely deprecated.
OPTIONS
-a --all
Probe all modules. This option is enabled by default if no file names are given in the command-line.
-A --quick
This option scans to see if any modules are newer than the modules.dep file before any work is done: if not, it silently exits
rather than regenerating the files.
-b basedir --basedir basedir
If your modules are not currently in the (normal) directory /lib/modules/version, but in a staging area, you can specify a basedir
which is prepended to the directory name. This basedir is stripped from the resulting modules.dep file, so it is ready to be moved
into the normal location. Use this option if you are a distribution vendor who needs to pre-generate the meta-data files rather than
running depmod again later.
-C --config file or directory
This option overrides the default configuration file at /etc/depmod.conf (or the /etc/depmod.d/ directory if that is not found).
-e --errsyms
When combined with the -F option, this reports any symbols which a module needs which are not supplied by other modules or the ker-
nel. Normally, any symbols not provided by modules are assumed to be provided by the kernel (which should be true in a perfect
world), but this assumption can break espencially when additionally updated third party drivers are not correctly installed or were
built incorrectly.
-F --filesyms System.map
Supplied with the System.map produced when the kernel was built, this allows the -e option to report unresolved symbols.
-h --help
Print the help message and exit.
-n --dry-run
This sends the resulting modules.dep and the various map files to standard output rather than writing them into the module direc-
tory.
-v --verbose
In verbose mode, depmod will print (to stdout) all the symbols each module depends on and the module's file name which provides that
symbol.
-V --version
Show version of program and exit. See below for caveats when run on older kernels.
COPYRIGHT
This manual page originally Copyright 2002, Rusty Russell, IBM Corporation. Maintained by Jon Masters and others.
SEE ALSO
depmod.conf(5), depmod.d(5), modprobe(8), modules.dep(5)
2010-03-01 DEPMOD(8)