A SVXLink Server based on the BeagleBoard: Unterschied zwischen den Versionen

Aus DL8RDS Wiki
Wechseln zu: Navigation, Suche
Zeile 72: Zeile 72:
 
  armel-rootfs-<date>.tgz
 
  armel-rootfs-<date>.tgz
 
  vmlinuz-2.6.<version>
 
  vmlinuz-2.6.<version>
 +
 +
Now it's time to prepare the storage medium. Starting with an empty SD card and using gparted, you can create:
 +
 +
* 50 MiB Primary Partition, fat32
 +
* Rest as ext2/ext3
 +
 +
Gparted Example: http://nishanthmenon.blogspot.com/2008/08/how-to-boot-beagle.html
 +
 +
If you want, you can also do that by hand using fdisk.
 +
 +
  
 
=== SVXLink ===
 
=== SVXLink ===
 
In order to compile for the ARM CPU, you can either crosscompile which is somewhat difficult or install the BeagleBoard first and log on and compile it there.
 
In order to compile for the ARM CPU, you can either crosscompile which is somewhat difficult or install the BeagleBoard first and log on and compile it there.

Version vom 22. August 2009, 22:07 Uhr

1 Project History

Ever since I have been interested in ever smaller and more efficient hardware solutions that nevertheless fulfill their assigned tasks just perfectly while consuming as little as possible power. I started off with other platforms: The

  • The Cisco Linksys WRTSL54GS was a nice start. I killed the serial port with my soldering iron.
  • The ASUS WL-500GP was more comfortable since it had two USB2.0 ports.
  • The Fonera Router was also an interesting platform - cheap and powerful enough for connection issues.
  • An Intel Atom CPU Embedded Board was the hardware basis for the first Echolink server I built. But for my taste it still consumes too much power while being oversized for such a task: A Low-Power Combined Echolink and ATV Server

So my attention was won by the BeagleBoard. It is a neat little ARM based board which provides more comfort than the Linksys / ASUS / Fonera class of devices but is smaller and far more power efficient than the Intel Atom. The first test showed that it relly just consumes 1.83 Watts, the current I measured was down at 0,366 A @ 5 V. So that's very promising.

It is striking that the BeagleBoard does not have an Ethernet device. So you cannot connect it to the network and start off, but there's more that needs to be done. Luckily enough, it has some more interfaces that can be used for networked I/O like the USB 2.0 port, which should be sufficiently expandable and also fast enough.

2 Project Goals

The goal of this project is to build a highly integrated and energy efficient Echolink Link node, which has a small transceiver built in. The main focus is on power efficiency, with total power consumption not exceeding 3 watts (250 mA @ 12V), including the transmitter.

3 Hardware

3.1 BeagleBoard

MyBeagleBoard.jpg

The core is the BeagleBoard.

  • OMAP3530 processor delivers laptop-like performance at handheld power levels
  • Over 1,200 Dhrystone MIPS using the superscalar ARM Cortex-A8 with highly accurate branch prediction and 256KB L2 cache running at up to 600MHz
  • OpenGL© ES 2.0 capable 2D/3D graphics accelerator capable of rendering 10 million polygons per second
  • HD video capable TMS320C64x+™ DSP for versatile signal processing at up to 430MHz
  • USB power

3.2 Transmitter: Standard C-408

  • 0.2 Watts

3.3 Transceiver Interface

  • still open issue

4 Links

5 Software

5.1 Operating System

Firstly I want to point out that I am not using the Angstrom firmware but Ubuntu, since I am running Ubuntu on all my systems.

The installation procedure is basically this:

  • Generate a rootstock Karmel firmware image on the local Linux (intel) machine.
  • Copy it over to a SD card and boot the beagleboard
  • log in and enjoy

Here it is in more detail:

We assume you have Ubuntu Linux. Other Linux variants will also work, but you must figure out yourself how to fix occasional problems.

First, install qemu and the most recent debootstrap as well as the rootstock script:

apt-get install qemu 
wget http://ports.ubuntu.com/pool/main/d/debootstrap/debootstrap_1.0.13~jaunty1_all.deb
sudo dpkg -i debootstrap_1.0.13~jaunty1_all.deb
wget http://www.rcn-ee.com/deb/tools/rootstock
sudo chmod u+x rootstock

Then compile the firmware image:

./rootstock --fqdn beagleboard --login ubuntu --password temppwd --imagesize 6G --seed linux-firmware,wireless-tools --dist karmic 
--serial ttyS2 --kernel-image --kernel-image http://rcn-ee.com/deb/kernel/beagle/karmic/v2.6.29-58cf2f1-oer40.5/linux-image-2.6.29-oer40.5_1.0karmic_armel.deb

As you see, I am using the 2.6.29 karmic kernel. Upon Completion, you should have:

armel-rootfs-<date>.tgz
vmlinuz-2.6.<version>

Now it's time to prepare the storage medium. Starting with an empty SD card and using gparted, you can create:

  • 50 MiB Primary Partition, fat32
  • Rest as ext2/ext3

Gparted Example: http://nishanthmenon.blogspot.com/2008/08/how-to-boot-beagle.html

If you want, you can also do that by hand using fdisk.


5.2 SVXLink

In order to compile for the ARM CPU, you can either crosscompile which is somewhat difficult or install the BeagleBoard first and log on and compile it there.