I'm new to vectorlinux but have already some experience with linux.
I have some questions regarding kernel compilation within vectorlinux.
By the way I'm using VL6.0 light.
My goal is to add the magic SysRq feature and processor specific optimizations to my kernel.
Let's start with the generic questions:
1) What is the /usr/src/build-220.127.116.11 directory for?
It seems to me that it's use is to patch a vanilla kernel for use within VL.
But when I only want to change some features from the delivered kernel it should be O.K. to work inside the /usr/src/linux-18.104.22.168 directory. This sources should already include all patches and adaptions for VL.
Is this right or am I wrong?
2) When do I need to recompile the kernel modules?
I've read that there is a kind of compatibility layer which allows to link modules to newer kernels - which of course works only up to a certain amount and of course only when the processor type (for example x86) remains the same.
My question targets more to the goal I've described above:
When I only add or remove some kernel features and activate processor specific optimizations (for example target processor PII) will I need to recompile the kernel modules?
I've tried to install only the recompiled kernel without new modules and the new kernel seemed to be happy with the original (old) VL kernel modules.
Is there a kind of rule when I can keep the old modules?
Now the specific question:
When I compiles and installed the new kernel and modules it worked quite well with one exception:
my soundcard refuses to work.
There are no error messaged during boot time - even ALSA tells [OK] during boot process.
But as soon as I start an audio app (for example alsamixer) I get an error message: snd_ctl_open error: no such file or directory. I'm also missing the devices /dev/snd and /dev/pcm
As soon as I switch back to the original kernel (and modules) the sound is O.K. again (I've installed both kernels by the way).
Here are the steps I've taken to build and install my custom kernel:
- installed the kernel sources from cd for kernel 22.214.171.124
- made a #chown -R MYUSERNAME /usr/src/linux-126.96.36.199
- switched to MYUSER and dived into /usr/src/linux-188.8.131.52
- entered $make menuconfig
- activated the Magic SysRq feature, changed the target processor and made a local apped "rb" to have the new and the original kernels
- entered $make
- waited quite long
- changed to root
- entered #make modules_install
- installed the new kernel by with #cp arch/i386/boot/bzImage /boot/vmlinuz-184.108.40.206rb and #cp System.map boot/System.map-220.127.116.11rb
- added the new kernel to /etc/lilo.conf
- updated lilo by entering #lilo
Seems that the alsa drivers need to be compiled somehow else - but how?
Normally alsa is included in the 2.6x kernel as far as I know.
During my kernel make only the module soundcore.ko is built.
What's the missing step?
The only thing I've seen is that only sound support is activated as module in the kernel config untility (based on the original VL kernel config). The alsa and oss drivers are not activated.
How were the sound drivers been built for the original VL kernel?
I've already searched the whole forum a couple of times but only found that there once was a how-to for VL kernel compilation which isn't there anymore.
I've already tried to relink the symbols vmlinuz and System.map in /boot to the new kernel which was mentioned in the forum as solution for a sound problem after kernel compilation. But it didn't help for me.
Sorry for this bunch of questions but I suppose others are interested too.
Thanks a lot in advance!!