Mesh/Build An OpenWRT Image

From Sudo Room
Revision as of 14:12, 7 December 2013 by Tunabananas (talk | contribs) (Moved OpenWRT image build instructions to a new page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Building an OpenWRT image

If you already have a image of the operating system (firmware), then you can skip this step. If your router has the stock software, then you'll probably have to use a factory image, which has information in the header which allows you to install it. Otherwise, you'll be using a sysupgrade image (trx image).

Step One: Install Buildroot

The Buildroot is software which will creates your firmware. The Buildroot has feeds associated with it that allow you to add more to your firmware. The feeds are comparable to repositories in linux. There's a full guide at OpenWRT, this is a shorter version.

  • Install svn and git.
    $ sudo apt-get install subversion build-essential
    $ sudo apt-get install git-core
  • Make a new directory and download the Buildroot.
    $ mkdir ~/openwrt
    $ cd ~/openwrt
    $ git clone git://git.openwrt.org/openwrt.git
  • Update Buildroot and install feeds.
    $ cd ~/openwrt/openwrtt
    $ ./scripts/feeds update -a
    $ ./scripts/feeds install -a (if you want to install all feeds)
  • Update and Install the Buildroot dependencies
    $ make defconfig (build list of dependencies)
    $ make prereq (install dependencies)

If you're still missing software, then you'll have to manually install it.

Step Two: Install Feeds

There are other feeds than the standard that you may want to be available to Buildroot. These are the suggested feeds for nodes:

  • Find the drivers for your device
    Determine drivers for your router based on the chipset (ex. Atheros AR9331)
    Download the driver for the node. (ex. Ath9k)
  • Install the driver feed
    $ ./scripts/feeds install <PACKAGENAME> (ex. kmod-ath9k)

Other feeds for OpenWRT.

Step Three: Build the Firmware

  • Run the Buildroot
    $ make menuconfig
  • Configure the firmware (needs it's own article)
    Kernel Modules > Network Support > kmod-ipsec