[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: kerenls: hand-rolled v. stock



>> and to slim down the kernel.
>
> what advantage does this have?  does it make everything run faster,
> even if everything that's in there is compiled as a module and maybe
> not loaded, as opposed to into the kernel proper?

I don't think it speeds up things or at least not significantly. What it
could do, if you set the right options is add in security by for instance
not allowing modules to be loaded so you would have to make sure all
modules you need are compiled in the kernel.
Another advantage of making your own kernel is that if you for instance
have a couple of machines running debian, you could compile a kernel with
all the modules built in that all those machines need and for the other
modules that are only needed for the individual machines, build them as
modules. Next you would also make an initrd to load modules that are maybe
necessary for some systems and you would just have built a kernel that
would work on all those machines.
That's exactly what the standard Debian kernels try to do.

So as a rule of thumb: if you don't need anything fancy like certain
kernel patches, try to use to stock debian kernels.
If you only need something that's not enabled by the standard kernel your
using, use the config of that debian kernel as the starting point for your
own kernel compilation and future kernel compilations.

>> As for soundcore, i think it's in from the 2.4 kernels.
>
> i,m running 2.4.20, but apparently i started with the source and
> rolled it myself.  as i said, it's been a while since i did this, so i
> don't rememeber what i put in there and what i didn't -- but sound has
> been working for me for the past year, so i'm really mystified as to
> why this would be just coming up now.

I think sound is handled via OSS in 2.4.20 so look in your kernel config
file for OSS
 grep "OSS" /boot/config-2.4.18-bf2.4
CONFIG_CHR_DEV_OSST=m
CONFIG_SOUND_OSS=m

So the standard 2.4.18 kernel does have sound support enabled via the
OSS sound system.

grep "SOUND" /boot/config-2.4.18-bf2.4
CONFIG_SOUND=m
CONFIG_SOUND_BT878=m
CONFIG_SOUND_CMPCI=m
CONFIG_SOUND_CMPCI_JOYSTICK=y
...
And there are many related modules in there.

If i do this for my kernel on the server:

root@arthur:/home/benedict[23:54:39]# grep "OSS" /boot/config-2.4.24.20040211
# CONFIG_CHR_DEV_OSST is not set
root@arthur:/home/benedict[23:55:03]#  grep "SOUND"
/boot/config-2.4.24.20040211
# CONFIG_SOUND is not set

>> If you don't find the module on your system, then maybe it wasn't
>> compiled in.  To look for sound related config options in the kernel
>> config:
>>
>> grep "SOUND" /boot/config-<kernel version>
>
> right, this is what i was forgetting!  thanks!
>
> it appears that the only ones i have in there are the following:
>
> orange:~> grep "SOUND" /boot/config-`uname -r` | egrep -v "^#"
> CONFIG_SOUND=y
> CONFIG_SOUND_ES1371=m
> CONFIG_SOUND_VIA82CXXX=y
> CONFIG_SOUND_OSS=m
> CONFIG_SOUND_CS4232=m
> CONFIG_SOUND_SSCAPE=m
> CONFIG_SOUND_SB=m
>
> and I don't see any option for SOUND_CORE or anything like it --
> grepping for "CORE" doesn't yield anything.
>
> it may be time to slip in a knoppix CD and see what modules it sticks
> in when i get home today ...
>
> thanks for your help and suggestions, as usual.

To look back at our example of the standard 2.4.18 kernel:

root@arthur:/home/benedict[23:57:28]#  find /lib//modules/2.4.18-bf2.4/
-name "sound*"
/lib//modules/2.4.18-bf2.4/kernel/drivers/sound
/lib//modules/2.4.18-bf2.4/kernel/drivers/sound/soundcore.o
/lib//modules/2.4.18-bf2.4/kernel/drivers/sound/sound.o

There you have you soundcore module. It's named differently than the
config option in the kernel. If you have enabled OSS you should find it.
Mind that if you migrate to 2.6 that OSS is obsolete and sound is now
handled via alsa but that's a whole other topic :)

I hope this clarifies some things.

Regards,
Benedict



Reply to: