On September 6, 2006 03:53 pm, Michael Schmidt wrote:
>
> > On September 6, 2006 07:10 am, Guillermo Prandi wrote:
> >> > P.S. I really don't understand why TS didn't just define the FIS
> >> > directory as follows:
> >> >
> >> > TS-BOOTROM 0x6000-0000 - 0x6000-3fff
> >> > LinuxFS 0x6000-4000 - 0x6....
> >> > RedBoot 0x6....
> >> > zimage ...
> >> > RedBoot config ...
> >> >
> >> > If they did it that way, it would be very easy to use RedBoot to
> >> > replace the LinuxFS with whatever you wanted. Instead of course
> >> they
> >> > grouped the TS-BOOTROM and the LinuxFS under "(reserved)" and you
> >> > can't touch it with RedBoot. So we have to become RedBoot source
> >> > hackers to do anything non-standard with the board.
>
> The filesystem is defined the way it is because the reserved space contains
> data which RedBoot doesn't know how to handle. For instance, the Linux
> partition uses the YAFFS or YAFF2 filesystem. If RedBoot were to naively
> write to this area, not only would the data be in the wrong format, but out
> of band data which YAFFS requires would not be written.
>
> >> Another reason may come from the fact that the MTD driver on the TS
> >> kernel does not parse the RedBoot partition at all, but has a
> >> hardcoded map of the partitions instead. If you would change the
> >> partition layout, the /dev/mtd devices would stop working (At least
> >> on the TS-11 kernel version I'm using).
> >>
>
> I think you've got this backwards... Redboot sits in its own partition which
> is (currently) hard-coded by the MTD driver. It is true however that MTD
> has no knowledge of the filesystem used by RedBoot (fis dir).
I think Guille is suggesting the Linux MTD driver parse the Redboot "fis dir"
to extract its partition list. In this way the partition sizes and locations
are not hardcoded in the MTD driver. Users could change the partition sizes
and locations, as long as the name of the FIS partion remained the same, so
the linux driver could find the partition (much like an IDE partition table)
>
> >> Guille
> >>
> >
> > TS loads the 256KB RedBoot partition into memory with no ECC correction.
> > Thats
> > pretty risky. The SerialBlaster bootloader loads Redboot with ECC.
>
> This is not entirely true... There is ECC checking and correction
> implemented in RedBoot. Also, when we added support for 2K sector size NAND
> flash, code was added to deal with and work around bad blocks, but this is
> in the RedBoot partition *only* and is an entirely different scheme from
> what a filesystem like YAFFS uses.
>
... nope still true:
I don't have the latest 2KB TS-PREBOOT eeprom image, or 16KB TS-BOOTROM, so
all my comments are based on the TS-7250 versions.
The 2KB TS-PREBOOT EEPROM image does not need ECC because it is not subject to
that same errors as NAND.
The 16KB TS-BOOTROM image does not need ECC because it resides within the
first block. This block is guarantied to be error free without ECC for up to
1,000 progam/erase cycles. (see the data sheet)
The 256KB RedBoot image needs ECC. It is not within the first block which is
guaranteed error free, (block = 16KB for small page nand flash, block = 128KB
for large page flash). This means the 16KB TS-BOOTROM must implement ECC
correction when loading RedBoot. Its possible the TS-BOOTROM could load a
Redboot image that is corrupt, but this would be rare.
The linux Kernel, or BSD Kernel should also be loaded with ECC. It sounds like
RedBoot does this now! good.
> >
> > Redboot seems to have jffs2. Maybe that could be used to store the linux
> > kernel or BSD kernels. But it looks like it need some work:
> >
> > ecos/packages/fs/jffs2
> >
>
> The file "ecos/packages/redboot/current/src/flash.c" contains most of the
> logic for the fis commands, you might want to look at that.
>
>
> Michael
>
>
------------------------ Yahoo! Groups Sponsor --------------------~-->
Great things are happening at Yahoo! Groups. See the new email design.
http://us.click.yahoo.com/SktRrD/hOaOAA/yQLSAA/CFFolB/TM
--------------------------------------------------------------------~->
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|