All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joshua Lock <josh@linux.intel.com>
To: yocto@yoctoproject.org
Subject: Re: Building your own UI
Date: Tue, 07 Feb 2012 16:47:35 -0800	[thread overview]
Message-ID: <4F31C627.7050608@linux.intel.com> (raw)
In-Reply-To: <4F319DB3.6090006@gmail.com>



On 07/02/12 13:54, jfabernathy wrote:
> On 02/07/2012 01:54 PM, Joshua Lock wrote:
>> 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.
>>
> I built core-image-core and it works and is basic. So it's not a really
> small Sato???
>
>> 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"
>>
> I have difficulty understanding the difference in IMAGE_FEATURES and
> IMAGE_INSTALL. To me IMAGE_INSTALL is clear I've used that in a
> core-image-sato.bbappend file in an image directory in my own recipes-xx
> directory. I see how IMAGE_FEATURES is uses in the core-image-core:
>
> IMAGE_FEATURES += "apps-console-core ${X11_IMAGE_FEATURES}"
>
> But I have no idea what ${X11_IMAGE_FEATURES} is or how to find where
> it's defined. The apps-console-core is define in the Poky Refernce manual:
>
> http://www.yoctoproject.org/docs/current/poky-ref-manual/poky-ref-manual.html#ref-features-image
>
>
> However, I'm not sure were to find it's definition in the many recipes.

The features are defined in core-image.bbclass:
http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/classes/core-image.bbclass

Most of them translate into one or more task recipes 
(meta/recipes-*/tasks/) except package-management which translates to 
ROOTFS_PKGMANAGE which in turn is defined in each of the package 
management rootfs construction classes (meta/classes/rootfs_*.bbclass).


Aside: I usually rely in git grep to track down where a variable is defined.

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


  reply	other threads:[~2012-02-08  0:47 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-07 15:57 Building your own UI James Abernathy
2012-02-07 16:20 ` autif khan
2012-02-08  6:12   ` Sean Liming
2012-02-08 14:04     ` autif khan
2012-02-08 19:40       ` Sean Liming
2012-02-07 18:54 ` Joshua Lock
2012-02-07 21:54   ` jfabernathy
2012-02-08  0:47     ` Joshua Lock [this message]
2012-02-08 20:52       ` jfabernathy
2012-02-09  1:30         ` Joshua Lock

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F31C627.7050608@linux.intel.com \
    --to=josh@linux.intel.com \
    --cc=yocto@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.