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).
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)
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
and download it to your FOX board (remember to plug J8)
./boot_linux -F -i fimage