Difference between revisions of "Elphel Software Kit for Ubuntu"

From ElphelWiki
Jump to: navigation, search
Line 1: Line 1:
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==
 
==Packages requirement for Ubuntu==
 +
Tested on Kubuntu 8.0.4.
  
 
===For developers:===
 
===For developers:===
 
Minimal packages:
 
Minimal packages:
  sudo apt-get install cvs build-essential autoconf flex byacc bison libglib2.0-dev tcl gettext libncurses5-dev patch zlib1g-dev nfs-kernel-server nfs-common
+
  sudo apt-get install cvs build-essential autoconf flex byacc bison libglib2.0-dev tcl gettext libncurses5-dev patch zlib1g-dev nfs-kernel-server bash
 
Suggested packages:
 
Suggested packages:
 
  sudo apt-get install minicom firefox graphviz doxygen kdevelop ctags cervisia
 
  sudo apt-get install minicom firefox graphviz doxygen kdevelop ctags cervisia
Line 42: Line 23:
  
 
Get [http://downloads.sourceforge.net/elphel/elphel353_install_from_cvs.sh.tar.gz?modtime=1195003055&big_mirror=0 elphel353_install_from_cvs.sh] script and execute it.
 
Get [http://downloads.sourceforge.net/elphel/elphel353_install_from_cvs.sh.tar.gz?modtime=1195003055&big_mirror=0 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===
 
===Elphel SDK===
  
 
We provide our clients with a complete SDK to develop software, FPGA code and even to redesign the hardware.
 
We provide our clients with a complete SDK to develop software, FPGA code and even to redesign the hardware.
 +
 +
PHP:
 +
* PHP API
  
 
IDE:
 
IDE:
Line 89: Line 40:
 
* iverilog
 
* iverilog
 
* GTKWave
 
* 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
 
  
  
Line 193: Line 46:
 
The camera sources are in:  
 
The camera sources are in:  
  
  /opt/SDK/353
+
  ~/353
  
 
to compile from CVS do:
 
to compile from CVS do:
  
  cd /opt/SDK/353/elphel353/
+
  cd ~/353/elphel353/
 
  make update
 
  make update
 
  ./configure
 
  ./configure
Line 205: Line 58:
  
  
==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:==
 
==Ideas:==
  
Line 222: Line 68:
 
After what we can make some theme packages with backgrounds etc and generate a DVD with everything installed.
 
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==
+
==Next step: ElphelLive DVD & Ubuntu packages==
  
 
In order to prepare the next release of Ubuntu based LiveDVD we now use Launchpad PPA.
 
In order to prepare the next release of Ubuntu based LiveDVD we now use Launchpad PPA.
Line 239: Line 85:
  
 
Please do not hesitate to post me comments or to discuss in discussion area any kind of ideas for our PPA packages.
 
Please do not hesitate to post me comments or to discuss in discussion area any kind of ideas for our PPA packages.
 
==links:==
 
 
- [http://www.ubuntu.com/ ubuntu]
 
 
- [http://www.opencores.com/ opencores]
 
 
- [http://www.openhardware.de/ openhardware.de]
 
 
- [http://www.olimex.com/dev/index.html Olimex hardware can be added to Elphel 353]
 
 
- [http://kubuntu.free.fr/blog/index.php/2007/06/11/222-logiciels-d-electronique-sous-linux-ubuntu-feisty Electronics under Ubuntu]
 

Revision as of 10:26, 21 October 2008

Packages requirement for Ubuntu

Tested on Kubuntu 8.0.4.

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 nfs-kernel-server bash

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.

Elphel SDK

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

PHP:

  •  PHP API

IDE:

CAD:

  • Varicad (demo)

FPGA:

  • iverilog
  • GTKWave


Developing for Elphel 353 camera:

The camera sources are in:

~/353

to compile from CVS do:

cd ~/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]


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 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.