OpenFi Linux Development

From Omnifi Wiki

Jump to: navigation, search
Quick Links
Linux-Inside.jpg
Related topics
  • Find Something
    • To Put Here

edit

Contents

Introduction

Work has begun in creating a customized Linux distribution for the Omnifi hardware. The project is open source and is being hosted by SourceForge and can be found here.

Helping Out

Large thanks is due to Andy Poling for his initial work on the project. We are looking for more developers as well as feature requests and discussion. If you would like to contribute, please join SourceForge, then send an email to one of the project admins to express your interest in the project.

In general, we will try to limit development discussions to the SourceForge forums, so if you'd like to participate in current and future developments you will need to join the project. Reading of the SF forums does not require registration, but only registered users are allowed to submit messages.

We hope to see you in the forge.


Links for Building Openfi on Linux

Getting CVS

For some people (like me), the first step is to get CVS (the Concurrent Versioning System) tool to obtain the Openfi source from the sourceforge site. My flavor of Linux (Vector Linux) has a nice development environment, but does not come with CVS.

To get your latest copy of CVS go here: CVS Source Download. You'll need to build the CVS for your machine, but the idea is that you're a developer looking to compile Linuxfi / Openfi on your machine, which means you'll need a native compiler for your Linux box (as well as a crosscompiler). To build your CVS do the following (as root):

# wget http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.gz
# gunzip cvs-1.12.13.tar.gz
# tar xf cvs-1.12.13.tar
# bzip2 cvs-1.12.13.tar
# cd cvs-1.12.13
# ./configure
# make
# make install

If you at least have gcc (or cc), as and ld installed it should configure and compile without problems. Alternately, if your version of tar has the ability to unzip various file types on the fly, then you can issue the commands:

# wget http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.gz
# tar xf cvs-1.12.13.tar.gz
# cd cvs-1.12.13
# ./configure
# make
# make install

The first example only serves to compress the tarball after you've extracted it to save space. In the second example, the compressed tarball is left intact.

If you're one of the lucky ones using Gentoo Linux with Portage, all you need to do is to type:

# emerge cvs
blah ...
blah ...
blah ...
#

Man, I like this Portage thingy...

Get the Openfi Source From the CVS Repository

Next comes a tricky step. The Openfi CVS help page is here: http://sourceforge.net/cvs/?group_id=143150. You should be able to browse the CVS repository using your webbrowser through this link Browse Repository. Click on the openfi_app_unstable link. You'll be taken to a page which shows many files which you can download individually and manually.

Select the latest version of openfi by selecting the newest tag in the Show Files Using Tag dropdown list at the bottom of the page. You'll need this tag version for the next step. At the time of this writing, the newest tag is v0_9_204.

In your Linux shell, type the following:

#  cvs -d:pserver:anonymous@openfi.cvs.sourceforge.net:/cvsroot/openfi login 
Logging in to :pserver:anonymous@cvs.sourceforge.net:2401/cvsroot/openfi
CVS password: <leave blank and press Enter>
# cvs -z3 -d:pserver:anonymous@openfi.cvs.sourceforge.net:/cvsroot/openfi export -r v0_9_204 openfi_app_unstable
<many files begin downloading>
# cd openfi_app_unstable/

This will create a ./openfi_app_unstable/ sub-directory in your current directory with all of the files found in the web-browser repository.

Get and Build The CrossTools Compiler

If you haven't already done so, this is an important step. It is also the longest and most CPU-intensive, HD-hogging step ever conceived. But it is a necessary one. Follow this link Setting_Up_An_ARM_Cross_Compiler

Get the malloc Library

Go here and get it. Debug Malloc Home Page. You'll only need this to build a version of Openfi that runs on your linux box (lincomatic has reported that it won't compile on CYGWIN). If you choose not to build this, you can comment out the specific line in the Openfi Makefile and skip this step altogether.


Compile the Openfi App

This part is really easy:

$ cd openfi_app_unstable
$ make

and off it goes. The resultant openfi_app will be displayed along with its filesize. It's large--typically about 490,000 bytes. It's still smaller than what is produced by the malloc version. If you build this with buildroot, it's a lot smaller... about 90,000 bytes--but there's a catch! It doesn't run properly yet :P. So stick with the crosstool version of openfi which Andy builds for us.

Personal tools