Installeren van OpenWrt op een Asus WL-HDD


Nu we gezien hebben hoe OpenWrt gecompileerd moet worden (zie artikel: Compileren van OpenWrt) gaan we de gebouwde firmware installeren op de Asus WL-HDD. Er zijn diverse manieren om dit te doen. De onderstaande manier beschrijft de werkwijze waarbij gebruik wordt gemaakt van Netcat, ook bekend als: TCP/IP swiss army knife.

Ik ga ervan uit dat er al een OpenWrt-firmware ge├»nstalleerd is en dat het mogelijk is om in te loggen als ‘root’ op de WL-HDD. De Asus WL-HDD is direct met een ethernetkabel met de computer verbonden waar een nieuwe firmware image op staat. Het IP-adres van de computer met de nieuwe firmware moet zijn ingesteld op: 192.168.1.2

Netcat op de ‘build machine’

Het idee is dat we netcat op twee verschillende manieren opstarten. Op de computer waar de nieuwe firmware staat, starten we netcat in server mode. Laat deze netcat instantie luisteren op een TCP-poort die niet in gebruik is. Deze netcat zal de nieuwe firmware sturen. Het IP-adres van deze computer moet 192.168.1.2 zijn.

nc -l 5050 -q 1 < openwrt-XXXX-XXXX.trx
openwrt-XXXX-XXXX.trx verwijst naar het binare bestand met de nieuwe firmware. Bijvoorbeeld: OpenWrt/8.09/bin/openwrt-brcm-2.4-squashfs.trx

Netcat op Asus WL-HDD

Op het device waar OpenWrt al draait (Asus WL-HDD) starten we vervolgens netcat in client-mode. Laat deze instantie connecten naar de computer met IP-adres 192.168.1.2 en open de verbinding met poort 5050. Voer de uitvoer van dit commando (standard output) via een pipe naar het commando: ‘mtd’ (Memory Technology Device). Dit commando (mtd) kan acties uitvoeren op het flashgeheugen van de Asus WL-HDD zoals wissen en schrijven.

Geef mtd de optie ‘-e linux’ mee, om aan te geven dat de partitie genaamd ‘linux’ eerst gewist moet worden. Vervolgens -r om aan te geven dat het device moet herstarten (reboot) na het flashen. Dan het argument ‘write – linux’ , dit betekent dat wat op standaard input binnenkomt, geschreven moet worden naar de partitie genaamd: linux.

nc 192.168.1.2 5050 | mtd -e linux -r write - linux

Nu zal het bestand ge├╝pload worden naar de Asus WL-HDD en vervolgens op flash geschreven worden. Dit duurt enige tijd. Vervolgens zal het device (Asus WL-HDD) herstarten.

First boot

Wanneer het device herstart is, kan men inloggen als root. Voer op de computer die middels de ethernetkabel is verbonden met de Asus WL-HDD het onderstaande commando in. Let op dat het networkdevice van deze computer juist is ingesteld, dat wil zeggen, het IP-adres: 192.168.1.2 heeft.
telnet 192.168.1.1

Zet nu het password met het commando: passwd

Inloggen op console via secure shell

Nu kan op een veilige manier middels SSH (Secure SHell) ingelogd worden op de Asus WL-HDD. Doe dit met het volgende commando:
ssh root@192.168.1.1

Nu kunnen we de netwerkconfiguratie uit gaan voeren. Lees daarvoor het artikel: Netwerkconfiguratie van OpenWrt op een Asus WL-HDD.

Zie ook