VMware vSphere

 View Only
  • 1.  ESXi 5 scripted installation over NFS

    Posted Mar 19, 2012 10:31 PM

    I am trying to setup a scripted installation that pulls files over NFS.  DHCP, TFTP and NFS server are already setup and work for ESX4.

    I have created a folder called /tftboot/pxelinux.cfg/esxi5, and also one called /nfsroot/mirror/esxi5.  In the PXE menu file, I have added the following lines:

    label esxi5

            kernel esxi5/mboot.c32
            append -c esxi5/boot.cfg

    In the esxi5 sub directory, I have mboot.c32, menu.c32 and boot.cfg.  boot.cfg looks like this:

    title=Loading ESXi installer

    kernel=tboot.b00

    kernelopt=ks=nfs://172.31.1.1/nfsroot/mirror/esxi5/ks.cfg

    modules=b.b00 --- useropts.gz --- k.b00 --- a.b00 --- ata-pata.v00 --- ata-pata.v01 --- ata-pata.v02 --- ata-pata.v03 --- ata-pata.v04 --- ata-pata.v05 --- ata-pata.v06 --- ata-pata.v07 --- block-cc.v00 --- ehci-ehc.v00 --- s.v00 --- weaselin.i00 --- ima-qla4.v00 --- ipmi-ipm.v00 --- ipmi-ipm.v01 --- ipmi-ipm.v02 --- misc-cni.v00 --- misc-dri.v00 --- net-be2n.v00 --- net-bnx2.v00 --- net-bnx2.v01 --- net-cnic.v00 --- net-e100.v00 --- net-e100.v01 --- net-enic.v00 --- net-forc.v00 --- net-igb.v00 --- net-ixgb.v00 --- net-nx-n.v00 --- net-r816.v00 --- net-r816.v01 --- net-s2io.v00 --- net-sky2.v00 --- net-tg3.v00 --- ohci-usb.v00 --- sata-ahc.v00 --- sata-ata.v00 --- sata-sat.v00 --- sata-sat.v01 --- sata-sat.v02 --- sata-sat.v03 --- scsi-aac.v00 --- scsi-adp.v00 --- scsi-aic.v00 --- scsi-bnx.v00 --- scsi-fni.v00 --- scsi-hps.v00 --- scsi-ips.v00 --- scsi-lpf.v00 --- scsi-meg.v00 --- scsi-meg.v01 --- scsi-meg.v02 --- scsi-mpt.v00 --- scsi-mpt.v01 --- scsi-mpt.v02 --- scsi-qla.v00 --- scsi-qla.v01 --- uhci-usb.v00 --- tools.t00 --- imgdb.tgz --- imgpayld.tgz

    build=

    updated=0

    This obviously fails because it is expecting to find all the files mentioned above in the same directory on the TFTP server.  I can obviously put all these files into /tftpboot/esxi5, but this will not work as my TFTP server doesn't like serving that amount of files.

    How do I tell the installation to look for all files on NFS?  I have tried inserting the line:

    prefix=nfs://nfsserver/mirror/esxi5

    But it doesn't like it.

    I've also tried the following in the PXE menu file:

    append -c nfs://nfsserver/mirror/esxi5/boot.cfg

    But I get the error: "URL syntax, but gPXE extensions not detected, trying plain TFTP" (which is not what I want).

    I figured that all you have to put on the TFTP server is a couple of files (kernel and menu etc) and the rest will be brought down over NFS.

    Anyone know what I'm missing?

    -Mark



  • 2.  RE: ESXi 5 scripted installation over NFS

    Posted Mar 20, 2012 06:21 PM

    you need to capitizal case for "nfs://172.31.1.1/nfsroot/mirror/esxi5/ks.cfg" , I had a issue when doing the via cdrom, even do your file is non caps lock, but in the conf you need to write as caps lock

    just my one cent



  • 3.  RE: ESXi 5 scripted installation over NFS

    Posted Apr 23, 2012 05:43 PM

    We experienced this same issue in our environment.

    Turned out to not be a limitation of the TFTP server.  It was a limitation of PXELINUX as referenced on a number of other websites.

    Here is the vmware KB 2007660 on it:  http://kb.vmware.com/kb/2007660

    Turns out the version of syslinux was 4+ on the PXE server, but we were referencing old version of the pxelinux.0 and vesamenu.c32

    Once I referenced the new versions of these two files, all worked as expected.

    Hope this helps in case you are still having issues.



  • 4.  RE: ESXi 5 scripted installation over NFS

    Posted Dec 12, 2012 07:04 PM

    Was this issue ever resolved? I am experiencing a similar issue but it says the file cannot be found. I configmed the path was correct multiple times and am successfully using the nfs server to install CentOS. My boot.cfg file is below. I receive a fatal error 15 and it states the file cannot be found.

    bootstate=0
    title=Loading ESXi installer
    prefix=nfs:10.211.4.212:/srv/data/install/VMware/ESXi/5.1/
    kernel=tboot.b00
    kernelopt=runweasel
    modules=b.b00 --- useropts.gz --- k.b00 --- chardevs.b00 --- a.b00 --- user.b00 --- s.v00 --- ata_pata.v00 --- ata_pata.v01 --- ata_pata.v02 --- ata_pata.v03 --- ata_pata.v04 --- ata_pata.v05 --- ata_pata.v06 --- ata_pata.v07 --- block_cc.v00 --- ehci_ehc.v00 --- weaselin.t00 --- esx_dvfi.v00 --- xlibs.v00 --- ima_qla4.v00 --- ipmi_ipm.v00 --- ipmi_ipm.v01 --- ipmi_ipm.v02 --- misc_cni.v00 --- misc_dri.v00 --- net_be2n.v00 --- net_bnx2.v00 --- net_bnx2.v01 --- net_cnic.v00 --- net_e100.v00 --- net_e100.v01 --- net_enic.v00 --- net_forc.v00 --- net_igb.v00 --- net_ixgb.v00 --- net_nx_n.v00 --- net_r816.v00 --- net_r816.v01 --- net_s2io.v00 --- net_sky2.v00 --- net_tg3.v00 --- net_vmxn.v00 --- ohci_usb.v00 --- sata_ahc.v00 --- sata_ata.v00 --- sata_sat.v00 --- sata_sat.v01 --- sata_sat.v02 --- sata_sat.v03 --- sata_sat.v04 --- scsi_aac.v00 --- scsi_adp.v00 --- scsi_aic.v00 --- scsi_bnx.v00 --- scsi_fni.v00 --- scsi_hps.v00 --- scsi_ips.v00 --- scsi_lpf.v00 --- scsi_meg.v00 --- scsi_meg.v01 --- scsi_meg.v02 --- scsi_mpt.v00 --- scsi_mpt.v01 --- scsi_mpt.v02 --- scsi_qla.v00 --- scsi_qla.v01 --- scsi_rst.v00 --- uhci_usb.v00 --- tools.t00 --- xorg.v00 --- imgdb.tgz --- imgpayld.tgz
    build=
    updated=0



  • 5.  RE: ESXi 5 scripted installation over NFS

    Posted Dec 12, 2012 07:33 PM

    I could be wrong, but I believe your use of the prefix is incorrect.

    It appears you are attempting to perform a PXE install where your intent is to install ESXi from the ISO or files extracted from the ISO served via NFS.

    The prefix directive specifies the proper subdirectory, from the perspective of the TFTP root that contains your ESXi ISO files.

    Here is an example of how I've accomplished what you appear to be wishing for:

    boot.cfg contents:

    bootstate=0
    title=Loading ESXi installer
    prefix=images/esxi5/iso/
    kernel=tboot.b00
    kernelopt=nameserver=10.108.45.140 ip=10.108.37.200 netmask=255.255.255.128 gateway=10.108.37.129
    modules=b.b00 --- useropts.gz --- k.b00 --- chardevs.b00 --- a.b00 --- user.b00 --- s.v00 --- ata_pata.v00 --- ata_pata.v01 --- ata_pata.v02 --- ata_pata.v03 --- ata_pata.v04 --- ata_pata.v05 --- ata_pata.v06 --- ata_pata.v07 --- block_cc.v00 --- ehci_ehc.v00 --- weaselin.t00 --- esx_dvfi.v00 --- xlibs.v00 --- ima_qla4.v00 --- ipmi_ipm.v00 --- ipmi_ipm.v01 --- ipmi_ipm.v02 --- misc_cni.v00 --- misc_dri.v00 --- net_be2n.v00 --- net_bnx2.v00 --- net_bnx2.v01 --- net_cnic.v00 --- net_e100.v00 --- net_e100.v01 --- net_enic.v00 --- net_forc.v00 --- net_igb.v00 --- net_ixgb.v00 --- net_nx_n.v00 --- net_r816.v00 --- net_r816.v01 --- net_s2io.v00 --- net_sky2.v00 --- net_tg3.v00 --- net_vmxn.v00 --- ohci_usb.v00 --- sata_ahc.v00 --- sata_ata.v00 --- sata_sat.v00 --- sata_sat.v01 --- sata_sat.v02 --- sata_sat.v03 --- sata_sat.v04 --- scsi_aac.v00 --- scsi_adp.v00 --- scsi_aic.v00 --- scsi_bnx.v00 --- scsi_fni.v00 --- scsi_hps.v00 --- scsi_ips.v00 --- scsi_lpf.v00 --- scsi_meg.v00 --- scsi_meg.v01 --- scsi_meg.v02 --- scsi_mpt.v00 --- scsi_mpt.v01 --- scsi_mpt.v02 --- scsi_qla.v00 --- scsi_qla.v01 --- scsi_rst.v00 --- uhci_usb.v00 --- tools.t00 --- xorg.v00 --- imgdb.tgz --- imgpayld.tgz
    build=
    updated=0

    notes on tftp server:

      • TFTP root is /var/lib/tftpboot
      • The directory containing the ESXi5 iso is mounted on the TFTP server via NFS
      • The directory defined in the prefix directive above is simply a loopback mount of the ESXi5 iso
    Note sure if this helps you accomplish what you are intending to do though.


  • 6.  RE: ESXi 5 scripted installation over NFS

    Posted Dec 12, 2012 07:54 PM

    You are correct. My intention was to host the ISO contents from a file server with sufficient space. I suppose one method is to mount the NFS server in the tftpboot directory but I was hoping for a cleaner implementation. For instance, with CentOS you can append 'method=nfs:$IP:$DIR'.