Building an Ubuntu Live CD for VMware View
With the recent public release of a full PCoIP View client for Linux I imagine many people will look to use this as a low-cost platform for re-purposing PCs as a lightweight View endpoint.
As the VMware View Client for Linux is only (officially) available for Ubuntu right now I will focus on that. Consider this the first part of an ongoing series, but right now I’m just going to cover the basics of getting an image setup so that you can live boot Ubuntu and have the View Client installed in the image.
Before we do anything you are going to need to grab Ubuntu 11.10 (http://www.ubuntu.com/download/ubuntu/download). I will be using the 32-bit version for this walk-through.
I also will be doing the creation and testing of the live CD from a virtual machine and I highly recommend you do the same. I am using my home lab with vSphere 5, so I’ll be using vCenter to create a new VM, but any virtualization platform can be used.
The virtual machine we’re creating here will be our live CD “build” machine, there’s nothing special about it, it’s just a straight installation of Ubuntu, so let’s get on with it. First, create a new VM, select “Typical”, give it a name and location, select resource pools, and select storage placement – I assume the audience for this blog is quite familiar with this process, so I will skip detailed instructions. When prompted for “Guest Operating System”, select Linux, and under “Version” select Ubuntu Linux (32-bit).
Complete the final steps of the New Virtual Machine Wizard – I created a 30GB disk which is likely overkill – and create the VM. I did make some changes to the hardware settings – I bumped up to 2GB RAM and added a second CPU. This is not required, it just made me feel good.
Once the VM is created mount the Ubuntu ISO file into it via whatever your preferred method is. I uploaded the ISO to a datastore, and mapped it into the VM from there. If you use this method make sure to select “Connected” and “Connect at power on” – and then to deselect these options after the installation process is complete.
Access the console for the VM, and power it on. Shortly after it boots you will be presented with the following screen, select “Install Ubuntu”
Again, I am going to skim the details of OS installation as I assume my audience is familiar with the process:
- I selected “Download updates while installing”
- I allowed the installer to use the whole disk and took the default file system layout (2 partitions)
- Select your location and language preferences
- Enter your user account information, and select “Log in automatically”
- Let the installation complete
- When prompted to restart, click “Restart Now”. You should then be prompted to remove the installation media per the image below
- Disconnect the ISO image from the VM, go back into the console, and press ‘Enter’ to complete the shutdown
The VM will reboot and you should be taken directly to the Ubuntu desktop (if you selected Log in automatically, otherwise you will be prompted for credentials):
You may want to maximize the resolution of the desktop as things can get a little cramped at the default 1024×768, but this is personal preference.
Ok, the prep work is mostly complete. Next up, we will get ready to start creating our live CD image using UCK.
Installing the Ubuntu Customization Kit (UCK)
The Ubuntu Customization Kit (UCK) allows you to create a new live CD ISO from an existing Ubuntu installation ISO image and to apply any desired customization along the way.
UCK is available right from within the Ubuntu Software Center, but there are newer versions available from SourceForge. For this walk-through I will be using UCK 2.4.5. The easiest way to get this installed is to open Firefox within the Ubuntu VM and navigate to: http://sourceforge.net/projects/uck/files/uck/2.4.5/
Select and download ‘uck_2.4.5-0ubuntu1_all.deb’, when prompted, choose to open the file with Ubuntu Software Center, and click ‘OK’:
After the download completes, Ubuntu Software Center will launch, and you’ll be prompted to install UCK. Notice the warning that an older version is available, chuckle to yourself about all the people running an older version when they could be on the bleeding edge like yourself, and then click “Install”. Note that you will be prompted for your password to perform root level operations.
During installation you will be asked if you want to add UCK to the launcher, I chose to do so, but it’s not required, you’ll just need to open UCK via dash or a terminal shell if you choose not to add it. Once installation is complete, close Ubuntu Software Center and Firefox. Now we are ready to move into image customization.
Customizing and Creating the LiveCD Image
Before we launch UCK we need to pull down a copy of the Ubuntu installation ISO as that is what UCK will be performing it’s customization on. Accomplish this by whatever means suit you – you can download it directly from Ubuntu again from within the VM, pull it off a network share, FTP, etc. I grabbed my copy from the webserver on my NAS via Firefox so it has been placed in my user ‘Downloads’ directory which maps to ‘/home/<user>/Downloads’. You’ll need to know the path so you can provide it to UCK.
Once you have a copy of the Ubuntu ISO accessible to the VM, launch UCK. The process to do this may vary depending on the options you selected during the installation process, but if you followed my advice and added it to the launcher simply click the UCK icon to launch it.
You will see a welcome screen, which you can dismiss, followed by language pack selection screens. I chose ‘en’ but choose whichever items are appropriate for your use case. Eventually you’ll come to a desktop environment selection screen.
I selected ‘gnome’. You are now asked to locate the ISO image that will be the basis of the newly created live CD. Navigate to the location where you placed the ISO, and click ‘OK’
UCK will then prompt you to name your CD, I entered “VMware View live CD”. Next UCK will ask if you want to customize the CD manually during building – why yes you do! Select ‘yes’ and continue.
You will be asked if you want to delete all Windows-related files from the CD. As I am not planning to run this CD under Windows, I chose to remove them. Next up is the selection for a hybrid image (ISO/USB), I chose yes as I imagine we might want to run this from a USB stick as well as a CD.
Initial configuration of UCK is now complete and the package creation will now begin. After clicking ‘OK’ you will be prompted for your user password again to allow root-level activities to take place.
UCK will unpack the ISO, mount it, and open up a chroot’d environment so that you can further customize the live CD environment. This may take several minutes depending on the speed of your VM and storage. Once this process is complete you’ll be presented with customization options – you can either run the package manager to add/remove packages, or run a console application (open a terminal as root) to do whatever you like. Let’s begin by getting the VMware View Client installed.
Installing the VMware View Client for Linux
Unfortunately, we can’t just go right out and grab the VMware View Client. Nope, first we need to fix a few things.
Select “Run console application” and click ‘OK’. This will open the UCK cutomization console and leave you at a root prompt.
At this prompt type:
You are welcome to use a different editor but I prefer vi. If you are unfamiliar with vi commands please Google ‘vi’ and you will find several excellent guides.
As you can see the list of sources is pretty slim so let’s add a few before continuing, switch to edit mode, open a new line and add the following repositories:
deb http://us.archive.ubuntu.com/ubuntu/ oneiric universe deb http://archive.canonical.com/ubuntu oneiric partner
After adding the new repository locations, save the file and exit (ESC :wq in vi). Then run:
This will allow apt to update the package lists from the newly added repositories. Now we should be able to install the VMware View Client by typing:
apt-get install vmware-view-client
You will notice that libssl0.9.8 is added to the install list and you will be prompted for confirmation. Confirm that you do want to continue and just let the magic happen.
After the installation completes you can test out the VMware View Client by typing:
You will have to accept the EULA and then the client should open. Hooray!
Since all we want right now is a live CD with the VMware View Client available, then our modifications are done. Let’s complete the build and get an ISO.
Completing the live CD Build
Exit out of the UCK customization console by entering:
You will return to the customization action screen. Select “Continue building” and click ‘OK’
UCK will then begin creating the live CD ISO. Expect this to take several minutes to complete.
Once the build is complete you will get a summary screen informing you of where the ISO file has been placed. Typically this is: /home/<user>/tmp/remaster-new-files/livecd.iso
Click ‘OK’ to close the summary window. If you started UCK from the launcher icon there will still be a terminal window open, it will ask you to press ‘Enter’ to close the terminal, and you should do as it says, we certainly don’t want to make it angry now after having come so far.
Testing the Newly Created ISO
Before we waste a DVD or needlessly format a thumb drive it would probably be a good idea to test the ISO we just made. This is easy to do and we can reuse our Ubuntu VM to do the testing.
First we should transfer the ISO file off the VM because if we don’t, we can’t really boot into it now can we? I moved my ISO file off to my NAS again, and renamed it to livecd_view_client.iso, but you can name it anything you wish. I then once again uploaded the file to a datastore via vCenter.
Next we need to configure the VM to boot off the CD. To do this, edit the VM settings, go to the “Options” tab, and select “Boot options”. On the right-hand side, check the “Force BIOS Setup” box.
This will allow us to tweak the boot order so that the CD-ROM drive will take precedence over the hard drive. Restart the Ubuntu VM from the system settings menu (the icon that looks like a gear crossed with a power button icon) by selecting “Shut Down…” and then selecting “Restart”. Wait for the VM to restart into the BIOS setup utility.
Using the arrow keys, select the “Boot” menu, and then highlight “CD-ROM Drive”. Use the ‘+’ key to move it up in the boot order on top of the “Hard Drive” option.
Press ‘F10’ to save and exit, and before you confirm the changes, open the VM settings one more time, and map in the live CD ISO file. I did this just as I did above when preparing the VM for the initial Ubuntu installation (see the earlier screenshot). Make sure you check “Connected” and “Connect at power on”.
Now go ahead and confirm the BIOS changes which will cause the VM to restart.
If you did everything right, you should be prompted with a screen like this:
Select “Try Ubuntu” and you will be taken to a desktop running under the ‘ubuntu’ user. Now since we didn’t make any effort to create an icon for the View client on the desktop or in the Launcher we have to open it another way. One quick option is to use Dash.
Click the Dash icon and in the search box enter ‘vmware’. This should locate the VMware View Client application. Click the VMware View Client icon and off you go.
You will once again need to accept the EULA (this is a new user) and then the VMware View Client should launch.
Let’s go ahead and get connected to a desktop…
Now that you have tested the live CD ISO you are welcome to deploy it however you like. Burn it directly to a CD/DVD depending on size, or use one of the many guides available to deploy it to a USB drive.
To be fair, this is not in any kind of state to act as a true base image for something like full-scale PC re-purposing, it’s far too large, and it doesn’t automatically boot into the VMware View Client. Going forward i plan to address some of these shortcomings, but for now this is a good way to least get a feel for the performance of the new VMware View Client for Linux on a range of hardware without causing any damage to the underlying OS installation.
More to come on this as time permits.
UPDATE: I have been asked to provide the resulting ISO so here is a link you can use to grab it. As with anything you might get from someone else’s Dropbox – Use at your own risk. I take no responsibility for any damages that may be caused by the use of this file, and I make no warranty as to it’s validity or authenticity – is that scary enough for ya? With that out of the way, here you go: livecd_view_client.iso