All of lore.kernel.org
 help / color / mirror / Atom feed
From: Brian Avery <avery.brian@gmail.com>
To: "Burton, Ross" <ross.burton@intel.com>
Cc: "yocto@yoctoproject.org" <yocto@yoctoproject.org>
Subject: Re: Building on MacOS X
Date: Mon, 16 Jan 2017 18:33:40 -0800	[thread overview]
Message-ID: <CAKV_0egvWinqQ0jZWqeBaXa4mVbuVBFg4u3+_+gTYFBCatDrpA@mail.gmail.com> (raw)
In-Reply-To: <CAJTo0LbUawbpsCcadCCgSVct7Qx56ExKtBK+mTxc9eUW_B-4gw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3664 bytes --]

Hi,

A couple of comments even though I'm coming late to the discussion.

So, from what I've understood from the above, the main issue with the
docker approach to building a yocto/oe image on the mac is that it was much
slower...  Here's  some numbers that don’t quite agree with that assertion:

I ran a couple of tests, some on my linux box and some on my mac laptop.
The tests involved building core-image-minimal for a qemux86 target. All
the downloads were in place. There was no sstate, parse cache, nor was
there an existing tmp directory before the tests were run.

My linux box has a Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz , 36 cores.
My mac laptop has a Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz.

The test is "$ time bitbake core-image-minimal"

Here are the results of the tests:

Linux box Ubuntu 14.04

clock : 30m24.024

user  : 229m12.324

sys    : 20m10.188

—-

Linux box Ubuntu 14.04 running inside docker 1.12.3 using crops/poky:latest

clock : 30m37.66

user  : 231m35.984

sys    : 31m20.204


——

Linux box Ubuntu 14.04 running inside docker 1.12.3 using crops/poky:latest

I set the following in my local.conf file:

BB_NUMBER_THREADS=“2”

BB_NUMBER_PARSE_THREADS=“2”

PARALLEL_MAKE=“-j 2”

AND I constrained docker to 2 cpu cores and 8 gb of ram (This is what I
have my mac laptop set to).

clock : 127m8.523

user  : 201m32.468

sys    : 19m54.052


—

Mac OSX laptop - running docker 1.12.5 2 cpus, 8gb ram

I set the following in my local.conf file:

BB_NUMBER_THREADS=“2”

BB_NUMBER_PARSE_THREADS=“2”

PARALLEL_MAKE=“-j 2”


clock : 99m31.190

user  : 137m40.400

sys    : 18m38.650


——


So, from the above, it looks like my mac is actually faster when it has the
same number of cores and memory.  I haven’t seen any particular slowdown
with running docker linux programs on the mac other than those caused by
the difference in horsepower between my build server and my laptop.


Thanks,

Brian Avery

an Intel employee


p.s. Andrea, would you mind replying with how you changed the docker run to
make loopback work? I’d like to add it to the docs. Also, if you could
point me at what layers you used to make resin, I’d like to give that a try
as well.  Right now, we are providing a bare bones environment but I’d be
happy to write up a howto for inheriting from our images to customize your
own for special purposes (like doing builds that require loopback mounts,
for instance).







On Mon, Jan 16, 2017 at 3:19 AM, Burton, Ross <ross.burton@intel.com> wrote:

>
> On 14 January 2017 at 19:45, Roger Smith <roger@sentientblue.com> wrote:
>
>> Is Building Yocto project on a POSIX system, a desire for the Yocto
>> project? It would allow support on all bsd UNIX’s including macOS
>>
>
> Making OE itself work isn't rocket science - fix a few Linuxisms in
> bitbake, port pseudo to macOS.
>
> The hard bit is then convincing the hundred-odd recipes that are often
> Linux-centric if not Linux specific to build under something that isn't
> Linux.  My ross/darwin branch (from before the security changes) has a
> patch to gmp as 'echo' has different semantics. unlink() has different
> error codes between macOS and Linux.  There's a very long tail of
> differences that will need patching and testing.
>
> But if this is something you care about, patches welcome!
>
> Ross
>
>
>
> --
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
>

[-- Attachment #2: Type: text/html, Size: 7796 bytes --]

  reply	other threads:[~2017-01-17  2:33 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-12 15:14 Building on MacOS X Roger Smith
2017-01-12 15:34 ` Burton, Ross
2017-01-12 15:39   ` Tim Orling
2017-01-12 15:42     ` Burton, Ross
2017-01-12 16:21     ` Belisko Marek
2017-01-12 16:27       ` Khem Raj
2017-01-12 16:50       ` Andrea Galbusera
2017-01-12 17:41         ` Roger Smith
2017-01-12 17:47           ` Burton, Ross
2017-01-12 22:59           ` Mark Hatle
2017-01-13  8:50             ` Clemens Lang
2017-01-14 19:45               ` Roger Smith
2017-01-14 19:49                 ` Tim Orling
2017-01-16 11:19                 ` Burton, Ross
2017-01-17  2:33                   ` Brian Avery [this message]
2017-01-12 22:32         ` Tim Orling
2017-01-12 17:55     ` Maciej Borzęcki
2017-01-12 18:03       ` Burton, Ross
2017-01-12 18:12       ` Andrea Galbusera
2017-01-12 18:43         ` Maciej Borzęcki
2017-01-12 22:16           ` Tim Orling
2017-01-12 15:38 ` Mark Hatle

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=CAKV_0egvWinqQ0jZWqeBaXa4mVbuVBFg4u3+_+gTYFBCatDrpA@mail.gmail.com \
    --to=avery.brian@gmail.com \
    --cc=ross.burton@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.