[yocto] Building your own UI

Joshua Lock josh at linux.intel.com
Tue Feb 7 10:54:42 PST 2012


On 07/02/12 07:57, James Abernathy wrote:
> This may be a dumb question, but I'll ask anyway.
> Suppose you have a project where you need a very custom user interface.
> Not just a series of applications that appear on a desktop like you see
> in sato, or Gnome, or KDE.  Basically your application becomes the UI.
> I can see 2 approaches to this:
>
>  1. Start with core-image-minimal and add the packages you need to
>     support GFX, X11, and your application plus dependencies.
>  2. Take core-image-sato and change the applications to be your subtasks
>     , and the look-and-feel of the desktop.
>
> What are the considerations of both approaches?

A key selling point of the Yocto approach is to provide a highly 
customised OS for your target application, rather than taking an 
existing solution and stripping it back.

2. is the antithesis of the Yocto approach if you don't want/need the 
Sato UI.

The intention is that the core metadata should provide sufficient 
granularity through the defined images and tasks to get people started.

I'd recommend something like 1. only taking core-image-core (horrible 
name I know) if you want an X based OS.

We no doubt need more documentation in this area, and Hob is designed to 
help here.


> Is one better, or easier than the other?

Creating your own image is better in that you only build and ship what 
you need. Arguably building atop a custom image is easier, but you lose 
control.

> How would you do this in Yocto?

You might consider creating a custom image by starting with 
core-image-minimal and adding IMAGE_FEATURES and IMAGE_INSTALL entries 
to provide the core functionality you desire.

$ less foo.bb
# a noddy example image, base of a NAS OS

# start with core-image-minimal
require recipes-core/images/core-image-minimal.bb

IMAGE_FEATURES += "package-management nfs-server ssh-server-dropbear"
IMAGE_INSTALL += "my-custom-nas-app"

> Where do you look for information you need to accomplish this?

Mostly by following examples in the existing metadata at the moment, see 
the comment above about hob and documentation.

Cheers,
Joshua
-- 
Joshua Lock
         Yocto Project "Johannes factotum"
         Intel Open Source Technology Centre



More information about the yocto mailing list