This is an old revision of the document!
OpenWrt Overview
Introduction
The intended audience of this page is someone who is familiar with Linux but new to the OpenWrt world.
OpenWrt is a very popular project that allows you to build your own Linux based firmware which you can use on embedded devices.
There are pre-built firmware available for many hardware models.
You can also compile your own custom firmware using the SDK (Software Development Kit)
Without duplicating existing documentation you can visit the project's website here:
https://openwrt.org
OpenWrt with MESHdesk and APdesk
MESHdesk and APdesk makes use of OpenWrt.
It simply adds three additional items to it.
The MESHdesk package.
The MESHdesk Luci application.
Some additional files e.g. a custom banner and logo.
Although we will cover these items later again when we do hands-on compiling, going through them in the overview will make things a bit more familiar later on.
MESHdesk package
OpenWrt follows the same pattern as most other Linux distributions where it has a package manager (opkg) that is used to install software onto the device.
This package manager also takes care of dependencies.
Packages can be installed after the device is flashed and running with OpenWrt or it can included during compile time to be part of the firmware.
We will compile our own OpenWrt firmware that have the MESHdesk package included later on.
When you build your own OpenWrt firmware you make use of the OpenWrt SDK (Software Developer Kit).
The OpenWrt SDK allows you to:
Select the specific device you want to build firmware for.
Select the packages you want to include with the firmware.
Include your own additional files with the firmware.
This is exactly what we will be doing later on.
MESHdesk Luci package
OpenWrt can work fine without any web interface.
There is however a web interface available called Luci which is an add-on to plain OpenWrt.
The firmware which you can download from the OpenWrt website has it included by default.
The nightly builts of the development branch however do not have it included.
Luci has various sub items e.g. modules, applications, themes etc.
We will add an application to Luci (the MESHdesk Luci Application)
This application will allow someone to enable or disable central management of the OpenWrt device using the Luci web interface.
Include your own files
When building your own OpenWrt firmware using the SDK it makes provisioning to also include additional files.
These files are ad-hoc and include those not part of a package but those that you still want to have included as part of the firmware.
We will later show how you can include for instance your own logo and a custom banner for the SSH and terminal login screens.
This brings us to the end of the introduction to OpenWrt.
Next will be getting the environment ready for the OpenWrt SDK.