Resolving the: “Error opening: kickstart file /tmp/ks.cfg: No such file or directory” message
Two problems have been found with ESX 2.x.x installations with UDA. We hope to resolve them soon. This information is offered as workaround.
The first problem is that PXE client (our ESX host) does not receive the KS configuration file in timely enough fashion. I believe this has to do with how the boot-loader in ESX 2.x.x handles the “pump” signals required to release and renew the IP address. However, it may be that the Apache web-service is the source of the problem.
The symptoms of the problem include a long wait at the “Determining host name and domain” message which finally results in an “Error opening: kickstart file /tmp/ks.cfg: No such file or directory” on the main kickstart screen. You can view extensive logging in at kickstart if you press either alt+F4 or alt+F5 respectively. In an Alt+F4 viewsystems seems to hang from a long time on “nodns is 0â€¦” and in the Alt+F5 view systems to hang on the message “eth0 NIC link is up….” This problem seems to afflict HTTP communications particularly, this can be very easily rectified by configuring the UDA exports file to allow the PXE client to download the kickstart file using NFS rather than HTTP. The second problem is the default size of the RAM drive created by the ESX 2.x.x installation is
not big enough. The results are shown in a message which reads “Unable to retrieve the first install image”. This can be very easily corrected by increasing the amount of memory allocated to the RAM drive.
To reconfigure the UDA to work with ESX 2.5.4 carry out the following tasks
- Logon as root to the UDA using a secure shell client like putty
- edit the /etc/exports file with a text editor like
nano:nano -w /etc/exports
- Copy the /solaris line with ctrl+k and ctrl+u to create this
- Save the file and Exit
- Restart the NFS service within the UDA withservice nfs
- Login as admin to the UDA using the web-admin interface with a web-browser
- Create a new template selecting ESX 2.x.x as your source
- Modify the boot parameters to beappend ip=dhcp ksdevice=eth0
load_ramdisk=1 ramdisk_size=10240 initrd=initrd.esx252 network
This creates a RAM drive of 10MB in size, and instructs kickstart to find the kickstart file on the NFS path, rather than an http path. Remember to replace the IP address here (192.168.3.150) with the IP address of your UDA.
The source code of ESX is still delivered by http. Even with this fix – it does take some time for kickstart to make the transition from the “Determining host name and domain” message to download the ESX install image. In my system it took nearly 1 ½ minutes!
Update: Added some ESX 2.x.x kickstart files a while back. I discovered a problem where the /tmp partition was set to “grow”. This has been corrected.
This was first published in May 2007