RACHEL-Loaded LibraryBox on TP-Link MR3040

RACHEL-Loaded LibraryBox on TP-Link MR3040

In our search for a low-cost distribution platform for educational software, we played around a bit with OpenWRT, a Linux platform for embedded devices. We eventually found out about Jason Griffey’s LibraryBox project which is built on OpenWRT. You can load LibraryBox on any supported router, and easily get a stand-alone web server that serves HTML content of any kind, RACHEL and GCF included.

This system is designed to provide world-class educational curriculum and resources to off-grid areas that need them the most. Completely self-contained, the system is completely battery-operated and (when loaded with RACHEL and GCF) contains material from Khan Academy, Wikipedia, The Goodwill Community Foundation, CK-12, Project Gutenberg, Hesperian and more. At approximately $50 per unit (including the 32-gb SD-card), this system is an affordable way to add an electronic library and a wealth of training material to any school, anywhere.

Pros of this system:

  • Inexpensive, portable options
  • More expensive, longer-range robust options
  • Uses a variety of types of hardware depending on your requirements and most hardware is available in many developing countries. Just check the model numbers carefully against Jason’s list. Small variations in model number can make a world of difference.
  • Great way to give demos of RACHEL and GCF
  • OpenWRT is community supported, meaning updates are relatively frequent
  • Relatively stable
  • Jason says master-client sync is working meaning that two devices placed in close proximity will automatically update to whichever build is newer. This is untested and we don’t know if this includes the /Content directory.

Cons of this system:

  • Unless the router has a dedicated SIM slot or more than one USB slot, you can’t use it as a router and a web server simultaneously.
  • The easily-available battery-powered routers have small batteries. The nicer system with larger batteries are coming from dx.com and from China.
  • Although generally stable, when it breaks it often requires a newly-flashed USB stick. This may be beyond the technical ability of many users.


Technical / Build Details

  1. Get yourself a supported router. See Jason’s Build your own LibraryBox site for recommendations.
  2. Prepare a USB stick (at least 32gb) for RACHEL. Format as FAT (not NTFS, etc), give it any name you want. We use RACHEL.
  3. Install LibraryBox. See Jason’s site for details.
  4. Copy RACHEL to the system via SSH/Telnet. Load RACHEL into /mnt/usb/LibraryBox/Content. We put the GCF content under /mnt/usb/LibraryBox/Content/GCFLearnFree.
  5. We modify Jason’s HTML to include links to RACHEL, GCF and write some “about” text on the pages to properly attribute all parties. We also mod the HTML to take advantage of Jason’s statistical functions. In this way, you can get a basic idea of what people are surfing. Download the zipped html files here.
  6. If you’re on a Mac, nail the copious junk that fills up space with these Terminal commands. Our example uses a disk called RACHEL.Mount the stick in your Mac and run these commands:


mdutil -i off /Volumes/RACHEL
cd /Volumes/RACHEL
 rm -rf .{,_.}{fseventsd,Spotlight-V*,Trashes}
 mkdir .fseventsd
 touch .fseventsd/no_log .metadata_never_index .Trashes
 cd -