[yocto] Building on MacOS X

Tim Orling timothy.t.orling at linux.intel.com
Thu Jan 12 14:32:57 PST 2017


> On Jan 12, 2017, at 8:50 AM, Andrea Galbusera <gizero at gmail.com> wrote:
> 
> On Thu, Jan 12, 2017 at 5:21 PM, Belisko Marek <marek.belisko at gmail.com <mailto:marek.belisko at gmail.com>> wrote:
> On Thu, Jan 12, 2017 at 4:39 PM, Tim Orling
> <timothy.t.orling at linux.intel.com <mailto:timothy.t.orling at linux.intel.com>> wrote:
> > You can also build using Docker containers:
> > https://github.com/crops/docker-win-mac-docs/wiki <https://github.com/crops/docker-win-mac-docs/wiki>
> Well the re is other limitation about slow filesystem access from
> docker on osx. There is workaround to use nfs but it's not possible to
> use nfs for building yocto - so it's kind of chicken-egg problem ;)
> 
> I shortly tested the CROPS docker-based setup after watching some presentation at ELCE 2016 in Berlin. It basically worked but I experienced the filesystem slowness your are talking about. I ended up waiting hours to see a simple core-image-minimal build complete (even after giving more cores to docker). One more point is that slightly more complex build scenarios, i.e. building resin.os, also required tweaking docker run parameters for the build container in order to give bitbake access to features like loop devices it needed (not always easily debuggable issues indeed). Turned out I decided to stick with more canonical linux based environments for the moment.
> 

Depending on your hardware, it will take hours to build a simple image for the first time. This is no different on native Linux, if the hardware is only 1-4 cores, 4-8 GB RAM and especially if you are using a spinning harddrive. Server class systems with 72+ cores and 128+ GB of RAM will have a significantly faster build time. Almost all my YP/OE builds are now run in containers.

We will run some tests and get back to you about the real speed differences. Assuming you are running on the same hardware, we have seen builds on Windows be slightly *faster* than on native Linux. We need to collect data for our latest Mac OS X builds to address your concern.

> Anyway, the technology behind CROPS is *very* interesting to me, and I'd like to hear from people closely involved (Tim?) what the state of the art is and what we can expect to see in the near future. IIRC, the roadmap for Yocto 2.3 release was supposed to resurrect the Eclipse plugin and adopt CROPS as an alternative for running eSDK in a seamless way on different development host OSs. Beside from the images on docker hub and the github projects that didn't have high activity in the latest months, I hardly find discussions and documentation on the whole approach. Isn't this hot enough anymore or are there big issues that will prevent this technology from taking off. I often manage SDKs for Windows-minded developers and I strongly yearn to find a better approach to help them feel at home while building stuff for OE/Yocto based systems... 
> 

This work is being done by a very small team. It is no less hot than since it was first announced. However, the state of the Eclipse plugin at the initial announcement was experimental and the perception was that it was production ready. That is a risk of developing a project in the open. Both the Docker technology and the Eclipse technologies that we are using are rapidly changing.

Our current work is hosted on GitHub (https://github.com/crops/eclipse-crops <https://github.com/crops/eclipse-crops>). We had to rethink some of the approach that we demoed at ELC San Diego. We are still targeting 2.3 for the “standard SDK” approach (e.g. no “devtool” integration).

>  
> >
> > On Jan 12, 2017, at 7:34 AM, Burton, Ross <ross.burton at intel.com <mailto:ross.burton at intel.com>> wrote:
> >
> >
> > On 12 January 2017 at 15:14, Roger Smith <roger at sentientblue.com <mailto:roger at sentientblue.com>> wrote:
> >>
> >> Is there any documentation for running the Yocto build system on Mac OS X
> >> or macOS as Apple now calls it? I am working with the Intel Aero board.
> >> Before I go down the rabbit hole of fixing issues like this one (and I am
> >> using the bash shell), I’d like to know if anyone has build it on os x
> >> before.
> >
> >
> > If you install all of the GNU tools using brew or similar and put them first
> > on $PATH then you can get bitbake started.  Then you need to stub out the
> > linux-specific bits in bitbake.  I've previously started on this work
> > already
> > (http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=ross/darwin <http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=ross/darwin>).
> > The next step is figuring out how to configure OE to build and link natively
> > on OSX using LLVM instead of GCC.
> >
> > However all of this is mostly academic because in Sierra (iirc) onwards
> > there is tighter security on processes, which means that pseudo won't work
> > even if you port it to macOS.
> >
> > So unless you fancy some non-trivial engineering the short version is just
> > use something like Docker to run a Linux system on your Mac.
> >
> > Ross
> > --
> > _______________________________________________
> > yocto mailing list
> > yocto at yoctoproject.org <mailto:yocto at yoctoproject.org>
> > https://lists.yoctoproject.org/listinfo/yocto <https://lists.yoctoproject.org/listinfo/yocto>
> >
> >
> >
> > --
> > _______________________________________________
> > yocto mailing list
> > yocto at yoctoproject.org <mailto:yocto at yoctoproject.org>
> > https://lists.yoctoproject.org/listinfo/yocto <https://lists.yoctoproject.org/listinfo/yocto>
> >
> 
> marek
> 
> --
> as simple and primitive as possible
> -------------------------------------------------
> Marek Belisko - OPEN-NANDRA
> Freelance Developer
> 
> Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
> Tel: +421 915 052 184 <tel:%2B421%20915%20052%20184>
> skype: marekwhite
> twitter: #opennandra
> web: http://open-nandra.com <http://open-nandra.com/>
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org <mailto:yocto at yoctoproject.org>
> https://lists.yoctoproject.org/listinfo/yocto <https://lists.yoctoproject.org/listinfo/yocto>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20170112/6f6c8dcf/attachment.html>


More information about the yocto mailing list