[oe] kirkwood, one or multiple machines

Frans Meulenbroeks fransmeulenbroeks at gmail.com
Sun Oct 25 08:59:35 UTC 2009


Recently I added support for the openrd client board to OE by making a
new machine.
I guessed this was wat was desired since there was a
linux-kirkwood_2.6.31.bb file mentioning sheevaplug and openrd base as
machines.
Also there is a kirkwood.inc file

However after digging a little bit deeper I am not too sure if this is
really desirable.
All three boards are of course based upon the Marvell Kirkwood CPU.
But the kernel as is is fully interchangeable. It uses arcNumber to
identify the board. Which variants are supported can be set (see
arch/arm/mach-kirkwood/Kconfig)
However it is perfectly ok to select multiple variants. This results
in a kernel which supports all these variants.

As a test I successfully ran an openrd client kernel on a sheevaplug.

Then why do we have multiple machines?
the only things I can think of is:
- smaller kernel (but more variants does not drag in that much)
- machine specific patches (but for now these do not exist yet, and a
clearer way then would be to use the machine specific config macros)
- tuned defconfigs (which is the only thing that there is now)

Disadvantage of more machines is that this will grow and grow.
Guess within a short while we'll see a machine definition for QNAP
TS219 probably followed by all kind of plug variants like pogoplug,
toninoplug etc etc.

Btw: wrt the defconfigs: In my opinion the defconfig should be such
that it is usable by all. Board specific things (like e.g. the video
on openrd client) should be build as modules so those who need them
can load them, and those who don't can ignore them.

What is the community thought on this? Did I miss something?

Frans




More information about the Openembedded-devel mailing list