ts-7000
[Top] [All Lists]

[ts-7000] Recovery with SerialBlaster (was Re: NetBSD on a TS-7260)

To:
Subject: [ts-7000] Recovery with SerialBlaster (was Re: NetBSD on a TS-7260)
From: "Tom Hansen" <>
Date: Tue, 05 Sep 2006 22:05:40 -0000
Well, I figured out why I was not able to boot with the standard TS
boot code loaded into the eeprom.  It was because the 16k
flash-resident code had been trashed along with everything else and
needed to be reloaded.

Once I did that (with a RedBott "load" followed by an "fis write" to
0x60000000) the board booted normally like it used to originally from
the factory.

I currently have the board configured with the TS stock bootrom and
16k boot code, and your modified RedBoot, and everything works.

Unfortunately, I have not so far accomplished my original task, which
was to get NetBSD booting on the board.  I can load the kernel into
RAM with TFTP and boot it, and it actually works, but it does not
appear to be possible to load it from flash, since the uncompressed
kernel will not fit in that open space between the RedBoot and RedBoot
config.  (The compressed kernel is hard-coded for TS7200 addresses.)

Is it possible to rebuild RedBoot such that the "(reserved)" space is
smaller?  If it could be shrunk by just 3 megs or so, there'd be room
for another FIS entry there that could house the NetBSD kernel.

Alternatively, do you know if there is a way to do the reverse of "fis
write" and copy from an arbitrary address range in flash to RAM?  If
that was possible, I'd be set, because I could just write the NetBSD
kernel to an unused place in flash (which is most of it since NetBSD
can't use the onboard flash anyway) and then, on boot, have a RedBoot
script that would extract the kernel from that address in flash and
run it.

I thought that a simply memcpy would work, but it doesn't-- and doing
a "dump" from RedBoot of Flash memory addresses returns all "FF"'s
even when I know there's something in flash at that address.

Thanks.


--- In  Curtis Monroe <> wrote:
>
> WOW you made fast progress.
> 
> A couple quick notes:
> 
>               .org    2048                    @ ensures the file is 2k in 
> size. (no more, no less)
>               .end
> 
> The .org command is there to cause an error if you go over the 2048
byte limit 
> of the eeprom. The EP9302 will only load 2048 bytes from the eeprom so 
> anything over will not be loaded at boot time.
> 
> I've started working on a new version of the SerialBlaster that can
boot from 
> an 8KB eeprom. I soldered off the 2KB eeprom and replaced it with a 8KB 
> eeprom (was easy to do). The new SerialBlaster boots in two stages.
It first 
> boots the initial 2KB which then loads the additional 6KBs boot loader.
> 
> You can get a version of the default TS eeprom and redboot images
and burn 
> them using my serialblaster.
> 
> -Curtis.
> 
> 
> 
> 
> On September 2, 2006 01:20 pm, Tom Hansen wrote:
> > I was able to get the board booting into Redboot from flash again by
> > doing the following:
> > 
> > ("Host" refers to the PC being used to rescue the board, "Board"
> > refers to the board)
> > 
> > 1.  Host: Downloaded SerialBlaster from the Files section of this
> > Yahoo group.
> > 2.  Host: Built it according to the included directions.
> > 3.  Board: Installed a jumper on JP1.
> > 4.  Host/Board: Booted the board using the newly-build SerialBlaster.
> > 5.  Host: Went into boot.S and changed it to boot in FLASH mode.
> >         and got rid of .org 4096 thing (yes it works anyway)
> > 6.  Host: make clean; make in serialblaster directory.
> > 7.  Host/Board: booted with SerialBlaster.
> > 8.  Above boot only loads boot.bin, then proceeds directly to the
> > redboot loaded at the previous boot, since it is now in FLASH mode.
> > 9.  Board: Used the following commands on board:
> > 
> >     load -v -r -b 0x00200000 -m xmodem
> > 
> > 10. Host: transmitted boot.bin to board with xmodem.
> > 11. Board: burned boot to EEPROM with the following command:
> > 
> >     eeprom_write -b 0x00200000 -o 0 -l 2048
> > 
> > 12. Board: Now system boots completely from flash.
> > 
> > 
> > Some particular notes:
> > 
> > a) Regarding step 5, I tried to retain the boot.bin as originally
> > compiled, but it would never proceed to Redboot by itself, apparently
> > staying in serial mode and trying to load Redboot from serial rather
> > than from flash, thus requiring a rebuild after changing the
> > definitions in boot.S to indicate FLASH mode.  However it then
> > complained about going backwards  (or some such) with the .org 4096
> > thing.  I did see a post by Curtis in which he said the org 4096 thing
> > was required.  I tried very hard to retain it, but in the end I left
> > it off and it just worked.
> > 
> > b) All attempts to reflash original TS components (EEPROM and Redboot)
> > have failed.  This is a slight problem because the SerialBlaster
> > version of Redboot doesn't appear to initialize USB correctly, and
> > that's where my root NetBSD filesystem is.  The failure to reflash the
> > original components probably has to do with differences between the
> > 7250 for which SerialBlaster was written, and the 7260 which I have.
> > 
> > c) Apparently the SerialBlaster versions of EEPROM/Redboot do not make
> > such extensive use of the "(reserved)" area of flash, because I was
> > able to write (but not successfully boot from) a NetBSD kernel into
> > the reserved space without crashing the board.  The board still booted
> > into RedBoot after I did that.
> > 
> > 
> > I'll post further developments as they occur.
> > 
> > 
> > --- In  Curtis Monroe <curtis@> wrote:
> > >
> > > You might try my SerialBlaster utility (search old posts).
> > > 
> > > I built it for a TS-7250 but it might still work for the TS-7260.
> > > 
> > > Or you can send it back to TS for a reflash.
> > > 
> > > -Curtis.
> > >
> > 
> > 
> > 
> >
>






 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU