Ginga Live CD - Building Wiki

Ginga Live CD is a Linux distribution self-contained in a CD-ROM to offer a testing environment for declarative applications written in NCL or NCLua.  Download the ISO image now!

As a self-contained system in a CD, Ginga Live CD has the following features:

  • Zero software requirements and zero installation procedures. Just insert the CD into the drive, turn on your computer and the presentation environment is ready.
  • Easy to distribute multimedia system, burned on CDs or published as ISO disc images.
  • Portability. It can be used in almost any x86-based computer
  • Reliability. The filesystem in a Live CD cannot be modified. All modifications during an execution are limited to that session. A system reboot recovers from bad configurations or accidents.
  • High performance. The content of Ginga Live CD is copied and mounted as a RAM disk during boot, accelerating the access to the local filesystem.

Ginga Live CD introduces the Ginga GUI, a graphical user interface dynamically rendered for each navigation step, based on cascaded RSS files that can be located in the CD filesystem or on the Internet. Ginga GUI has the following features:

  • Retrieval of NCL content from multiple sources, such as the Live CD itself, the NCL Club and USB storage devices;
  • Support for user profiling to provide context information for adaptable multimedia content;
  • Network connectivity, including an SSH server for a lower level system control.

Ginga Live CD relies on Ginga-NCL Reference Implementation for the presentation of interactive multimedia content written in NCL. Ginga-NCL has the following main features:

  • Support for spatiotemporal relationships among media objects;
  • Media objects can be as simple as a text or as complex as a description in Lua script;
  • Content adaptability based on user profile information;
  • Live editing API to change the behavior of an NCL content from Lua scripts;
  • Media objects can refer to local or remote media files;

How to build Ginga Live CD from scratch

To build a Live CD from scratch is not a trivial task, since you have to compile and install all the basic packages an operating system usually needs. Moreover you can't consider that you'll have a persistent filesystem in the running system. The task is in some point comparable to software development on embedded systems. This is the reason why our workflow is based on a Virtual Machine (VM).

We provide a pre-built ISO image with some basic dependencies, mainly for booting a minimal Linux system. This ISO image is the virtual boot disk in our VM. Its boot process mounts another virtual disk as the root filesystem (root.ext2), which is writable, so this is where you can install all packages needed and finally have the root tree of your future CD. When viewed outside the VM, root.ext2 is a file containing an exact image of an ext2 filesystem that can be compressed (mkzftree) to a format understandable to some CD tools (mkisofs) to generate a transparent-compression ISO9660 filesystem.

The size of root.ext2 affects directly the space amount needed on CD and memory usage when running it (our Live CD copies its contents to RAM during initialization for a better performance). So we have to avoid writing in the root filesystem whenever is possible inside the VM. Even files that can be deleted later should not go to the root filesyste, because deleting a file does not wipe the sectors used by the file but removes only the entry from the directory structure (dentries). So to avoid writing in the root filesystem, another virtual disk is present in our VM. This is where you can store the source packages, compile them, etc.

After compiling and installing all packages needed, you can build the ISO image and finally burn your Ginga Live CD.

Step by Step

  • In a Linux operating system, install the following utilities:
    • mkisofs
    • mkzftree
    • VMWare Player (or your favorite virtualization software - VM consversion needed)
  • Run VMWare Player, open the decompressed file vmware-env/GingaLiveCD.vmx, and start the VM
  • In the bootsplash screen, type "ginga devel". Wait.

This page is being updated. Please come back later.