Red Hat Bugzilla – Bug 836392
kexec'ing F15 installer works, but fails with F17
Last modified: 2013-01-10 01:50:50 EST
Description of problem:
I have kickstarting working well. Here is my PXELINUX entry:
APPEND initrd=http://server/path/pxeboot/initrd.img ks=http://server/path/ks.cfg repo=http://server/path/x86_64/os/ ksdevice=bootif kssendmac sshd=1
This works for Fedora 15 and 17. Fedora 15 even works with kexec, in this manner (assuming a wget download in the cwd of the kernel and initrd):
kexec -l vmlinuz --initrd=initrd.img --append=repo=http://server/path/x86_64/os/ ks=http://server/path/ks.cfg ksdevice=bootif kssendmac sshd=1
This kexec'ing however doesn't work in the F17 world. The errors look like this:
dracut Warning: Unable to process initqueue
dracut Warning: /dev/root does not exist
What is it with kexec and F17 that breaks when doing the exact same thing with kexec and Fedora 15 works?
Version-Release number of selected component (if applicable):
F17 x86_64, kexec-tools-2.0.3-38.fc17.x86_64
We've never made any promises about anaconda working with kexec. However there is a whole lot that can go wrong that results in that error message. I can't tell without seeing your logs though.
Understood, my point here is that it works nicely in Fedora 15, and dies early before even attempting stage two in Fedora 17. Where does dracut keeps its logs and record kernel-command line inputs?
If you boot with rd.debug you'll find the logs in /run/initramfs/init.log
The kernel command line inputs can be found in /proc/cmdline
Wow, there is a lot there. Any ideas on where I should start looking, or what I should be looking for?
Honestly I don't know. kexec isn't a thing we support. I'd suggest working with the kexec folks to see what looks "normal" and what looks broken.
Is there an easy way to get the logs off such that I could post them here? I don't seem to have an IP stack inside of dracut debug
If you exit the debug shell and get into the anaconda shell you should be able to find the logs in /run/initramfs/init.log and should have enough bits to get IP working.
I give up. It is a mess, and I don't understand dracut's init.log entries enough to identify the problem. It looks like a udev settling issue, but I can't be sure.
I figured it out. It has nothing to do with dracut at all... it is that between F15 and F17, anaconda got much pickier about BOOTIF=MAC
That MAC must now have a "01-" prepended to the beginning ... just like SYSLINUX/PXELINUX does. Anaconda would take the real MAC with the "01-" in Fedora 15.
Just posting in case this matters to anyone else.