SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
In my continuing battle to make sound work in kernel 2.6, I found a strange thing I figured I would ask about. It looks like my 2.6 kernel (which runs in all ways very nicely except it can't find my sound card...let's not address that I've got a whole other thread for it...:-() is using the module configuration file from my old kernel (22.214.171.124). There is a link from /etc/rc.d/rc.modules -> etc/rc.d/rc.modules-126.96.36.199, and there is no rc.modules-2.6.18. When slack stars up it runs this file (rc.modules) and no errors, just gets "no new modules dependencies found". Is this something strange or does the 2.6 kernel just deal with modules differently than the 2.4 kernel?
You should create a rc.modules file for your 2.6 kernel. The Slackware 188.8.131.52 kernel package installs a file /etc/rc.d/rc.modules-184.108.40.206 but when you compile your own kernel, a rc.modules file for that kernel is your responsibility.
If you want to run 2.6 kernels exclusively, the easiest option is to create a new file /etc/rc.d/rc.modules (i.e. deleting the symlink) and use the content of the Slackware original rc.modules-220.127.116.11 for that file.
That will not get you a working sound though, since sound modules are loaded either by rc.alsa or by UDEV.
rc.modules is simply a file, where all available modules are listed.
you can uncomment and the module will be automatically loaded during boot up.
there is no difference what kernel you have installed, because modules will be loaded from the old file, unless you make a new one. It's better to compile support directly into the kernel.
Last edited by Alien_Hominid; 05-11-2007 at 01:13 PM.
I have been unable to get sound working properly either (gone through all alsamixer, etc.etc.), and even complied the latest alsa. I decided to give the 18.104.22.168 kernel another try, and the same problems persist, but 2.4 kernel works perfectly. After reading up on hotplug/udev, I looked up what's mounted. udev is not mounted, but usbfs is. Both rc.hotplug and rc.udev are enabled. I've tried making one of the two unexecutable, but I get the same behavior in sound. I'd like to hear from those knowledgeable in this area explain if these modules could be affecting sound.
If you are using the default 2.6 kernel from the installation-CD, you're going to need the modules. 22.214.171.124 modules are on the second disk (/extra), and the 2.6.18-modules are on the fourth (/testing). Just installpkg these.
After this you'll find the modules in /etc/rc.d, and then you can remove the current rc.modules (which is just a symlink to the 2.4-modules in your case), and make a new symlink to the modules you want.
That's : ln -s rc.modules-2.6-whatever rc.modules, if I'm correct.
Well, since I haven't compiled a custom or downloaded kernel myself yet (haven't found a need yet, have ACPI on my laptop fully working with a stock Slackware-kernel, so I won't have to either for the time being), I can't comment on that....
My guess would be that the modules should end up in /etc/rc.d/, which means that you should check if rc.modules points to the right modules...
Did you check the sticky about Kernel Configuration yet?
there is no difference what kernel you have installed, because modules will be loaded from the old file, unless you make a new one.
This is not correct. From /etc/rc.d/rc.S
# This loads any kernel modules that are needed. These might be required to
# use your ethernet card, sound card, or other optional hardware.
# Priority is given first to a script named "rc.modules.local", then
# to "rc.modules-$FULL_KERNEL_VERSION", and finally to the plain "rc.modules".
# Note that if /etc/rc.d/rc.modules.local is found, then that will be the ONLY
# rc.modules script the machine will run, so make sure it has everything in
# it that you need.
What happens is as your system boots it will look for a /etc/rc.d/rc.modules.local file (usually not present) then a /etc/rc.d/rc.modules-`uname-r` file.
These modules are expected to be in a directory tree under /lib/modules/`uname-r`.
The symlink /etc/rc.d/rc.modules has no effect during boot, but should be maintained as a link to rc.modules-`uname-r` as a matter of convenience. (It is easier to type pico rc.modules rather than the full name)