I can think of couple of possibilities:
1. Did you recompile your kernel modules ? If you have declared any modules, you should also do a
make modules
make modules_install
Note: this installs the modules over the existing modules of the kernel of the same version. Change the kernel version from say 2.4.21 to 2.4.21a if you want to keep on using both kernels.
I dont have a Linux box handy (well six beefy HP9000's makes up for a lot
), but if I remember correctly, you need to edit a file called .config in the kernel source (just incase make menuconfig doesnt offer modifying the version number) after make (x)menuconfig and before make bzImage. Grep around for 'VERSION'. Also, have a peek at /etc/modules.conf.
2. Is your ALSA version right for the kernel. Are you trying to use both the OSS and ALSA drivers at the same time. (Check startup scripts for insmod/modprobe, as well as /etc/modules.conf).
3. Perhaps the old kernel uses modules, and the new one doesnt use modules, nor supports the underlying module infrastructure. I dont know what happens when module autoloading is started by the init scripts, but its certanly not what you want. You can either hack the startup scripts, to start kmod depending on the kernel version, or try the FIX for 2 linuxes on on disk, below.
4. Get rid of ext3. This filesystem creates a thread called kjournald, and
http://www.google.nl/search?num=30&h...f&q=kjournald+ has a lot of bad news about it. Switch to ReiserFS or ext2 . They are both faster. (ReiserFS is a journaling fs, so fscheck is faster than with ext2). Requires moving all you files to a newly created filesystem, so it may be quite involved.
FIX: for two linux instalations on one disk. This is reasonably advanced stuff, dont attempt it without thinking.
This fix involves smart partitioning of your disk. Make two partitions for the root filesystem, 8 to 16 MB is plenty. These should hold the following directories, with the proper contents:
/boot (for the kernel)
/etc (config files, allows different config for each kernel)
/lib (libraries and modules. Different for each kernel)
Lets name these partitions /dev/hda1 and /dev/hda2
You should also create some empty directories:
/home,
/root,
/tmp
/usr
/var
These are mount points. Next make partitions for each of the mount points, populate them, and add the right lines to /etc/fstab (BOTH of them)
Next, set the root filesystem for both kernels. If not using lilo or grub, use the rdev command to hard wire /dev/hda1 to one kernel and /dev/hda2 to the other. For lilo, use the root= setting in lilo.conf.
A problem ofcourse is keeping youre configuration in sync. Most configuration files can be shared between the instalations. Some intelligent symlinking should do the trick.