Elphel Software Kit for Ubuntu

From ElphelWiki
Revision as of 08:42, 26 September 2008 by Polto (talk | contribs) (For developers:)
Jump to: navigation, search

The under development Software Kit working as a "LiveDVD" or installed and running off a disc. This DVD is kubuntu Feisty (7.04) based GNU/Linux distribution with some additional software and preconfigured settings.

The idea is to bring our customers a GNU/Linux distribution customized for use with our cameras, with the option of either installing it on their computers or using it as LiveDVD. For more advanced users and developers we have provided many tools to cross-compile, simulate FPGA code, reflash the camera, etc.

This page describes the content of the LiveDVD and instructions on use and customization.

ChangeLog:

25 Nov 2007: first beta release

http://community.elphel.com/files/Elphel-Software-Kit.iso - no more available.

  • beta DVD to be tested by developers and some of our wiki users

12 Aug 2008: planning of the next beta

I did not worked on this CD since the first beta,... Allot of thins changed. Now Ubuntu 8.04.1 is available, we recently added more tools for developers like KDevelop IDE.

We want to provide a standard way to modify an Ubuntu installation to include our softwares. This standard way will also allow a creation of a modified version of the Ubuntu Live/Installation CD/DVD. Comments and installation scripts from the community are welcome.

Packages requirement for Ubuntu

For developers:

Minimal packages:

sudo apt-get install cvs build-essential autoconf flex byacc bison libglib2.0-dev tcl gettext libncurses5-dev patch zlib1g-dev

Suggested packages:

sudo apt-get install minicom firefox graphviz doxygen kdevelop ctags cervisia

Download and install Cris-GCC compiler:

wget http://www.axis.com/ftp/pub/axis/tools/cris/compiler-kit/cris-dist-linux-headers-1.64.tar.gz   
wget http://www.axis.com/ftp/pub/axis/tools/cris/compiler-kit/cris-dist-linux-headersv32-1.64.tar.gz  
wget http://www.axis.com/ftp/pub/axis/tools/cris/compiler-kit/cris-dist-glibc-1.64.tar.gz 
wget http://www.axis.com/ftp/pub/axis/tools/cris/compiler-kit/cris-dist-1.64.tar.gz
tar zxvf cris-dist-1.64.tar.gz
cd cris-dist-1.64/
tar zxvf ../cris-dist-linux-headers-1.64.tar.gz                                 
tar zxvf ../cris-dist-linux-headersv32-1.64.tar.gz                             
tar zxvf ../cris-dist-glibc-1.64.tar.gz                                         
sudo ./install-cris-tools

answer by default (enter, enter, ...)


Get elphel353_install_from_cvs.sh script and execute it.

DVD content:

Our DVD differs from the standard kubuntu distribution in several way:

  • It includes all software needed for use of our cameras.
  • We have added some video editing & images processing software.
  • It includes software for software and hardware developers.
  • Some configuration files are modified to suit our needs.
  • We have added some OpenSource applications for Windows (R).

User software

For users we provide:

  • Flashit icon on the desktop to reflash our cameras with the latest firmware.
  • Firefox web browser with mplayer and genres plugins to provide live view of our cameras.
  • LAMP based DVR to provide a simple way to record video and audio from our cameras.

Video Applications:

  • mplayer
  • genres
  • VLC
  • gstreamer
  • cinerella
  • cinepaint
  • ImageMagick
  • gocr
  • mjpegtools
  • avifie-utils
  • ElphelSrv
  • DVR software

Elphel SDK

We provide our clients with a complete SDK to develop software, FPGA code and even to redesign the hardware.

IDE:

CAD:

  • Varicad (demo)

FPGA:

  • iverilog
  • GTKWave

Other:

  • dash shell is replaced with bash to comply with Axis SDK
  • LAMP preinstalled on the DVD
  • GNUeda
  • Gerbview

OpenSource applications for Windows (R)

If you insert our DVD into a windows computer you will be able to install OpenSource software to use with our camera:

  • Mozills FireFox
  • mplayer-win
  • VLC


Special configurations

  • ...
  • ...


Sources & packages

Here is the list of additional debian/ubuntu packages and sources used on our DVD:

AXIS SDK

(binary) http://www.axis.com/ftp/pub/axis/tools/cris/compiler-kit/cris-dist_1.64-1_i386.deb

(sources) http://www.axis.com/ftp/pub/axis/tools/cris/compiler-kit/cris-dist-1.64.tar.gz , http://www.axis.com/ftp/pub/axis/tools/cris/compiler-kit/cris-dist-glibc-1.64.tar.gz , http://www.axis.com/ftp/pub/axis/tools/cris/compiler-kit/cris-dist-linux-headersv32-1.64.tar.gz

http://www.axis.com/ftp/pub/axis/dev/soft_dist/R2_10/devboard-R2_10.tar.gz

Elphel's VDT plugin for Eclipse http://sourceforge.net/project/showfiles.php?group_id=105686&package_id=184538

Another Verilog & VHDL editor for Eclipse http://sourceforge.net/project/showfiles.php?group_id=103963

Icarus Verilog ftp://ftp.icarus.com/pub/eda/verilog/snapshots/verilog-20070608.tar.gz

GTKWave http://home.nc.rr.com/gtkwave/gtkwave-3.0.29.tar.gz

MPlayer (patched) http://dfn.dl.sourceforge.net/sourceforge/elphel/mplayer_1.0pre7-elphel-2_i386.deb

LIVES ftp://ftp-mirror.internap.com/pub/www.getdeb.net/li/lives_0.9.8.5-1~getdeb1_i386.deb

Kicad http://iut-tice.ujf-grenoble.fr/cao/kicad-2007-05-25.tgz

Remastering the DVD:

Our distribution is based on Kubuntu GNU/Linux. You can remaster it from Live session with an external hard-drive or after installing our base distribution on your computer. From here I am assuming it's installed and you have sufficient space (~6 GO).

So here is the modification process:


prepare the environment:

sudo su
cd
mount /media/cdrom
mkdir remaster-root remaster-iso  remaster-new-files tmp
cp -R /media/cdrom/* remaster-iso
mount -t squashfs -o loop,ro remaster-iso/casper/filesystem.squashfs tmp
cp -R tmp/* remaster-root
umount tmp
rmdir tmp

modify the distribution:

mount --bind /proc remaster-root/proc
mount --bind /sys remaster-root/sys
mount --bind /dev remaster-root/dev
chroot remaster-root
#install your software, remove unneeded software modify configuration files, ...
apt-get remove nano
apt-get install vim
apt-get clean
exit
umount remaster-root/dev
umount remaster-root/sys
umount remaster-root/proc

rebuild the DVD:

chroot . dpkg-query -W --showformat='${Package} ${Version}\n' > ../remaster-iso/casper/filesystem.manifest
chroot . dpkg-query -W --showformat='${Package} ${Version}\n' > ../remaster-iso/casper/filesystem.manifest-desktop
mksquashfs .  ../remaster-iso/casper/filesystem.squashfs
cd ../remaster-iso
find . -type f -print0 |xargs -0 md5sum |sudo tee md5sum.txt
mkisofs -o ../remaster-new-files/Elphel-Software-Kit.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -r -V "Elphel Software Kit" -cache-inodes -J -l .


That's all :) you have a new DVD image in /root/remaster-new-files/Elphel-Software-Kit.iso


Developing for Elphel 353 camera:

The camera sources are in:

/opt/SDK/353

to compile from CVS do:

cd /opt/SDK/353/elphel353/
make update
./configure
make

You can find more information on how to compile and add new software on Etrax FS CPU here: [1]


TODO:

  • Do a better network detection/setup what I did (look to /etc/rc.local)
  • Check and make completely work the DVR
  • Repair the grub message on boot of the LiveDVD
  • Check all functionalities that should be user-friendly.

Ideas:

This DVD is based on KUbuntu 7.04. I will work on upgrading our distribution.

I think it should be useful to debianize all our software (ElphelOgm, GenRes, MPlayer, ...) Like what we will be able to use Launchpad PPA https://edge.launchpad.net/~elphel-live to build our Ubuntu packages as i tried on : https://edge.launchpad.net/~polto/+archive I have here a working MPlayer what can be installed by Sinaptic (the user-friendly way) just after adding my personal package repository to your sources.

So any Ubuntu user will be able to upgrade to our MPlayer, install ElphelSrv, ...

After what we can make some theme packages with backgrounds etc and generate a DVD with everything installed.

Next step: ElphelLive DVD & Ubuntu Gutsy packages

In order to prepare the next release of Ubuntu based LiveDVD we now use Launchpad PPA.

You can already test some packages on my personal PPA: https://edge.launchpad.net/~polto/+archive

For this you need to add this two lines to your /etc/apt/sources.list:

deb http://ppa.launchpad.net/polto/ubuntu gutsy main universe multiverse
deb-src http://ppa.launchpad.net/polto/ubuntu gutsy main universe multiverse

and do:

apt-get update; apt-get install elphel-ogm mplayer vlc

Please do not hesitate to post me comments or to discuss in discussion area any kind of ideas for our PPA packages.

links:

- ubuntu

- opencores

- openhardware.de

- Olimex hardware can be added to Elphel 353

- Electronics under Ubuntu