APRX alpha 1.98 pro OpenWRT

Myšlenka: na OpenWRT existuje balík aprx v relativně staré verzi (aktuálně 0.99), zkusil jsem proto zkompilovat aprx z vyšší verze – pro začátek alpha verze 1.98 svn 332.

Pro netrpělivé => Výsledek je ke stažení na http://ok1djo.howto.cz/aprx/aprx_1.98-svn332_mipsel.ipk

Postup:

Naučit se kompilovat openwrt :). Přesněji:

Stáhnout ISO soubor Ubuntu (vyzkoušeno na 8.10, Intrepid Ibex), vypálit na DVD a nabootovat z něj (zkusit Ubuntu bez instalace).

Připojit USB disk (s ne-NTFS filesystemem, idealne FAT nebo FAT32).

Otevřít terminál a spustit (jeden dloooouhý řádek):

sudo apt-get install subversion gcc g++ binutils patch bzip2 flex bison make gettext unzip libz-dev libc6 ncurses-dev gawk autoconf

(debian lenny potřebuje ještě navíc python tj sudo apt-get install python)

Přepnout se v příkazové řádce na externí USB disk

cd /cesta-k-usb/

Stáhnout z svn tzv buildroot

svn checkout snv://svn.openwrt.org/openwrt/tags/8.09.1

(občas nezabere napoprvé, pak zkusit nejdřív svn checkout http://svn.openwrt.org/openwrt/tags/8.09.1 – to neprojde protože http protokol místo svn, a pak znovu svn checkout snv://svn.openwrt.org/openwrt/tags/8.09.1)

Vznikne adresář 8.09.1 – to je tzv buildroot, ucelená sada nástrojů pro kompilaci balíčků a obrazů systému Openwrt. Z tohoto adresáře se spouštějí všechny příkazy pro kompilaci. (tj z /cesta-k-usb/8.09.1)

cd 8.09.1

./scripts/feeds update

./scripts/feeds install aprx

make menuconfig

Zobrazí se menu, v nem je potřeba se doklikat k Network – aprx a zaškrtnout M aby se vytvořil .ipk balík. Potom Exit a save. Zbytek nastavení je kompatibilní s Asus wl500gp routrem.

make V=99

kompilace, poběží poměrně dlouho, průběžně se postahuje vše potřebné, zkompiluje se crosscompiler, provede se překlad a sestavení a výsledek bude v adresáři bin – přeložené .img soubory pro router, ty nejsou až tak zajímavé, ale zejména v bin/mipsel/packages bude hotový balík aprx = prozatím ve staré verzi 0.99.

Do feeds/packages/net/aprx je potřeba stáhnout upravený Makefile z http://ok1djo.howto.cz/aprx/Makefile a do feeds/packages/net/aprx/patches je potřeba stáhnout http://ok1djo.howto.cz/aprx/100-Makefile_in.patch. Poté stačí spustit překlad balíku aprx:

make package/aprx/compile V=99

a po chvilce se v bin/mipsel/packages/ objeví zkompilovaná aprx alpha verze 1.98 svn 332.

Na router se pak nainstaluje tak, že balík se přenese na router a nainstaluje přes

opkg install aprx_1.98-svn332_mipsel.ipk

z adresáře kam byl balík nakopírován.

Zbývá nakonfigurovat, konfigurace je stejná jako na x86 platformě.

Dík pří tvorbě tohoto článku patří Pavlovi ok1teb za prvotní informaci o aprx, Petrovi ok1mgj za informaci ohledně existující verze 0.99 v systému Openwrt a mé snoubence za trpělivost, se kterou snášela než jsem tohle zkompiloval a sepsal.

Todo:

– vyzkoušet fungování na routeru

– vnést tyto změny do streamu openwrt tak aby bylo aprx ve vyšší verzi dostupné přímo z openwrt repozitáře.

Status:

25.4.2010 – vyzkoušeno na routeru (54gl), poměrně hodně padá. Příčinou jsou chybějící funkce pro cosinus nad float číslem z math.c knihovny v openwrt. Vývojáři openwrt vyjmuli tyto funkce pro zmenšení velikosti OS, cestou je nová kompilace resp. vyzkoušení vyšší verze Openwrt (aktuálně nainstalovaná 7.09). Padá pokud je zapnutý digipeating. Pokud jede “jen” jako RX iGate, zdá se že funguje dobře.