Changes between Version 41 and Version 42 of WikiStart


Ignore:
Timestamp:
Mar 6, 2014, 8:02:31 PM (11 years ago)
Author:
walter
Comment:

edit intro

Legend:

Unmodified
Added
Removed
Modified
  • WikiStart

    v41 v42  
    1414Het doel van dit project is voor de Soekris-boarden en bijbehorende hardware, startklare images / uitgangssituaties te maken/beschrijven zodat snel, makkelijk en uitgebreid geexperimenteerd kan worden juist door linux-nieuwkomers en enthousiastelingen. Met de openwrt-packetmanager is met bijna hetzelfde gemak als op een linux-desktop een uitgebreide router/server/node te bouwen door (bijna ;-) iedereen! Met de grote hoeveelheid beschikbare hardware-configuraties is de wens om een onafhankelijk testnetwerk te bouwen, zodat met OLSR / MESH etc geexperimenteerd kan worden.
    1515
    16 De opzet van deze pagina is eerst hard- en software inregelen om openwrt uberhaupt ;-) operatief te krijgen op een soekris board en functionerend als een eenvoudige huis-tuin-en-keuken router/accesspoint. Wanneer duidelijk is hoe je het apparaat kunt inregelen, webinterface/ssh een naam kunt geven, tijd inregelen en interfaces ingesteld kunnen worden (bedraad en draadloos), binnen en buiten wereld WAN-LAN concept begrijpen, porten forwarden, packages installeren, dan gaan we kijken hoe we een zelfstandige Wireless-Leiden-node kunnen realiseren met captive portal en proxy. Vervolgens meerdere van deze losstaande soekris Wireless Leiden routers onderling met elkaar kunnen laten communiceren zoals nodes op een Wireless-Leiden-netwerk kortom het concept routing. Dit uitbouwen zodat je de uplink/gateway verbindingen van het ene soekrisboard kunt delen met een ander soekrisboard dat zelf niet een directe uplink aan zijn wan-interface heeft. Nadat er inzicht in static routing is wil ik dynamisch routing met behulp van een routing-protocol uitzoeken, dns-implementatie en uiteindelijk ipv6.
     16De opzet van deze pagina is eerst hard- en software inregelen om openwrt uberhaupt ;-) operatief te krijgen op een soekris board en functionerend als een eenvoudige huis-tuin-en-keuken router/accesspoint. Wanneer duidelijk is hoe je het apparaat kunt benaderen en inregelen via cli (telnet/ssh) of gui (webinterface), hostname, tijd inregelen en interfaces ingesteld kunnen worden (bedraad en draadloos), binnen en buiten wereld WAN-LAN concept begrijpen, porten forwarden, packages installeren, dan gaan we kijken hoe we een zelfstandige Wireless-Leiden-node kunnen realiseren met captive portal en proxy. Vervolgens meerdere van deze losstaande soekris Wireless Leiden routers onderling met elkaar kunnen laten communiceren zoals nodes op een Wireless-Leiden-netwerk kortom het concept routing. Dit uitbouwen zodat je de uplink/gateway verbindingen van het ene soekrisboard kunt delen met een ander soekrisboard dat zelf niet een directe uplink aan zijn wan-interface heeft. Nadat er inzicht in static routing is wil ik dynamisch routing met behulp van een routing-protocol uitzoeken, dns-implementatie en uiteindelijk ipv6.
    1717
    1818== OpenWRT op Soekris 45xx/48xx boards ==
     19De soekris boarden bezitten een afwijkende 486/586 gebasseerde processor, dit komt overeen met de x86 processor/architectuur die in vele huis tuin en keuken computers is terug te vinden en waar de meeste gebruikers het OS (Operating System) Windows op draaien. Kort gezegd gedraagd een soekris board zich tijdens functioneren, installeren en repareren als een desktop pc. Met al die fases hebben niet alleen de meeste geeks al ervaring maar helaas ook veel thuis gebruikers! Een embedded systeem zoals de soekris is niet veel moeilijker te configureren dan de meesten denken.
     20
     21De reden dat we dit "x86 architectuur" willen weten is dat de soekris boarden in tegenstelling tot de meeste Windows PC's, zonder OS geleverd worden en we er zelf een OS op kunnen/moeten installeren voordat deze gebruikt kan worden. De software instructie set van het OS dat je wil installeren/gebruiken moet matchen met die van de architectuur waar die op komt te functioneren. Dit houd in dat een x86 versie van OpenWrt prima functioneerd op een x86 gebaseerd soekris board of desktop pc. Maar niet op een mips/arm architectuur gebaseerde Linksys of Ubiquity router. De rede dat het OS Windows vroeger niet makkelijk tot niet op een Apple Mac was te installeren en te gebruiken kwam omdat het Windows OS voor de x86 architectuur geschreven was, terwijl Apple voor de Mac hardware de Motorola m86k en PowerPC architectuur gebruikte. Vlak nadat Apple in 2006 in Intel x86 gebaseerde Mac uitbracht, duurde het niet lang voordat daar ook (probleemloos) Windows op was te draaien.
     22
     23Netals een desktop pc zonder Windows moet je een "installatie" uitvoeren van het OS dat uren kan duren voordat de machine weer in een werkbare toestand is, of je kan een "image" terugplaatsen van een OS dat veel tijd kan schelen. Dit laatste kun je vaak op afstand zoals via het netwerk of via een andere computer doen die een kant en klare OS "image" bestand al bevat en deze direct naar de harddisk/SSD/CF/SDCARD kan schrijven voor de computer die hem nodig heeft.
     24
     25Omdat de soekris machines niet over een toetsenbord/muis en vga aansluiting beschikken maar wel over verwisselbare CF-card (Compact Flash Card) als opslag kan relatief simpel via een andere PC/Notebook met card-reader een x86 gebasseerde OS "image" naar de CF-card geschreven worden en daarna weer worden terug geplaatst in de soerkis.
     26
     27Als alles volgens een normale PC bootstrap in orde is op de soekris waaronder POST(power on self test) / correcte BIOS instellingen en juiste opstart medium harddisk/CD-card/CD-rom/Network geselecteerd heb kun je verwachten dat je na het plaatsen van een CF-card met juiste OS image direct een werkende basis router heb!
    1928
    2029=== software ===
    21 Zowel kant en klare x86 images van openwrt uit de serie[http://downloads.openwrt.org/backfire/10.03.1/x86_generic/ backfire 10.03.1] als [http://downloads.openwrt.org/attitude_adjustment/12.09/x86/generic/ attitude adjustment 12.09] functioneren op de soekris 4501, 4521, 4801 en 4826. De gewenste type images zijn "combined-squashfs" images en "combined-extN" images, hierin "combined" zit namelijk zowel de boot partitie met kernel en root partitie. Op sommige embedded systemen is het mogelijk direct de kernel en het rootfs te uploaden omdat er dan een bootloader in het systeem zelf zit die deze kan opstarten. De soekris boarden gedragen zich net als x86-systemen die gewoon via een MBR-bootstrap op een IDE-disk een bootsector willen laden die weer naar de bootloader verwijst "grub" en dat laatste de kernel. Het eerste type "squashfs" zal grotendeels in het RAM de wijzigingen doorvoeren en alleen enkele wijzigingen gecomprimeerd naar de disk terugschrijven via JFFS2. Het voordeel hiervan is, dat deze versie de geheugenkaart spaart ("wear level protection") en tevens een failsafe "factory reset" mogelijk maakt. Prima optie voor experimenteren! De tweede optie "extN" schrijft alles direct op de geheugenkaart/disk, werkt sneller en laat meer ram over, echter een simpele failsafe restore/reset is dan niet mogelijk.
    22 
    23 Houdt er overigens wel rekening mee dat de standaard openwrt-images alleen booten op een Soekris board als deze de juiste comBIOS optie ConMute=Enabled aan heeft of direct een actieve serial-console-verbinding met een draaiende PC heeft tijdens het booten van openwrt op de soekris (sic). Onafhankelijk, zonder seriele PC connectie, is de kans groot dat hij hangt tijdens de boot cyclus op de grub-bootloader en wacht op bevestiging om door te gaan met booten... Dit terwijl je verwacht dat het board zonder inmenging en zelfstandig kan opstarten. Echter wanneer op de eerste partitie van de CF-kaart/image uit de bootloader config file "/boot/grub/menu.cfg" de optie "console" verwijderd wordt, boot de Soekris probleemloos onafhankelijk, dus zonder PC met serial console en hoef je niet direct comBIOS in! Voor de CF gebaseerde systemen (Soekris 4501/4521/4801) is die grub optie op de CF-kaart zo te veranderen en kun je in enkele minuten al aan de slag. Een andere definitieve oplossing voor systemen zonder CF-kaart, zoals de Soekris 4826, alsook systemen met CF-kaart, is via de seriele console de comBIOS optie ConMute op Enabled zetten, echter voor de CF-kaartloze systemen zoals de 4826 moet je sowieso via serial de comBIOS in om deze met PXE boot op te starten en vanuit een live sessie een openwrt-image naar het onboard flashgeheugen te schrijven, maar dan heb je ook wat ;-)
     30Zowel kant en klare x86 architectuur images van het Operating Systeem OpenWRT uit de serie[http://downloads.openwrt.org/backfire/10.03.1/x86_generic/ backfire 10.03.1] als [http://downloads.openwrt.org/attitude_adjustment/12.09/x86/generic/ attitude adjustment 12.09] functioneren op de soekris 4501, 4521, 4801 en 4826 boarden. De gewenste type images zijn "combined-squashfs" images en "combined-extN" images. De eerste term "combined" staat voor een image met daarin zowel de boot partitie inclusief bootloader en kernel en root partitie voor de rest van het OS. De tweede term "squashfs/extfs" staat voor het type Filesystem dat zeer karakteristiek voor de bepaalde fnctionaliteiten. In het geval van squashfs word grotendeels in het RAM de wijzigingen doorvoert en alleen enkele wijzigingen gecomprimeerd naar de disk terugschrijven via JFFS2. Het voordeel hiervan is, dat deze versie de compact-flash card spaart ("wear level protection"),failsafe "factory reset" mogelijk maakt en deze image resistenter is tegen onverwachte power outages. Prima optie voor experimenteren! De tweede optie "extN" schrijft alles direct op de geheugenkaart/disk, werkt sneller en laat meer ram over, echter een simpele failsafe restore/reset is dan niet mogelijk en power outages kunnen beschadigingen op het filesystem achterlaten waardoor het gehele systeem zich zelf vaak niet meer operatief kan krijgen.
     31
     32Op de OpenWRT download page vind je naast verschillende releases van OpenWRT 12.09 of 10.03.1 respectievelijk met de naam Attitude Adjustment of Backfire, al die verwijzingen naar andere processor architecturen waar we het eerder over hadden zoals ppc arm mips en nog veel meer! Allemaal direct te downloaden, klein en vaak klaar voor gebruik voor betreffende exotisch systeem. De grote verscheidenheid en het beschikbaar hebben van kleine generieke OS images is een groot pluspunt van openwrt en tevens andere linux gebasseerde distributies zoals debian/ubuntu, waardoor gemakkelijk ergens kan beginnen.
     33
     34Houdt er overigens wel rekening mee dat de generieke openwrt-images zo zijn aangepast dat ze op de meeste x86 systemen kunnen werken, dat zijn zowel systemen met toetsenbord/muis/vga-monitor (desktops/laptops) of systemen die serialport( als vervanging van KB/VGA) of machines zonder beide en enkel een ethernet(netwerk) aansluiting.
     35
     36Enkel werken starten de "generieke" openwrt images van de OpenWrt website op een Soekris board uit de 45xx 48xx serie, alleen wanneer de juiste comBIOS optie(namelijk ConMute=Enabled) actief is in desbetreffende soerkis (eenmalig actie) of wanneer de soerkis een directe actieve serial-console-verbinding met een draaiende PC heeft tijdens het booten van openwrt op de soekris (sic). Door het flexibele karakter van OpenWRT zijn er meerdere mogelijkheden als je niet aan deze voorwaarden kan/wil voldoen en toch direct met een generiek openwrt image aan de gang wil! Hoe dit opgelost kan worden en of dit in jouw situatie opgelost hoeft te worden kun verderop lezen bij het hoofdstukje comBIOS en start klare image.
    2437
    2538=== serial console ===
    26 Omdat de Soekris machines niet over een VGA en toetsenbord aansluiting beschikken en dat voor de meeste mensen een normale manier is om een computer in te regelen is een seriele console de enige manier om de bootcyclus met BIOS te beinvloeden op de soekris, vooral handig voor uitgebreid recoveren van systemen zonder CF-Kaart. Later kan via een netwerk console telnet/ssh wanneer openwrt zelf al actief is deze verder ingeregeld worden waardoor de seriele verbinding niet nodig is. De kant en klare x86 images van openwrt hebben standaard hun seriele console werkend op 38400, zowel in de bootloader modus (grub) als de kernelbootlog en uiteindelijke systeemconsole. Dit i.t.t. tot de standaard Soekris comBIOS seriele snelheid die vaak 19200 of zelfs 9600 baud is. Om tijdens de hele bootcyclus/bootstrap vanaf de soekris comBIOS, bootloader grub, kernel/boot tot aan de console van openwrt zelf een werkend beeld en toetsenbord aansturing te hebben is het van belang dat al deze fasen op dezelfde seriele settings staan, bij een pc wil je immers ook niet dat in bepaalde fasen van het opstarten het beeld verdwijnt of de toetsenbord invoer niet werkt. In het geval van de soekris met verkeerde instellingen verdwijnt het beeld meestal niet maar wordt onleesbaar en is verdere toetsenbord-interactie in een bepaalde fase uitgesloten.
     39Omdat de Soekris machines niet over een VGA en toetsenbord aansluiting beschikken en dat voor de meeste mensen een normale manier is om een computer in te regelen is een seriele console de enige manier om de boot-cyclus/strap met BIOS te beinvloeden op de soekris, vooral handig voor uitgebreid recoveren van systemen zonder CF-Kaart. Later kan via het netwerk met webinterface (gui) of telnet/ssh (cli) wanneer openwrt zelf al actief is deze verder ingeregeld worden waardoor de seriele verbinding niet nodig is. De kant en klare x86 images van openwrt hebben standaard hun seriele console werkend op 38400, zowel in de bootloader modus (grub) als de kernelbootlog en uiteindelijke systeem init console. Dit i.t.t. tot de standaard Soekris comBIOS seriele snelheid die vaak 19200 of zelfs 9600 baud is. Om tijdens de hele bootcyclus/bootstrap vanaf de soekris comBIOS, bootloader grub, kernel/boot tot aan de console van openwrt zelf een werkend beeld en toetsenbord aansturing te hebben is het van belang dat al deze fasen op dezelfde seriele settings staan, bij een pc wil je immers ook niet dat in bepaalde fasen van het opstarten het beeld verdwijnt of de toetsenbord invoer niet werkt. In het geval van de soekris met verkeerde instellingen verdwijnt het beeld meestal niet maar wordt onleesbaar en is verdere toetsenbord-interactie in een bepaalde fase uitgesloten.
    2740
    2841Om serieel in te loggen op de soekris zullen we eerst "minicom" installeren en configureren op de client-PC waarmee we de soekris inregelen. Dit zal waarschijnlijk meerdere keren moeten om iedere afwijkende fase van het booten tot het os te kunnen bereiken. Handig is om eenmalig de seriele snelheid in de comBIOS van de soekris gelijk te zetten naar die van de bootloader/bootconsole en definitieve terminal.
    2942
    30 '' Let op: Goedkope usb-serial dongles werken niet altijd lekker met hoge com snelheden!''
     43'' Let op: Goedkope usb-serial dongles werken niet altijd lekker met hoge com snelheden! ''
    3144
    3245{{{
     
    154167
    155168== Direct aan de slag! ==
     169
     170Onafhankelijk, zonder seriele PC connectie, is de kans groot dat de soekris hangt tijdens de boot cyclus op de grub-bootloader en wacht op bevestiging om door te gaan met booten... Dit terwijl je verwacht dat het board zonder inmenging en zelfstandig kan opstarten. Echter wanneer op de eerste partitie van de CF-kaart/image uit de bootloader config file "/boot/grub/menu.cfg" de optie "console" verwijderd wordt, boot de Soekris probleemloos onafhankelijk, dus zonder PC met serial console en hoef je niet direct comBIOS in! Voor de CF gebaseerde systemen (Soekris 4501/4521/4801) is die grub optie op de CF-kaart zo te veranderen en kun je in enkele minuten al aan de slag. Een andere definitieve oplossing voor systemen zonder CF-kaart, zoals de Soekris 4826, alsook systemen met CF-kaart, is via de seriele console de comBIOS optie ConMute op Enabled zetten, echter voor de CF-kaartloze systemen zoals de 4826 moet je sowieso via serial de comBIOS in om deze met PXE boot op te starten en vanuit een live sessie een openwrt-image naar het onboard flashgeheugen te schrijven, maar dan heb je ook wat ;-)
    156171
    157172=== manual / handleiding ===