In article <
slrnp3kfcc.6ls....@mudrac.ffzg.hr>, Nikolaj
Lazic <
nlazicB...@mudrac.ffzg.hr> says...
> A, probati napuniti flash ne preko njega? Ono... odlemiti ga i onda
> zapisati na drugoj masini, pa vratiti nazad?
> Bilo bi ibdealno ako bi nasao negdje istu masinu, pa procitati originalni
> flash, zapisati na ovoga i vratiti nazad.
> Mozda idmah staviti i podnozje za ovaj flash.
> Tak da se moze eksperimentirati...
Cak i kad se izda komanda erase all se ne obrise bas sve nego ostane
komandna linija s kojom bi se trebalo moci napraviti bilo sta a dok je
ubacen ispravni firmware onda je izgleda u sklopu njega i bootloader
koji se pokrece preko menu-a kojih sada vise nema. Dok sve radi kako
treba su u flash-u dva firmware-a tako da se u slucaju da novi ne radi
ispravno moze pokrenuti prethodni ali izgleda da je frend ubacio image
za uredjaje koji imaju duplo vise flash memorije pa je prebrisao obadva
image-a i sad je preostalo samo da se ispravni firmware ubaci preko
komandne linije ali problem su offset-i i organizacija memorije.
Izgleda da su RAM i flash u istom adresnom prostoru pa je od odredjene
adrese RAM a dalje je flash. Image ima neki format kojega ovaj dio
firmware-a koji se ne moze unistiti dekompresira i 4 bloka raspodjeli
na razne adrese, ovo je ispis kad se pokrene bootanje iz RAM-a
=> bootm 0x08000074
## Booting kernel from Legacy Image at 08000074 ...
Image Name: FASTPATH System for lb4m
Image Type: PowerPC Linux Multi-File Image (gzip compressed)
Data Size: 8134458 Bytes = 7.8 MB
Load Address: 00000000
Entry Point: 00000000
Contents:
Image 0: 1138558 Bytes = 1.1 MB
Image 1: 1422470 Bytes = 1.4 MB
Image 2: 474 Bytes = 0.5 kB
Image 3: 5572930 Bytes = 5.3 MB
Verifying Checksum ... OK
## Loading init Ramdisk from multi component Legacy Image at 08000074
...
Uncompressing Multi-File Image ... OK
Loading Ramdisk to 1fa0c000, end 1fb67486 ... OK
Loading Device Tree to 007fc000, end 007ffb63 ... OK
Ovo su environment variable:
=> printenv
bootargs=root=/dev/ram rw mtdparts=physmap-flash.0:32256k(jffs2),512k
(u-boot),128k@32512k(u-boot-env)
bootcmd=fsload 0x08000000 ${active} ; bootm 0x08000074 ; fsload
0x08000000 ${backup} ; bootm 0x08000074 ; fsload 0x08000000 image1 ;
bootm 0x08000074 ; fsload 0x08000000 image2 ; bootm 0x08000074
bootdelay=3
loads_echo=1
eth1addr=00:E0:0C:00:01:FD
eth2addr=00:E0:0C:00:02:FD
loadaddr=0x08000000
mtdparts=mtdparts=physmap-flash.0:32256k(jffs2),512k(u-boot),128k@
32512k(u-boot-env)
mtdids=nor0=physmap-flash.0
ethaddr=E8:9A:8F:A0:35:07
baudrate=115200
ethact=TSEC0
active=image2
backup=image1
fileaddr=8000000
filesize=7C1FEE
fileaadr=80000074
stdin=serial
stdout=serial
stderr=serial
partition=nor0,0
mtddevnum=0
mtddevname=jffs2
Na PC-u se pokrene tftp server pa se na switch-u preko terminala izda
komanda:
tftpboot x.x.x.x:lb6m
gdje je x.x.x.x IP adresa od PC-a a lb6m je ime image-a a nakon toga se
image upload-a u RAM na adresu 0x08000000, to sam provjerio s:
=> md 0x08000000 (md = memory display)
I vidi se da je image kopiran u RAM od switch-a a koliko vidim iz
environment variabli je start na offset-u 0x74.
Iz RAM-a sam image u flash prekopirao s:
=> cp 0x08000000 0xfe000000 0x7c1fee
Nakon toga se moze boot-ati iz RAM-a ili se moze switch resetirati pa
onda on automatski firmware kopira iz flash-a u RAM i pokrene boot.
Za vrijeme boot-a bi se firmware iz flash-a trebao prekopirati u RAM pa
se od tamo pokrenuti i to prolazi ali za Load address i Entry point iz
nekog razloga pise adresa 0x00000000 i nakon toga se swith ponovo
resetira i tako u krug:
U-Boot 2009.06 (Apr 19 2011 - 15:57:06)
CPU: 8541, Version: 1.1, (0x80720011)
Core: E500, Version: 2.0, (0x80200020)
Clock Configuration:
CPU0:825 MHz,
CCB:330 MHz,
DDR:165 MHz (330 MT/s data rate), LBC:41.250 MHz
CPM: 330 MHz
L1: D-cache 32 kB enabled
I-cache 32 kB enabled
I2C: ready
DRAM: Initializing
Warning: some of the installed DIMMs can not operate this slowly.
DDR: 512 MB
FLASH: 32 MB
L2: 256 KB enabled
Service port MAC address: E8:9A:8F:A0:35:07
Not using VPD EEPROM MAC, using MAC E8:9A:8F:A0:35:07 from U-Boot
environment
In: serial
Out: serial
Err: serial
Net: TSEC0: PHY is Broadcom BCM5482 (143bcb1)
TSEC1: PHY is Broadcom BCM5482 (143bcb1)
TSEC0, TSEC1
Hit any key to stop autoboot: 0
### JFFS2 loading 'image2' to 0x8000000
Scanning JFFS2 FS: done.
find_inode failed for name=image2
load: Failed to find inode
### JFFS2 LOAD ERROR<0> for image2!
## Booting kernel from Legacy Image at 08000074 ...
Image Name: FASTPATH System for lb4m
Image Type: PowerPC Linux Multi-File Image (gzip compressed)
Data Size: 8134458 Bytes = 7.8 MB
Load Address: 00000000
Entry Point: 00000000
Contents:
Image 0: 1138558 Bytes = 1.1 MB
Image 1: 1422470 Bytes = 1.4 MB
Image 2: 474 Bytes = 0.5 kB
Image 3: 5572930 Bytes = 5.3 MB
Verifying Checksum ... OK
## Loading init Ramdisk from multi component Legacy Image at 08000074
...
Uncompressing Multi-File Image ... OK
Loading Ramdisk to 1fa0c000, end 1fb67486 ... OK
Loading Device Tree to 007fc000, end 007ffb63 ... OK