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 Live DVD or installed on the disc. This DVD is kubuntu based GNU/Linux distribution with some additional software and preconfigured settings.
+
The under development Software Kit working as a "LiveDVD" or installed and running off a disc. This DVD is kubuntu 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 options 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.  
+
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.
 
This page describes the content of the LiveDVD and instructions on use and customization.
Line 84: Line 84:
 
* ...
 
* ...
  
===How building latest version software for LiveCD(i.e FireFox)===
+
===How to build latest software version for LiveCD(i.e FireFox)===
  
 
To compile Firefox for a specific version of Knoppix requires a system with fixed versions
 
To compile Firefox for a specific version of Knoppix requires a system with fixed versions
 
the system libraries, utilities, etc. then identical versions used in LiveCD / DVD Knoppix.
 
the system libraries, utilities, etc. then identical versions used in LiveCD / DVD Knoppix.
 
Another option is to boot from a LiveCD and compile the required packages. Booting from LiveCD,  
 
Another option is to boot from a LiveCD and compile the required packages. Booting from LiveCD,  
you can directly on the free hardware, or using Virtual Machine. The first option is unacceptable,
+
you can directly on the free hardware, or using Virtual Machine. The first option is unacceptable  
if will be used to compile computer, restart which is not desirable and disconnection. In this case, you may use the virtual machine. Alternatively, perhaps using VMware Workstation for virtual machines (see http://vmware.com). In addition to the LiveCD version of the steps in setting up the same environment. Basic requirements and documentation for the compilation FireFox http://www.mozilla.org/build/ located on the site. When downloading from LiveCD need to create the swapfile, tons by the compiler uses intensively pyamyat and exhaustion free memory lead to the computer freezes. Let's start
+
if it will be used to compile computer, restart which is not desirable and disconnection. In this case, you may use the virtual machine. Alternatively, perhaps using VMware Workstation for virtual machines (see http://vmware.com). In addition to the LiveCD version of the steps in setting up the same environment. Basic requirements and documentation for the compilation FireFox http://www.mozilla.org/build/ located on the site. When downloading from LiveCD need to create the swapfile, tons by the compiler uses intensively pyamyat and exhaustion free memory lead to the computer freezes. Let's start
  
1. Booting from LiveCD
+
1. Boot from LiveCD
  
2. Mounting physical partition on the hard drive (virtual or real). Here, and as an example to be used hda1:
+
2. Mount physical partition on the hard drive (virtual or real). Here, and as an example to be used hda1:
  
 
   knoppix$ su
 
   knoppix$ su
 
   knoppix# mount /dev/hda1 /mnt/hda1
 
   knoppix# mount /dev/hda1 /mnt/hda1
  
3. Create swapfile and connect him to do so to comply with the following commands:
+
3. Create swapfile and configure it with the following commands:
  
 
   knoppix# cd /mnt/hda1
 
   knoppix# cd /mnt/hda1
Line 106: Line 106:
 
   knoppix# swapon swapfile
 
   knoppix# swapon swapfile
  
Swapfile size is determined by the availability of free physical memory. For example, when downloading LiveCD Knoppix in a virtual machine - physical limited to 160 MB of memory and built swapfile size 1 GB
+
Swapfile size is determined by the availability of free physical memory. For example, when downloading the LiveCD Knoppix in a virtual machine - physical limited to 160 MB of memory and built swapfile size 1 GB
  
4.Load distribution (source code) FireFox, untar it on mounted a physical partition:
+
4.Load distribution (source code) Firefox, untar it on mounted a physical partition:
  
 
   knoppix$ cd /mnt/hda1
 
   knoppix$ cd /mnt/hda1
Line 116: Line 116:
 
   knoppix$ tar -xjf firefox-2.0.0.9-source.tar.bz2
 
   knoppix$ tar -xjf firefox-2.0.0.9-source.tar.bz2
  
5. Now configure and compile a package. Default packages are compiled on the ''/usr/local''. If you want a different location after compiling the binaries - use option ''--prefix''. For example, the generation FireFox Makefile to build the facilities and binary files in a tree ''/opt'' performed as follows:
+
5. Now configure and compile a package. Default packages are compiled on the ''/usr/local''. If you want a different location after compiling the binaries - use option ''--prefix''. For example, the generation Firefox Makefile to build the facilities and binary files in a tree ''/opt'' performed as follows:
  
 
   knoppix$ cd mozilla
 
   knoppix$ cd mozilla
Line 123: Line 123:
 
   knoppix$ sudo make install
 
   knoppix$ sudo make install
  
6. After compiling and installing compiled package (in our example, it installed in ''/opt'') remain the only archive directory tree compiled package (''/opt/firefox2.0.0.9'') and received an archive of binary files used to build our LiveCD:
+
6. After compiling and installing the compiled package (in our example, it installed in ''/opt'') remain the only archive directory tree compiled package (''/opt/firefox2.0.0.9'') and received an archive of binary files used to build our LiveCD:
  
 
   knoppix$ tar -czf firefox.tgz /opt/firefox2.0.0.9
 
   knoppix$ tar -czf firefox.tgz /opt/firefox2.0.0.9
Line 160: Line 160:
 
==Remastering the DVD:==
 
==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. Here i suppose what it's installed and you have sufficient space (~6 GO).
+
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:
 
So here is the modification process:
Line 199: Line 199:
  
  
What's all :) you have a new DVD image in /root/remaster-new-files/Elphel-Software-Kit.iso
+
That's all :) you have a new DVD image in /root/remaster-new-files/Elphel-Software-Kit.iso
  
 
==TODO:==
 
==TODO:==
  
* do a better network detection/setup what i did (look to /etc/rc.local)
+
* Do a better network detection/setup what I did (look to /etc/rc.local)
* check and make completely work the DVR
+
* Check and make completely work the DVR
* repair the grub message at boot of the LiveDVD
+
* Repair the grub message on boot of the LiveDVD
* check all functionalities what should be user-friendly.
+
* Check all functionalities that should be user-friendly.
 
   
 
   
 
==Ideas:==
 
==Ideas:==

Revision as of 18:30, 4 December 2007

The under development Software Kit working as a "LiveDVD" or installed and running off a disc. This DVD is kubuntu 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

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


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:

  • Eclipse IDE
  • VDT verilog plugin for Eclipse IDE

CAD:

  • Qcad
  • Varicad (demo)
  • Kicad

FPGA:

  • iverilog
  • GNURadio
  • 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

  • ...
  • ...

How to build latest software version for LiveCD(i.e FireFox)

To compile Firefox for a specific version of Knoppix requires a system with fixed versions the system libraries, utilities, etc. then identical versions used in LiveCD / DVD Knoppix. Another option is to boot from a LiveCD and compile the required packages. Booting from LiveCD, you can directly on the free hardware, or using Virtual Machine. The first option is unacceptable if it will be used to compile computer, restart which is not desirable and disconnection. In this case, you may use the virtual machine. Alternatively, perhaps using VMware Workstation for virtual machines (see http://vmware.com). In addition to the LiveCD version of the steps in setting up the same environment. Basic requirements and documentation for the compilation FireFox http://www.mozilla.org/build/ located on the site. When downloading from LiveCD need to create the swapfile, tons by the compiler uses intensively pyamyat and exhaustion free memory lead to the computer freezes. Let's start

1. Boot from LiveCD

2. Mount physical partition on the hard drive (virtual or real). Here, and as an example to be used hda1:

  knoppix$ su
  knoppix# mount /dev/hda1 /mnt/hda1

3. Create swapfile and configure it with the following commands:

  knoppix# cd /mnt/hda1
  knoppix# dd if=/dev/zero of=swapfile bs=1024 count=1024M
  knoppix# mkswap swapfile
  knoppix# swapon swapfile

Swapfile size is determined by the availability of free physical memory. For example, when downloading the LiveCD Knoppix in a virtual machine - physical limited to 160 MB of memory and built swapfile size 1 GB

4.Load distribution (source code) Firefox, untar it on mounted a physical partition:

  knoppix$ cd /mnt/hda1
  knoppix$ mkdir work
  knoppix$ cd work
  knoppix$ wget ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/2.0.0.9/source/firefox-2.0.0.9-source.tar.bz2
  knoppix$ tar -xjf firefox-2.0.0.9-source.tar.bz2

5. Now configure and compile a package. Default packages are compiled on the /usr/local. If you want a different location after compiling the binaries - use option --prefix. For example, the generation Firefox Makefile to build the facilities and binary files in a tree /opt performed as follows:

  knoppix$ cd mozilla
  knoppix$ ./configure --prefix=/opt --enable-application=browser
  knoppix$ make
  knoppix$ sudo make install

6. After compiling and installing the compiled package (in our example, it installed in /opt) remain the only archive directory tree compiled package (/opt/firefox2.0.0.9) and received an archive of binary files used to build our LiveCD:

  knoppix$ tar -czf firefox.tgz /opt/firefox2.0.0.9

The resulting archive (if we used a virtual machine) on the ftp put to host or , if booted directly with LiveCD, rebooting in the working operating system and hunted with his /dev/hda1/work.

Sources & packages

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

AXIS SDK http://www.axis.com/ftp/pub/axis/tools/cris/compiler-kit/cris-dist_1.64-1_i386.deb 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

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.

links:

- ubuntu

- opencores

- openhardware.de

- Olimex hardware can be added to Elphel 353

- Electronics under Ubuntu