TipsAndTricks/CropsCLIContainers: Difference between revisions

From Yocto Project
Jump to navigationJump to search
No edit summary
Line 1: Line 1:
=CROPS or How to Run  bitbake/devtool/eSDK/Toaster on Your MacWinux Host=
=CROPS or How to Run  bitbake/devtool/eSDK/Toaster on Your MacWinux Host=
== Introduction ==
CROPS provides CLI containers that allow you to run the set of tools listed in the title on Mac OSX, Windows or Linux.
The containers themselves are available on Dockerhub at https://hub.docker.com/u/crops/dashboard/


CROPS provides CLI containers that allow you to run the set of tools listed in the title on Mac OSX or Windows or even on Linux.
You may wonder why you would use these containers on Linux. The main reason is it gives you a guaranteed clean environment from which to build. Also it means you don't need to install the dependent packages required by the build tools. Measurements show '''no''' speed degradation when running in the container.
The containers themselves are available on Dockerhub at https://hub.docker.com/u/crops/dashboard/


=== How to Get Started ===
== How to Get Started ==
The setup on Mac and Windows requires some extra steps before you get up and running. This is due to the fact that neither the Mac nor the Windows file systems support all the features we need to do a build.  To deal with this issue on these OS's we put the build into a persistent docker volume (https://docs.docker.com/engine/tutorials/dockervolumes/) and expose it to the host OS using a Samba container.  The detailed instructions for doing this are located at https://github.com/crops/docker-win-mac-docs/wiki  
The setup on Mac and Windows requires some extra steps before you get up and running. This is due to the fact that neither the Mac nor the Windows file systems support all the features we need to do a build.  To deal with this issue on these OS's we put the build into a persistent docker volume (https://docs.docker.com/engine/tutorials/dockervolumes/) and expose it to the host OS using a Samba container.  The detailed instructions for doing this are located at https://github.com/crops/docker-win-mac-docs/wiki  


If you plan to use these containers on Linux, you can skip the docker volume and the Samba container instructions as they are unnecessary.  The detailed instructions for running the various containers are located in the README.md for each container source on github.  Pointers to these instructions for the Poky,eSDK, and Toaster containers are located at the bottom of the above referenced wiki.
If you plan to use these containers on Linux, you can skip the docker volume and the Samba container instructions as they are unnecessary.  The detailed instructions for running the various containers are located in the README.md for each container source on github.  Pointers to these instructions for the Poky,eSDK, and Toaster containers are located at the bottom of the above referenced wiki.


* As to why you might want to use these containers on Linux, the main reason is it gives you a guaranteed clean environment from which to build.  Measurements show *no* speed degradation from running in the container
== Variations  Explained ==
 
=== Poky ===
==== Variations  Explained ====
===== Poky =====
The default poky container is quite generic and will work with most recent releases of YP.  Despite the name, it will work equally well for an OE Core setup.  The default container is based on Ubuntu-14.04.  We are in the process of creating ones based on the rest of the standard supported Linux Distro's.  For the common usage; however, which Distro is inside is  irrelevant since everything is already set up for the user.  
The default poky container is quite generic and will work with most recent releases of YP.  Despite the name, it will work equally well for an OE Core setup.  The default container is based on Ubuntu-14.04.  We are in the process of creating ones based on the rest of the standard supported Linux Distro's.  For the common usage; however, which Distro is inside is  irrelevant since everything is already set up for the user.  
===== eSDK =====
=== eSDK ===
The eSDK container is also generic in that it takes an extensible sdk install script as an argument so it can be used with a fairly arbitrary ext-sdk.
The eSDK container is also generic in that it takes an extensible sdk install script as an argument so it can be used with a fairly arbitrary ext-sdk.
===== Toaster =====
=== Toaster ===
Toaster is more complicated.  To facilitate quick startup, the Toaster containers include a database prepopulated from the layer index https://layers.openembedded.org.  Because of this, the toaster containers come in a couple of varieties.
Toaster is more complicated.  To facilitate quick startup, the Toaster containers include a database prepopulated from the layer index https://layers.openembedded.org.  Because of this, the toaster containers come in a couple of varieties.
* Toaster - https://hub.docker.com/r/crops/toaster/ - This is the last official release YP has available.  At the time of writing this T&T, for instance, this is  krogoth and will soon be morty.
* Toaster - https://hub.docker.com/r/crops/toaster/ - This is the last official release YP has available.  At the time of writing this T&T, for instance, this is  krogoth and will soon be morty.

Revision as of 18:27, 28 October 2016

CROPS or How to Run bitbake/devtool/eSDK/Toaster on Your MacWinux Host

Introduction

CROPS provides CLI containers that allow you to run the set of tools listed in the title on Mac OSX, Windows or Linux. The containers themselves are available on Dockerhub at https://hub.docker.com/u/crops/dashboard/

You may wonder why you would use these containers on Linux. The main reason is it gives you a guaranteed clean environment from which to build. Also it means you don't need to install the dependent packages required by the build tools. Measurements show no speed degradation when running in the container.

How to Get Started

The setup on Mac and Windows requires some extra steps before you get up and running. This is due to the fact that neither the Mac nor the Windows file systems support all the features we need to do a build. To deal with this issue on these OS's we put the build into a persistent docker volume (https://docs.docker.com/engine/tutorials/dockervolumes/) and expose it to the host OS using a Samba container. The detailed instructions for doing this are located at https://github.com/crops/docker-win-mac-docs/wiki

If you plan to use these containers on Linux, you can skip the docker volume and the Samba container instructions as they are unnecessary. The detailed instructions for running the various containers are located in the README.md for each container source on github. Pointers to these instructions for the Poky,eSDK, and Toaster containers are located at the bottom of the above referenced wiki.

Variations Explained

Poky

The default poky container is quite generic and will work with most recent releases of YP. Despite the name, it will work equally well for an OE Core setup. The default container is based on Ubuntu-14.04. We are in the process of creating ones based on the rest of the standard supported Linux Distro's. For the common usage; however, which Distro is inside is irrelevant since everything is already set up for the user.

eSDK

The eSDK container is also generic in that it takes an extensible sdk install script as an argument so it can be used with a fairly arbitrary ext-sdk.

Toaster

Toaster is more complicated. To facilitate quick startup, the Toaster containers include a database prepopulated from the layer index https://layers.openembedded.org. Because of this, the toaster containers come in a couple of varieties.