Appendix 2: USB-based SME toolkits
From SME Guide
One of the difficulties of spreading or presenting information on OSS to small and medium enterprises is the actual presentation of the software itself, or of a collection of OSS packages, in a way that is low-cost, easy to use, and compatible with present hardware and software actually used in the company. In the past the main channel for distributing applications was the use of live-CDs, that is linux distributions that include additional packages, delivered as a self-booting compact disc that at boot presented a set of activities or applications that could be run by the end user. This approach has the advantage that CDs are easy and low cost to produce, but it actually is not practical for large scale or complex applications (that require too much time to boot from slow media like a CD), the fact that actual use of the application requires near-perfect hardware recognition by the linux operating system (with no support for already prepared data like connection information or passwords to access the internet) and the fact that in most cases it is not possible to have a writable part to save some of the experimental data created by the user.
For this reason, we believe that a better approach may be obtained through a different media, namely USB keys of limited capacity (1Gb is usually sufficient). USB ports are present in most PC (sometimes when CD is not included, like in netbooks or some notebooks), are much faster than CDs, and allow for writing persistent data.
There are two potential ways to create a "SME toolkit" based on USB: the first is the use of the key as a boot device, and the second through virtualization. The first approach leverages the same principle of the live-cd, but uses an additional partition on the USB key to write data; a simple way to create the correct USB image is the use of software products like UnetBootin [1]; the most recent Ubuntu distribution already includes a tool called Ubuntu Live USB creator, while Fedora users have access to Fedora Live USB creator. All these tools transfer the live cd image of linux onto the USB key, adding also the necessary boot files and creating a writable partition. While the method is simple and requires no modification to the host system, it still does not solve the problem that local hardware may be undetected or not properly configured, and the fact that live cds require substantial effort to integrate complex server like software packages.
The virtualization approach leverages open source virtualization systems like VirtualBox [2], already included in the software catalog. VirtualBox can create a complete emulation of a server or desktop environment, leveraging the host operating system. The approach for the creation of a virtualization-based usb toolkit is the following:
- identify the interesting software application
- see if it is already packaged as a Vmware or VirtualBox image
- if not, start from a minimal install image (for example from [3]) and install the application inside the virtual image
- prepare a formatted, empty and large enough USB key for what is necessary
- copy the installable VirtualBox binaries (for windows, linux and OSX) inside of the USB key
- copy the prepared virtual image with the desired application
- put a simple link inside of the key with the VirtualBox command (a .bat file for windows, a .sh script for linux) that runs VirtualBox with the path to the image
Inside of the key it is also possible to put some additional documentation, like this guide, the material from the SELF project ([4]) and any training material that may be specific for the application selected. In the same USB key, a small readme file can be added that explains how to install VirtualBox and how to start the virtual machine.
Some machines already prepared:
- VMware virtual machine marketplace: [5]
- ThoughtPolice VMWare images: [6]
- VMplanet: [7]
- SmokingLinux: [8]
- Elastic server on-demand: [9] (oriented towards Amazon EC2 images, that are based on Xen but can be converted to VMware or VirtualBox format)
