linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* jffs2, mtd, mtd-utils and ancient kernels
@ 2019-10-15  1:01 don311
  2019-10-15 19:11 ` Richard Weinberger
  0 siblings, 1 reply; 3+ messages in thread
From: don311 @ 2019-10-15  1:01 UTC (permalink / raw)
  To: linux-mtd

Greetings,

I apologize for writing my first post here on a topic you've made
abundantly clear, for a long _long_ time now, that you have no interest
in: support for ancient kernels.  If it helps, let me be clear that I'm
not looking for "support" in quite the usual sense, but I have what I
think are a couple pretty basic questions.  I've tried downloading and
searching through the mailing list archives going back to the era that
the device I'm working on was originally developed (2004) without much
luck.  Google hasn't been much help with this either.  Of course it's
possible I just wasn't searching for the right things.

Basic questions:

Q1/ From what I've read, before MTD, JFFS2, and mtd-utils source code
    moved to Git in 2006, it was in CVS, and snapshots were available
    here:
        ftp://ftp.uk.linux.org/pub/people/dwmw2/mtd/...
    That doesn't seem to work any more (hardly surprising, I guess,
    after so long), but I'm wondering: Might those old snapshot archives
    still be available somewhere else?  I don't see any mention of it on
    the current web site.

Q2/ Is there anything you can point me to that shows which versions of
    MTD, JFFS2, and mtd-utils were delivered for use with each Linux
    kernel release?  In my case, I have particular interest in kernel
    2.4.26 -- so would it be possible to, say, find the mtd-utils
    version that corresponds to the version of MTD and JFFS2 used in
    2.4.26?

Slightly more detailed historical questions -- if any of you are still
reading, and happen to remember back that far:

Q3/ The JFFS2 code in 2.4 is referred to in several places (web site and
    mailing list) as stable, but does anyone here know/remember whether
    its "on-disc" (er, "on-flash") format continued to stay stable after
    2.4?  Put another way, how compatible (forwards and backwards) are
    JFFS2 images between 2.4 and later?
      - On the forward side, if one upgraded the kernel on a device that
        had been running 2.4.x (x >= 26) to something later, could the
        file system be used as-is?  (I mean, without risk of an ensuing
        mess?)
      - On the backward side, how dangerous would it be to use a 2.4.26
        kernel with a new (never mounted) JFFS2 image built with a later
        version of mkfs.jffs2?  (Not that one would deliberately choose
        such to do a thing, of course.)  I've built 2 or 3 different
        versions and found that they generate much different images from
        a constant "source" directory tree, but I haven't yet tried to
        dissect the images to understand the differences.

Q4/ The JFFS2 code in 2.4 is also referred to as well tested.  Is anyone
    here aware of whether that extends to the area of random hardware
    resets / power cuts, such as might be experienced on embedded
    devices without reliable power sources?  I see there were many
    performance improvements and bug fixes over the years, but are you
    aware of any data about relative reliability -- on the same hardware
    -- of JFFS2 in 2.4 vs much later / current, say?  (I believe "on the
    same hardware" would imply nor flash here, since 2.4 didn't support
    nand.)

I'd be happy to explain what sorts of colorful pharmaceuticals I've been
into that could cause me to ask such questions, but I suspect the above
may be enough flame-inducing stuff for one post.

Best regards,
Don

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: jffs2, mtd, mtd-utils and ancient kernels
  2019-10-15  1:01 jffs2, mtd, mtd-utils and ancient kernels don311
@ 2019-10-15 19:11 ` Richard Weinberger
  2019-10-16 20:27   ` don311
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Weinberger @ 2019-10-15 19:11 UTC (permalink / raw)
  To: don311; +Cc: David Woodhouse, linux-mtd

Don,

On Tue, Oct 15, 2019 at 3:01 AM <don311@gmx.us> wrote:
>
> Greetings,
>
> I apologize for writing my first post here on a topic you've made
> abundantly clear, for a long _long_ time now, that you have no interest
> in: support for ancient kernels.  If it helps, let me be clear that I'm
> not looking for "support" in quite the usual sense, but I have what I
> think are a couple pretty basic questions.  I've tried downloading and
> searching through the mailing list archives going back to the era that
> the device I'm working on was originally developed (2004) without much
> luck.  Google hasn't been much help with this either.  Of course it's
> possible I just wasn't searching for the right things.
>
> Basic questions:
>
> Q1/ From what I've read, before MTD, JFFS2, and mtd-utils source code
>     moved to Git in 2006, it was in CVS, and snapshots were available
>     here:
>         ftp://ftp.uk.linux.org/pub/people/dwmw2/mtd/...
>     That doesn't seem to work any more (hardly surprising, I guess,
>     after so long), but I'm wondering: Might those old snapshot archives
>     still be available somewhere else?  I don't see any mention of it on
>     the current web site.

Maybe David knows. CC'ed.

For kernel stuff, see:
https://git.kernel.org/pub/scm/linux/kernel/git/tglx/history.git/

> Q2/ Is there anything you can point me to that shows which versions of
>     MTD, JFFS2, and mtd-utils were delivered for use with each Linux
>     kernel release?  In my case, I have particular interest in kernel
>     2.4.26 -- so would it be possible to, say, find the mtd-utils
>     version that corresponds to the version of MTD and JFFS2 used in
>     2.4.26?

Usually Debian is a good source for such an information.
...or any other Linux distro with long term archives.

> Slightly more detailed historical questions -- if any of you are still
> reading, and happen to remember back that far:
>
> Q3/ The JFFS2 code in 2.4 is referred to in several places (web site and
>     mailing list) as stable, but does anyone here know/remember whether
>     its "on-disc" (er, "on-flash") format continued to stay stable after
>     2.4?  Put another way, how compatible (forwards and backwards) are
>     JFFS2 images between 2.4 and later?
>       - On the forward side, if one upgraded the kernel on a device that
>         had been running 2.4.x (x >= 26) to something later, could the
>         file system be used as-is?  (I mean, without risk of an ensuing
>         mess?)

We try hard to stay compatible and use versioning. So I'd assume that a
recent kernel still can mount an old filesystem.
If not, please report.

>       - On the backward side, how dangerous would it be to use a 2.4.26
>         kernel with a new (never mounted) JFFS2 image built with a later
>         version of mkfs.jffs2?  (Not that one would deliberately choose
>         such to do a thing, of course.)  I've built 2 or 3 different
>         versions and found that they generate much different images from
>         a constant "source" directory tree, but I haven't yet tried to
>         dissect the images to understand the differences.

As long you don't enable newer features in mkfs, it should work too.

> Q4/ The JFFS2 code in 2.4 is also referred to as well tested.  Is anyone
>     here aware of whether that extends to the area of random hardware
>     resets / power cuts, such as might be experienced on embedded
>     devices without reliable power sources?  I see there were many
>     performance improvements and bug fixes over the years, but are you
>     aware of any data about relative reliability -- on the same hardware
>     -- of JFFS2 in 2.4 vs much later / current, say?  (I believe "on the
>     same hardware" would imply nor flash here, since 2.4 didn't support
>     nand.)

You *really* don't want to use a 2.4 kernel.

> I'd be happy to explain what sorts of colorful pharmaceuticals I've been
> into that could cause me to ask such questions, but I suspect the above
> may be enough flame-inducing stuff for one post.

I'm all ear. :-)

-- 
Thanks,
//richard

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: jffs2, mtd, mtd-utils and ancient kernels
  2019-10-15 19:11 ` Richard Weinberger
@ 2019-10-16 20:27   ` don311
  0 siblings, 0 replies; 3+ messages in thread
From: don311 @ 2019-10-16 20:27 UTC (permalink / raw)
  To: Richard Weinberger; +Cc: linux-mtd

On Tue, 2019-10-15 21:11:39 +0200, Richard Weinberger wrote:
> On Tue, Oct 15, 2019 at 3:01 AM <don311@gmx.us> wrote:
> > Q2/ Is there anything you can point me to that shows which versions of
> >     MTD, JFFS2, and mtd-utils were delivered for use with each Linux
> >     kernel release?  In my case, I have particular interest in kernel
> >     2.4.26 -- so would it be possible to, say, find the mtd-utils
> >     version that corresponds to the version of MTD and JFFS2 used in
> >     2.4.26?
>
> Usually Debian is a good source for such an information.
> ...or any other Linux distro with long term archives.

Ah, good idea, I should've thought of this.

They don't make the old stuff real easy to find, but it looks as though
Debian jumped from mtd-tools 20011217-3 in 3.0 (Woody) to 20050122-2 in
3.1 (Sarge) -- quite a big jump.  I also tried Fedora and couple distros
that targeted embedded systems without much luck.  But I can keep
looking.

I just noticed that one of the versions in our source repo is referred
to as 20040219.  That's plausible, considering 2.4.26 was released a
couple months after that.  Still, it would be nice to be able to verify
that the code there matches the original release.

> >       - On the backward side, how dangerous would it be to use a 2.4.26
> >         kernel with a new (never mounted) JFFS2 image built with a later
> >         version of mkfs.jffs2?  ...
>
> As long you don't enable newer features in mkfs, it should work too.

Okay, this is the situation I inherited: JFFS2 images that were
generated with mkfs.jffs2 from ~2012 are being used in production with
target systems running 2.4.26.  To me it was a potential "red flag" from
the start (without knowing any internal details), and discovering that
image files generated by differing versions didn't match didn't make me
feel any better about it.  But I'm glad to hear there are no obvious
incompatibilities.  I'll have to check the command line, but I doubt
we're using any newer features.

> > Q4/ The JFFS2 code in 2.4 is also referred to as well tested.  Is anyone
> >     here aware of whether that extends to the area of random hardware
> >     resets / power cuts, such as might be experienced on embedded
> >     devices without reliable power sources?  I see there were many
> >     performance improvements and bug fixes over the years, but are you
> >     aware of any data about relative reliability -- on the same hardware
> >     -- of JFFS2 in 2.4 vs much later / current, say?  (I believe "on the
> >     same hardware" would imply nor flash here, since 2.4 didn't support
> >     nand.)
>
> You *really* don't want to use a 2.4 kernel.

Very true! :-)

The device I've been hired to work on is used in the building automation
and HVAC industries, where support cycles can run decades, rather than
years (or months) as in many other fields.  Some of the issues I've
fixed have been within the client's own software, but some have been in
the platform -- in custom hardware drivers, for example.  Each one comes
with some sort of calculation of cost (typically my time) and risk,
compared to expected benefit in the field.

In this case, I discovered that a relatively high proportion of
defective units returned from customer sites (that were attributable to
failures in this part of the system) have moderate to severe file system
corruption.  There are many possible explanations, but one of my
theories about it is unfortunate timing of power cuts, relative to file
writes or garbage collection, say.  If this was a known vulnerability of
the otherwise "stable" 2.4 JFFS code, dealing with that would be a high
priority; if not, I'd look elsewhere first.

Moving to a modern kernel, while _very_ appealing in so many ways, is
probably not something that the client would buy into for this
long-obsolete (development-wise) product -- at least not without that
cost-benefit calculation showing that it's an overall win.  I'm not even
sure the core hardware is still supported with modern Linuxes and
toolchains.

So the "pharma" involved here is kind of related to my salary. :-)

Best regards,
Don Estabrook

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-10-16 20:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-15  1:01 jffs2, mtd, mtd-utils and ancient kernels don311
2019-10-15 19:11 ` Richard Weinberger
2019-10-16 20:27   ` don311

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).