Firmware bouwen – OpenWrt

openwrt logo

Website

Download OpenWRT @ openwrt.org

OpenWRT is een Linux platform/(bouw)pakket voor “embedded devices” (geïntegreerde apparaten) zoals routers & modems, je kan firmware maken met de door jou samengestelde paketten en modules!

Informatie (ENG)

OpenWrt is described as a Linux distribution for embedded devices.

Instead of trying to create a single, static firmware, OpenWrt provides a fully writable filesystem 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.

openwrt screen

Wat heb je nodig?

Een Linux omgeving, bijvoorbeeld Debian of Ubuntu in een Virtual Box

1) Virtual Box
2) Virtual Box – Debian / Ubuntu

LET OP: OpenWrt heeft heel veel schijfruimte nodig, zo ongeveer 24GB, heb je meerdere versies en/of builds, dan kan het >50Gb worden, stel daarom de schijf “flexibel” in bij gebruikt van Virtual Box.

Voorbereiding

Voordat je met openwrt aan de slag kan, moet je eerst de nodige (bouw)pakketten installeren via APT-GET met het commando:

Ter info: De allernieuwste DEV heeft nodig: Standaard pakketten + libssl-dev

OpenWRT SVN?

SVN?
SVN is een soort van Github, iedereen kan code aanpassen of toevoegen, de hele openwrt  software is hierop gebaseerd, het begon in 2006 met de eerste regels.
SVN moet je zien als een lijn vanuit 2006 t/m 2015 met daartussen ankers/labels (stabiele releases) van de versies zoals ze hieronder staan, SVN werkt met een “revision” (revisie) checkout.

Op het moment van schrijven zijn deze releases bekend:

Tagged Code Name Version Release date Linux kernel C standard library Binary packages Source packages Notes
(default) (available)
N/A pre Buildroot-NG 0.x N/A N/A uClibc 474 ≈ 310
r6268 White Russian 0.9 January 2006 2.4.30 uClibc ≈ 360 ≈ 140 NVRAM-based, nas, wl. Supported platform: brcm-2.4.
r7428 Kamikaze 7.06 June 2007 2.6.19 uClibc ≈ 750 ≈ 450 Using opkg. Supported platforms: atheros-2.6, au1000-2.6, brcm-2.4, brcm47xx-2.6, ixp4xx-2.6, imagicbox-2.6,rb532-2.6 and x86-2.6.
r7832 Kamikaze 7.07 July 2007 2.6.21 uClibc ≈ 790 ≈ 475 New platform: amcc-2.6.
r8679 Kamikaze 7.09 September 2007 2.6.21 uClibc ≈ 630 ≈ 500
r14547 Kamikaze 8.09 September 2008 2.6.26 uClibc ≈ 1,400 ≈ 875
r16279 Kamikaze 8.09.1 June 2009 2.6.26 uClibc ≈ 1,400 ≈ 875
r18961 Kamikaze 8.09.2 January 10, 2010 2.6.26 uClibc ≈ 1,400 ≈ 875
r20742 Backfire 10.03 April 7, 2010 2.6.32 uClibc ≈ 2,350 ≈ 1,050 Supported platforms: adm5120_mips,adm5120_mipsel, ar7, ar71xx,atheros, au1000, avr32, brcm-2.4,brcm47xx, brcm63xx, cobalt, ep80579,ifxmips, ixp4xx, kirkwood, octeon,orion, ppc40x, ppc44x, rb532, rdc,x86 and xburst.
r29594 Backfire 10.03.1 December 21, 2011 2.6.32 uClibc eglibc
glibc
≈ 2,950 ≈ 1,175
r36088 Attitude Adjustment 12.09 April 25, 2013 3.3 uClibc eglibc ≈ 3,450 ≈ 1,150 CoDel (network scheduler) backported from Linux 3.5 to 3.3. New platforms: ramips,bcm2708 (Raspberry Pi) and others.
r42625 Barrier Breaker 14.07 October 2, 2014 3.10.49 uClibc musl
eglibc
? ? New platforms: i.MX23, i.MX6 andmvebu.
r46767 Chaos Calmer 15.05 September 11, 2015 3.18.20 uClibc musl
glibc
? ? nftables (available since Linux kernel 3.12); New platforms: TBA if any

– Attitude Adjustment (en lager) is aanbevolen voor apparaten met maar liefst 4mb flash geheugen.Welke versie moet ik hebben?
In principe de laatste stabiele versie, maar als je een oudere router/modem hebt kan de firmware image te groot worden met huidige/recente releases voor de flash chip, je kan ook een oudere versie van OpenWrt gebruiken om het werkend/passend te maken.

SVN tags
Tags zijn een soort van labels gehangen aan een checkout welke een stabiele versie van openwrt betreft, zodra een tag is gegeven kan je deze versie downloaden, wel worden de verbeteringen meegenomen mochten deze later nog toegevoegd worden.

OpenWRT Downloaden?

1) Ga naar linux Home/DESKTOP omgeving met het commando:  cd ~/
2) Maak een folder genaamd openwrt aan:  mkdir openwrt
3) Ga naar de zojuist aangemaakte folder:  cd openwrt

4) Kies een versie uit:

Chaos Calmer

Chaos Calmer 15.05:
sudo svn co svn://svn.openwrt.org/openwrt/branches/chaos_calmer chaos_calmer_15.05

Barrier Breaker

Barrier Breaker 14.07:
sudo svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker barrier_breaker_14.07

Attitude Adjustment

Attitude Adjustment laatste versie:
sudo svn co svn://svn.openwrt.org/openwrt/branches/attitude_adjustment attitude_adjustment

Attitude Adjustment v12.09:
sudo svn co -r 36088 svn://svn.openwrt.org/openwrt/branches/attitude_adjustment attitude_adjustment_12.09

Attitude Adjustment v12.09 met alle fixes en toevoegingen tot nu toe (TAG):
sudo svn co svn://svn.openwrt.org/openwrt/tags/attitude_adjustment_12.09 attitude_adjustment_12.09

Backfire

Backfire laatste versie:
sudo svn co svn://svn.openwrt.org/openwrt/branches/backfire backfire

Backfire v10.03.1:
sudo svn co -r 29594 svn://svn.openwrt.org/openwrt/branches/backfire backfire_10.03.1

Backfire v10.03.1 met alle fixes en toevoegingen tot nu toe (TAG):
sudo svn co svn://svn.openwrt.org/openwrt/tags/backfire_10.03.1 backfire_10.03.1

Backfire v10.03:
sudo svn co -r 20742 svn://svn.openwrt.org/openwrt/branches/backfire backfire_10.03

Backfire v10.03 met alle fixes en toevoegingen tot nu toe (TAG):
sudo svn co svn://svn.openwrt.org/openwrt/tags/backfire_10.03 backfire_10.03

Kamikaze

Kamikaze laatste versie:
sudo svn co svn://svn.openwrt.org/openwrt/branches/8.09 kamikaze

Kamikaze v8.09.2:
sudo svn co -r18961 svn://svn.openwrt.org/openwrt/branches/8.09 kamikaze_8.09.2

Kamikaze v8.09.2 met alle fixes en toevoegingen tot nu toe (TAG):
sudo svn co svn://svn.openwrt.org/openwrt/tags/8.09.2 kamikaze_8.09.2

Kamikaze v8.09.1:
sudo svn co -r16279 svn://svn.openwrt.org/openwrt/branches/8.09 kamikaze_8.09.1

Kamikaze v8.09.1 met alle fixes en toevoegingen tot nu toe (TAG):
sudo svn co svn://svn.openwrt.org/openwrt/tags/8.09.1 kamikaze_8.09.1

Kamikaze v8.09:
sudo svn co -r14547 svn://svn.openwrt.org/openwrt/branches/8.09 kamikaze_8.09

Kamikaze v8.09 met alle fixes en toevoegingen tot nu toe (TAG):
sudo svn co svn://svn.openwrt.org/openwrt/tags/8.09 kamikaze_8.09

Kamikaze v7.06:
sudo svn co svn://svn.openwrt.org/openwrt/tags/kamikaze_7.06 kamikaze_7.06

Kamikaze v7.07:
sudo svn co svn://svn.openwrt.org/openwrt/tags/kamikaze_7.07 kamikaze_7.07

Kamikaze v7.09:
sudo svn co svn://svn.openwrt.org/openwrt/tags/kamikaze_7.09 kamikaze_7.09

White Russian

White Russian laatse versie:
sudo svn co svn://svn.openwrt.org/openwrt/branches/whiterussian white_russian

White Russian 0.9:
sudo svn co -r6268 svn://svn.openwrt.org/openwrt/branches/whiterussian white_russian_0.9

White Russian 0.9 met alle fixes en toevoegingen tot nu toe (TAG):
sudo svn co svn://svn.openwrt.org/openwrt/tags/whiterussian_0.9 white_russian_0.9

5) Zet de rechten op de huidige gebruiker:  sudo chown -Rv [gebruiker] ~/openwrt

6) OpenWrt is klaar om gestart te worden:
Algemene configuratie:  make menuconfig
Kernel configratie (standaard niet nodig):  make kernel_menuconfig

OpenWrt updaten:  ./scripts/feeds update -a

Bronnen:

http://wiki.openwrt.org/about/history
http://wiki.openwrt.org/doc/howto/buildroot.exigence.old
http://en.wikipedia.org/wiki/OpenWrt
http://wiki.openwrt.org/doc/howto/buildroot.exigence