FOX Board Home Server

The FOX Board is a Linux-Embedded-Board, developed by ACME SYSTEMS. I use a FOX Board (Classic MCM) to implement a small file, print and home automation server. This page describes the necessary steps to configure and build the firmware for this system. Nowadays you would consider to use a more modern board like the FOX Board G20 (e.g. USB 2.0 instead of USB 1.1).

FOX Board Phrozen SDK Installation and Firmware build

This text describes the installation process of the Fox Board under a Gentoo Linux operating system. A general documentation of the installation process can be found here: Install the SDK on Linux.

 

This example builds an image with the following features:

 

  • Classic MCM Board
  • DLINK DWL-G122 WiFi USB adapter with WPA2 security
  • Parallel Port (for Printer)
  • USB Webcam
  • I2C
  • Serial Port ttyS2 (for XBee module)
  • SMB File Server

 

We need pmake and the Cris cross compiler. The cross compiler will be installed in the directory /usr/local/cris.

 

emerge pmake
wget http://foxlx.acmesystems.it/download/cris-dist-1.63-1.i386-1fib.tgz
tar -C / -xzf cris-dist-1.63-1.i386-1fib.tgz

Next we install the FOX Board SDK:

 

mkdir /opt/foxboard
cd /opt/foxboard
wget http://foxlx.acmesystems.it/download/install_svn_sdk.sh
chmod +x install_svn_sdk.sh
# (I also needed an export PATH=$PATH:.)
./install_svn_sdk.sh
...
Do you want to make etrax100boot
setuid root now [yn]? (default n): y

Apply the following patches. The first one (originally found on the web site of Chris Scutcher www.ninebysix.co.uk/files/patch) adds some WiFi options to the configuration menu and modifies the /etc/init.d/wireless script to use WPA2 security.

The second patch adds a missing include #include <asm-cris/io_interface_mux.h> to the parport.c driver and removes the line polarity inversions (inv -> noninv), so that we can directly connect a parallel port printer to the FOX Board.

Apply smb.patch if you encounter compile errors in the SMB code.

 

cd devboard-R2_01
wget http://www.grapelabs.de/downloads/wpa2.patch
wget http://www.grapelabs.de/downloads/parport.patch
wget http://www.grapelabs.de/downloads/smb.patch
patch -p0 < wpa2.patch
patch -p0 < parport.patch
patch -p0 < smb.patch

Then you should select your hardware platform and enable some options (remember to adjust the example network settings)

 

make menuconfig
ACME FOXBOARD selection (FOXBOARD Classic (MCM))  --->
    (X) FOXBOARD Classic (MCM)
    ( ) FOXBOARD LX416
    ( ) FOXBOARD LX816
    ( ) FOXBOARD LX832
    ( ) FOXBOARD LX864

Linux kernel (Linux 2.4.x) -->
    (X) Linux 2.4.x
    ( ) Linux 2.6.x

Driver settings  --->
    [*] Enable WLAN support
    Wireless networking (WLAN)  --->
        [*] wireless tools
        DLink DWL-G122 (C1)  --->
            ( ) None
            ( ) B1
            (X) C1
    [*] Enable Webcam support
    [*]   Webcam tools - Michel Xharad (servfox & co)

Netowork settings  --->
    Ethernet settings  --->
        [*] Use custom settings for eth0
            Proto (DHCP)  --->
                (X) Static IP --->
                  or
                (X) DHCP
    WLAN Settings --->
        (YOUR_ESSID) ESSID
        (YOUR_CHANNEL) Channel
            WLAN mode (Managed) --->
                ( ) Ad-Hoc
                (X) Managed
            WEP key (NONE) --->
            WPA key (Enable) --->
                ( ) NONE
                (X) Enable
        (YOUR_WPAKEY) WPAKey
        (YOUR_IP) IP
        (YOUR_SUBNET_MASK) Subnet
        [*] Use WLAN as default route?
        (YOUR_GATEWAY_IP) Gateway
    MAC-Address  --->
        [*] Set a MAC
        (00:40:8C:00:00:00) MAC (NEW)

Applications --->
    Networking --->
        [*] Enable web server
        [*] Enable SMB support
        [*] Enable SSH support

[*] Use pregenerated ssh keys
 
./configure
make
make kernelconfig
Drivers for ETRAX 100LX built-in interfaces --->
    [*] Parallel port support
        [*] Parallel port 0 enabled
    [*]   Serial port 0 enabled
        (DMA6_OUT) Ser0 DMA out assignment
        (DMA7_IN) Ser0 DMA in assignment
        (No_DTR_RI_DSR_CD) Ser0 DTR, RI, DSR and CD assignment
    [ ]   Serial port 1 enabled
    [*]   Serial port 2 enabled
        (DMA2_OUT) Ser2 DMA out assignment
        (DMA3_IN) Ser2 DMA in assignment
        (No_DTR_RI_DSR_CD) Ser2 DTR, RI, DSR and CD assignment
    [ ]   Serial port 3 enabled

File Systems --->
    <*> Ext3 journalling file system support
 

Now build the firmware image

 

make

and download it to your FOX board (remember to plug J8)

 

./boot_linux -F -i fimage
Copyright (C) 2007-2010