Ok, I was able to work around the problem by making my distro look like this.

Name                           : ESX-5.0-x86_64
Architecture                   : x86_64
TFTP Boot Files                : {'$local_img_path/net-tg3.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-tg3.v00', '$local_img_path/scsi-fni.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-fni.v00', '$local_img_path/net-s2io.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-s2io.v00', '$local_img_path/net-bnx2.v01': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-bnx2.v01', '$local_img_path/scsi-adp.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-adp.v00', '$local_img_path/scsi-bnx.v01': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-bnx.v01', '$local_img_path/net-be2n.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-be2n.v00', '$local_img_path/boot.cfg': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/boot.cfg', '$local_img_path/net-nx-n.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-nx-n.v00', '$local_img_path/sata-ata.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/sata-ata.v00', '$local_img_path/ata-pata.v02': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/ata-pata.v02', '$local_img_path/ata-pata.v05': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/ata-pata.v05', '$local_img_path/ata-pata.v04': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/ata-pata.v04', '$local_img_path/ata-pata.v07': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/ata-pata.v07', '$local_img_path/ata-pata.v06': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/ata-pata.v06', '$local_img_path/net-e100.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-e100.v00', '$local_img_path/net-e100.v01': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-e100.v01', '$local_img_path/s.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/s.v00', '$local_img_path/b.b00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/b.b00', '$local_img_path/efiboot.img': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/efiboot.img', '$local_img_path/scsi-lpf.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-lpf.v00', '$local_img_path/sata-sat.v02': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/sata-sat.v02', '$local_img_path/sata-sat.v03': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/sata-sat.v03', '$local_img_path/sata-sat.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/sata-sat.v00', '$local_img_path/sata-sat.v01': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/sata-sat.v01', '$local_img_path/net-qlcn.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-qlcn.v00', '$local_img_path/ima-qla4.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/ima-qla4.v00', '$local_img_path/scsi-meg.v02': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-meg.v02', '$local_img_path/block-cc.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/block-cc.v00', '$local_img_path/imgdb.tgz': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/imgdb.tgz', '$local_img_path/net-ixgb.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-ixgb.v00', '$local_img_path/isolinux.cfg': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/isolinux.cfg', '$local_img_path/scsi-aic.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-aic.v00', '$local_img_path/net-sky2.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-sky2.v00', '$local_img_path/net-r816.v01': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-r816.v01', '$local_img_path/net-qlge.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-qlge.v00', '$local_img_path/isolinux.bin': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/isolinux.bin', '$local_img_path/scsi-hps.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-hps.v00', '$local_img_path/vmware-esx-base-readme': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/vmware-esx-base-readme', '$local_img_path/weaselin.i00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/weaselin.i00', '$local_img_path/misc-cni.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/misc-cni.v00', '$local_img_path/net-forc.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-forc.v00', '$local_img_path/scsi-aac.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-aac.v00', '$local_img_path/boot.cat': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/boot.cat', '$local_img_path/scsi-ips.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-ips.v00', '$local_img_path/ehci-ehc.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/ehci-ehc.v00', '$local_img_path/sata-ahc.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/sata-ahc.v00', '$local_img_path/scsi-bnx.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-bnx.v00', '$local_img_path/ipmi-ipm.v02': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/ipmi-ipm.v02', '$local_img_path/a.b00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/a.b00', '$local_img_path/uhci-usb.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/uhci-usb.v00', '$local_img_path/ipmi-ipm.v01': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/ipmi-ipm.v01', '$local_img_path/scsi-qla.v01': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-qla.v01', '$local_img_path/scsi-qla.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-qla.v00', '$local_img_path/net-r816.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-r816.v00', '$local_img_path/net-bnx2.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-bnx2.v00', '$local_img_path/scsi-rst.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-rst.v00', '$local_img_path/net-enic.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-enic.v00', '$local_img_path/misc-dri.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/misc-dri.v00', '$local_img_path/ata-pata.v01': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/ata-pata.v01', '$local_img_path/net-cnic.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-cnic.v00', '$local_img_path/ata-pata.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/ata-pata.v00', '$local_img_path/safeboot.c32': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/safeboot.c32', '$local_img_path/net-igb.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/net-igb.v00', '$local_img_path/ipmi-ipm.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/ipmi-ipm.v00', '$local_img_path/useropts.gz': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/useropts.gz', '$local_img_path/scsi-meg.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-meg.v00', '$local_img_path/scsi-meg.v01': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-meg.v01', '$local_img_path/k.b00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/k.b00', '$local_img_path/vmware-esx-base-osl.txt': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/vmware-esx-base-osl.txt', '$local_img_path/scsi-mpt.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-mpt.v00', '$local_img_path/scsi-mpt.v01': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-mpt.v01', '$local_img_path/scsi-mpt.v02': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/scsi-mpt.v02', '$local_img_path/ata-pata.v03': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/ata-pata.v03', '$local_img_path/menu.c32': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/menu.c32', '$local_img_path/ohci-usb.v00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/ohci-usb.v00', '$local_img_path/tools.t00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/tools.t00', '$local_img_path/tboot.b00': '/var/www/cobbler/ks_mirror/ESX-5.0-x86_64/tboot.b00'}
Breed                          : vmware
Comment                        : 
Fetchable Files                : {}
Initrd                         : /var/www/cobbler/ks_mirror/ESX-5.0-x86_64/imgpayld.tgz
Kernel                         : /var/www/cobbler/ks_mirror/ESX-5.0-x86_64/mboot.c32
Kernel Options                 : {}
Kernel Options (Post Install)  : {}
Kickstart Metadata             : {'tree': 'http://@@http_server@@/cblr/ks_mirror/ESX-5.0-x86_64'}
Management Classes             : []
OS Version                     : esxi5
Owners                         : ['admin']
Red Hat Management Key         : <<inherit>>
Red Hat Management Server      : <<inherit>>
Template Files                 : {'/etc/cobbler/pxe/bootcfg_esxi5.template': '/var/lib/tftpboot/boot.cfg'}

On Feb 26, 2014, at 12:44 PM, Petro <petro@cpetro.us> wrote:

On 14/2/26 12:25 PM, Outland, Mike wrote:
Petro,
That did not change anything.  I still can’t figure out where Cobbler is configure to tell the system to look for /boot.cfg.  If I can get past that, I can complete this task.

There's at 4 different systems or packages interacting here. DHCP, TFTP, PXE. My bet at this point is that Cobbler isn't doing anything (whether it should or not I'm not sure. I think most of these files are outside of cobbler control. The Cobbler Devs can certainly tell me I'm wrong). 

This is from your first email (or at least the first email I've seen): 

Feb 20 16:54:55 cobbler in.tftpd[11477]: RRQ from 10.21.111.211 filename /pxelinux.0
Feb 20 16:54:55 cobbler in.tftpd[11479]: RRQ from 10.21.111.211 filename /pxelinux.cfg/40867f18-bb4b-df11-93ef-8843e1c2b2e8
Feb 20 16:54:55 cobbler in.tftpd[11480]: RRQ from 10.21.111.211 filename /pxelinux.cfg/01-88-43-e1-c2-b2-ee
Feb 20 16:54:55 cobbler in.tftpd[11481]: RRQ from 10.21.111.211 filename //images/ESX-5.0-x86_64/mboot.c32
Feb 20 16:54:57 cobbler in.tftpd[11482]: RRQ from 10.21.111.211 filename //boot.cfg

What happens here is that the pxeboot stuff on your physical host is making a request for "pxelinux.0" which loads and runs. Pxelinux.0 then starts making requests for pxelinux.cfg/40867f18-bb4b-df11-93ef-8843e1c2b2e8 and then pxelinux.cfg/01-88-43-e1-c2-b2-ee. It finds pxelinux.cfg/01-88-43-e1-c2-b2-ee which is a configuration file which originally had: 

###
default linux
prompt 0
timeout 1
label linux
        kernel /images/ESX-5.0-x86_64/mboot.c32
        ipappend 2
        append /images/ESX-5.0-x86_64/vmkboot.gz BOOTIF=01-88-43-e1-c2-b2-ee ks=http://10.21.111.195/cblr/svc/op/ks/system/devops1  lang=  text  --- /images/ESX-5.0-x86_64/vmkernel.gz --- /images/ESX-5.0-x86_64/sys.vgz --- /images/ESX-5.0-x86_64/cim.vgz --- /images/ESX-5.0-x86_64/ienviron.vgz --- /images/ESX-5.0-x86_64/install.vgz
###

When mboot.c32 runs it makes a request for "/boot.cfg". I suspect that something in pxelinux.cfg/01-88-43-e1-c2-b2-ee isn't quite right and the "-c  images/ESX-5.0-x86_64/boot.cfg" isn't getting passed properly. 

We changed the images/ESX-5.0-x86_64/boot.cfg file to look like: 

default linux
prompt 0
timeout 1
label linux
        kernel images/ESX-5.0-x86_64/mboot.c32
        ipappend 2
        append -c images/ESX-5.0-x86_64/boot.cfg

right? But it's still looking for /boot.cfg. 

What happens if you do: 

label linux
        kernel images/ESX-5.0-x86_64/mboot.c32
        append -c images/ESX-5.0-x86_64/boot.cfg

And if that works, stick the ipappend 2 back in and see if that breaks it again. 


What does your DHCP config look like for this group? 


On a side note I was able to get this to work by a few manual steps.
1.)  Copy the boot.cfg from the /var/lib/tftpboot/images/ESX-5.0-x86_64 directory to the /var/lib/tftpboot
Yeah, that doesn't surprise me. 

2.)  Manually copy all files from /var/www/cobbler/ks_mirror/ESX-5.0-x86_64 to /var/lib/tftpboot/images/ESX-5.0-x86_64

I think I can fix #2 by listing out each file explicitly in the TFTP_boot files for the distro instead of asking for *.* which causes the copy failure on an existing file (kernel and initrd specified in the distro).
I haven't got that far in Cobbler, but "*.*" is a windows thing and will *only* match files that have a "." in them. If you do a "ls *.* | wc -l" in that directory and then do a "ls * | wc -l" you'll find a very different number. Any file that doesn't have an extension won't get copied. 

If you do a "*" you should get everything. 


However I have no idea how to really fix #1.  :(
I was working on that first. 



Just to see if it changes something try: 

default linux
prompt 0
timeout 1
label linux
        kernel images/ESX-5.0-x86_64/mboot.c32
        ipappend 2
        append -c images/ESX-5.0-x86_64/boot.cfg
 
**just** that and see if it gets further.

Note also relative paths. 

And make sure boot.cfg 

On 14/2/25 4:14 PM, Outland, Mike wrote:
I’m not using menu, I’m using a file generated by Cobbler which is the MAC of the system which is PXE booting.  Here are the contents of that file.
[root@cobbler pxelinux.cfg]# cat 01-88-43-e1-c2-b2-ee 
default linux
prompt 0
timeout 1
label linux
        kernel /images/ESX-5.0-x86_64/mboot.c32
        ipappend 2
        append /images/ESX-5.0-x86_64/vmkboot.gz BOOTIF=01-88-43-e1-c2-b2-ee ks=http://10.21.111.195/cblr/svc/op/ks/system/devops1  lang=  text  --- /images/ESX-5.0-x86_64/vmkernel.gz --- /images/ESX-5.0-x86_64/sys.vgz --- /images/ESX-5.0-x86_64/cim.vgz --- /images/ESX-5.0-x86_64/ienviron.vgz --- /images/ESX-5.0-x86_64/install.vgz


I even tried adding the line:
append -c /images/ESX-5.0-x86_64/boot.cfg
Which made no difference, still searching for //boot.cfg.

This is what I’m seeing while running cobbler sync, towards the end of the run.
processing boot_files for distro: ESX-5.0-x86_64
failed to copy file /var/www/cobbler/ks_mirror/ESX-5.0-x86_64/mboot.c32 to $img_path/mboot.c32 for ESX-5.0-x86_64

On Feb 25, 2014, at 12:22 PM, Petro <petro@cpetro.us> wrote:

On 14/2/25 12:27 PM, Outland, Mike wrote:
Petro,
Thank you for the quick response.

I’m wondering why this is the case.  I am only using the default options for tftp and cobbler in this regard.  Something must be instructing the system to look for /boot.cfg instead of /images/ESX-5.0-x86_64/.  
I can't really answer that, sorry. It's been a *long* time since I've been that deep in PXE booting/TFTP, and I haven't done cobbler with TFTP, and I haven't used either for ESX. 

I suspect that something in the ESX process is looking for the boot.cfg. My best guess is something in menu.

This might help: 

http://www.routereflector.com/2014/01/unattended-vmware-esxi-installation-via-pxe-boot-and-kickstart/

Note these bits in particular: 
# cat /mnt/boot.cfg | sed -e "s#/##g" -e "3s#^#prefix=esxi-5.1.0u1-1065491\n#" &gt; /tftpboot/pxe/esxi-5.1.0u1-1065491/boot.cfg
and 

# vi /tftpboot/pxe/pxelinux.cfg/default
default menu.c32
prompt 0
timeout 300

menu title PXE Boot Menu

label local
  menu label ^0 - Boot from first hard drive
  com32 chain.c32
  append hd0

label 1
  menu label ^1 - Install VMware ESXi 5.1.0u1
  kernel esxi-5.1.0u1-1065491/mboot.c32
  append -c esxi-5.1.0u1-1065491/boot.cfg ks=http://172.31.30.1/ks/esxi-5.1.0u1.cfg


Why would the cobbler templates not generate the boot.cfg in the proper location if it is infact in the tftpboot directory and not in the distro directory?  I would imagine if you had more than one ESX distro you would then have collisions on the boot.cfg.  I think something else is at play here.

Also how do I get the system to properly copy all the boot files to the tftp directory when running cobbler sync?

What happens right now when you run cobbler sync? 

The top few lines of my output are: 

task started: 2014-02-25_132124_sync
task started (id=Sync, time=Tue Feb 25 13:21:24 2014)
running pre-sync triggers
cleaning trees
removing: /var/lib/tftpboot/pxelinux.cfg/default
removing: /var/lib/tftpboot/grub/efidefault
removing: /var/lib/tftpboot/grub/images
removing: /var/lib/tftpboot/s390x/profile_list
copying bootloaders
copying: /usr/share/syslinux/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
copying: /usr/share/syslinux/menu.c32 -> /var/lib/tftpboot/menu.c32
copying: /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk
copying distros
copying images


But this is a non-production "I'm just playing with it" environment that I started setting up last week, so I haven't really dug into it yet, and since my soon to be future employer doesn't use it, it might get blown away. 

Regards,
Petro.
:wq

_______________________________________________
cobbler mailing list
cobbler@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/cobbler



_______________________________________________
cobbler mailing list
cobbler@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/cobbler

_______________________________________________
cobbler mailing list
cobbler@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/cobbler



_______________________________________________
cobbler mailing list
cobbler@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/cobbler

_______________________________________________
cobbler mailing list
cobbler@lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/cobbler