On Thu, Dec 03, 1998 at 12:37:47AM +0100, James Ewing wrote:
> The problem with the current romfs is that it essentially embeds a
> compressed file system in the kernel image. This must naturally be
> decompressed into a RAM disk. Not much good when there is only 2 MB to play
> with.
Romfs is a filesystem, which can be accessed from any block media. You just
described an initrd implementation of romfs, but that's by no means the only
way. I've happily mounted romfs filesystems using the loopback driver (a
file on another filesystem) and from floppies.
Furthermore, you can run any filesystem on a flash disk. All you need to do
is write a block device driver (/dev/flash?) that has some particularly
clever write-back caching, and off you go. A simple read-only block driver
would be even easier.
> There is a German company that has developed all the flash stuff (they did
> M-Systems Linux driver), but it is all binary only and pricey in proud
> BillGatesian style. What Linux needs is a couple of OS gurus to write the
> FFS and flash hardware drivers under the GNU model. I a competent enough C
> hacker to contribute to this, but not guru enough to lead the pack. Any
> takers?
Hmm, it may not be legal to distribute a GPL kernel linked with non-free
libraries. Linus made a specific exception for binary-only modules (he
doesn't believe insmod is the same as linking) but building them into the
kernel is another story...
At my last job, I wrote a flash disk driver for pSOS, based on the FAT fs.
I'd be willing to contribute to (or write from scratch) a flash block device
driver, except that I don't have any hardware to play with.
A special filesystem would be somewhat harder, though...
Have fun,
Avery