[oe] What is task-base?

Richard Purdie rpurdie at rpsys.net
Sun Aug 27 21:46:10 UTC 2006


I've been asked to explain exactly what my last commits did. Basically,
I broke us free from being tied to task-bootstrap by creating
MACHINE_TASK_PROVIDER which you can set to the task-bootstrap like
provider of your choice. It defaults to task-bootstrap so nothing
changes in that respect.

I then changed the zaurus machines to use a new alternative called
task-base. Instead of having each machine setting a ton of duplicate
variables, this aims to allow a machine to specify its features and
task-base builds it a customised task-bootstrap like package based on
what the machine needs along with what the distro supports. At present,
task-base supports the Zaurus 2.6 models but adding support for other
machines should be straightforward.

To illustrate, the distro.conf file can say:

DISTO_FEATURES = "nfs smbfs ipsec wifi ppp alsa bluetooth ext2 irda
pcmcia usbgadget usbhost"

and the machine.conf:

MACHINE_FEATURES = "kernel26 apm alsa pcmcia bluetooth irda usbgadget"

and the resulting task-base would support say pcmcia but not usbhost.
task-base details exactly which options are either machine or distro
settings (or need to be in both). Machine options are meant to reflect
capabilities of the machine, distro options, things distribution
maintainers might want to add or remove from their distros images.
Hopefully this will let people create customised versions of
"task-bootstrap" without impacting other OE users/distros.

As one extreme, if you want to create an extremely minimal image, you
could set DISTRO_FEATURES = "" and you'd stop a lot of packages making
it into the image.

Its not perfect yet but we needed to set the ball rolling somehow :)

Cheers,

Richard







More information about the Openembedded-devel mailing list