Kuidas alustada?
Hetkel on jooksev (current) versioon saadaval vaid algtekstidena, et sellest saada
firmware on vajalik linuxi baasil süsteem 1GB vaba kõvakettaruumiga algtekstide ja tööriistadega.
Täiendus: jooksvast firmwarest on saadaval 'pildistused'(snapshot) http://openwrt.org/downloads/snapshots; see kood kompileeritakse iga päev sõltumata kas algkoodis midagi muudetakse või mitte.
. Jäta allpool vahele "Enne kui sa firmware flashid.." juhul kui kasutad snapshotte
Algtekstide saamine
Algkoodi saab alla lugeda CVS'i kasutades või siis otse veebisaidist, vahet pole, tegemist on samade tekstidega.
CVSiga allalaadimine:
(kui küsitakse CVS parooli vajuta enterit)
cvs -d:pserver:anonymous@openwrt.org:/openwrt login
cvs -d:pserver:anonymous@openwrt.org:/openwrt co buildroot
Eelneva CVSi puu uuendamine:
cvs up -Pd
Veebilehelt allalaadimine:
wget http://openwrt.org/cgi-bin/viewcvs.cgi/buildroot/buildroot.tar.gz
tar zxvf buildroot.tar.gz
Algtekstide kompileerimine
cd buildroot
make
Kui 'make' lõpetab on tulemuseks järgnevad failid:
Failid
| openwrt-g-code.bin : | Firmware WRT54G (v1.0, v1.1, v2.0) jaoks
|
| openwrt-gs-code.bin : | Firmware WRT54GS jaoks
|
| openwrt-linux.trx : | Firmware teiste mudelite ja tootjate jaoks
|
| openwrt-kmodules.tar.gz : | Linuxi tuuma moodulid
|
Enne kui sa asud uut firmware't seadmesse laadima...
MITTEAMETLIKU FIRMWARE LAADIMINE RIKUB SEADME GARANTII!
Üks võimalikke ettevaatusabinõusid ebaõnnestunud flashimise vastu on nvram'i sätung nimega boot_wait. Kui boot_wait on aktiivne, siis
alglaadimisprotsess ootab mõned sekundid juhul kui on soovi saata uus firmware üle TFTP seadmesse. (sellest hiljem).
boot_wait parameetri aktiviseerimise saab ära teha lollitades originaalfirmware veebiserverit, andes järgmised käsud: (ära trüki neid kusagile, need on vaid näiteks siia toodud)
cp */*/nvram /tmp/n
*/n set boot_wait=on
*/n commit
*/n show
See tegevus kopeerib nvram käsu tmp kataloogi, aktiviseerib boot_wait parameetri, muudab selle permanentseks ja näitab lõpuks nvrami sisu
Käskude tegelik käivitamine
Esiteks kontrolli kas seadmel on interneti aadress defineeritud, see pole tähtis mis ta on, pane kasvõi staatiline ip.
Järgmiseks käivita veebiadminliides ja otsi üles Ping.asp leht (leitav Administration >>
Diagnostics) ja tee "pingimised" järgnevatele 'aadressitele':
;cp${IFS}*/*/nvram${IFS}/tmp/n
;*/n${IFS}set${IFS}boot_wait=on
;*/n${IFS}commit
;*/n${IFS}show>tmp/ping.log
Need on täpsed samad käsud, mis üleeelmises blokis on näidatud, kuid muudetud töötamaks Ping.asp lehel.
Lõika ja kleebi hoolikalt eelnevad käsud IP aadressi välja ja käivita. Pole vaja muretseda, et mingeid vastuseid ei tule. See peabki nii olema. Viimane käsk võtab pisult aega aga siis on tulemuseks pikk list nvrami parameetritest millest otsi üles boot_wait ja mis peab võrduma 'on'. (boot_wait=on)
Firmware seadmesse laadimine
Kui pole nõutud boot_wait'i sisselültamine, soovitame sellegipoolest seda teha.
Mis faili ma pean üles laadima?
| Linksys WRT54G : | openwrt-g-code.bin
|
| Linksys WRT54GS : | openwrt-gs-code.bin
|
| Teised mudelid/tootjad: | openwrt-linux.trx
|
Kasutades veebilehte
Kui su seadmel on uuendamise veebileht (upgrade webpage), siis kasuta seda.
Kasutades boot_wait tftp meetodit
Kui boot_wait on sees (vaata ülalt), siis diag tuli (või power tuli, kui sul pole diag tult) vilgub umbes 3 sekundit kui toide sisse lülitada. Kuni tuli vilgub, on võimalik firmwaret tavalise tftp kliendiga üles laadida.
Hangi tavaline tftp klient, juhul kui see juba pole sul masinas. Netkit
tftp on enamike linuxi distributsioonidega kaasas. Ära kasuta linksysi
parooliga tftp kliente, parooli pole vaja boot_wait'i jaoks. Ruuter
konfib end boot_wait ajaks aadressile 192.168.1.1 netmaskiga
255.255.255.0, niiet muuda oma linuximasina IP selleks ajaks näiteks
192.168.1.2'ks. Kui sul on mõni seade võrgus sama 192.168.1.1 aadressiga, siis kasuta tavalist patch kaablit arvuti ja ruuteri vahel, ristkaablit pole tarvis.
Järgmiseks, tftp upload on väike trikitamine, seega soovitame teha järgnevat:
Ühenda lahti ruuteri küljest toitejuhe, ava tftp aadressile 192.168.1.1,
lülita klient binaarmeetodi peale ja hakka firmwaret üles laadima juba
siis kui ruuter ise on toiteta. Kohe kui tftp klient üritab tarkvara
üles laadida, lükka toide taas ruuterile järgi. Muide, toite katkestus
on väga hea meetod ruuteri alglaadimise tegemiseks.
Kui sa kasutad linuxit siis:
tftp 192.168.1.1
tftp> binary
tftp> rexmt 1
tftp> trace
Packet tracing on.
tftp> put openwrt-g-code.bin
Võimalikud tftp veateated:
| Code pattern is incorrect : | Sa püüdsid üles saata valet firmware't
|
| Invalid password : | Ruuter pole enam boot_wait modes, sa lasid boot_wait'i mööda.
|
| Other issues : | Vaata oma tulemüüri häälestust. (keera tulemüür maha)
Proovi mõnd teist tftp klienti.
Pane ruuter otse arvuti järgi. (patch kaabliga)
|
Ainukene kord kui sa näed vale parooli teadet tftp kliendist, on siis kui seadmes
on linksysi originaalfirmware ja boot_wait on juba lõpetanud, ning selle tftp teenuse on asendanud linksysi enda tftp server. Proovi uuesti selle alampeatüki algusest.
Eelmiste OpenWrt versioonide uuendamine
Kahjuks pole see veel täielikult dokumenteeritud, aga OpenWrt käsurealt on võimalik uuendus sisse flashida. Idee on saata openwrt-linux.trx otse ruuteri flashi kasutades järgnevat käsku:
mtd write openwrt-linux.trx linux && reboot
Alternatiiv on alglaadimine ja boot_wait meetod.
NB! Mitmel juhul on vajalik peale OpenWrt uuendamist bootida 'failsafe modesse'.
Esmane sisselogimine OpenWrt'sse
Alglaadimisel üritab OpenWrt konfigureerida end parameetritega mis olid eelneva firmwarega sisestatud. Lihtsalt telneti sellele ip aadressile, mingit kasutajanime ja parooli ei vajata.
Failisüsteemi ülesehitus.
OpenWrt kasutab kahte failisüsteemi. squashfs ja jffs2. Esimest korda
laeb OpenWrt end üles kasutades (ainult lugemiseks) squashfs
partitsiooni mis on sisseehitatud firmwaresse. firstboot nimeline skript
käivitub peale seda ja tekitab jffs2 partitsiooni kasutamata välkmälu
(flash rom) osasse. Peale seda saab jffs2 uueks juurpartitsiooniks,
protsess võtab aega mõned minutid.
jffs2 failisüsteemi suurus oleneb välkmälu suurusest ja firmware
suurusest. WRT54G'l on 4MB välkmälu mis jätab jffs2'e 2MB ruumi ja
WRT54GS'il on 8MB välkmälu mis jätab jffs2'e 6MB ruumi. On tähis ära
märkida, et jffs2 partitsioon on pakitud (compressed), see tähendab et
WRT54GS tegelik failide suurus võib olla rohkem kui 6MB.
Failide majandamine ja manipuleerimine
jffs2 partitsiooni ruumi kokkuhoiu pärast on failid esialgu sümlingid
squashfs'il paiknevast. See tähendab et failid suunatakse ainult
lugemiseks olevale partitsioonile kui neid avada. Neid ei saa sümlingi kujul muuta.
Kui sa tahad neid muuta, siis pead kõigepealt kustutama sümlingi ja asendama koopiaga /rom failisüsteemist.
rm /etc/ipkg.conf
cp /rom/etc/ipkg.conf /etc/ipkg.conf
vim /etc/ipkg.conf
Ipkg
Ipkg nimeline utiliit on väga minimalistlik pakimajandaja (package
manager) mis on võimeline alla laadima ja installima eepakitud OpenWrt
tarkvara otse internetist. Linuxis on samalaadne Debian/GNU Linuxi'st
pärinev süsteem apt-get.
Pakkide nimekirja uuendamine
ipkg majandab ise tarkvara loeteluga, mida peaks perioodiliselt
uuendama, et saada värske loend saadaolevast tarkvaras.
ipkg update
Saadaoleva tarkvara vaatamine
Loendi saamiseks on järgnev käsk:
ipkg list
Paki paigaldamine/installeerimine
ipkg install dropbear
Paki eemaldamine
ipkg remove dropbear
Veel pakke ...
Ekstra pakid on saadaval kolmandate osapoolte poolt pakituna.
Täielik list tarkvara pakkujaid saab sellelt aadressilt: OpenWrtPackages. Lisa lihtsalt vastavad read oma /etc/ipkg.conf faili.
NVRAM
Originaalfirmwares on kõik häälestus hoiul nvram partitisioonil,
formaadis "nimi=väärtus". Kuna OpenWrt'l on jffs2 partitsioon häälestuse
ja konfiguratsiooni hoidmiseks, siis paljusid parameetreid NVRAM'ist
ignoreeritakse, jättes järele vaid käepärased võrguparameetrid.
Hoiatus: Muutes või kustutades teatuid NVRAMi parameetreid, võid sa oma ruuteri mittebootivaks teha, kui sa täpselt ei tea mis miski parameeter teeb, ära seda puutu.
nvram utiliit
nvrami'le ligipääsemiseks on nvram utiliit, kõik muudatused hoitakse seni operatiivmälus juhul kui sa pole neid 'kinnitanud' nvram partitsioonile.
Pika listingu saamikseks nvrami sisust:
Pikem list on saadaval siin : OpenWrtNVRAM
nvram show
Nägemaks täpset nime:
nvram get nimi
Parameetri sättimiseks:
nvram set nimi=väärtus
# Kasuta kindlasti võrdusmärki kui sa kasutad set käsku.
NVRAMi muudatuste kinnitamine kandes muudatused nvram partitsioonile.
nvram commit
NVRAMi sisu nullimine ja alglaadimine
Kuigi see pole soovituslik on võimalik NVRAM'i sisu nullida vaikeväärtuste peale, hoides toite sisselülitamise ajal all reset nuppu.
Failsafe tööreziim (failsafe mode)
Kui adminni tegevuse või failisüsteemi vea tõttu peale OpenWrt firmware uuendamist muutub jffs2 partitsioon kasutuskõlbmatuks või on võrguparameetrid valed, saab ruuteri nn 'failsafe mode' reziimi lülitada, mispeale ruuter
teeb alglaadimise vaid squashfs partitsioonilt ja kasutades vaikimisi (192.168.1.1) võrguparameetreid.
Failsafe alglaadimiseks, võta toide maha ja uuesti peale, oota kuni DMZ tuli süttib ja siis hoia all reset nuppu umbes 2 sekundit. OpenWrt ignoreerib jffs2 partitsiooni ja teeb terve alglaadimise ainult squashfs partitsioonilt, jättes vahele kõik muudatused mis on tehtud alglaadimisskriptidesse. Samuti pole safe modes võimalik kasutada omainstalleertud pakke.
Jffs2 haakimine (mountimine) failsafe modes
mtd unlock mtd4
mount -t jffs2 /dev/mtdblock/4 /jffs
Sellest hetkest saad sa oma jffs2 asuvatele failidele ligi /jffs kataloogist.