Re: Flash File Systems or Translation Layers?

Jim Thompson <[email protected]>
Newsgroups gmane.os.freebsd.devel.small
Message-ID <[email protected]>
On May 17, 2006, at 9:34 PM, Benno Rice wrote:

> marty fouts wrote:
>> On 5/17/06, Benno Rice <[email protected]> wrote:
>>> [email protected] wrote:
>>> > Howdy,
>>> >
>>> > So, a few of us have talked off list of the need for a flash file
>>> > system or translation layer for FreeBSD in order to better  
>>> target the
>>> > kind of boards we want to support.  The one lead I had was to a  
>>> poorly
>>> > written, binary only solution with nasty licensing.   That is,  
>>> it was
>>> > a dead end.  Does anyone know of anything that exists now that we
>>> > might coopt or have the knowledge to do this right/well?
>>>
>>> I thought about doing a port of jffs2.  Probably a rewrite  
>>> actually, so
>>> we can have a non-GPL version.  It's waiting on me getting to the  
>>> point
>>> where I need it though. =)
>>>
>> You probably don't want jffs2, because it has, um, interesting,
>> performance characteristics. I also vaguely recall reading that the
>> authors had stopped development on jffs3.
>
> It depends on what we're doing with it.  If all we're doing is  
> booting off it and then switching to something else,
What are you going to switch to?  There is only so much space  
available on most embedded systems.
> it's not really an issue IMO so long as it can keep up with the  
> boot process.
"keep up?"  Could you explain what you mean by this?
> It's also supported by things like U-Boot which is helpful.
>
>> Also, jffs requires MTD, and it's debatable whether a rewrite of MTD
>> would be a good thing or not.  See discussions on the yaffs mailing
>> list and, IIRC, one of the NetBSD mailing lists on this recently.
>> It's not clear to me that "flash" is a good dividing point for making
>> a file system. It seems a lot more likely that NOR and NAND flash are
>> enough different that they would require their own file systems, or,
>> at the least, their own address translation layers.
>
> That may be the case, but I'm not so much interested in the  
> "perfect" solution, I'm just after one that works and that requires  
> the least amount of dinking with the bootloader that ships with the  
> hardware I'm working on.  In my current case (Gumstix Connex 400xm- 
> bt, Intel XScale PXA255) the board has U-Boot and the shipped Linux  
> image uses jffs2.  I think the U-Boot on the board supports FAT and  
> jffs2, so one of those is my preference.

JFFS2 doesn't >require< mtd, mtd is mostly just a way to identify  
and  'partition' flash.

There is at least one 'other' important bootloader for this work:  
'redboot'.  (But redboot supports (or can be made to support) jffs2.

Still having a bootloader that knows how to 'read' the filesystem  
isn't that important, as long as you can store the kernel somewhere  
other than >in< the filesystem.   No "dinking" needed.  (are you  
aware that 'dink' is also a bootloader (for ppc)?)

So lets not go all cart-before-horse on this one.

We >do< want a FTL or FFS, it doesn't >have< to be JFFS2, but JFFS2  
has many nice features (on the fly compression, wear-leveling, etc.)  
so its worth studying, at least.

Its unlikely that the FreeBSD kernel maintainers will accept GPL code  
in freebsd though, so a re-write (or fresh code under a BSD license)  
would be a "good thing".

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-small
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.