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 racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to