[oe] [RFC] Setting default IMAGE_FSTYPES to tar.gz in bitbake.conf

Richard Purdie rpurdie at rpsys.net
Sat Feb 9 18:55:33 UTC 2008


Hi Paul,

On Sat, 2008-02-09 at 13:48 +0200, Paul Sokolovsky wrote:
> > On Tue, 2008-01-29 at 01:41 +0200, Paul Sokolovsky wrote:
> > This has been discussed before and I'd like to see that changed. The
> > complication is that "bitbake image" is meant to give a sane default
> > image for a given machine without any tweaking by the user and a load
> > of machines depend on the jffs2 default. 
> 
> Unfortunately, this is not achievable and not sustainable goal. It's
> not achievable because there's no single criteria for "sane", it
> depends first of all on user's needs. So, trying to make adhoc choices
> instead of user would mean that for some group of users they will be
> unpredictable and thus insane. So, it would make more sense to use "not
> insane" criteria instead and use some neutral, well-known format, which
> is why this RFC is being made.

Often there is an obvious format which makes sense for a given machine.
For qemu, its ext2, at least in Poky where the scripts to run the images
expect that. For my c7x0 its jffs2 for spitz its a tgz etc.

I agree that not everyone is going to want these formats in every case,
thats why its a "soft" ?= setting and not a hard set one.

> And those above is why it's not sustainable - now it comes that to
> achieve that goal it takes to be a machine expert, etc. etc. Of course,
> noone is expert in all machines, some people are not experts in the
> machine they add/hack on, all people can not know something, make
> mistakes and wrong choices, etc. In the end and overall, presence of
> jffs2 in specific machine's config turns out to be rather random
> matter. 

No, its not random. jffs2 is the default image format that makes sense
on say a c7x0 or akita since thats what its reflash utils accept and
what the Angstrom install notes assume is used on that device.

> We may want to rethink that to be based on more firm grounds.
> One possible way:
> 
> 1. IMAGE_FSTYPES is not a machine config variable.

No, I want it to have a sane value for machines where it makes sense. It
doesn't make sense in all cases but where it does, it hurts nothing to
set it.

> 2. IMAGE_FSTYPES is a top-level parameter specified by user. User needs
> specific format, user requests it. There's a default though offering
> least surprise as integrated over user base - i.e. neutral, well-known
> format.

This "neutral" offering being a tgz? Thats useless to boot my c7x0. I
want OE to produce something usable, I don't want to have to change my
IMAGE_FSTYPES every time I change machine.

> 3. Alternatively, a *distro* may constrain a way in which images are
> used, and thus force a particular image format. So, for a dumb headless
> router machine, one distro will try to follow vendor's way and generate
> images in an adhoc format. Yet another for the same machine will assume
> that bootloader was replaced with some generic one and will use generic
> flash image format like jffs2. And yet another will be intended for the
> people who soldered few wires at the appropriate place and use bit-bang
> to boot from SD.

The DISTRO can override the machine if it wishes now with no change to
OE, that is up to the distros concerned. That doesn't stop machines from
having sane defaults.

> Well, as usual, thoughts aloud. I'm going to add 
> IMAGE_FSTYPES ?= "jffs2" to the machines from your 1st list to get
> matter going.

ok.

Cheers,

Richard







More information about the Openembedded-devel mailing list