Linux - KernelThis forum is for all discussion relating to the Linux kernel.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hey there! Im working on a little project of mine. I'm having a little trouble linking modules into the linux source code. (I got the code from kernel.org) but at the same time I can't tell if i'm suppose to be linking my modules into the source code itself or the compiled bzImage..
I was reading some documentation and it all talks about to compile modules into our already installed linux system's kernel rather then linking it too bzImage or the code itself. Help would be appreciated thanks!
No, you don't link modules into source code; you link them to the compiled image. Or rather the udev daemon links them in as and when they are needed.
Many parts of the kernel such as hardware drivers can be treated in three different ways:
1) Compile them right in. Then they are available immediately. If you are compiling your own kernel, you can compile in the drivers for your hard drive and filesystem controllers so that the kernel can access them without needing an initrd.
2) Compile them as separate modules. These are like miniature libraries which the kernel can link to and then access at need. In a modern Linux system, this is done by udev.
3) Don't compile them at all. If you are making your own kernel, make it lean and mean.
Your bzImage becomes the core of your kernel. Rename it to something sensible and copy it to where the bootloader can find it. The modules that you have compiled end up in /lib/modules/x.y.z where the system expects them to be.
No, you don't link modules into source code; you link them to the compiled image. Or rather the udev daemon links them in as and when they are needed.
Many parts of the kernel such as hardware drivers can be treated in three different ways:
1) Compile them right in. Then they are available immediately. If you are compiling your own kernel, you can compile in the drivers for your hard drive and filesystem controllers so that the kernel can access them without needing an initrd.
2) Compile them as separate modules. These are like miniature libraries which the kernel can link to and then access at need. In a modern Linux system, this is done by udev.
3) Don't compile them at all. If you are making your own kernel, make it lean and mean.
Your bzImage becomes the core of your kernel. Rename it to something sensible and copy it to where the bootloader can find it. The modules that you have compiled end up in /lib/modules/x.y.z where the system expects them to be.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.