SourceForge.net Logo

This page contains some basic information about the Jobo Giga Vu Pro device pictured below.

The Device

It is based on an Intel PXA255 processor and has a 40 or 60 GB hard disk depending on the model. It features a 3.8" TFT with touchscreen, a compact flash slot, a USB mass storage connection, a generic USB client connection, built-in speaker, audio out, tv out, a joystick and soft buttons. The original application is targeted towards professional photographers and has a boatload of features. It can also play mp3 and video files.

The Software

The device runs Linux 2.4.19-rmk4-pxa2-xsilo1. Sources for this kernel can be found in the Sourceforge CVS for this project.
The table below shows the flash partition table:

0x01E80000-0x01F80000Unallocated Space
0x01F80000-0x01FC0000Redboot config
0x01FC0000-0x02000000FIS directory

Upon boot, the bootloader launches the linux kernel ("kernel1"; "kernel2" is a backup copy in case something goes wrong during flashing). This kernel mounts a small temporary filesystem ("upgrade") that looks for software upgrade images on the harddisk and is in charge of the failsafe flashing of the device. Immediately thereafter, the small temporary filesystem ("upgrade") is replaced with the application filesystem ("filesystem" and "storage") through a pivot-root. The biggest image ("filesystem") is for read-only content and is formatted with cramfs. The smaller image ("storage") is for read-write content and is formatted with jffs2. Splitting the application filesystem into a read-only and a read-write part was done because cramfs is faster than jffs2.


DISCLAIMER: Flash your device at your own risk. I (or Jobo for that matter) will not be held responsible if you screw up your device!

Upgrades are done by putting one of the following files on the harddisk:

  • zImage: the new "kernel1" image
  • filesystem.cramfs: the new "filesystem" image
  • storage.jffs2: the new "storage" image

Note that those files must fit into the spaces foreseen in the partition table above. This means the "kernel1" image must be under 1 MB, the "filesystem" image must be under 17 MB and the "storage" image must be under 6 MB.
Update: some devices also need to the MD5 checksums of the files in order to flash the new images. These are just the filename with an .md5 extension (zImage.md5, filesystem.cramfs.md5 and storage.jffs2.md5).
The files are put on the hard disk by connecting the Giga Vu Pro as a mass storage device to the PC via USB. In order to configure the device as a USB mass storage device the application needs to execute the "massstorage" program which takes one argument:

  • massstorage on: this disconnects the hard disk from the Xscale processor and configures it as a USB mass storage device that you can access from a PC.
  • massstorage off: this reconnects the hard disk to the Xscale processor and removes the USB mass storage connection to the PC.

WARNING: If you flash a custom application that does not at some point call "massstorage on", it will break the USB mass storage connectivity and you will no longer be able to put new images on the hard disk via the USB connection to the PC. See the RS232 page for a way to recover from this.

Sources for the massstorage program can be found in the Sourceforge CVS for this project.

When you wish to revert to the original application, just download the latest firmware from the Jobo AG site and put the original files back on the hard disk.

WARNING: If you flash a custom kernel that does not mount the upgrade filesystem, you will no longer be able to flash new images. See the RS232 page for a way to recover from this.

Let's take it for a spin!

If you feel up to it, follow this tutorial that will guide you step by step into transforming the Giga Vu Pro into a doom gaming console.

Project maintained by Laurent Bousis (lbousis _at_ users.sourceforge.net).