wiki:Flashing/Nodeupgrade
Last modified 6 years ago Last modified on 08/30/2010 10:55:43 PM

Nodeupgrade

Ta navodila so napisana za tiste, ki se želijo bolje seznaniti z delom z opremo. Za sodelovanje v omrežju to znanje ni potrebno, ampak se je dovolj le javiti, recimo v okviru akcije odpri okno? in za tehnične podrobnosti poskrbimo skupaj.

V kolikor je možen SSH dostop (navodila?) ali dostop preko serijskega vmesnika? (navodila?) do routerja?, ko je že bil predhodno flashan z wlan ljubljana firmwareom, se lahko router? nadgradi (flasha) kar znotraj sistema samega. V primeru SSH celo z oddaljenim dostopom brez potrebe po fizičnem dostopu.

Za to se je potrebno na router? prijaviti preko SSH? ali serijskega vmesnika?.

V opisanih ukazih je potrebno zamenjati imena oziroma URL naslove datotek s pravimi imeni oziroma URL naslovi datotek konkretnega imagea? pripravljenega za flashanje, ki se jih v primeru uporabe baze točk za generiranje imagea? dobi po elektronski pošti. Imena oziroma URL naslovi datotek morajo biti točno takšna, kot jih dobimo, saj vsebujejo parametre programu.

Pozor: Zgenerirana image? datoteka (oziroma datoteki) je primerna le in samo za ta konkretni router? oziroma točko, za katero si jo zahteval. Za drug router moraš ponovno zahtevati novo image? datoteko. Image? datoteka namreč vsebuje konfiguracijo za konkretno točko.

V naslednjih ukazih se uporablja enak način zapisa ukazov, kot je opisan v navodilih za SSH dostop?, predvsem da znak $ le označuje ukaz, ki ga je potrebno izvesti v konzoli? in ni del samega ukaza.

$ nodeupgrade http://bindist.wlan-lj.net/images/omnipotent-primer-2_0_r999-ABCDEFGHIJKLMNOPRSTUVZ.trx

To bo zagnalo program nodeupgrade z imenom oziroma URL naslovom datoteke kot parametrom. Program bo prenesel podano datoteko in poflashal router? in ga za tem sam rebootal. V postopku bo na točki zaprl nepotrebne programe in onemogočil prijavljanje nanjo. Prav tako bo prekinil VPN? povezavo, kar bo mogoče povzročilo, v kolikor je to edina povezava v wlan ljubljana omrežje, da se bo prekinila SSH povezava, ampak bo program vseeno nadaljeval s flashanjem, zato postopka ne prekinjamo niti routerja? ne rebootamo sami. Program je zelo robusten in poskuša različne stvari, preden obupa (in reboota router?, ne da bi ga poflashal). Predvsem pa je vztrajen. Flashanje lahko traja tudi nekaj deset minut, lahko pa tudi kakšno uro, če mora program poskušati večkrat, recimo na počasni oziroma nestabilni povezavi. V vsakem primeru bo program točko sam rebootal in v kolikor bo uspešen, se bo z rebootom naložil nov firmware. Ta reboot lahko traja dlje (nekaj minut) kot traja reboot routerja? sicer.

Nekateri routerji? potrebujejo za flashanje dve datoteki. V tem primeru se programu pač podata dva parametra:

$ nodeupgrade http://bindist.wlan-lj.net/images/omnipotent-primer-2_0_r999-root-aBcDeFgHiJkLmNoPrStUvZ.jffs2-64k
 http://bindist.wlan-lj.net/images/omnipotent-primer-2_0_r999-kernel-AbCdEfGhIjKlMnOpRrTuVz.lzma

Ukaz je zaradi lažjega prikaza prelomljen v dve vrstici, ampak zapiše se naj v konzolo? brez preloma vrstice. Torej med imenom programa in parametri so navadni presledki.

Normalno je, da zadnji del imena oziroma URL naslova datoteke vsebuje na izgled naključne znake. Ti znaki predstavljajo MD5? vrednosti vsebine datotek, ki jih program uporabi, da preveri, če so se datoteke pravilno prenesle.

Pozor: Program predvideva, da se watchdog nameščen na routerju? lahko sam izklopi. V kolikor temu ni tako, je potrebno watchdog pred zagonom programa izklopiti drugače?.

V kolikor nodeupgrade program ni nameščen oziroma potrebuje nadgradnjo

Na starejših verzijah firmwarea wlan ljubljana točk nodeupgrade program še ni nameščen. Možno je tudi, da izgleda, da ne deluje pravilno in bi lahko novejša verzija nodeupgrade delovala boljše. V teh primerih se ga lahko namesti/nadgradi kot paket z naslednjima ukazoma:

$ opkg update
$ opkg install nodeupgrade

Prvi ukaz osveži seznam paketov, ki so na voljo za nameščanje. Drugi ukaz pa nodeupgrade paket, in s tem program, namesti oziroma nadgradi, v kolikor je že bil nameščen.