Facciamo funzionare il kernel Aztech su 30xT con Flash Atmel!!!

  • 24 Risposte
  • 10520 Visite

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline submax82

  • VIP
  • *****
  • 4621
    • sito personale
Re: Facciamo funzionare il kernel Aztech su 30xT con Flash Atmel!!!
« Risposta #15 il: 28 Maggio 2006, 01:18 »
mi passi i sorgenti di sector2.c ?

Offline Cris

  • Membro Anziano
  • ***
  • 467
Re: Facciamo funzionare il kernel Aztech su 30xT con Flash Atmel!!!
« Risposta #16 il: 28 Maggio 2006, 01:21 »
Te l'avevo mandaa sula tua email su tiscali e te lh'o rimandata per messaggio privato.

Offline Cris

  • Membro Anziano
  • ***
  • 467
Re: Facciamo funzionare il kernel Aztech su 30xT con Flash Atmel!!!
« Risposta #17 il: 28 Maggio 2006, 01:22 »
I sorgenti di sector2 sono da qualche giorno sul thread "Quiete".
« Ultima modifica: 28 Maggio 2006, 01:31 da Cris »

Offline submax82

  • VIP
  • *****
  • 4621
    • sito personale
Re: Facciamo funzionare il kernel Aztech su 30xT con Flash Atmel!!!
« Risposta #18 il: 28 Maggio 2006, 01:29 »
file inviato.....

Offline submax82

  • VIP
  • *****
  • 4621
    • sito personale
Re: Facciamo funzionare il kernel Aztech su 30xT con Flash Atmel!!!
« Risposta #19 il: 28 Maggio 2006, 01:38 »
facci sapere.... notte  ;)

Offline Cris

  • Membro Anziano
  • ***
  • 467
Re: Facciamo funzionare il kernel Aztech su 30xT con Flash Atmel!!!
« Risposta #20 il: 28 Maggio 2006, 01:39 »
Grazie. Se tutto va bene lo patcho stanotte.
La prox settimana sono straimpegnato e prima del prox weekend non potrei metterci le mani.
Ciao, Cris

Offline Cris

  • Membro Anziano
  • ***
  • 467
Re: Facciamo funzionare il kernel Aztech su 30xT con Flash Atmel!!!
« Risposta #21 il: 28 Maggio 2006, 02:48 »
Ciao a tutti.
Prima di patchare il kernel ho provato a ricompattare l'immagine estratta dal kernel del mio 302T che sta funzionando adesso, mi pare sia l'originale Dlink per il 302T (lo so avrei dovuto provarea farlo prima).
Sto lavorando con i sorgenti del linux-2.4.17_mvl21_mc_09.
Ho copiato il kernel estratto dalla RAM in "vmlinux" nella directory principale.

Ho aggiunto nel makefile principale queste linee (in pratica ho tolto la dipendenza da vmlinux):
Codice: [Seleziona]
myram_zimage: srec2bin
$(MAKE) ram_zimage -C arch/$(ARCH)/mips-boards/ti_avalanche/inflater
$(SREC2BIN) ram_zimage.sre ram_zimage.bin

Visto che il file del kernel che abbiamo è già senza simboli ho fatto questa modifica nel makefile in \arch\mips\mips-boards\ti_avalanche\inflater nella sezione zimage.lzma commentando la linea:
Codice: [Seleziona]
$(CROSS_COMPILE)objcopy -S -O binary $(TOPDIR)/vmlinux zimage
e aggiungendo a seguire la linea:
Codice: [Seleziona]
cp $(TOPDIR)/vmlinux zimage

Putroppo non funzionava e mi dava:
Codice: [Seleziona]
mipsel-linux-ld -T zimage.script -r -b binary zimage.lzma -o zimage.o
mipsel-linux-ld -G 0 -static -G 0 -Map inflate.map -R /home/vmware/AR7/linux-2.4.17_mvl21_mc_09/vmlinux -no-warn-mismatch -T ld. script inflate.o zimage.o -o inflate
/home/vmware/AR7/linux-2.4.17_mvl21_mc_09/vmlinux: file not recognized: File format not recognized
make[1]: *** [ram_zimage] Error 1
make[1]: Leaving directory `/home/vmware/AR7/linux-2.4.17_mvl21_mc_09/arch/mips/mips-boards/ti_avalanche/inflater'
make: *** [myram_zimage] Error 2

Ho scoperto che il problema era la linea:
Codice: [Seleziona]
LOCALLINKFLAGS = -static -G 0 -Map inflate.map -R $(TOPDIR)/vmlinux
che ho provato a cambiare in:
Codice: [Seleziona]
LOCALLINKFLAGS = -static -G 0 -Map inflate.map

Ora però mi da un'altro errore:
Codice: [Seleziona]
LZMA 4.06 Copyright (c) 1999-2004 Igor Pavlov  2004-09-05
sed -e 's/@@OUTPUT_FORMAT@@/elf32-tradlittlemips/' \
    -e 's/@@LOADADDR@@//' <zimage.script.in >zimage.script
mipsel-linux-ld -T zimage.script -r -b binary zimage.lzma -o zimage.o
sed -e 's/@@OUTPUT_FORMAT@@/elf32-tradlittlemips/' \
    -e 's/@@LOADADDR@@//' <ld.script.in >ld.script
mipsel-linux-ld -G 0 -static -G 0 -Map inflate.map  -no-warn-mismatch -T ld.script inflate.o zimage.o -o inflate
ld.script:56 invalid assignment to location counter
make[1]: *** [ram_zimage] Error 1
make[1]: Leaving directory `/home/vmware/AR7/linux-2.4.17_mvl21_mc_09/arch/mips/mips-boards/ti_avalanche/inflater'
make: *** [myram_zimage] Error 2

Penso che manchino i simboli per la mappatura dei segmenti tramite LD.
La riga 56 in ld.script è l'ultima riga ed è vuota... il messaggio di errore non mi aiuta a identificare il simbolo o i simboli mancanti.

C'è qualcuno che è più esperto di me in materia che può dare una mano?

Ciao,
     Cris
« Ultima modifica: 28 Maggio 2006, 03:22 da Cris »

Offline Cris

  • Membro Anziano
  • ***
  • 467
Re: Facciamo funzionare il kernel Aztech su 30xT con Flash Atmel!!!
« Risposta #22 il: 28 Maggio 2006, 13:45 »
Non è esattamente chiaro quali sono gli indirizzi dentro vmlinux che servono al compressore (quelli usati da LD).

Ho trovato questo simpatico post che potrebbe aiutare:
http://sourceware.org/ml/binutils/2005-02/msg00132.html
Con questa patch LD potrebbe ritornare informazioni più significative.

Sapete per caso dove trovare i sorgenti di "ld" nel toolchain
Io ho quelli di openwrt per WRT54. Anche il suo processore è mips ma gli eseguibili sembrano diversi (almeno dall lunghezza degli eseguibili).

Ciao,
     Cris

Offline Cris

  • Membro Anziano
  • ***
  • 467
Re: Facciamo funzionare il kernel Aztech su 30xT con Flash Atmel!!!
« Risposta #23 il: 28 Maggio 2006, 20:28 »
Ok. Ultime notizie prima della prossima settimana.
Stavo cercando di risolvere il problema della compressione del kernel riscrivendo il loader.

Ma mi sono detto siamo sicuri che qualcuno non l'abbia già fatto?

Mi sono ricordato che Openwrt funziona (o almeno comincia a funzionare) su AR7.
Osvi sta lavorando alla versione 2 del firmware che dovrebbe basarsi su Openwrt... spero che si sia reso conto di quello che è già stato fatto (forse l'ha fatto lui?)

Ho scaricato i sorgenti della versione "kamikaze". Dando un'occhiata al makefile sembra che il vmlinux originale con i simboli non sia necessario. Eccetto per definire la variabile KERNEL_ENTRY(che non dovrebbe essere difficile da recuperare).
Quindi si potrebbe utilizzare questa versione del compressore per ricomprimere l'immagine patchata.

Ci vuole un po' di tempo per capire come abilitare la compilazione per AR7 di openwrt
Potere partire da qui:
http://wiki.openwrt.org/AR7Port

Fatemi sapere.

Ciao, Cris


Offline submax82

  • VIP
  • *****
  • 4621
    • sito personale
Re: Facciamo funzionare il kernel Aztech su 30xT con Flash Atmel!!!
« Risposta #24 il: 29 Maggio 2006, 09:57 »
bravo cris... OTTIMO LAVORO ..... aspetto con ansia.. se non rispondo subito non preoccuparti sto scorrazzando con la gsr ...... :D