Dedinčan odporúča...

KeepNote logoKeepNote je program na uchovávanie poznámok. Pomocou KeepNote môžete uchovávať triedené poznámky, zoznamy úloh (ToDo), výskumné poznámky, články a podobne, a to v jednoduchej hierarchii s formátovaním, obrázkami a ďalšími vecami. Pomocou...

Aktualizácia X-Wrt

Kategória: OpenWrt
Upravené: piatok, 4. marec 2011

Po dlhej dobe som sa odhodlal aktualizovať firmvér môjho Asus. Nie preto, že by nefungoval, ale najmä preto, že som tam dal pôvodne verziu s jadrom 2.4 a v spojení s démonom SNMP som mal isté problémy. Takže tu je môj rozvláčny popis ako do starého železa napchať BlackFire 10.3...

Hneď na začiatku upozorním (a ešte niekoľko krát to spomeniem), že hoci tomu vravím aktualizácia, je to v podstate nová inštalácia, pretože nahratie nového obrazu do pamäte flash kompletne prepíše celý jej obsah...

Záloha

Pred vykonaním aktualizácie firmware je dôležité zálohovať všetky zmeny, ktoré ste si vo svojom Asuse urobili, pretože nahratie nového prepíše celý obsah pamäti flash, na urobenie kompletnej zálohy som použil rsync, ak ho nemáte v Asuse nainštalovaný, skúste:

opkg install rsync

Potom si už len vytvoriť adresár, kde si zálohu uložíte a spustiť rsync:

mkdir zaloha
cd zaloha
rsync -ave ssh \
    --exclude /proc --exclude /jffs --exclude /sys --exclude /rom --exclude /dev \
    asus.skk:/ .

Možno ste si všimli, že pri synchronizácii vynechávam niektoré adresáre:

  • proc, dev a sys sú adresáre s informáciami generovanými pri štarte, resp. za behu, takže ich netreba uchovávať
  • rom je adresár, ktorý obsahuje RO (len na čítanie) časť súborového systému
  • jffs je zase časť, kde sa uchovávajú zmeny oproti rom

Ak ste nerobili nejaké väčšie zmeny systému mohlo by stačiť zálohovať adresár /etc, ale vzhľadom na to, že celá záloha môjho systému zaberá asi 12 MB, nemyslím si, že je potrebné takto šetriť. Avšak, dobré je aj zálohovať si zoznam nainštalovaných balíkov:

ssh asus.skk opkg list_installed > installed.list

Stiahnutie obrazu

Po úspešnej zálohe obsahu možno pristúpiť k samotnému nahratiu nového firmvéru, čomu však musí predchádzať jeho stiahnutie. Obrazy nového systému sú k dispozícii na stiahnutie na stránke OpenWrt i X-Wrt. V podstate sú na oboch adresách rovnaké obrazy, s tým rozdielom, že obrazy z X-Wrt už obsahujú webové rozhranie WebIf. Na oboch odkazoch je k dispozícii viac verzií, takže si stačí vybrať – aktuálna verzia v dobe písania tohoto článku je „BackFire 10.03”, takže sa treba preklikať verziami až k zoznamu obrazov na stiahnutie.

Aj obrazov zvolenej verzie je dostupných viacero, konkrétne pre Asus WL-500g Premium sú dva:

  • brcm-2.4
  • brcm47xx

Ktorý si vyberiete, to záleží na verzii vášho Asusu, pretože sú dve (v1 a v2) a líšia sa najmä použitou WiFi kartou. Ak máte verziu v2, tak zvoľte obraz brcm-2.4, ktorý je založený na jadre verzie 2.4. Ak máte verziu 1, stiahnite obraz brcm47xx, ktorý je založený na jadre 2.6. A ako zistíte ktorú verziu Asusu máte? Poslúži adresár /proc (samozrejme v Asuse):

cat /proc/cpuinfo | grep "system type"

Ak je vo výpise BCM4704 alebo BCM4780, máte verziu 1, ak je vo výpise BCM5354, tak máte verziu 2. Ja mám verziu 1, tak volím obraz s jadrom 2.6 a keďže chcem mať WebIf, tak volím obraz zo stránky X-Wrt. I tam sú však k dispozícii tri typy obrazov:

  • default – rovnaký ako obraz OpenWrt, len webové rozhranie je nahradené WebIf;
  • noppoe – obdoba default, ale bez modulov pppoe;
  • extra – obsahuje aj balíky qos-scripts, ntpclient, bandwidthd, miniupnpd a update.

Mojej potrebe najviac vyhovuje obraz nopppoe, takže už nasleduje len jeho stiahnutie:

wget http://downloads.x-wrt.org/xwrt/backfire/10.03/brcm47xx/nopppoe/openwrt-brcm47xx-squashfs.trx
mv openwrt-brcm47xx-squashfs.trx xwrt-nopppoe-brcm47xx-squashfs-10_3.trx

Premenovať stiahnutý obraz nemusíte, ale aby som nestratil prehľad, tak si do mena súboru poznačím všetky údaje potrebné na neskoršiu identifikáciu verzie...

Inštalácia

Napriek tomu, že X-Wrt aktualizujem, jedná sa v podstate o novú inštaláciu (preto tá záloha na začiatku). I keď aktualizácia mi dáva istú výhodu, pretože flashovanie môžem vykonať z príkazového riadku a nemusím sa trápiť s TFTP a podobne, ako pri novej inštalácii. Postup je jednoduchý a skladá sa z dvoch krokov: preniesť obraz do Asusu a spustiť flashovanie (hoci podľa dokumentácie to možno urobiť aj v jednom kroku, radšej som to neskúšal):

scp xwrt-nopppoe-brcm47xx-squashfs-10_3.trx asus.skk:

Po prenesení obrazu do Asusu sa prihláste pomocou ssh a spusťte:

mtd -r write xwrt-nopppoe-brcm47xx-squashfs-10_3.trx linux

Uvedené parametre sa postarajú o to, že firmware (*.trx) bude zapísaný (write) na partíciu pomenovanú linux (predvolené meno – ak ste ho nemenili, nemusíte sa tým trápiť) a po vykonaní zápisu bude systém reštartovaný (-r). Znova zdôrazním, že týmto bude vymazaný (prepísaný) celý súborový systém, takže prídete o všetky zmeny, ktoré ste urobili.

Treba byť trochu trpezlivý a pamätať, že po reštarte bude smerovač fungovať na východzích nastaveniach, z ktorých asi najdôležitejšie je, že lokálna (LAN) IP adresa bude 192.168.1.1, takže nespanikárte, ak sa vám nepodarí pripojiť spôsobom, na ktorý ste si zvykli. Osvedčilo sa mi po prvom nastavení siete celý smerovač reštartovať, ale netvrdím, že je to nutné...

Záver

Celú aktualizáciu som robil trochu s obavami, pretože som zároveň aktualizoval OpenWrt i prechádzal na jadro 2.6, ale musím uznať, že mám pocit rýchlejšieho fungovania, hoci som to exaktne nemeral. Uvidím, keď doinštalujem a spustím aj ďalšie služby...

Doplnok: takže to vyzerá, že všetko funguje ako má, okrem balíka mini-snmpd, keď sa stala chybička a známy bug nebol opravený...

Copyright © 2008 - 2012 Sprievodca dedinčana... Niektoré práva vyhradené.
Ak nie je uvedené inak, obsah podlieha licencii „Creative Commons Uveďte autora – Zachovajte licenciu 3.0 Unported

Nenasledovať tento odkaz, inak budete maž zakázaný prístup na stránku!