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
[SOLVED] Update to Centos 6.4 results in no initramfs file
Re: Update to Centos 6.4 results in no initramfs file
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.
Re: Update to Centos 6.4 results in no initramfs file
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
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
Re: Update to Centos 6.4 results in no initramfs file
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
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
Re: Update to Centos 6.4 results in no initramfs file
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 ;-)
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 ;-)
Re: [SOLVED] Update to Centos 6.4 results in no initramfs file
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
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