Changes

How to get the Geexbox distribution

3,762 bytes added, 12:54, 19 October 2010
no edit summary
'''(work in progress)'''== Overview ==
=== Introduction ===GeeXboX is a free embedded Linux distribution which aims at turning your computer into a so called HTPC (todoHome Theater PC)or Media Center. You can use it on a diskless computer, the whole system being loaded in RAM. Some points to note:
=== Features ===* [http://ennaWhole system being loaded in RAM.geexbox.org Enna media center]
* OpenGL|ES acceleration
* DSP-accelerated media playback with GStreamer (work in progress)
* ...
=== How to build ===* install mercurial to clone GeeXboX is currently being developed under the source tree* run '''hg clone [http://hgwww.geexboxopenbricks.org/geexbox'''* edit '''config/options''' and set<code>TARGET_ARCH=arm<br>TARGET_CPU=cortexOpenBricks] project, an enterprise-a8<br>SERVICES=yes<br>XORG_DRIVERS="omapfb"<br>PULSEAUDIO=no<br>GSTREAMER=yes<br></code>* run '''make flat''' to build the distributiongrade embedded Linux framework that provides easy creation of custom distributions for industrial embedded devices.
Prepare your MicroSD the following way (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 order):* one FAT32 (type 0B) partition, any size, I took 8MB* one EXT2 partitioneasily as possible.
* Copy /boot/* (uImage and boot.ini script) to FAT32 partition* Copy all other files/dirs to EXT2 partition.== Requirements ==
IGEPv2 detects the boot* A GNU/Linux-based host system.ini script which contains all the necessaryinstructions for the OS to auto-boot.* A SD card
=== Feedback and Contributing ===
If you want to contribute to GeeXboX please subscribe to the [http://geexbox.org/en/mailing.html development list] (devel at geexbox.org).
There is a set of [[Wiki contribution guidelines]].
 
== References ==
 
* The GeeXboX website ( http://www.geexbox.org )
* The OpenBricks website (http://www.openbricks.org )
* The Enna website ( http://enna.geexbox.org )
 
== How to build the development branch ==
 
<span style="color: rgb(255, 0, 0);">'''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.'''</span>
 
GeeXboX and OpenBricks use Mercurial as a revision control system, so you will install the mercurial package for your host system. 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 OpenBricks repository (which is where bleeding-edge GeeXboX development is done).
 
$ hg clone http://hg.openbricks.org/openbricks
 
Next, configure OpenBrics to build a GeeXboX image for the OMAP3 platform. Run
 
$ make menuconfig
 
and set
 
Flavour -> GeeXboX
 
General Setup -> Target architecture (arm)
-> Target sub-architecture (ARMv7 / Cortex)
-> Target platform (OMAP3)
-> Target CPU (cortex-a8)
-> FPU optimizations (NEON)
Settings -> Target Images -> Flat root
Features -> Audio -> deselect PulseAudio (recommended, for now PulseAudio has been tested only on x86)
 
If you want to enable OpenGL|ES acceleration set
 
Features -> Enable non-free components
Features -> Hardware Accelerators -> EGL
-> OpenGL
-> OpenGL|ES
-> OpenVG
-> EGL provider (SGX)
-> OpenGL|ES provider (SGX)
-> OpenVG provider (SGX)
 
If you want to enable OpenMAX acceleration set
 
Features -> Enable non-free components
Features -> Hardware Accelerators -> OpenMAX
-> OpenMAX provider (TI OpenMAX IL)
 
If you want to enable TI DSP acceleration (lightweigth alternative to OpenMAX for DSP acceleration)
 
Features -> Enable non-free components
Features -> Hardware Accelerators -> TI C64x DSP
 
Optionally select other features or packages you may need.
 
Exit and save the configuration, then build with
 
$ make
 
The resulting rootfs will be placed in the binaries directory directory
 
== Make a bootable MMC card with GeeXbox ==
 
First prepare the SD card the following way:
* create one boot FAT32 (type 0B) partition, any size, I took 8MB
* create one rootfs EXT2 partition.
 
Then copy the uImage and boot.ini files to FAT32 partition (paths relative to the rootfs location)
 
$ cp boot/boot.ini /media/boot
$ cp boot/uImage /media/boot
 
Finally, copy the rootfs contents to EXT2 partition (paths relative to the rootfs location)
 
$ fakeroot cp -dpfa -R * /media/rootfs/
 
With default environment the IGEP v2 detects the boot.ini script which contains all the necessary instructions for the OS to auto-boot.
 
== Annex: Known issues and solutions ==
 
=== 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:
 
* Ubuntu 10.04 LTS (Lucid Lynx) - (https://bugs.launchpad.net/ubuntu/+source/gzip/+bug/524366)
[[Category:Software distributions|GeeXboX]]
0
edits