Unleashing the Power of Your Embedded Device

What it is

OpenWrt is described as a Linux distribution for embedded devices.

Instead of trying to create a single, static firmware, OpenWrt provides a fully writable file system with package management. This frees you from the application selection and configuration provided by the vendor and allows you to customize the device through the use of packages to suit any application. For developer, OpenWrt is the framework to build an application without having to build a complete firmware around it; for users this means the ability for full customization, to use the device in ways never envisioned.


What it has

Functional Linux system

Functional router out-of-the-box

Failsafe recovery mode

Discussed later

Development tools

Discussed later

Getting it

Prebuilt firmware image

  1. Determine platform, Manufacturer / Model / Version
  2. Verify support
  3. Select release
  4. New install (from OEM firmware)
  5. Upgrade (OpenWrt already installed)
  6. Download appropriate file

Build your own

Discussed later

Installing it

From OEM firmware

From boot-loader

From OpenWrt

Using it

Initial login

Configuration steps

  1. Connect to router LAN port
  2. Router will assign address through dhcp
  3. #telnet
  4. Set root password
  5. Logout
  6. #ssh root@
  7. Have Fun!

Understanding it

Flash Layout ("partitions")

  1. Boot Loader
  2. Read only image
  3. Writable area
  4. NVRAM area


Squashfs ROM

JFFS2 flash

mini_fo overlay

Configuring it


UCI (Universal Configuration Interface)

Configuration files

Fixing it

Lan connection

Failsafe mode

Hardware reset


Methods discussed under "Debricking"

Building it



  1. Download/unpack "source" file (consists of patches and make files)
    kernel and application sources are downloaded automatically during make process
  2. #make
  3. #make menuconfig
  4. #make kernel_menuconfig (only to customize kernel)


Extending it




Debricking it


Serial Console


Pin Shorting