"The Linux Gazette...making Linux just a little more fun!"


(?) The Answer Guy (!)


By James T. Dennis, [email protected]
LinuxCare, http://www.linuxcare.com/


(?) Recompiling Kernel to Support CD-ROM

From PEREZ, Martin on Fri, 05 Mar 1999

Hi,

I am new to Linux and I though I would start on Red Hat 5.1, I'll

upgrade to 5.2 when I am happy and used to installing 5.1. Now I am able to install without an error, however, when ever I attempt to mount a CDROM with the -tiso9660 I get the error saying the format is not recognize. Therefore, I try to recompile the kernel using a 'make config', but WHAM!! I get a response of "No rule to make target 'config'". I have installed the relevant C libraries and the like on install. Please Help!!!

Martin Perez

(!) Let's take this one step at a time.
I usually put a space between my -t and my filetype specification. That might not be a problem, let's see...
O.K. The mount command doesn't care.
I can't say whether there is some other problem with the mount command that you are attempting since you don't give a full example of that command line.
In most Recent versions of Red Hat Linux the kernel is modular. Thus the iso9660 filesystem type is often contained in a module rather than being linked directly into the kernel. You can see which filesystem are currently linked into your kernel and/or provided by loaded modules by using the command
cat /proc/filesystems
... which is a dynamic list.
Perhaps you need to load the iso9660 module from its home under /lib/modules/X.Y.ZZ/fs/ (where X.Y.ZZ is your currently loaded kernel's version number). You could use the 'insmod' or 'modprobe' commands.
But wait. Many of us don't have to manually load these modules. What's going on?
Well, there is a daemon (kerneld) which dynamically loads kernel modules "on demand" --- when it's properly loaded and configured. The phrase "on demand" means slightly different things (under the hood) for device drivers, filesystems, and network protocols. Also kerneld was a 2.0 thing. The new 2.2 kernels should be using a different facility called 'kmod' instead.
So, it could be that you have a problem with your dynamic module loading subsystem.
This all suggests that you've either changed things a bit from the default Red Hat installation, or that you haven't successfully completed that installation. You might want to build/rebuild your modules "dependencies" table. You can do that with the command:
depmod -a
... which is often in the startup scripts (/etc/rc.d/*) somewhere. "modprobe" and the dynamic module loaders require this information in order to load interdependent sets of modules in the proper order. For example, the iso9660 filesystem module depends upon lower level CD-ROM device support. (They aren't combined into a single module for a few reasons: first a CD can have non-ISO9660 filesystems on it; Linux allows this; also, there are many different CD device drivers for non-SCSI and non-ATAPI CD-ROM controllers).
So, try that.
No, regarding your problem with building a new kernel. Naturally you have be "in" the proper directory when you start this process. That would usually be /usr/src/linux --- which is usually a symlink to the top level diretory of a specific set of kernel sources.
It's possible that you've installed just the kernel headers. This allows you to build other programs (which need to know about certain kernel prototypes and defined values (constants). However, you need to install the full kernel source set to actually build a kernel.
You can try the command: make menuconfig
or: make xconfig
... to get a more attractive and friendly interface for configuring your kernel. It's also possible to manually edit your .config file --- if you insist.
Anyway, make sure that you actually have the kernel sources installed, not just the kernel headers. Also make sure that you're in the correct directory and, if you're following a symlink, that the symlink(s) point to the right place.


Copyright © 1999, James T. Dennis
Published in The Linux Gazette Issue 39 April 1999


[ Answer Guy Index ] 2 3 4 5 6 7 8 9 10 11
12 13 15 16 18 19 21 22 23


[ Table Of Contents ] [ Front Page ] [ Previous Section ] [ Next Section ]