This needs a lot of testing and probably some more work, but looks like
we can probably have an official OpenWRT package of Racket.
I now have Racket at least partly running (pending testing) on Netgear
WNDR3700v4 home WiFi router hardware, under the current official stable
OpenWRT image, at the same time as the full OpenWRT router functionality
in that official image.
This Racket is installed from package `racket_6.1.1-1_ar71xx.ipk`, which
is built using the official OpenWRT package process.
I haven't had to do anything too hard yet; looks like others already did
the hard parts. So far, I've only had to craft an OpenWRT `Makefile`
for Racket, not make any changes to the Racket source. That it got this
far in just 1-2 person-days is a credit to Matthew and others, for
making the Racket source tree already cross-compile well, and already
having whatever low-level support for this MIPS-ish architecture. Tony
Garnock-Jones previously got Racket 5.x working on an even more
impoverished OpenWRT device.
Besides needing testing, I also haven't seen how well a real Racket
application program can be made to run with this amount of RAM.
Even if this tests OK, that doesn't mean that all OpenWRT devices can
even minimally run Racket. The particular device I'm using happens to
be 128MB RAM and 128MB NAND flash, which is more than most OpenWRT
devices, and might be the bare minimum you want for Racket. You might
be able to fit Racket on a device with 64MB flash, with aggressive
trimming of OpenWRT, or you could move the disk space offboard if device
has USB, but squeezing a real Racket-based application into less RAM
would be tricky.)
I don't know how soon I'll be doing more work on this. This is a low
priority, and I might wait until the new core Racket build changes I
believe are coming in 6.2, anyway (since there will be decisions to make
about how to handle Racket's own packages within OpenWRT packages).
----
BusyBox v1.22.1 (2014-09-20 22:31:09 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
BARRIER BREAKER (14.07, r42625)
-----------------------------------------------------
* 1/2 oz Galliano Pour all ingredients into
* 4 oz cold Coffee an irish coffee mug filled
* 1 1/2 oz Dark Rum with crushed ice. Stir.
* 2 tsp. Creme de Cacao
-----------------------------------------------------
root@OpenWrt:~# racket
Welcome to Racket v6.1.1.
> (+ 1 2)
3
>
Top while above is running (with the unnecessary .ipk file in tmpfs
adding to RAM usage):
Mem: 76964K used, 49056K free, 0K shrd, 2260K buff, 33720K cached
CPU: 1% usr 0% sys 0% nic 96% idle 0% io 0% irq 1% sirq
Load average: 0.29 0.24 0.17 1/39 1476
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
1476 1470 root S 27860 22% 1% racket
BTW, the "barrier breaker" beverage recipe shown in the login banner is
stock OpenWRT version-naming stuff. People can remove that from their
own devices; I'm just keeping this particular test device as stock as
possible.
Neil V.
--
You received this message because you are subscribed to the Google Groups "Racket
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.