Community
cancel
Showing results for 
Search instead for 
Did you mean: 
KMill10
Valued Contributor II
3,010 Views

Linux build instructions are out of date.

Jump to solution

I've been trying to get my head around building the Yocto image for Galileo Gen 2 from sources.

In another discussion (/message/354851# 354851 here) I got some great pointers, but I'm getting unstuck because the build instructions are out of date.

When I follow the instructions in the http://download.intel.com/support/processors/quark/sb/quark_bsp_buildandswuserguide_329687_006.pdf BSP Build Guide I get errors because it seems some of the dependencies have changed.

When I get to the stage "Creating a file system and building the kernel using Yocto" and run ./setup.sh I get the following fatal error:

Repository not found.

This is when it tries to do this:

git clone git://github.com/openembedded/meta-oe meta-oe

I had a look on github and it looks like that project has renamed a few things, or moved them or something.

They do have a meta-oe project but it is at github.com/openembedded/meta-openembedded/meta-oe so I'm not sure - can I can just update the path in setup/gitsetup.py ? or not?

Even if that fixes this particular issue, I'm concerned there may be more out of date dependencies.

1 Solution
Pedro_M_Intel
Employee
96 Views

Hello SpiderKenny,

Thank you pointing this out, I went to https://github.com/openembedded/openembedded openembedded/openembedded · GitHub and noticed that it is no longer supported by the project. Instead you should use the link in that document (http://openembedded.org/wiki/OpenEmbedded-Core OpenEmbedded-Core - Openembedded.org).

The steps will end up looking like the following:

git clone git://git.openembedded.org/openembedded-core/

cd openembedded-core

git chekout dylan

Then you will have to modify the file /build/conf/bblayers.conf to add that repository, finally you will have to add the packages you need to the file /build/conf/local.conf.

Peter.

View solution in original post

20 Replies
Pedro_M_Intel
Employee
97 Views

Hello SpiderKenny,

Thank you pointing this out, I went to https://github.com/openembedded/openembedded openembedded/openembedded · GitHub and noticed that it is no longer supported by the project. Instead you should use the link in that document (http://openembedded.org/wiki/OpenEmbedded-Core OpenEmbedded-Core - Openembedded.org).

The steps will end up looking like the following:

git clone git://git.openembedded.org/openembedded-core/

cd openembedded-core

git chekout dylan

Then you will have to modify the file /build/conf/bblayers.conf to add that repository, finally you will have to add the packages you need to the file /build/conf/local.conf.

Peter.

View solution in original post

KMill10
Valued Contributor II
96 Views

Thanks Peter

I'll try to do another build tomorrow possibly.

KMill10
Valued Contributor II
96 Views

Peter

Thanks for your reply, but I'm stumped!

I don't know where to run those commands so that the packages are in the right place?

And there is no file named "local.conf" anywhere to be found either in the BSP Source or the meta-clanton-v1.0.1 files? That file doesn't exist even on my entire build machine.

Pedro_M_Intel
Employee
96 Views

Sorry I wasn't specific enough. Before running those commands you must have run the setup.sh script, that script is the one that creates the build directory within your TOP_DIR. Make sure which directory is your TOP_DIR since under it is where the build directory will be created. I hope I cleared your doubt. Let me know if you have any other questions .

Peter.

KMill10
Valued Contributor II
96 Views

Hi Peter

Thanks again for your help.

I'm following the build instructions found https://software.intel.com/en-us/iot/hardware/galileo/downloads here (and following the link to "BSP Patches and Build Instructions" as found http://downloadmirror.intel.com/24355/eng/BSP-Patches-and-Build_Instructions.1.0.4.txt here) but there is no mention of runing setup.sh ? The error above is occurring at step 4.2 in those instructions.

My aim here is just to be able to follow the build process in order to learn more about building images and customising the Galileo build, and thought that building the existing SD Card image would be a goo first step.

regards,

Kenny.

Pedro_M_Intel
Employee
96 Views

Hi SpiderKenny,

Sorry for the delay in my reply. That step is described under section four of the http://www.intel.com/support/processors/quark/sb/CS-035175.htm Intel® Quark&# 153; SoC — BSP Build Guide, have you checked it?

Peter.

KMill10
Valued Contributor II
96 Views

Ah, OK, I've been reading release 1.0.1 of that document, which doesn't get to that until step 6. And in my case I was falling down at step 4.2.

There seems to be various versions of the build instructions about and it's a bit confusing!

I will try following the steps in the 0.7.5 version of the document that you have pointed to and see how far I get now...

KMill10
Valued Contributor II
96 Views

None of the build instructions make sense.

Starting from scratch on a Ubuntu build system, following the instructions in the BSP Build Guide release 0.7.5 that you linked to...

1. It tells you to go to https://communities.intel.com/community/makers/software/drivers https://communities.intel.com/community/makers/software/drivers and "download the software" but doesn't tell you what software to download. So I guess that it is "http://downloadmirror.intel.com/24702/eng/BSP_GPLCompliance_A-L.src.1.0.4.tar.bz2 Board Support Package (Yocto archive 1 of 2)" and "http://downloadmirror.intel.com/24702/eng/BSP_GPLCompliance_M-Z.src.1.0.4.tar.bz2 Board Support Package (Yocto archive 2 of 2)" so I download and extract them.

2. Then it tells you to

sudo apt-get install build-essential gcc-multilib vim-common

Fine - no problem there!

3. Then skip Section 3 because I want to use Yocto. As per this instruction "If you will run Yocto, skip this section and use the file output by Yocto in this

directory: yocto_build/tmp/deploy/images/grub.efi"

4. Then it says to do this: "

# tar -xvf meta-clanton*.tar.gz

 

# cd meta-clanton*

# ./setup.sh

"

Problem! There is no gz file called "meta-clanton...." and no where in the archives I've just extracted is there a script called "setup.sh"

So I'm guessing that the file mentioned in step 1 is no longer there.

The new BSP archives have a different structure or are not the "software" I'm looking for in step 1.

So, as far as I can see, as it stands there is no way to follow the instructions in any of the BSP Build Guides because they refer to downloads that don't exist, or have dependencies on projects that have moved. Without expert Linux / Yocto / BSP experience I am stuffed like a Christmas turkey!!!

CBalm
Novice
96 Views

This is roughly what I used to build 1.0.4, formatting is crap as I am copying and pasting from my Confluence notes. Keep in mind, I haven't tested this on Debian 7.4 since I started making the changes. Also the steps that require you to edit files with vi, those aren't just clean copy and paste, they just say what you have to change. If you need help with them, let me know.

All commands should be run from a non-root account with sudo privileges.

Pre Configure Your Build ServerRHEL/CentOS 7.1 64bit

Run these commands from terminal:

1

2

3

4

5

6

7

8

9

sudo yum groupinstall "Development Tools" -y

sudo yum install diffstat wget ncurses-devel -y

sudo yum remove texinfo -y

curl -O http://ftp.gnu.org/gnu/texinfo/texinfo-4.13.tar.gz

tar xf texinfo-4.13.tar.gz

cd texinfo-4.13

./configure

make

<code class="plain java" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Cou...

KMill10
Valued Contributor II
96 Views

Thanks for the info!

I will give this a try and see how it goes.

KMill10
Valued Contributor II
96 Views

That was all going so well, until the very last command:

  • bitbake image-full-galileo

Which failed with the following:

NOTE: Executing RunQueue Tasks

ERROR: Function failed: sysroot_stage_all (see /home/kenny/yocto/Galileo-Runtime/meta-clanton_v1.0.1/yocto_build/tmp/work/x86_64-linux/quilt-native/0.60-r0/temp/log.do_populate_sysroot.96832 for further information)

ERROR: Logfile of failure stored in: /home/kenny/yocto/Galileo-Runtime/meta-clanton_v1.0.1/yocto_build/tmp/work/x86_64-linux/quilt-native/0.60-r0/temp/log.do_populate_sysroot.96832

Log data follows:

| DEBUG: Executing python function sstate_task_prefunc

| DEBUG: Python function sstate_task_prefunc finished

| DEBUG: Executing python function do_populate_sysroot

| DEBUG: Executing shell function sysroot_stage_all

| tar: --same-order option cannot be used with -c

| Try 'tar --help' or 'tar --usage' for more information.

| tar: This does not look like a tar archive

| tar: Exiting with failure status due to previous errors

| DEBUG: Python function do_populate_sysroot finished

| ERROR: Function failed: sysroot_stage_all (see /home/kenny/yocto/Galileo-Runtime/meta-clanton_v1.0.1/yocto_build/tmp/work/x86_64-linux/quilt-native/0.60-r0/temp/log.do_populate_sysroot.96832 for further information)

ERROR: Task 10 (/home/kenny/yocto/Galileo-Runtime/meta-clanton_v1.0.1/poky/meta/recipes-devtools/quilt/quilt-native_0.60.bb, do_populate_sysroot) failed with exit code '1'

NOTE: Tasks Summary: Attempted 23 tasks of which 0 didn't need to be rerun and 1 failed.

No currently running tasks (23 of 63)

And the log file it refers to contains this:

DEBUG: Executing python function sstate_task_prefunc

DEBUG: Python function sstate_task_prefunc finished

DEBUG: Executing python function do_populate_sysroot

DEBUG: Executing shell function sysroot_stage_all

tar: --same-order option cannot be used with -c

Try 'tar --help' or 'tar --usage' for more information.

tar: This does not look like a tar archive

tar: Exiting with failure status due to previous errors

DEBUG: Python function do_populate_sysroot finished

ERROR: Function failed: sysroot_stage_all (see /home/kenny/yocto/Galileo-Runtime/meta-clanton_v1.0.1/yocto_build/tmp/work/x86_64-linux/quilt-native/0.60-r0/temp/log.do_populate_sysroot.96832 for further information)

CBalm
Novice
96 Views

It looks like one of the files downloaded that it is trying to extract is not a tar file. I'd retry with a clean slate.

I believe xbolshe has the correct fix.

asss
Valued Contributor II
96 Views

Hi,

it seems yout host Linux has a new version of TAR. May you call your host Linux version?

I guess this link may be helpful for you:

https://lists.yoctoproject.org/pipermail/yocto/2013-October/016540.html https://lists.yoctoproject.org/pipermail/yocto/2013-October/016540.html

So, just downgrade the tar package to version 1.26

BR,

xbolshe

KMill10
Valued Contributor II
96 Views

Yes I'm using Ubuntu 15.10

I will try using Ubuntu 12.04 instead.

Thanks!

asss
Valued Contributor II
96 Views

As I know Ubuntu14.04 LTS is a good version for this.

12.04 crashed from time to time accoding to my experience.

BTW, Ubuntu 14.04 LTS has

user@user-VirtualBox:/sde/r1.2.0$ tar --version

tar (GNU tar) 1.27.1

Copyright (C) 2013 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <</span>http://gnu.org/licenses/gpl.html http://gnu.org/licenses/gpl.html>.

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.

BR,

xbolshe

KMill10
Valued Contributor II
96 Views

Thanks for the fast reply. I'm using VMWare Fusion, so I'll quickly grab 14.04 LTS and give that a go.

Thanks again!

KMill10
Valued Contributor II
96 Views

I installed 14.04 LTS and had the exact same issue. (tar version 1.27)

So now I'm going to go back to 12.04 and try that! Good job I have 70 Mbps broadband here!

KMill10
Valued Contributor II
96 Views

Success at last :-)

I used Ubuntu 12.04 in a Virtual machine on VMWare Fusion running on Mac OS X 10.11.

The instructions above worked with following caveat!

If you've never used git before, then add the following two lines at the very start of the instructions:

git config --global user.name "Your Name"

git config --global user.email "mailto:yourname@domain.com yourname@domain.com"

Otherwise some steps will fail.

So thank you cbalmer I couldn't have done it without you.

CBalm
Novice
96 Views

Awesome, glad to hear it! I updated the instructions with your tip as well for others.

KMill10
Valued Contributor II
3 Views

Thanks again - this has been really helpful.

One other note - most modern linux distributions use tar 1.2.7 which doesn't work.

It's possible that if I'd let Ubuntu 12.04 does it own automatic update that tar would have been updated too.

I understand that it's not possible to retrospectively update the build files - so for version 1.0.4 to build successfully one needs to use a linux distro with tar v1.2.6 at the latest.

Still - I now have a working build environment and I can begin to look at how the build process actually works.

So thanks again!

Reply