[yocto] Personalized SDKPATH and sysroot

Nicolas Dechesne nicolas.dechesne at linaro.org
Fri Jan 31 12:18:17 PST 2014


On Thu, Jan 30, 2014 at 2:14 PM, Bertrand Roussel
<bertrand.roussel at cor-net.org> wrote:
> 1/ The sysroot seems to be hardcoded in binaries, for instance:
> $
> /opt/poky/1.4.2/sysroots/x86_64-pokysdk-linux/usr/bin/armv6-vfp-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc
> --print-sysroot
> /opt/poky/1.4.2/sysroots/armv6-vfp-poky-linux-gnueabi
>
> $ ./poky-eglibc-x86_64-arm-toolchain-1.4.1.sh
> Enter target directory for SDK (default: /opt/poky/1.4.2): /tmp/pokysdk
> You are about to install the SDK to "/tmp/pokysdk". Proceed[Y/n]?
> Extracting SDK...done
> Setting it up...done
> SDK has been successfully set up and is ready to be used.
> $
> /tmp/pokysdk/sysroots/x86_64-pokysdk-linux/usr/bin/armv6-vfp-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc
> --print-sysroot
> /opt/poky/1.4.2/sysroots/armv6-vfp-poky-linux-gnueabi
>
> There is a 'relocate_sdk.py', is it meant to replace this path (it does look
> like it) ?
> It's replacing some lib-related paths, but the sysroot is kept intact,
> enforcing the use of --sysroot to use the toolchain.
>
> Did I miss something ?
>

no, you're right the sysroot used when building the cross compiler is
indeed hard coded in the binary. you can find some information about
that in that thread:

http://lists.openembedded.org/pipermail/openembedded-core/2013-September/084156.html

> 2/ I'm using the 'poky' distribution, which specifies the SDKPATH (in
> meta-yocto/conf/distro/poky.conf ) as "/opt/${DISTRO}/${SDK_VERSION}".
> Is there a way to override this without making a new distribution inheriting
> 'poky' ?
>
> I tried to make a new toolchain recipe based on meta-toolchain, and set the
> value there, but only a small part of the toolchain ends up in that
> directory (gcc for instance, is compiled with the value set in the poky.conf
> ).

it needs to be defined in a .conf file to be globally available to all
recipes. unfortunately since SDKPATH is set with "=" in poky.conf and
not "?=" you won't be able to change it easily, even from local.conf
since it's parsed before distro.conf...  SDKPATH is just a 'default'
value, you can change the install dir when running the .sh file. isn't
that enough?



More information about the yocto mailing list