Re: kernel compile and modules
On Tue, Nov 16, 1999 at 01:27:10AM +0100, J Horacio MG wrote:
> here I have a doubt about the options which can be configured as
> loadable modules instead of compiling into the kernel. Say I use a
> device too often, eg. cdrom. If I configure it as a loadable module,
> would this imply the performance would be any different than if compiled
> it in the kernel? Or, ppp, or other services which can be used oftenly.
If there is a performance impact to using modules, I suspect it must
be negligable. The only things that *need* to be compiled into the
kernel are the drivers that are needed to get the root filesystem
mounted. Everything else can and IMO should be done with modules.
The only exception I can think of is the fbdev driver--which *has*
to be in the kernel so you can see the cool penguin graphic right
away on bootup. ;) Still, check with the help messages during
"make config" to see what they suggest for any given driver.
I think that the main benefit to using modules is that when you're
playing around with different parameters for drivers which need
them, they can be given on the commandline to insmod instead of
having to reboot and pass them via lilo.
>[...]
> # rm -rf /lib/modules/2.0.36/
> well, if I removed the old modules and had problems with the new kernel,
> I wouldn't be able to use the old kernel, so this step should probably
> (definately) be avoided.
Right--as aphro mentioned, you only want to revove these if you
really need the space.
>[...]
> # mv /path/to/System.map /boot/System.map-2.2.10
Yep, and after rebooting successfully into the new kernel, you
might want to:
# ln -sf /boot/System.map-2.2.10 /boot/System.map
but I'm not sure if that's actually necessary.
> # cd /
> # rm vmlinuz
> # ln -s /boot/vmlinuz-2.2.10 vmlinuz
Assuming the existing vmlinuz is just a symlink, then sure. You'll
still definately want the old kernel around, though, in case the new
one doesn't work.
> next, reflect the changes in /etc/lilo.conf
>
> # lilo
Right--make sure to put a section for the old kernel in lilo.conf.
Here's a snippet from mine just as an example:
boot = /dev/sda
# New kernel
image = /vmlinuz
root = /dev/sda1
label = Linux
vga = 5
append="video=matrox:xres:1024,yres:768,depth:16,nopan,pixclock:13334,left:144,right:24,upper:29,lower:3,hslen:136,vslen:6,dpms"
read-only
# Old kernel
image = /vmlinuz-2.2.12
root = /dev/sda1
label = OldLinux
vga = 5
read-only
> Anything missing?
I don't think so. Just make sure you have a working boot floppy
just in case anything goes wrong.
Once you're comfortable making kernels this way, you might want to
consider doing it the "Debian way" with make-kpkg etc. I just
started that recently and it's really a nice system.
-Kevin
Reply to: