cobbler was building my pxelinux.cfg/default with $kernel_path still
in it (the string was not getting replaced, as if kernel_path were not
set).
This is cobbler 1.0.8-1.el5 from epel-testing.
I did a "quick fix" on pxegen.py, just to add kernel_path and
initrd_path to metadata right before initrd_path is tested. patch
inline, below.
--- /usr/lib/python2.4/site-packages/cobbler/pxegen.py-orig 2010-12-08
14:47:40.000000000 -0600
+++ /usr/lib/python2.4/site-packages/cobbler/pxegen.py 2010-12-08
14:50:27.000000000 -0600
@@ -604,6 +604,8 @@
kernel_options = self.build_kernel_options(system, profile, distro,
image, arch, kickstart_path)
metadata["kernel_options"] = kernel_options
+ metadata["kernel_path"] = kernel_path
+ metadata["initrd_path"] = initrd_path
if metadata.has_key("initrd_path") and (not arch or arch not
in ["ia64", "ppc", "ppc64"]):
append_line = "append initrd=%s" %
(metadata["initrd_path"])