This repository has been archived by the owner. It is now read-only.
Unofficial LEDE distribution with Cake SQM for the ESPRESSOBin Switch/SBC
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Dockerfile
README.md
install_sources.sh
misc.md
run.sh

README.md

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:

Using smart queue management in LEDE

Cake: the latest in sqm (QoS) schedulers (2016)

How I Maximized the Speed of My Non-Gigabit Internet Connection (Uses codel)

Introduction to bufferbloat

Installation (pre-built releases)

  1. Grab the latest release.
  2. Locate files in the distribution (relevant ones are under bin/targets/mvebu64/generic)
  3. Install it to your SD card with standard instructions.
  4. Insert into your board, power on with 12v and USB console attached
  5. screen /dev/ttyUSB0 115200
  6. Configure u-boot to boot from the SD card.
  7. 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 openwrt.

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 .ipkgs).

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 bin/.