Flashare le fonere con dd-wrt

Prima parte: il maledetto server tftpd

Installare tftpd, tftp: lui si tirera' pure openbsd-inetd. installare tutto!

apt-get install tftpd tftp

(Il client servira' per fare i test.)

Configurare /etc/inetd.conf cosi':

tftp            dgram   udp     wait    nobody  /usr/sbin/tcpd  /usr/sbin/in.tftpd /tftpboot

Creare la dir /tftpboot, modo 777, user nobody; metti li' dentro linux.bin, modo 777, owner nobody.

Risultato finale:

   root@gemini:~# ls -la /tftpboot/
   total 6604
   drwxrwxrwx  2 nobody root    4096 2009-07-19 18:57 .
   drwxr-xr-x 22 root   root    4096 2009-07-19 18:47 ..
   -rwxrwxrwx  1 nobody root 6754304 2009-07-19 18:57 linux.bin
   root@gemini:~# 

Usa tftp su localhost per provare se tutto funziona. dovresti poter prelevare linux.bin.

Seconda parte: collegamenti hardware

Collegare la fonera all'adattatore. questo dipende dall'adattatore!

Minicom va settato a 9600,8N1, no hardware flow control altrimenti ctrl-c non funziona.

Terza parte: sbattiamoci la fonera

Enter the RedBoot console by pressing CTRL+C entro 2 secondi...

Configure the RedBoot bootloader IP and TFTP server settings using

ip_address -l [local ip address] -h [remote server address]

Cancelliamo la memoria della fonera inizializzandola:

RedBoot> fis init

About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xa83e0000-0xa83f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa83e0000: .

Ora, mandiamogli l'immagine di linux.bin:

RedBoot> load -r -v -b 0x80041000 linux.bin

Using default protocol (TFTP)
Raw file loaded 0x80041000-0x802e3fff, assumed entry at 0x80041000

E per finire, creiamo tutta la struttura sulla fonera (ci mettera' una decina di minuti):

RedBoot> fis create linux

... Erase from 0xa8030000-0xa82f0000: ............................................
... Program from 0x80041000-0x80301000 at 0xa8030000: ............................................
... Erase from 0xa83e0000-0xa83f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa83e0000: .

Ora diamo un minimo di configurazione:

RedBoot> fconfig

Rispondi alle domande, configura gli indirizzi che vuoi, e poi inserisci questo script di 2 righe:

fis load -l linux
exec

Poi salva la config uscendo, cosi':

reset

FINE