I have gotten to the point where i have a complete, stable Linux OS running on the Javelin, using nothing but open source software. 100% free, with no closed components, using nothing provided to me by Patriot or Promise.
While Patriot has been helpful, their upstream vendor pretty much cut and run when I needed assistance above and beyond what was found in some broken english documentation. The solution that came to me at this point was to drop using their SDK/BSP and roll my own.
The only issues remaining are:
-Decide on a flash map
-USB boot (should be totally possible)
-Default configuration (network, Drives)
-Fan and LEDS (Fan currently defaults to medium speed, HDD leds default to OFF)
-Web Interface? (using luci WebIf at the moment, i dont intend this firmware to average users anyway. If a black and white linux command line scares you, this isnt for you.)
-Reverse Engineer installation mechanism (currently needs Serial and a TFTP server)
The objectives of the firmware are pretty straight forward.
-No Closed Source Components
-No Restrictions. I'll post the SDK. If you know how to compile a linux application, you will have what you need to build packages for my firmware.
I am totally unlocking the Javelin, to let you do what you want with it. No User Interface by default. Nothing but a small firmware (less than 3mb) and a terminal session. The firmware is based on DENX, OpenWRT, and my own work. It is heavily OpenWRT derived, so much so i will build a set of patches that should allow OpenWRT to basically compile without anything else and run on the Javelin.
As an example, just to show how powerful this is, i have included a blurry video of my OpenJavelin firmware running a quick and dirty demo.
I started with a fresh install of OpenJavelin. It has nothing on it. I issued one command (opkg install kmod-usb-audio madplay). That was all it took. The javelin now has support for USB audio cards, and an application to play music. I copied an MP3 to the Javelin, and issued a command to madplay to start playing (cat Korn-NarcissisticCannibal.mp3 | madplay -v -) and it fired right up.
Total time was about 90 seconds. Granted, this will take notably longer if you dont sleep with the repository server in your house but this gives you a rough idea.
Code:
root@OpenJavelin:/# cat /proc/cpuinfo
processor : 0
cpu : 460EX
clock : 800.000010MHz
revision : 24.170 (pvr 1302 18aa)
bogomips : 1597.44
timebase : 800000010
platform : PowerPC 44x Platform
model : amcc,canyonlands
Memory : 256 MB
root@OpenJavelin:/# cat Korn-NarcissisticCannibal.mp3 | madplay -v -
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
Encoder: Lavf52.32.0
00:03:14 Layer III, 128 kbps, 44100 Hz, joint stereo (MS), no CRC
7444 frames decoded (0:03:14.4), +1.9 dB peak amplitude, 3892 clipped samples
The javelin is actually quite powerful for an embedded device, using 5% of its CPU to decode an averagely encoded MP3, and 1% system time to feed the USB audio card.
Code:
Mem: 24896K used, 232556K free, 0K shrd, 8K buff, 17740K cached
CPU: 5% usr 0% sys 0% nic 94% idle 0% io 0% irq 0% sirq
Load average: 0.09 0.03 0.01 2/34 799
PID PPID USER STAT VSZ %MEM %CPU COMMAND
797 666 root S 1448 1% 6% madplay -v -