[CentOS] kernel panic/abort during boot

Corey Henderson corman at cormander.com
Thu Dec 22 03:30:23 UTC 2011


On 12/21/2011 8:23 PM, fred smith wrote:
> On Wed, Dec 21, 2011 at 07:56:51PM -0700, Corey Henderson wrote:
>> On 12/21/2011 7:44 PM, fred smith wrote:
>>> Just did an in-place update from 6.1 to 6.2 on my eeepc 901 (Atom CPU).
>>>
>>> during boot, (if I hit ESC to see the boot messages) it says "starging udev"
>>> then nothing else for a few seconds, then a huge register dump scrolls
>>> by. it's too big to see the beginning of it.
>>>
>>> If I boot from the prior kernel and look in /var/log/messages, I don't
>>> see any evidence of the failed boot.
>>>
>>> I've seen the other thread titled "kernel panic", and it seems to be
>>> due to a missing initramfs, but there is an initramfs for 2.6.32-220.el6
>>> already in /boot, so I don't think that would be the problem.
>>>
>>> Can anyone suggest how I would isolate what's going on here?
>>>
>>
>> Take a peek at what is inside the initramfs file:
>>
>> ~ $ mkdir initramfs
>> ~ $ cd initramfs/
>> ~/initramfs $ gzip -d<  /boot/initramfs-2.6.32-220.el6.x86_64.img | cpio -id
>> 73012 blocks
>> ~/initramfs $ ls
>> bin  cmdline  dev  dracut-004-256.el6  emergency  etc  init  initqueue
>> initqueue-finished  initqueue-settled  initqueue-timeout  lib  lib64
>> mount  pre-pivot  pre-trigger  pre-udev  proc  sbin  sys  sysroot  tmp
>> usr  var
>> ~/initramfs $ find lib/modules -name '*.ko'
>> <snip>
>>
>> If a module that is required to mount your system (ext3/4, dm_dm-raid,
>> etc - very system dependent) isn't in there, then the system won't be
>> able to boot. Sometimes they don't get added automatically, for whatever
>> reason. If you're able to identify the missing driver, edit this file:
>>
>> /etc/dracut.conf
>>
>> And add a line like this:
>>
>> add_drivers+="name-of-driver"
>>
>> Then re-run dracut. If you don't know how to do that, then you probably
>> should just rpm -e that kernel package, then re-install it.
>>
>> Hope this helps.
>
> Corey, would it be a ligitimate comparison to unpack both the initramfs
> for the new kernel and for the most recent prior one, then compare the
> list of kernel modules?
>
> thanks for the suggestion!
>

Yes, that's a good thing to do.

If you come up empty (all the same kernel modules exist in both) then 
it's likely a bug in some kernel module. The "emergency_shell" part of 
dracut may be useful in debug this. When you reboot, during the grub 
menu, add this to the kernel's command line:

rdbreak=cmdline

During the boot process, you'll get dropped to a command line, and can 
run some of the basic commands provided intisde the initramfs.

If you look at the "init" file inside the initramfs, you can see the 
different points you'll end up with with different arguments to rdbreak; 
ie, pre-udev, initqueue, etc.

-- 
Corey Henderson
http://cormander.com/



More information about the CentOS mailing list