linux - RHEL doesn't complete boot after kernel update
2014-07
I have a somewhat strange problem. I run SL6.5 (a RHEL clone) and a couple months ago updated the kernel. The kernel release notes can be found here. I updated to the 431.17.1 kernel. During boot, the boot process mostly completes, but it hangs right before the login screen appears. If I boot to the older kernel (431.11.2), everything boots fine. The 431.20.3 kernel acts just like the 431.17.1. Below is the screen when it hangs (I apologize for the quality/glare, there is no good way to take a screen cap during boot).
Note that sshd has sucessfully started at this point, so I booted into a liveCD onto one of my co-workers desktops and used ssh to connect to the computer. The connect worked fine, I was able to navigate my root file system, and even started matlab using X11 forwarding which appeared without issue.
I have tried looking at the /var/log and don't see any major errors occuring during boots. I am wondering what I can do to sort out what is causing this, and how I might fix it.
After trying to figure out what was hanging by using ntsysv
to turn off services shown in the image in the question and getting nowhere, I decided to see if it was the actual display of the login screen that caused the problem. I checked, and NVIDIA had released a new driver, so I downloaded it an booted into run-level 3 to install it. At this point I realized that the new kernel booted fine in run-level 3.
After installing the new driver, the new kernel booted without issue. I don't know if the new driver solved it, or if rebuilding the old driver would have been sufficient (I am guessing that it would have been).
Is there a cross-distribution way to know the boot parameters supplied to the kernel?
Assuming you're asking about the options passed to the current-running kernel?
If the /proc filesystem is in use, /proc/cmdline tells you exactly what options were passed to the kernel.
$ cat /proc/cmdline root=UUID=3630dd43-f9f9-40b1-8a5f-72c13f2b309c ro quiet splash
If there's no /proc filesystem, you can get an idea by finding the current kernel's entry in grub.conf or other bootloader configuration. (Use "uname -r" to see what kernel is currently running.) This won't tell you what WAS used to boot the current kernel, just what is NORMALLY used.
I'm guessing you're talking about the Linux Kernel, so there is a set of standard parameters which it accepts.