Page tree

For ESXi, kickstart file entries have a format and syntax similar to that used for ESX 4.0.

The following are the characteristics of the ESXi kickstart file:

  • Kickstart entries have key=value entries.
  • If you set the Kickstart Device using the MAC_ADDRESS_CD property, the Kickstart entry is --device=??MAC_ADDRESS_CD??
    where MAC_ADDRESS_CD is a colon-separated MAC address.

    Note

    • The value for MAC_ADDRESS_CD must be a colon-separated MAC address.
      In addition, the MAC_ADDRESS and DEVICE.MAC_ADDRESS properties are not supported for the ESXi system package type. Both properties resolve to a hyphen-separated MAC address, which is not supported by ESXi.
    • The ESXi platform does not support ethX as the value for --device.
  • If you provided a License Key on the Computer Settings tab, its Kickstart entry is serialnum.
  • The --hostname key specifies the name for the installed system. This key works only with --bootproto=static.
  • For the clearpart entry:
    • If you selected Use First Disk for Installation on the disk partition panel, the generated clearpart entry is:
      clearpart --firstdisk=local -overwritevmfs
    • If you selected Specify Disk for Installation on the disk partition panel, the generated clearpart entry uses the specified disk. In the following example, sbh is the disk name from the disk partition panel.
      clearpart --drives=sbh --overwritevmfs
  • If you do not provide a value for ondisk, the system uses --ondiskfirst as the value.
  • If you do not provide a value for onvmfsdisk, the system uses --onfirstvmfs.
  • Kickstart for ESXi does not support the following:
    • mouse
    • lang
    • lang support
    • text

Example: Part of an ESXi 4.1 kickstart file

accepteula
keyboard Default
network --bootproto=dhcp --device=00:11:22:33:44:55
autopart --firstdisk --overwritevmfs
clearpart --firstdisk=local -overwritevmfs
rootpw --iscrypted ??ROOT_PASSWORD??
install url http://??DATA_STORE_IP??/??DATA_STORE.VIRTUAL_DIR??/
reboot
%firstboot --unsupported --interpreter=busybox
cd /
touch provscript
echo "cd /" >> provscript
echo "connected=1" >> provscript
echo "cnt=0" >> provscript
echo "echo \$cnt" >> provscript
echo "while [ \$cnt -lt 5 ]" >> provscript
echo "do" >> provscript
echo "cnt=\$((cnt+1))" >> provscript
echo "echo "Trying to connect PROV_APP_SERVER_IP Retry count is \$cnt"" >> provscript
echo "ping -c 3 PROV_APP_SERVER_IP >> /dev/null" >> provscript
echo "if [ \$? -eq 0 ]" >> provscript
echo "then" >> provscript
echo "echo 'breaking'" >> provscript
echo "connected=0" >> provscript
echo "break" >> provscript
echo "fi" >> provscript
echo "sleep 10" >> provscript
echo "done" >> provscript
echo "echo 'checking if'" >> provscript
echo "echo "Ping result \$connected"" >> provscript
echo "if [ \$connected -eq 0 ]" >> provscript
echo "then" >> provscript
echo "echo 'App server connected'" >> provscript
echo "wget http://??DATA_STORE_IP??/??DATA_STORE.VIRTUAL_DIR??/bmilinux.tar bmilinux.tar" >> provscript
echo "tar -xvf bmilinux.tar">> provscript
echo "chmod +x bmilinux">> provscript
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/">> provscript
echo "./bmilinux PROV_SOCKET_APP_SERVER_IP ??MAC_ADDRESS??" >> provscript
echo "rm -f bmilinux" >> provscript
echo "rm -f bmilinux.tar" >> provscript
echo "rm -f libblssl.so.0.9.8" >> provscript
echo "rm -f libblcrypto.so.0.9.8" >> provscript
echo "rm -f random.byt" >> provscript
echo "else" >> provscript
echo "Could not connect to app server PROV_SOCKET_APP_SERVER_IP" >> provscript
echo "fi" >> provscript
chmod +x provscript
./provscript >> ProvScript.log
rm -f provscript