[SOLVED] Update to Centos 6.4 results in no initramfs file

General support questions
mphelpsmd
Posts: 52
Joined: 2013/06/09 18:42:22

Re: Update to Centos 6.4 results in no initramfs file

Post by mphelpsmd » 2013/06/23 02:01:36

OK, I'll try this shortly.

In the meantime, I looked at the /etc/modprobe.d directory. The only thing unusual I found was that I have a bonding.conf file that looks like this:


[root@ares modprobe.d]# cat bonding.conf
#!/etc/modprobe.d/bonding.conf

alias bond0 bonding



When I Google'd how to do link aggregation, this was one of the steps that came up as part of the process. (The link aggregation works, by the way.) I'm wondering if this is what's giving dracut a fit. Perhaps if I try commenting out the active line in this configuration, then run yum update kernel again, maybe that would work?

I'll try, and if that doesn't work I'll play with the strace. Either way, I feel that this is a bug in dracut. It shouldn't segfault.

Mike

User avatar
TrevorH
Site Admin
Posts: 33216
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: Update to Centos 6.4 results in no initramfs file

Post by TrevorH » 2013/06/23 02:07:50

I don't doubt it's a bug but I'm hoping that the strace might give enough detail to work out how to bypass it and let you build an initramfs successfully and also to document what the bug is so that it can be fixed upstream.

mphelpsmd
Posts: 52
Joined: 2013/06/09 18:42:22

Re: Update to Centos 6.4 results in no initramfs file

Post by mphelpsmd » 2013/06/23 02:12:07

Commenting out the alias bond0 bonding line in /etc/modprobe.d/bonding.conf didn't work.

I ran strace. Here is the output: http://pastebin.centos.org/2923/

It seems that it's getting hung up on the /etc/modprobe.d/bonding.conf file, even with everything commented out.

A bug in dracut?

Mike

mphelpsmd
Posts: 52
Joined: 2013/06/09 18:42:22

Re: Update to Centos 6.4 results in no initramfs file

Post by mphelpsmd » 2013/06/23 05:03:57

I finally fixed my problem!

I hypothesized that somewhere in the kernel update process dracut wasn't properly handing the /etc/modprobe.d/bonding.conf file.

I tried commenting out the active line in that file, but still a crash from dracut and a kernel panic on trying to boot the corresponding kernel (without its initramfs image).

So then I tried restoring the bonding.conf file to the way it was (the active line reactivated), and renamed it to bonding.old.

THEN I did
[code]
yum update kernel
[/code]

This worked! It generated the following files:

[code]
config-2.6.32-358.11.1.el6.x86_64
initramfs-2.6.32-358.11.1.el6.x86_64.img
initrd-2.6.32-358.11.1.el6.x86_64kdump.img
symvers-2.6.32-358.11.1.el6.x86_64.gz
System.map-2.6.32-358.11.1.el6.x86_64
vmlinuz-2.6.32-358.11.1.el6.x86_64
[/code]

I then renamed the file back to /etc/modprobe.d/bonding.conf and rebooted the system into the newer kernel successfully! As far as I can tell, the link aggregation is working properly in the new kernel.

So I take it that this should be submitted to the upstream vendor?

Mike

User avatar
TrevorH
Site Admin
Posts: 33216
Joined: 2009/09/24 10:40:56
Location: Brighton, UK

Re: Update to Centos 6.4 results in no initramfs file

Post by TrevorH » 2013/06/23 11:53:27

I duplicated your old bonding.conf and I do not get a crash (yet). I get 100% cpu usage and it doesn't finish - been about 3 minutes so far. I Ctrl-C'ed it.

Immediately I pasted your contents into mine I looked at the first line and thought, "hmmm". Indeed, just removing the ! from the first line fixes the problem for me. That format of comment as the first line of a file is how you tell the kernel to invoke an executable file automatically and it appears that it confuses dracut. Still a bug since it shouldn't crash but an easy fix and in the "Doctor Doctor, it hurts when I do this" category of bug ;-)

mphelpsmd
Posts: 52
Joined: 2013/06/09 18:42:22

Re: [SOLVED] Update to Centos 6.4 results in no initramfs file

Post by mphelpsmd » 2013/06/23 16:42:49

I never noticed that the /etc/modprobe.d/bonding.conf file has a hash-bang on the first line. Good pickup.

Indeed, I confirmed that it is unique among all /etc/modprobe.d/*.conf files; the others just have standard comments.

I removed it. Hopefully this means that I will be able to successfully update the kernel from here on out.

I'm not sure where the bonding.conf file I have came from; it might be from a Google search when I was experimenting with link aggregation. Either way, problem solved.

Thanks!

Mike

Post Reply