Clarifications of downloadable file types
openmoko at mazikeen.demon.co.uk
Thu Jul 10 21:34:17 CEST 2008
On Thursday 10 July 2008, Randy Schnedler wrote:
> Hi all. I am an experienced developer, though not so much with Linux
> development. As I await the arrival of my FR, I have tried to prepare some
> different things I want to try.
What sort of background? It might help someone else give better explanations
if I've pitched this wrong.
> First, I admire and appreciate that a lot of work is represented in
> openmoko... Both by the company people and contributors around the world.
> Things appear to be a bit of a mess right now with multiple frameworks
> (none of which is complete, it seems), and a wiki that has so much good
> information but seems to be missing a lot of the "middle ground" between
> Welcome and here's how to develop for openmoko. Thanks to all those who
> have recently tried to fill that gap (Uncrippling Your Device, making sense
> of the distributions, etc.).
> Would someone please clarify the meanings of the file types that can be
> downloaded? This is what I have gathered so far:
> *.jffs2 - the root filesystem that goes with a release
> *.tar.gz - I know what a tarball is, but when the same filename exists with
> both a jffs2 and a tar.gz extension, do they contain the same thing? Why?
> Is the tar used with an emulator? Would I ever need it for the real device?
This is like the difference between an ISO image of a CD and a zip file
containing the files and directories on the CD. The .jffs2 is ready to be
copied into the internal flash, while the tar.gz is to be extracted onto a
formatted partition on the microSD card.
> uImage*.bin - kernel
> What is considered the "image"? It seems to me that it is the jffs2, not
> the kernel. However, the kernel files have the word "image", so I am either
> wrong or very confused.
I can see why you find it confusing ;-) 'image' is being used as a generic
description of a snapshot of a chunk of binary data. A kernel image is the
blob of binary data that the bootloader will copy into memory and set
running. A filesystem image is a copy of the raw data contained on a storage
device, including all the filesystem structures. Normally the tar.bz wouldn't
be thought of as an image, but it's simpler to keep the same filename with
the .tar.gz.and .jffs2 extensions.
> Lastly, does each image have a corresponding kernel so flashing to a new
> distribution would always require flashing the kernel as well? If not, how
> can I know when flashing the kernel is also required?
The simple answer is yes. If you are using the daily builds from
http://buildhost.openmoko.org/daily/freerunner/ there is a subdirectory for
each day, and each one should have a kernel uImage that matches that day's
root filesystem builds. This is so that the modular device drivers match the
If you start building your own images with, say, mokomakefile, you will notice
that the kernel doesn't get rebuilt every time you make a new image. It will
only be rebuilt if there is an updated version of the kernel, so several
filesystem images may use the same kernel.You have to match those up by
looking at the datestamps on the files if you're not using the most recent
> Is this information on the wiki somewhere and I just missed it?
People usually have a fair bit of linux experience before they start playing
with things at this level, so I suspect nobody thought about it. If we're
starting to attract people without this grounding then perhaps we should
include links to some of the introductions to linux for users of other
More information about the community