Multiple redhat versions in GRUB - only 1 works

Status
Not open for further replies.
When my boot screen comes up I have the following choices:
Red Hat Linux (2.4.20-31.9)
Red Hat Linux (2.4.20-31.9.smp)
Red Hat Linux (2.4.2-9.smp)
Red Hat Linux (2.4.20-8)
XP Pro

I only had the bottom 3 until I FINALLY (see stickied thread at top) got Linux running. Then I downloaded a ton of updates and the other 2 appeared. X is only able to start when I click the bottom Linux choice. I get an error on the others:
(EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module!
(EE) NVIDIA(0): ***Aborting***
(EE) Screen(s) found, but none have a usable configuration.

Fatal server error:
no screens found

I am now able to get into Linux and was wondering how to fix this problem. Which version is best to use? What is Linux-up? Thanks!
 
You need to use the most recent one which in this case is 2.4.20-31.9. I can't say if you need to use the SMP one or not as I don't really know what the state of Hyperthreading in Linux is. Once you boot & get all the error messages, just go to a command prompt (CTRL+ALT+F1 for example), login as root then type :

/sbin/init 3

Then reinstall the nVidia driver & once it is reinstalled, type :

/sbin/init 5
 
Thanks for the help - that makes sense to me and I think I can fix it. I do have a P4 w/ hyperthreading if that factors into the SMP or not. What exactly is the difference between the SMP version?

UPDATE: I installed the new driver and the newest version works when I click the smp one. Can I remove the old version from the GRUB menu?
 
You should remove the older kernel packages with RPM. This will also clean up the GRUB menu.
 
WaarrEagle said:
I do have a P4 w/ hyperthreading if that factors into the SMP or not.
If you have a Hyperthreading CPU (and you enable Hyperthreading in the BIOS), then your single CPU will present itself as two CPUs to the Operating System (provided that the OS understands and supports SMP). In fact, you could consider Hyperthreading as a kind of "poor man's SMP." (BTW, for those unfamiliar with the acronym, "SMP" stands for "Symmetrical MultiProcessing").
Now, if you run a non-SMP kernel (e.g., your "Red Hat Linux (2.4.20-31.9)" entry), then Linux will behave as a uniprocessor Operating System, and ignore the second CPU instance that Hyperthreading makes available.
If, on the other hand, you run an SMP kernel, then Linux will become a Multi-Processor system, and exploit both CPU instances provided by the Hyperthreading feature.

Note that both kernel versions (SMP vs. non-SMP) will support both operating modes (Hyperthreading enabled vs. disabled); it's just that they're optimised for the mode that they were compiled for. For instance, if you disable Hyperthreading, but run the SMP kernel, then the kernel will include all of the synchronisation code that it needs in order to keep the two CPU instances from stepping on one another's toes, but the code is pretty useless (since there won't be two CPU instances to keep synchronised). Conversely, if you run the non-SMP kernel with Hyperthreading enabled, then Linux will run only one of the CPU instances that the hardware makes available.

By the way, it's not a bad idea to keep the non-SMP entry available, even if you have an SMP (or Hyperthreading) system, just in case you run into trouble with SMP in any way. The standard NVIDIA driver installation procedure, however, will allow you to connect the NVIDIA video driver to only one kernel image at a time - i.e., if you install the driver for use with the SMP kernel, then it will fail with the non-SMP kernel, and vice versa.

There exists, however, a fairly simple procedure to install the driver for a second kernel, without destroying an existing copy, and it goes as follows:
  • First, use the standard installation procedure, to install the NVIDIA driver for use with your first kernel (e.g., your SMP kernel);
  • Then, when you want to install the drivers for your second (e.g., non-SMP) kernel, boot into that second kernel;
  • Once booted into the second kernel, execute the following command to extract the ".run" file without installing it:
    sh NVIDIA-Linux-x86-1.0-xxxx-pkg1.run --extract-only
  • Go to the newly created directory:
    cd NVIDIA-Linux-x86-1.0-xxxx-pkg1
  • Finally, type the following command:
    make install
From now on, you will be able to run the binary-only NVIDIA graphics driver under both of your kernels.
 
Status
Not open for further replies.
Back