• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Compile Kernel question....

Need4Speed

Diamond Member
Forgive my "noobness" on compiling kernels... but if most of the drivers are loadable modules that can be added/removed from the kernel on the fly, whats the point of compiling a kernel with only the drivers you need?

Isn't that exaclty the point of loadable modules? to reduce the kernel size and make it more streamlined while still supporting a large array of hardware?

With that in mind, I have an old dell box that is running redhat right now (and has been happily for some time now). I never ever change the hardware, nor do i plan to (unless something like the nic blows). Would it make more sense to recompile that kernel with those drivers in the kernel? should I leave it alone? or should I recompile it with loadable mods again?

-P

 
You've pretty much got it. Infact those that are against using modules will have to learn to use them as 2.5 is being changed to not support compiled in drivers, everything needed to boot will be loaded from a ramdisk (like RH does now with initrd only slightly different).

The only thing it gets you is a little simplicity in that you don't have to worry about loading the modules at bootup, some can be complicate to do handle like drivers for SCSI controllers that need loaded before the root fs can be mounted. But for the most part modules are the 'correct' way to do it.
 
Originally posted by: Nothinman
You've pretty much got it. Infact those that are against using modules will have to learn to use them as 2.5 is being changed to not support compiled in drivers, everything needed to boot will be loaded from a ramdisk (like RH does now with initrd only slightly different).

:Q Thats rediculous! I prefer compiling my drivers into the kernel (of course, laziness sometimes wins out so I use modules). This is why linux will never be the perfect system for <insert some silly use here>! Or something.
 
what to do, what to do 🙂

i knew you two guys would come and answer this thread...I was just hoping that you'd agree on an answer 😀

-p
 
Originally posted by: Need4Speed
what to do, what to do 🙂

i knew you two guys would come and answer this thread...I was just hoping that you'd agree on an answer 😀

-p

This is one of the many things we disagree on. I admit the ease of use of modules, but, being the BSD bastard I am, I prefer bigger kernels with everything inside. The "linux" way of doing things has been modules more and more over the past couple of years. Try them both, all it wastes is a little time 😉
 
I read somewhere (a while ago), the difference in modules was basically for speed. But that article was a long ways ago and the speed issue is probably mute (as long as you have a 100mhz+ cpu, it seems). Smaller kernels are fine, loading modules is no biggie, but I load everything I "know" need into the kernel -- I don't see any other point in not to.

vash
 
Originally posted by: vash
I read somewhere (a while ago), the difference in modules was basically for speed. But that article was a long ways ago and the speed issue is probably mute (as long as you have a 100mhz+ cpu, it seems). Smaller kernels are fine, loading modules is no biggie, but I load everything I "know" need into the kernel -- I don't see any other point in not to.

vash
Being lazy usually keeps me from recompiling my kernel. If it works, it works. Sometimes I don't feel like spending hours when the performance difference just isn't there...
 
I read somewhere (a while ago), the difference in modules was basically for speed. But that article was a long ways ago and the speed issue is probably mute (as long as you have a 100mhz+ cpu, it seems). Smaller kernels are fine, loading modules is no biggie, but I load everything I "know" need into the kernel -- I don't see any other point in not to.

There is a speed difference, but it's nothing noticable and I believe you have to load the modules at a point where there's enough memory already used that they'll be loaded 'far' from the rest of the kernel.

People also claim some bit of security from not allowing kernel modules which is false. To load modules I have to be root (or have the right capabilities once they're better supported) and even if module loading isn't permitted I can still write to /dev/mem and /dev/kmem and do whatever I want because I'm root.

but I load everything I "know" need into the kernel -- I don't see any other point in not to.

Not once you upgrade to 2.6.x you won't =)
 
Originally posted by: Nothinman
I read somewhere (a while ago), the difference in modules was basically for speed. But that article was a long ways ago and the speed issue is probably mute (as long as you have a 100mhz+ cpu, it seems). Smaller kernels are fine, loading modules is no biggie, but I load everything I "know" need into the kernel -- I don't see any other point in not to.

There is a speed difference, but it's nothing noticable and I believe you have to load the modules at a point where there's enough memory already used that they'll be loaded 'far' from the rest of the kernel.

People also claim some bit of security from not allowing kernel modules which is false. To load modules I have to be root (or have the right capabilities once they're better supported) and even if module loading isn't permitted I can still write to /dev/mem and /dev/kmem and do whatever I want because I'm root.

There are plenty of modules out there that aid in hiding processes and files, not to mention the ones that help regain access to a machine. I think there are security concerns, but when the cracker has root, they are less important.
 
well from the looks of it it seems 50/50 in either direction. I'm leaning towards doing it only to gain that specific experience, even if there are no tangible benefits. But I'd be interested in hearing more opinions on this ....
 
There are plenty of modules out there that aid in hiding processes and files, not to mention the ones that help regain access to a machine. I think there are security concerns, but when the cracker has root, they are less important.

But once he has root whether he can load modules it pointless because he can do whatever he wants to kernel memory, and there's rootkits to do it for him so he doesn't even have ot be smart.
 
Originally posted by: Nothinman
There are plenty of modules out there that aid in hiding processes and files, not to mention the ones that help regain access to a machine. I think there are security concerns, but when the cracker has root, they are less important.

But once he has root whether he can load modules it pointless because he can do whatever he wants to kernel memory, and there's rootkits to do it for him so he doesn't even have ot be smart.

Hence the last part of my statement 😉

Im a BSD user, I fear new stuff. Ill stick to big all drivers compiled in kernels for as long as I can.
 
Modular is the way to go for your usage. You won't find much benefit in my opinion out of a static kernel for this particular setup.

If you had 1500 identical build servers then it would have better application.
 
Back
Top