LEDE on ESPRESSOBin (with Cake SQM)
This repository is being archived! See here for more details on where to go and what to use 🎉
What? Why? Where?
This is a non-official LEDE distribution compiled for the ESPRESSOBin SBC to take advantage of LEDE+Cake SQM.
The ESPRESSOBin is an SBC (Single Board Computer) with a solid featureset/design that makes it ideal as a tiny fileserver/router/switch.
In this application the ESPRESSOBin sits at the network edge, ensuring that network devices pulling data in or pushing data out to the Internet do so without clogging buffers upstream of itself.
The net effect is that at high bandwidth usage latency remains mostly stable.
Cake is a modern queuing discipline that works well in most applications, available in the LEDE distribution that can be installed on the ESPRESSOBin for this use.
More documentation on SQM/bufferbloat:
Installation (pre-built releases)
- Grab the latest release.
- Locate files in the distribution (relevant ones are under bin/targets/mvebu64/generic)
- Install it to your SD card with standard instructions.
- Insert into your board, power on with 12v and USB console attached
- screen /dev/ttyUSB0 115200
- Configure u-boot to boot from the SD card.
- Follow misc.md and release notes to finish installation.
Rolling your own release
The builder is intended to be run on a cloud machine with bandwith/CPUs to aid in a reasonable build time.
The gist is: Drop this on a VM with Debian Jessie and use
run.sh. After everything is cloned, pulled and built it should drop you into a shell as
Add feeds/a collection of packages using
./scripts/feeds install $pkgname. List available feeds with
./scripts/feeds list. Search with
./scripts/feeds search. For more documentation on feeds, check out OpenWRT's documentation.
When ready, run
make menuconfig to select build options ([space bar] to select; boxes marked
M are turned into packages called
Important: Select options as shown in: http://wiki.espressobin.net/tiki-index.php?page=Build+From+Source+-+OpenWrt#Image_configuration (the advanced options for the kernel tree can be entered up after checking the box with the spacebar).
Save, then run
make -j$(($(nproc)+1)). Kernel options haven't been updated, so
make -j1 V=s1 and selecting defaults may be needed close to the end (stack a pile of coins on your enter key).
Once it finishes, everything that is supplied in the releases ends up in