Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 May 2006 23:16:22 -1000
From:      Jim Thompson <jim@netgate.com>
To:        Benno Rice <benno@FreeBSD.org>
Cc:        gnn@freebsd.org, freebsd-small@freebsd.org
Subject:   Re: Flash File Systems or Translation Layers?
Message-ID:  <A2451718-0B8F-4BF2-9466-F6EDC6DC212B@netgate.com>
In-Reply-To: <446C2380.6020000@FreeBSD.org>
References:  <m2bqtwoena.wl%gnn@neville-neil.com> <446BBE65.50104@FreeBSD.org> <9f7850090605171746p5ff4dbefq46211ce93aafc116@mail.gmail.com> <446C2380.6020000@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On May 17, 2006, at 9:34 PM, Benno Rice wrote:

> marty fouts wrote:
>> On 5/17/06, Benno Rice <benno@freebsd.org> wrote:
>>> gnn@freebsd.org 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".




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A2451718-0B8F-4BF2-9466-F6EDC6DC212B>