Quick Image Building Guide for MT76xx LEDE

This is a very short guide on how to compile your first LEDE snapshot firmware. It does not cover any pitfalls, but provides a quick way if everything goes well.

The development branch can contain experimental code that is under active development and should not be used for production environments. Snapshot images may support additional hardware; however, it is experimental, considered unstable, and sometimes won't compile.

Prebuilt snapshot images do not come with any web interface or GUI. You will need to be comfortable using a command line and remote shell to install one yourself → How to install LuCI

→

First we need to make sure the dependencies are installed (for Debian/Ubuntu):

sudo apt-get install subversion g++ zlib1g-dev build-essential git python rsync man-db
sudo apt-get install libncurses5-dev gawk gettext unzip file libssl-dev wget zip

Get the LEDE source code:

git clone https://git.lede-project.org/source.git lede
cd lede

./scripts/feeds update -a
./scripts/feeds install -a

make menuconfig

The last command will open a menu.

If you want to build images for the “TL-WR841N v11” Wifi-Router, select:

  • “Target System” ⇒ “Atheros AR7xxx/AR9xxx”

  • “Target Profile” ⇒ “TP-LINK TL-WR841N/ND v11”

Select exit and save your settings. Now build images. That may take some time:


Afterwards, the images can be found in ./bin/targets/ar71xx/generic/ - done. 8-)

  • The *-factory.bin images are for the first installation.

  • The *-sysupgrade.bin images are for the updating existing LEDE installations.


  • For recompiling the images, just execute make again.

  • For faster compiling, use make -j N, where N is the number of CPU cores + 1. Be aware that this method is prone to errors during compiling. In case you encounter compile errors, your very first step is to compile again without -j N. Use of make download prior to parallel compilation is recommended to prevent some of these errors (-jN is generally safe for the download step for those with faster Internet connectivity.)

  • Change settings with make menuconfig and compile again.

  • You can include custom files in your image by placing them in <buildroot>/files, e.g. if you want to have my_config included in your image in the directory /etc/config/ ⇒ <buildroot>/files/etc/config/my_config. If the files directory doesn't exist on your buildsystem, then create it.