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>