Flashare le fonere con dd-wrt
by Asbesto, 20/7/09
Ho deciso di scrivere questo howto perche' in rete le informazioni sono abbastanza confuse. Seguendo passo passo queste istruzioni non c'e' possibilita' di sbagliare. Manca solo la parte relativa all'interfaccia hardware, che inseriro' presto.
Prima parte: il maledetto server tftpd
Installare tftpd, tftp: nelle dipendenze software c'e' pure openbsd-inetd.
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!