moka5

LivePC Creator Guide - Windows

Print this part of the manual.

Windows LivePC Creator Guide

You can create a LivePC for personal use, use by your friends, or use by an enterprise. A LivePC can be created from scratch, based on another LivePC, created using a LiveCD or DVD, or created from a VMware Virtual Machine. Once created it can be configured, packaged, and shared.

Creator Guide Contents

Creating a new LivePC from scratch

Creating a LivePC from scratch involves a four basic steps. This will create a pristine computer onto which you can install your own operating system.

1. Click on the 'Create' button on the moka5 Engine™:

2. Name and define the LivePC:

Type in a title as a name for your LivePC. The default OS for a LivePC is Linux and the flavor is Linux 2.6.x kernel. You can either set the OS for your LivePC now or change it later. Matching the settings here, to the OS you intend to use, will optimize the LivePC experience.

Click the 'Create LivePC' button to accept default system settings or use the tabs to adjust the LivePC settings first. You may change the settings at any time using the 'Edit LivePC Configuration' pencil icon in the advanced section of the properties window for the LivePC.

Note: You can use the shift key with the cursor to highlight and select text.

3. Add an OS:

Your new LivePC appears in the moka5 Engine menu. It is empty as nothing has been added to it. Insert an Operating System CD in the host PC and click the play button to start your newly added LivePC. Your new LivePC will open and install the OS as if you had new hardware. If you are creating a Windows-based LivePC you will need to disable hibernation.

When creating a LivePC from scratch, you should install the VMware tools package into your LivePC's operating system to improve the user experience for your LivePCs. You can obtain these tools by downloading the free VMware Server.

4. Add your applications:

Add other applications via download or CD to build your LivePC. You can add applications to match your desktop or create a new custom environment.

The LivePC will be created. The property 'Let me make changes to this LivePC' as well as others will be enabled and unavailable until you submit your LivePC to moka5 and subscribe to it.

Once you are done adding the OS and applications to the LivePC, you must perform a complete shutdown of the operating system and return to the moka5 Engine UI, otherwise, your changes may be lost! For a complete shutdown it's recommended that you use the shutdown option in your operating system. Less desirably you may use the 'VMWare Player' drop down menu. Select 'Troubleshoot > Power Off and Exit'.

Skip other LivePC creation methods

Creating a LivePC based on someone else's LivePC

An efficient way to create a LivePC™ is by deriving it from a pre-existing one. You can add or remove applications from a LivePC to create a custom version. The moka5 Engine™ will efficiently share disk storage and bandwidth for the common data that are the same in both LivePCs.

Deriving a LivePC from a pre-existing LivePC is very simple. Just find a LivePC that is a good base for the LivePC you wish to create and subscribe to it. Once it is in your Engine click on the pencil icon to open its properties window. Ensure the box for 'Let me make changes to this LivePC' is checked. Now any changes you make to this LivePC will be kept - and you will have your own personalized LivePC!

If you want your derived LivePC to be able to run side-by-side with the original LivePC on another user's computer, you will need to ensure that your LivePC has a different MAC address. To do this, click on 'Show Advanced' in the Properties window for the LivePC. Then click on 'Edit LivePC Configuration...'. The 'Configure LivePC' window will open. Click on the 'Network' button. Ensure that the 'MAC Type' is set to 'generated'. Make any other configuration changes and then select 'Apply Changes' to save the settings and close the window. After making this change, you may want to run the LivePC to ensure the software did not rely on the old settings.

Whenever you make changes to your LivePC that you want to keep, you must perform a complete shutdown of the LivePC and return to the moka5 Engine UI. Rebooting the operating system inside the LivePC is NOT enough to ensure that your changes are saved to the moka5 Engine. For a complete shutdown it's recommended that you use the shutdown option in your operating system. Less desirably you may use the VMWare 'Player' drop down menu. Select 'Troubleshoot > Power Off and Exit'.

Skip other LivePC creation methods

Creating a LivePC using an existing LiveCD or LiveDVD

It is very easy to make a LivePC using an existing LiveCD or LiveDVD. LiveCDs are available on moka5.com under 'Library', 'Public LiveCDs'. They are also broadly available on the internet. After downloading a LiveCD click on 'Import' on the moka5 Engine. This will bring up a dialog where you can enter the path to the LiveCD. Press 'OK' and your LivePC will appear in the main screen interface of the moka5 Engine with a default icon and description. You can edit the title, logo, description, and other specifics by clicking 'Configure...' and then 'Edit'.

Skip other LivePC creation methods

Creating a LivePC using an existing VMware virtual machine

It's easy to create a LivePC from an existing VMware virtual machine. Download or insert the CD for the the the VMWare virtual machine you would like to import. Click on 'Import' in the moka5 Engine and browse to the file you downloaded or have on CD. The moka5 Engine will copy the data from the given location and create a new LivePC with a default logo and description. After the import is done, you can use the virtual machine normally, or publish it and share it with the world.

Note: The import tool does not support VMware snapshot disks. You must first use VMware to convert the disks before trying to import them into the moka5 Engine. You can learn more about converting snapshot disks here under 'Import Errors'.

Skip other LivePC creation methods

Disable Hibernation in a Windows-based LivePC

When you create a new Windows-based LivePC by installing from a Windows CD, you should disable hibernate. In the default moka5 Engine configuration, if a user quits a LivePC by using the hibernate feature, their hibernation data will be thrown away. To disable hibernate run the LivePC. From the LivePCs 'start' menu select 'Control Panel'. In 'Classic View' select 'Power Options', while in 'Category View' select 'Performance and Maintenance' then select 'Power Options'. In the 'Power Options Properties' window select the 'Hibernate' tab and be sure that 'Enable Hibernation' is unchecked.

Configuring a LivePC

You can configure a LivePC simply because you want to use a new name or icon for the LivePC. Or you can configure one so that it has a specific environment and applications for optimal use. After configuring a LivePC you may keep it for your own use or share it with others. To get started the LivePC should say 'ready' and not be suspended.

  1. Click on the Properties Pencil icon.
  2. Select 'Let me make changes to this LivePC'.
  3. Click on 'Show Advanced'.
  4. Click on 'Edit LivePC Configuration'.

A window will open allowing you to edit the LivePC Configuration. At any time you can click on the 'Apply Changes' button to save your changes, or 'Cancel' to leave the LivePC unmodified or uncreated. This closes the window and returns you to the moka5 Engine.

Note: If you are sharing a LivePC we recommend you subscribe to the one you upload. You will then share the experience of your users. There will be no confusion as your local settings will not potentially differ from those you uploaded.

There are five tabs/buttons for different LivePC aspects.

General

  • OS: First select the general operating system that you plan to install on the LivePC and then the specific version. This will improve the performance of your LivePC by modeling the specific characteristics of the OS.
  • Title: The name of the LivePC that will be displayed to users.
  • Logo (URL or local path on local file system): Path to logo that the LivePC will use.
  • Memory: The amount of memory that this LivePC will use. It is dependent on the operating system of the LivePC, the number of applications that will be run, and the number of documents that may be open at a time. One method for determining a reasonable estimated value would be to set the default memory to a high value. Run the LivePC opening every application and a reasonable number of windows for each. Then check your memory usage. If you plan to share your LivePC you should consider the amount of memory you expect your users to have available. Some suggested values would be:
    • Windows XP and below should have at least 256MB, Linux may be set lower. Windows Vista is not yet fully supported but should be set to a minimum of 512MB.
    • 512MB would be a reasonable minimum for a LivePC with games

Network

  • Ethernet: Controls whether the LivePC has a network interface. When checked it makes ethernet available in the VMware menu bar.
  • Connection:
    • nat: Hides the virtual machine behind the host machine. To use document sharing use a nat connection, not bridged.
    • bridged: Exposes LivePCs along with host. Document sharing does not work with a bridged connection, set to nat to enable user sharing.
  • MAC type: There is no single setting for Ethernet address type that will work in all situations. The following guidelines may help determine the best choice for your LivePC.
    • generated: Default setting. The MAC address will be generated when you create the LivePC or when you download one. It will be different from the MAC address of the host machine.
    • static: May be useful in using a software license in a portable solution.

Storage

IDE drives
The default drive type supported is IDE. If you are using SCSI drives you can configure then by clicking on the pencil for 'Configure SCSI' at the bottom of the page. By default a new LivePC will have a System Disk and User Disk to keep system and user state and data separate and independent. Also a CDROM drive will be enabled for access by the LivePC. You can edit the size of the default disks or add another Disk.

  • System Disk: The LivePC operating system and programs are stored in system.vmdk. It is not set to persistent so that they are reset on each re-launch of the LivePC. Swap files should also not be persistent.
  • User Disk: The persistent information for user state is stored in local.vmdk.
    • Size (MB): These are set to reasonable defaults for most operating systems. A smaller disk size is appropriate when the LivePC is to be used on a USB drive.
    • Path: These are pre-populated with standard names.
  • disabled: Not in use.
  • CDROM (raw): Allows access to the host computer's CD tray. CDROM will show in the LivePC. LivePC will auto detect CD insertion. One of the disks should be set for CDROM (raw) to allow installation of an operating system from the computer's CDROM drive. If you are using a .iso to install the guest OS you should select CDROM (iso).
  • CDROM (iso) : ISO file disk image
    • Start Connected: When checked it will be available to the LivePC and show in the VMware menu bar.
    • Path: Set during auto detection. It can be manually assigned. Clicking on the pencil opens a browse window.
  • CDROM (atapi): Alternative option if CDROM (raw) fails. Utilizes an older CDROM drive emulator.
    • Start Connected: When checked it will be available to the LivePC and show in the VMware menu bar.

Floppy drives

  • Drive number: Identifies the drive as available.
  • Start connected: Checking this box will start a connection to the drive on booting the LivePC.
  • Auto detect: Preferred option. The system will automatically search for and map to the drive
  • Path: If you disable auto detection you can click on the pencil icon to open a browse window to set the path.

Storage (Configure SCSI)

  • SCSI Controller: Unless using a SCSI drive simply leave set to disabled.
    • disabled: No SCSI controller is configured for use within the LivePC.
    • BusLogic: Older driver for SCSI drive. You must install the BusLogic driver.
    • LSILogic: Newer driver for SCSI drive. You must install the LSILogic driver.

Other Devices

  • Sound Controller:
    • disabled: Makes sound unavailable to the LivePC and in the VMware menu bar.
    • Ensoniq ES 1371: generally works with both Windows and Linux based LivePCs.
    • Creative SB16: appropriate for LivePCs based on DOS or other systems without a driver.
    • Start connected: When checked sound is available on starting the LivePC.
  • USB: When checked it makes USB devices available in the VMware menu bar.
    • Auto connect new devices: Will make connection and show USB devices in menu bar on insertion to the PC.

Advanced

  • User files: This gives a user access to their LivePC's 'My Documents' folder even when the LivePC is not running.
  • Guest services: Provides access to low level services and LivePC support for 3D games using 3D Graphics and Active Directory.
  • Mouse auto-grab: Selecting this option will make the LivePC window active whenever the mouse is brought over the window. Please be aware that you may need to close the LivePC, or move its window aside, to reach items running on the host machine that appear above the LivePC window.
  • Edit VMX directly: If you are an advanced user with special needs you can edit the VMX file for the LivePC directly. You can use this option to add support for a second graphics card for example. Please be cautious. You could also break your LivePC.

Installing and configuring the moka5tools for Windows LivePCs

The moka5tools provide two distinct features for Windows XP SP2 LivePCs:

  • Shared folders between the LivePC and the host The My Documents folder in the guest is shared with the LivePC Local Documents for the LivePC on the host. Similarly, the My Shared LivePC Documents in the guest corresponds to the My Shared LivePC Documents in the host.
  • 3-D accelerated graphics in the LivePC The 3-D library will pass through the host's graphics acceleration capabilities into the guest.

Installing the moka5tools is easy. Download the latest version from http://downloads.moka5.com/1.0/moka5tools-1.0b-8748.msi and install it in the Windows XP LivePC. Uninstall any current versions of the moka5tools in your LivePC by going to the Add/Remove Programs Control Panel. Then, install the latest version. You will likely get a warning from Windows File Protection. Cancel any dialog Windows File Protection dialog that appears.

Restore auto-login after installing the moka5tools

Installing the moka5tools disables the Windows XP welcome screen, due to moka5tools installing a GINA DLL. If you wish to re-establish auto-login, use regedit to add the string value AutoAdminLogon and string data 1 at key HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon. Also, ensure the string values DefaultUserName and DefaultPassword exist and are correct.

Shared folders between the LivePC and the host

Click on 'Edit LivePC Configuration' in the properties window for the LivePC. Click on the 'Advanced' tab. Put a check in the box beside 'User files'.

In the LivePC, edit the value RedirectUsers at the registry key HKLM\Software\moka5\GINA. Add the user account name of the user who should see the shared folders.

3-D accelerated graphics in the LivePC

Click on 'Edit LivePC Configuration' in the properties window for the LivePC. Click on the 'Advanced' tab. Put a check in the box beside 'Guest services'.

Enable LivePC Local Documents and My Shared LivePC Documents in your Linux LivePC

If you're the publisher of a Linux LivePC, then you can make files available outside the LivePC through the 'LivePC Documents' and 'My Shared LivePC Documents' folders. This is implemented by using the smbfs kernel file system to mount an SMB file share from the host.

To support this feature in the moka5 Engine open the 'Configure LivePC' window by clicking on 'Edit LivePC Configuration' in the properties window for the LivePC. The LivePC can not be running or suspended at the time and must have 'Let me make changes to this LivePC' set. Click on the 'Advanced' tab and unselect the 'User files' check box. Press "Apply Changes".

The next step is to ensure that your Linux LivePC has the appropriate software. The Linux LivePC needs a kernel with the smbfs file system; most distributions have this by default. In addition, the LivePC needs the smbmount program to be installed. In RedHat and SuSE, this program is in the samba-client package. In Ubuntu, it's in the smbfs package. In Gentoo, it's in the samba package.

You'll also need to install the vmcmd utility. It is used for reading the parameters needed to mount the SMB shares. You can find a copy of this utility at http://downloads.moka5.com/guest/vmcmd. You should place it in /usr/bin or /bin.

The next step is to decide where to mount the "Local LivePC Documents" and "My Shared LivePC Documents". If the default account is called me and the account's home directory is /home/me, then it may make sense to put the files into directories /home/me/livepc-local-documents and /home/me/shared-livepc-documents.

Finally, you will need to insert script code into the boot process that actually mounts the files. Where to do this depends on your distribution. It is best to do this before the user is automatically logged in. In Gentoo, we placed it in /etc/conf.d/local.start.

DEFAULT_ACCOUNT="me"
LOCAL_MNT="/home/me/livepc-local-documents"
SHARED_MNT="/home/me/shared-livepc-documents"
SHARE=`vmcmd 'info-get guestinfo.userprofile.sharename' | tr '\\' /`
if [ -n "$SHARE" ]; then
   mkdir -p "$LOCAL_MNT"
   USER=`vmcmd 'info-get guestinfo.userprofile.username'`
   PASSWD=`vmcmd 'info-get guestinfo.userprofile.password'`
   export PASSWD
   smbmount "$SHARE" "$LOCAL_MNT" -o \
    "rw,uid=$DEFAULT_ACCOUNT,username=$USER,port=445"
else
   rmdir "$LOCAL_MNT"
fi
SHARE=`vmcmd 'info-get guestinfo.shareddata.sharename' | tr '\\' /`
if [ -n "$SHARE" ]; then
   mkdir -p "$SHARED_MNT"
   USER=`vmcmd 'info-get guestinfo.shareddata.username'`
   PASSWD=`vmcmd 'info-get guestinfo.shareddata.password'`
   export PASSWD
   smbmount "$SHARE" "$SHARED_MNT" -o \
    "rw,uid=$DEFAULT_ACCOUNT,username=$USER,port=445"
else
   rmdir "$SHARED_MNT"
fi

Restart your LivePC and make sure everything works.

LivePC package creation, upload, and sharing

Once you've created a LivePC you can package your LivePC for personal use or sharing. If you only plan to use your LivePC locally this step is unnecessary. However working from a hosted, packaged copy of your LivePC gives you all the security benefits of an assured clean copy of your environment.

To package your LivePC go to your LivePC's Advanced Properties and click 'Package and upload this LivePC'.

The 'Package LivePC' window will open.

Action

  • Host LivePC at moka5: This will upload and save your LivePC to the moka5 website. The hosting is a free service for those who register at moka5.com. Your LivePC will NOT be compatible with earlier versions of the moka5 (or LivePC) Engine. The moka5 Engine version number will need to be greater than 1.0.8949 to run your LivePC. Please note that free hosting of LivePCs through moka5.com may be discontinued at any time.
  • Create package only: This will allow you to package a LivePC for hosting on your own server. Selecting this option will change the window to display an option to set the package path. Click on the pencil icon to browse to the location where you would like to save your LivePC package.

Package type

  • Shallow copy: The moka5 Engine will package the differences of your LivePC versus the parent or original LivePC. This method depends on the parent LivePC continuing to exist on an HTTP server. Choose this option if you can ensure that the previous LivePC will be available for as long as the new LivePC, for example if the LivePC is based on a LivePC you previously created and do not plan to delete.
  • Deep copy: The moka5 Engine will package the entire LivePC so that your newly created LivePC is not dependent on any current LivePC. All new LivePCs are packaged using this method.

Upload mode (not available when using 'Create package only')

  • Create new LivePC: Only option available when working with a LivePC you have created from scratch or from an existing LivePC created by someone else.
  • Update existing LivePC: This option is only available when you are working with your own LivePC to which you have subscribed. You cannot update someone else's LivePC, only a LivePC you have previously uploaded. If you have modified an existing LivePC created by someone else you will need to use 'Create new LivePC' to upload it the first time.

moka5 account (not available when using 'Create package only')

  • signup here: Click to create an account on the moka5 servers for hosting your LivePC. Clicking 'signup here' will open a browser window.
  • Username: Your moka5 account username.
  • Password: Your moka5 account password.
  • Display in public LivePC Library: If checked your LivePC will be publicly displayed for sharing and downloading by the moka5 community. If unchecked your LivePC will only be available within your account and to those you share it with.

OK/Cancel

  • Click 'OK' to package your LivePC or 'Cancel' to not package your LivePC.

Upload complete / Next steps after packaging

  • Host LivePC at moka5: Once your LivePC has been successfully packaged you will see a confirmation dialog if it has uploaded successfully to moka5.com. Your browser will open to the page for your LivePC listing. You can log in to make changes to it. Use the login link at the top of the page.
  • Create package only: Two windows will open: the directory where your package has been saved and a browser page describing options for independently hosting your package.

Edit your LivePC listing

Once you've packaged and hosted your LivePC on moka5.com or another server you can modify its listing. You can add personal logo and description.

You will need to login to moka5.com to edit your LivePCs. Click on 'Library' in the moka5 Engine or go to www.moka5.com and click on 'LIVEPC LIBRARY'. In the lower menu bar click on 'MY LIVEPCS'. Click on 'Edit' for the LivePC you wish to describe.

The LivePC package URL is maintained by moka5 if you are using our hosting. If you are have hosted your LivePC elsewhere and are not including the LivePC in the public LivePC Library, moka5 will not verify that the URL address is valid. You can set a logo and description for your LivePC. moka5 will shrink most logos to 96x96 pixels. If you wish to use a very large image you will need to pre-scale it to a smaller size.

Subscribe to your LivePC in your moka5 Engine

Click on 'PUBLIC LIVEPCS' or if you did not include your LivePC in the public library then click on 'MY LIVEPCS' and click on 'Download' next to your LivePC. After subscribing, delete the local copy of your LivePC. This will ensure that you and your users are having an identical experience using the same LivePC.

Update your LivePC

You may wish to update your LivePC to add software or apply security fixes. To update your LivePC, go to the moka5 Engine and open the 'Properties' window for the LivePC by clicking on its pencil icon. Make sure the box for 'Let me make changes to this LivePC' is checked. You can then install new applications while running the LivePC. If you wish to make changes to the configuration of your LivePC you should click on 'Show Advanced' in the 'Properties' window and select 'Edit LivePC Configuration...' when the LivePC is not running.

After updating and testing your LivePC you can package and share the new version. To update a LivePC you have submitted previously you can click on 'Library' in the moka5 Engine. Then select 'MY LIVEPCS' in the lower menu bar. Click on the 'Edit' link for the LivePC you have modified. Once you are under the 'edit' tab you can track your revisions with the 'revisions' tab.

Each time you edit your LivePC you may also change the name, logo and description. You should also include a 'Changelog' entry to describe the modifications you have made to the LivePC. Your users will see the new information the next time they exit and re-launch their LivePC. Drastic changes to the name and logo may prevent your users from recognizing your LivePC as the one they previously subscribed to.