Community
cancel
Showing results for 
Search instead for 
Did you mean: 
CTwit
New Contributor I
2,541 Views

Intel Edison yocto make toolchain

The Makefile has a target called "make toolchain" which creates a zip of the toolchain. I would like to start with this zip and build the image from there (without rebuilding the toolchain). Has anyone used the toolchain archive for this? How can I do it?

12 Replies
Pedro_M_Intel
Employee
72 Views

Hello ziacat,

I'm not sure I understand your question. What are you trying to achieve?

Are you trying to use the toolchain to set it up with Eclipse as stated in the http://www.intel.com/content/www/us/en/support/boards-and-kits/000005966.html Native Applications Guide? Or are you trying to build the Edison's native SDK as stated in the http://www.intel.com/support/edison/sb/CS-035278.htm BSP User Guide?

Either way, could you let us know which steps have you tried so far and what's you main goal?

Peter.

CTwit
New Contributor I
72 Views

Peter,

I have a CI server building my yocto build. It rebuilds from scratch and building the toolchain is very slow and a large portion of the build time. It looks from the makefile like maybe I could build the toolchain (while almost never changes) and use that in downstream builds.

I have run "make _ci_toolchain" to get an artifact, but I'm not sure how to use it for the downstream build, or if that is the right make target.

Pedro_M_Intel
Employee
72 Views

Could you let us know which guide are you following? Or, where did you get the instructions to run the command "make _ci_toolchain"?

Peter.

CTwit
New Contributor I
72 Views

Peter, I am not following any guide. I looked at the Makefile to find the command. Is there a guide or recommendation for what I'm trying to achieve? It is very slow to build from scratch.

Pedro_M_Intel
Employee
72 Views

I understand. Well, no, there's not a specific guide for what you are trying to achieve (to my knowledge), but let me investigate about it and if I find anything I'll let you know as soon as possible.

Peter.

Pedro_M_Intel
Employee
72 Views

I'm still investigating about this but have you tried using make sdk? This will create a script to setup the cross compile. You can see the details in section 3.1 of Edison's http://www.intel.com/content/www/us/en/support/boards-and-kits/000005616.html BSP. This is just a suggestion, I will continue to look into it.

Peter.

CTwit
New Contributor I
72 Views

I will start looking into that today. I'll let you know if anything come of it Thanks again for your continued investigation -- I really appreciate it. I'll keep investigating too and let you know if I find anything

Matthias_H_Intel
Employee
72 Views

why do you need to rebuild the toolchain if you already have a Yocto build environment up and running? Don't quite get this

Pedro_M_Intel
Employee
72 Views

I agree with mhahn. The toolchain get built once and regardless if the toolchain used or make used or bitbake used, the time it will take will be the same as it has to go through standard basic tasks such as fetching, unpacking, configuring, compiling, installing and packaging.

If I've understood correctly, you'd like to take the toolchain and use it somewhere else, but it will have to be built again and it'll probably take the same amount of time (it also depends on your internet connection).

If that's the case, then my best suggestion is that you build the toolchain as stated in the BSP.

Peter.

idata
Community Manager
72 Views

Depending on your CI tool, you may want to investigate using a https://www.cloudbees.com/blog/templating-jenkins-build-environments-docker-containers Docker container for a build slave, with a base image for make toolchain already installed. Using a https://docs.docker.com/engine/reference/builder/ Dockerfile with make toolchain install steps as "RUN" lines will cache each as a layer, speeding up subsequent builds, and give you a base image to work on for the rest of the build.

CTwit
New Contributor I
72 Views

Hello all,

Thanks for your help. I wanted to follow up with what was good enough for me: I put the cached directory outside of the directory that gets reset/cleaned between builds. MY builds are all ~ 10 min.

CTwit
New Contributor I
72 Views

Thanks. What I ended up doing is putting the yocto caching directory on the side, so that it could be re-used by my CI server. Builds are great now.