How to get the Geexbox distribution

From IGEP - ISEE Wiki

Revision as of 12:06, 5 June 2010 by Davide (talk | contribs) (BUILD alsa make: *** [flat] Error 1)

Jump to: navigation, search

(work in progress)

Overview

GeeXboX is a free embedded Linux distribution which aims at turning your computer into a so called HTPC (Home Theater PC) or Media Center. You can use it on a diskless computer, the whole system being loaded in RAM. Some points to note:

  • Whole system being loaded in RAM.
  • OpenGL|ES acceleration
  • DSP-accelerated media playback with GStreamer (work in progress)

This How-To is meant to be a starting point for people to learn install a GeeXboX image for IGEP v2 devices as quickly and easily as possible.

Requirements

  • A GNU/Linux-based host system.
  • A SD card

Feedback and Contributing

If you want to contribute to GeeXboX please subscribe to the development list (devel at geexbox.org).

Creating articles in the wiki is a collaborative process, at any point, if you see a mistake you can contribute to this article.

Please, use the discussion tab for user comments. This is useful to separate page content and the discussion thereof and also, if you don't want to give normal users the right to edit the page but still want user contributed notes.

Editing permissions are restricted to registered users. Register in the main IGEP site and you will have single sign-on.

Consult the User's Guide for information on using the wiki software.

There is a set of Wiki contribution guidelines.

References

How to build the development branch

Note: The development branch is where the development work takes place and you should use this if you're after to work with the latest cutting edge developments. It is possible trunk can suffer temporary periods of instability while new features are developed and if this is undesirable we recommend using one of the release branches. Use ONLY for development purposes.

GeeXbox uses Mercurial as a revision control system, so you will install the mercurial package for your host syste. On an Ubuntu-based system this will be done with,

$ sudo apt-get install mercurial

Now, the first thing you will do is download the sources from Mercurial GeeXboX repository.

$ hg clone http://hg.geexbox.org/geexbox

Next, enter to geexbox directory and edit with your preferred editor the config/options file. Set

TARGET_ARCH=arm
TARGET_CPU=cortex-a8
SERVICES=yes
XORG_DRIVERS="omapfb"
PULSEAUDIO=no
GSTREAMER=yes
DEVTOOLS=yes

Finally build the distribution with

$ make flat

The result will ...

Make a bootable MMC card with GeeXbox

Prepare your MicroSD the following way (and order):

  • one FAT32 (type 0B) partition, any size, I took 8MB
  • one EXT2 partition
  • Copy /boot/* (uImage and boot.ini script) to FAT32 partition
  • Copy all other files/dirs to EXT2 partition.

IGEP v2 detects the boot.ini script which contains all the necessary instructions for the OS to auto-boot.

Annex: Known issues and solutions

Requested 'dbus-1 >= 1.2.16' but version of dbus is 1.1.20

The libnih package fails, libnih is compiled for host and for target so your host system needs at least version 1.2.16 of dbus-1.

Distributions affected:

  • Ubuntu 8.04 LTS (Hardy Heron)

BUILD alsa make: *** [flat] Error 1

Error :

+ scripts/build alsa-lib
+ scripts/build alsa-utils
+ '[' no = yes ']'
make: *** [flat] Error 1

Append to packages/alsa/build

exit 0

Should be fixed in r8303.

gzip: stdin: invalid compressed data--crc error

Error :

UNPACK   expat
gzip: stdin: invalid compressed data--crc error
tar: Child returned status 1
tar: Exiting with failure status due to previous errors
make: *** [flat] Error 2

Use gzrecover to recover the expat file

$ gzrecover sources/expat/expat-2.0.1.tar.gz
$ mv expat-2.0.1.tar.recovered expat-2.0.1.tar
$ gzip expat-2.0.1.tar
$ mv expat-2.0.1.tar.gz  sources/expat/

Distributions affected: