Using Damn Small Linux to install a large ISO remotely to ESXi

While working with a client I had the unique issue of trying to upload a large ISO file to a ESXi datastore while being connected remotely through VPN. The UCOS for Cisco Unified Communications Manager and Cisco Unity Connection is over 5GB and trying to manage that download and moving it to a datastore can be challenging across small internet pipes especially when you do not have a local machine.

Enter Damn Small Linux, or DSL for short. This 50MB iso has all the tools you need in a small package to facilitate getting your ESXi environment up and running. Contained within is a GUI, FTP client, Firefox, NFS and others to get you going. After you are finished installing the UCOS the DSL guest can be deleted to fee up disk space or kept for other tasks.

The process is pretty simple; download DSL, upload it to the remote ESXi datastore, set it to boot the ISO, configure NFS, FTP or HTTP the larger ISO, mount the NFS datastore and start installing the large ISO directly. Below I detail the process to getting DSL up and running quick and easily.

  1. Download current.iso DSL from http://distro.ibiblio.org/damnsmall/current/
  2. Using the vSphere client copy current.iso to the ESXi datastore
  3. Create a new guest as Other Linux 2.6.x Kernel with 1 CPU, at least 256Mb RAM, E1000 network interface and a IDE virtual disk with at least 6GB(I used 9GB thin provisioned)
  4. Set the guest to boot the ISO by selecting Datastore ISO and browse for current.iso and set Device Status to “Connect at power on”
  5. Power on the guest and go to the Console tab, DSL should start to boot
  6. Once DSL has come up to the GUI install to hard disk and reboot
  7. Using the menu go to Setup –> Net Setup –> netcardconf and configure a static IP on on eth0 in the VLAN you configured when you created the guest
  8. Navigate to System –> Control Panel and update mirrors(I had to use http://distro.ibiblio.org/damnsmall/)
  9. Open MyDSL on the desktop, update the database and install dsl-dpkg.dsl from system and nfs-kernel-server.dsl from testing
  10. Open Term and use nano to edit /etc/hosts.allow and /etc/exports to allow the IP of the server to access the NFS on the DSL guest
  11. Start /etc/init.d/portmap and /etc/init.d/nfs-kernel-server services
  12. Use FTP from the Apps –> Net menu to copy your file to /home/dsl
  13. Go back to the host in vSphere client and navigate to Configuration –> Storage
  14. Select Add Storage and select NFS as the type
  15. Use the IP of the DSL guest as the server, /home for the folder and give it a name like dsl-home