These instructions work for both LibreCMC and OpenWRT.
libreCMC is an embedded GNU/Linux distribution (without any proprietary code) of firmware for embedded devices, such as wireless routers. It began as a fork of OpenWRT. The difference between these two is that OpenWRT, like most GNU/Linux distributions, include non-free binary drivers (most often for wireless). However, it may unfortunately be hard to find a router that is supported by libreCMC, so my efforts have been mostly on packaging languages for OpenWRT (although the packages should work on libreCMC, I cannot guarantee that, since I do not own a compatible router).
libreCMC and OpenWRT already come with Lua, and it’s possible to include languages like Python and PHP. Some people may prefer to write their automation scripts in different languages, so I’ve tried to bring Lisp to the distribution. This page contains instructions, Makefiles, patches and anything else needed to get some Lisps on these devices.
The description of the packaged languages follows.
eval
, first class functions, etc), and the TSX extension gives you:
Tinyscheme has been in development since 1998.
eval
, first class functions, etc), PicoLisp also has these interesting features:
PicoLisp has been in development since 2002.
The packaging was done by Jeronimo Pellegrini. Send problem reports to j_p *** aleph0.info
(put the @
sign instead of the ***
).
The tarballs listed below contain a Makefile that will download the sources from this site (I have changed them so they compile properly. The approximate size of each package, after installed on a qemu image, is listed.
$(CC)
instead of gcc
, because the GCC from OpenWRT buildroot needs to be used (and not the host’s default GCC installation; (iii) I’d also like to package TSION – another extension for TinyScheme, by Alex Measday, which allows easy implementation of event-driven loops and TCP networking – but I had no time yet to work on that.
Failed attempts:
Chibi Scheme is another nice Scheme implementation that could be packaged. Here’s the tarball
Chicken Scheme, a great Scheme implementation. Although apparently large, it could fit in a router with extroot with its binaries stripped. Here’s the tarball