Sponsored Content
Top Forums UNIX for Advanced & Expert Users Kernel module compilation problem Post 302281717 by otheus on Thursday 29th of January 2009 10:21:28 AM
Old 01-29-2009
The thing is, every .c file normally is compiled separately into a separate object file. Unlike normal programs, there is no linker to combine the object files. If you want the kernel to load all these files, you have to make *each* of them a kernel module.

What you can instead do is something like this: split your code into two separate files, mod.c and lib.c, and then inside mod.c you have:
Code:
#include "lib.c"

You can put it at the top or at the end. Keep in mind, globals or static data defined in one .c file will be seen in the other.
 

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
MODULES-LOAD.D(5)						  modules-load.d						 MODULES-LOAD.D(5)

NAME
modules-load.d - Configure kernel modules to load at boot SYNOPSIS
/etc/modules-load.d/*.conf /run/modules-load.d/*.conf /usr/lib/modules-load.d/*.conf DESCRIPTION
systemd-modules-load.service(8) reads files from the above directories which contain kernel modules to load during boot in a static list. Each configuration file is named in the style of /etc/modules-load.d/program.conf. Note that it is usually a better idea to rely on the automatic module loading by PCI IDs, USB IDs, DMI IDs or similar triggers encoded in the kernel modules themselves instead of static configuration like this. In fact, most modern kernel modules are prepared for automatic loading already. CONFIGURATION FORMAT
The configuration files should simply contain a list of kernel module names to load, separated by newlines. Empty lines and lines whose first non-whitespace character is # or ; are ignored. CONFIGURATION DIRECTORIES AND PRECEDENCE
Configuration files are read from directories in /etc/, /run/, and /lib/, in order of precedence. Each configuration file in these configuration directories shall be named in the style of filename.conf. Files in /etc/ override files with the same name in /run/ and /lib/. Files in /run/ override files with the same name in /lib/. Packages should install their configuration files in /lib/. Files in /etc/ are reserved for the local administrator, who may use this logic to override the configuration files installed by vendor packages. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. It is recommended to prefix all filenames with a two-digit number and a dash, to simplify the ordering of the files. If the administrator wants to disable a configuration file supplied by the vendor, the recommended way is to place a symlink to /dev/null in the configuration directory in /etc/, with the same filename as the vendor configuration file. If the vendor configuration file is included in the initrd image, the image has to be regenerated. EXAMPLE
Example 1. /etc/modules-load.d/virtio-net.conf example: # Load virtio-net.ko at boot virtio-net SEE ALSO
systemd(1), systemd-modules-load.service(8), systemd-delta(1), modprobe(8) systemd 237 MODULES-LOAD.D(5)
All times are GMT -4. The time now is 08:09 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy