Discussion:
[uClinux-dev] jffs to jffs2 filesystem
Steve deRosier
2012-12-12 01:52:07 UTC
Permalink
Is there anyway to upgrade an old jffs filesystem to jffs2?

After getting jffs2 and mtd working properly on my new kernel image, I
tried to mount the existing flash. Bad fail. Long story short, I
eventually noticed the existing flash is formatted with old v1 jffs,
not jffs2. Trying to mount it as jffs2 and it spews lots of messages
including:
Old JFFS2 bitmask found at 0x0009a1dc
You cannot use older JFFS2 filesystems with newer kernels
and eventually gives up with the message:
Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes

OK, fair enough. Research leads me to believe that modern Linux
doesn't retain the old v1 jffs system, nor is the jffs2 file system
willing to read or write it. I'm upgrading the kernel on this product
for very good reasons, and ideally we need to keep compatibility with
the existing data in the field.

Is there any way to upgrade an old jffs filesystem to jffs2 with
current versions of Linux? Alternately, is there a jffs implementation
that works with a 3.x Linux as per the modern uClinux distro? Or does
anyone have any other ideas?

Thanks,
- Steve
Erwin Authried
2012-12-12 08:01:35 UTC
Permalink
Steve,

I think there's no way to upgrade an existing jffs to jffs2 directly.
Maybe you can backup your data somewhere, you can use a spare raw mtd
partition to save your data as a compressed tar, for example. After
this, erase your existing jffs partition. After upgrading your kernel
and mounting the partition as jffs2, it will be initialized
automatically, and you can copy back your data.

-Erwin
Post by Steve deRosier
Is there anyway to upgrade an old jffs filesystem to jffs2?
After getting jffs2 and mtd working properly on my new kernel image, I
tried to mount the existing flash. Bad fail. Long story short, I
eventually noticed the existing flash is formatted with old v1 jffs,
not jffs2. Trying to mount it as jffs2 and it spews lots of messages
Old JFFS2 bitmask found at 0x0009a1dc
You cannot use older JFFS2 filesystems with newer kernels
Cowardly refusing to erase blocks on filesystem with no valid JFFS2 nodes
OK, fair enough. Research leads me to believe that modern Linux
doesn't retain the old v1 jffs system, nor is the jffs2 file system
willing to read or write it. I'm upgrading the kernel on this product
for very good reasons, and ideally we need to keep compatibility with
the existing data in the field.
Is there any way to upgrade an old jffs filesystem to jffs2 with
current versions of Linux? Alternately, is there a jffs implementation
that works with a 3.x Linux as per the modern uClinux distro? Or does
anyone have any other ideas?
Thanks,
- Steve
_______________________________________________
uClinux-dev mailing list
uClinux-dev at uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev at uclinux.org
http://mailman.uclinux.org/mailman/options/uclinux-dev
--
Dipl.-Ing. Erwin Authried
Softwareentwicklung und Systemdesign
Continue reading on narkive:
Loading...