[yocto] SDK missing /usr/include/asm header files

Burton, Ross ross.burton at intel.com
Fri Jan 11 08:30:42 PST 2019


meta-toolchain is pretty deprecated now, the preferred method is to run the
populate_sdk task on the image you want a SDK for.

Ross

On Fri, 11 Jan 2019 at 16:21, Grant Edwards <grant.b.edwards at gmail.com>
wrote:

> On Fri, Jan 11, 2019 at 03:52:45PM +0000, Burton, Ross wrote:
> > On Fri, 11 Jan 2019 at 15:51, Grant Edwards <grant.b.edwards at gmail.com>
> wrote:
> >
> > > I've built a "poky" SDK for use with a Renesas RZN1 eval board (dual
> > > ARM Cortex-A7 cores), and the toolchain's sysroot seems to be missing
> > > the "asm" header directory.
>
> > How did you build the SDK?
>
> Here is the script I used to do the build:
>
>     git clone http://git.yoctoproject.org/git/poky
>
>     cd poky
>     git checkout -b rocko-rzn1 yocto-2.4.3
>     git am
> ${RELEASE_DIR}/yocto/rocko/0001-ARM-Add-Cortex-A7-vfpv4-d16*.patch
>     cd ..
>
>     git clone -b rocko git://git.openembedded.org/meta-openembedded
>     git clone https://github.com/cmhe/meta-readonly-rootfs-overlay.git
>     git clone -b rocko https://github.com/renesas-rz/meta-rzn1.git
>
>     cd poky
>     source oe-init-build-env
>     cp ${RELDIR}/yocto/bblayers.conf  build/conf/bblayers.conf
>     cp ${RELDIR}/yocto/local.conf     build/conf/local.conf
>     bitbake core-image-minimal
>     bitbake meta-toolchain
>
> The core images (kernel, device tree, and rootfs) seem to be OK.
>
> bblayers.conf:
>
>     # POKY_BBLAYERS_CONF_VERSION is increased each time
> build/conf/bblayers.conf
>     # changes incompatibly
>     POKY_BBLAYERS_CONF_VERSION = "2"
>
>     BBPATH = "${TOPDIR}"
>     BSPPATH := "${@os.path.abspath(os.path.dirname(d.getVar('FILE',True))
> + '/../..')}"
>     BBFILES ?= ""
>
>     BBLAYERS ?= " \
>       ${BSPPATH}/meta \
>       ${BSPPATH}/meta-poky \
>       ${BSPPATH}/meta-yocto-bsp \
>       ${BSPPATH}/../meta-openembedded/meta-oe \
>       ${BSPPATH}/../meta-openembedded/meta-python \
>       ${BSPPATH}/../meta-openembedded/meta-networking \
>       ${BSPPATH}/../meta-readonly-rootfs-overlay \
>       ${BSPPATH}/../meta-rzn1 \
>        "
>
> local.conf:
>
>     #
>     # This file is your local configuration file and is where all local
> user settings
>     # are placed. The comments in this file give some guide to the options
> a new user
>     # to the system might want to change but pretty much any configuration
> option can
>     # be set in this file. More adventurous users can look at
> local.conf.extended
>     # which contains other examples of configuration which can be placed
> in this file
>     # but new users likely won't need any of them initially.
>     #
>     # Lines starting with the '#' character are commented out and in some
> cases the
>     # default values are provided as comments to show people example
> syntax. Enabling
>     # the option is a question of removing the # character and making any
> change to the
>     # variable as required.
>
>     #
>     # Machine Selection
>     #
>     # You need to select a specific machine to target the build with.
> There are a selection
>     # of emulated machines available which can boot and run in the QEMU
> emulator:
>     #
>     #MACHINE ?= "qemuarm"
>     #MACHINE ?= "qemuarm64"
>     #MACHINE ?= "qemumips"
>     #MACHINE ?= "qemumips64"
>     #MACHINE ?= "qemuppc"
>     #MACHINE ?= "qemux86"
>     #MACHINE ?= "qemux86-64"
>     #
>     # There are also the following hardware board target machines included
> for
>     # demonstration purposes:
>     #
>     #MACHINE ?= "beaglebone"
>     #MACHINE ?= "genericx86"
>     #MACHINE ?= "genericx86-64"
>     #MACHINE ?= "mpc8315e-rdb"
>     #MACHINE ?= "edgerouter"
>     #
>     # This sets the default machine to be qemux86 if no other machine is
> selected:
>     MACHINE ??= "qemux86"
>
>     #
>     # Where to place downloads
>     #
>     # During a first build the system will download many different source
> code tarballs
>     # from various upstream projects. This can take a while, particularly
> if your network
>     # connection is slow. These are all stored in DL_DIR. When wiping and
> rebuilding you
>     # can preserve this directory to speed up this part of subsequent
> builds. This directory
>     # is safe to share between multiple builds on the same machine too.
>     #
>     # The default is a downloads directory under TOPDIR which is the build
> directory.
>     #
>     DL_DIR ?= "${TOPDIR}/downloads"
>
>     #
>     # Where to place shared-state files
>     #
>     # BitBake has the capability to accelerate builds based on previously
> built output.
>     # This is done using "shared state" files which can be thought of as
> cache objects
>     # and this option determines where those files are placed.
>     #
>     # You can wipe out TMPDIR leaving this directory intact and the build
> would regenerate
>     # from these files if no changes were made to the configuration. If
> changes were made
>     # to the configuration, only shared state files where the state was
> still valid would
>     # be used (done using checksums).
>     #
>     # The default is a sstate-cache directory under TOPDIR.
>     #
>     #SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
>
>     #
>     # Where to place the build output
>     #
>     # This option specifies where the bulk of the building work should be
> done and
>     # where BitBake should place its temporary files and output. Keep in
> mind that
>     # this includes the extraction and compilation of many applications
> and the toolchain
>     # which can use Gigabytes of hard disk space.
>     #
>     # The default is a tmp directory under TOPDIR.
>     #
>     #TMPDIR = "${TOPDIR}/tmp"
>
>     #
>     # Default policy config
>     #
>     # The distribution setting controls which policy settings are used as
> defaults.
>     # The default value is fine for general Yocto project use, at least
> initially.
>     # Ultimately when creating custom policy, people will likely end up
> subclassing
>     # these defaults.
>     #
>     DISTRO ?= "poky"
>     # As an example of a subclass there is a "bleeding" edge policy
> configuration
>     # where many versions are set to the absolute latest code from the
> upstream
>     # source control systems. This is just mentioned here as an example,
> its not
>     # useful to most new users.
>     # DISTRO ?= "poky-bleeding"
>
>     #
>     # Package Management configuration
>     #
>     # This variable lists which packaging formats to enable. Multiple
> package backends
>     # can be enabled at once and the first item listed in the variable
> will be used
>     # to generate the root filesystems.
>     # Options are:
>     #  - 'package_deb' for debian style deb files
>     #  - 'package_ipk' for ipk files are used by opkg (a debian style
> embedded package manager)
>     #  - 'package_rpm' for rpm style packages
>     # E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
>     # We default to rpm:
>     PACKAGE_CLASSES ?= "package_rpm"
>
>     #
>     # SDK target architecture
>     #
>     # This variable specifies the architecture to build SDK items for and
> means
>     # you can build the SDK packages for architectures other than the
> machine you are
>     # running the build on (i.e. building i686 packages on an x86_64 host).
>     # Supported values are i686 and x86_64
>     #SDKMACHINE ?= "i686"
>
>     #
>     # Extra image configuration defaults
>     #
>     # The EXTRA_IMAGE_FEATURES variable allows extra packages to be added
> to the generated
>     # images. Some of these options are added to certain image types
> automatically. The
>     # variable can contain the following options:
>     #  "dbg-pkgs"       - add -dbg packages for all installed packages
>     #                     (adds symbol information for debugging/profiling)
>     #  "dev-pkgs"       - add -dev packages for all installed packages
>     #                     (useful if you want to develop against libs in
> the image)
>     #  "ptest-pkgs"     - add -ptest packages for all ptest-enabled
> packages
>     #                     (useful if you want to run the package test
> suites)
>     #  "tools-sdk"      - add development tools (gcc, make, pkgconfig etc.)
>     #  "tools-debug"    - add debugging tools (gdb, strace)
>     #  "eclipse-debug"  - add Eclipse remote debugging support
>     #  "tools-profile"  - add profiling tools (oprofile, lttng, valgrind)
>     #  "tools-testapps" - add useful testing tools (ts_print, aplay,
> arecord etc.)
>     #  "debug-tweaks"   - make an image suitable for development
>     #                     e.g. ssh root access has a blank password
>     # There are other application targets that can be used here too, see
>     # meta/classes/image.bbclass and meta/classes/core-image.bbclass for
> more details.
>     # We default to enabling the debugging tweaks.
>     EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
>
>     #
>     # Additional image features
>     #
>     # The following is a list of additional classes to use when building
> images which
>     # enable extra features. Some available options which can be included
> in this variable
>     # are:
>     #   - 'buildstats' collect build statistics
>     #   - 'image-mklibs' to reduce shared library files size for an image
>     #   - 'image-prelink' in order to prelink the filesystem image
>     #   - 'image-swab' to perform host system intrusion detection
>     # NOTE: if listing mklibs & prelink both, then make sure mklibs is
> before prelink
>     # NOTE: mklibs also needs to be explicitly enabled for a given image,
> see local.conf.extended
>     USER_CLASSES ?= "buildstats image-mklibs image-prelink"
>
>     #
>     # Runtime testing of images
>     #
>     # The build system can test booting virtual machine images under qemu
> (an emulator)
>     # after any root filesystems are created and run tests against those
> images. To
>     # enable this uncomment this line. See
> classes/testimage(-auto).bbclass for
>     # further details.
>     #TEST_IMAGE = "1"
>     #
>     # Interactive shell configuration
>     #
>     # Under certain circumstances the system may need input from you and
> to do this it
>     # can launch an interactive shell. It needs to do this since the build
> is
>     # multithreaded and needs to be able to handle the case where more
> than one parallel
>     # process may require the user's attention. The default is iterate
> over the available
>     # terminal types to find one that works.
>     #
>     # Examples of the occasions this may happen are when resolving patches
> which cannot
>     # be applied, to use the devshell or the kernel menuconfig
>     #
>     # Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE
> 3.x only), none
>     # Note: currently, Konsole support only works for KDE 3.x due to the
> way
>     # newer Konsole versions behave
>     #OE_TERMINAL = "auto"
>     # By default disable interactive patch resolution (tasks will just
> fail instead):
>     PATCHRESOLVE = "noop"
>
>     #
>     # Disk Space Monitoring during the build
>     #
>     # Monitor the disk space during the build. If there is less that 1GB
> of space or less
>     # than 100K inodes in any key build location (TMPDIR, DL_DIR,
> SSTATE_DIR), gracefully
>     # shutdown the build. If there is less that 100MB or 1K inodes,
> perform a hard abort
>     # of the build. The reason for this is that running completely out of
> space can corrupt
>     # files and damages the build in ways which may not be easily
> recoverable.
>     # It's necesary to monitor /tmp, if there is no space left the build
> will fail
>     # with very exotic errors.
>     BB_DISKMON_DIRS = "\
>         STOPTASKS,${TMPDIR},1G,100K \
>         STOPTASKS,${DL_DIR},1G,100K \
>         STOPTASKS,${SSTATE_DIR},1G,100K \
>         STOPTASKS,/tmp,100M,100K \
>         ABORT,${TMPDIR},100M,1K \
>         ABORT,${DL_DIR},100M,1K \
>         ABORT,${SSTATE_DIR},100M,1K \
>         ABORT,/tmp,10M,1K"
>
>     #
>     # Shared-state files from other locations
>     #
>     # As mentioned above, shared state files are prebuilt cache data
> objects which can
>     # used to accelerate build time. This variable can be used to
> configure the system
>     # to search other mirror locations for these objects before it builds
> the data itself.
>     #
>     # This can be a filesystem directory, or a remote url such as http or
> ftp. These
>     # would contain the sstate-cache results from previous builds
> (possibly from other
>     # machines). This variable works like fetcher MIRRORS/PREMIRRORS and
> points to the
>     # cache locations to check for the shared objects.
>     # NOTE: if the mirror uses the same structure as SSTATE_DIR, you need
> to add PATH
>     # at the end as shown in the examples below. This will be substituted
> with the
>     # correct path within the directory structure.
>     #SSTATE_MIRRORS ?= "\
>     #file://.*
> http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
>     #file://.* file:///some/local/dir/sstate/PATH"
>
>
>     #
>     # Qemu configuration
>     #
>     # By default qemu will build with a builtin VNC server where graphical
> output can be
>     # seen. The two lines below enable the SDL backend too. By default
> libsdl-native will
>     # be built, if you want to use your host's libSDL instead of the
> minimal libsdl built
>     # by libsdl-native then uncomment the ASSUME_PROVIDED line below.
>     PACKAGECONFIG_append_pn-qemu-native = " sdl"
>     PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
>     #ASSUME_PROVIDED += "libsdl-native"
>
>     # CONF_VERSION is increased each time build/conf/ changes incompatibly
> and is used to
>     # track the version of this file when it was generated. This can
> safely be ignored if
>     # this doesn't mean anything to you.
>     CONF_VERSION = "1"
>
>     MACHINE = "rzn1d400-db"
>     MACHINE_FEATURES = "wifi"
>
>     KERNEL_DEVICETREE = "rzn1d400-db.dtb rzn1d400-db-no-cm3.dtb
> rzn1d400-db-both-gmacs.dtb"
>     IMAGE_INSTALL_append = " dropbear libsocketcan can-utils iproute2
> i2c-tools stress bonnie++ mtd-utils mtd-utils-jffs2 mtd-utils-misc iw
> nfs-utils nfs-utils-client vsftpd gdbserver strace devmem2"
>     IMAGE_INSTALL_append += " initscripts-readonly-rootfs-overlay"
>     IMAGE_INSTALL_append += " openssl"
>
>     # Disable unused features, otherwise Qt will build plugins for
> everything, and those plugins rely on a lot of other packages (alsa, bluez,
> mesa)...
>     DISTRO_FEATURES_remove = " alsa pulseaudio bluetooth 3g nfc directfb
> x11 wayland opengl pci pcmcia irda"
>     # Qt 5.9.2 thinks it needs x11, but it doesn't really
>     PACKAGECONFIG_remove_pn-qtbase = " tests x11"
>     # usbutils recommends udev-hwdb, which is 7MB we really don't need
>     NO_RECOMMENDATIONS = "1"
>
>     # We don't want dev packages or debug symbols
>     INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
>
>     # Depends on you host CPU
>     BB_NUMBER_THREADS = "2"
>     PARALLEL_MAKE = "-j 2"
>     # INHERIT += "rm_work" deletes the source and intermediate files for
> each package once built. If you want to make modifications, you probably
> don't want this!
>     INHERIT += "rm_work"
>     RM_OLD_IMAGE = "1"
>
>     KERNEL_IMAGETYPE = "uImage"
>
>     # IMAGE_FSTYPES defines the format of the rootfs created.
>     # When building an initramfs (if you set INITRAMFS_IMAGE_BUNDLE), when
> you build the kernel the file with this
>     # extension is decompressed first. Therefore, IMAGE_FSTYPES used does
> not affect the compression of the initramfs.
>     # See kernel.bbclass for details.
>     # See meta/classes/image_types.bbclass IMAGE_FSTYPES for your choices
> here.
>     #IMAGE_FSTYPES = "tar.bz2 squashfs"
>
>     # Set GLIBC_GENERATE_LOCALES to the locales you wish to generate
> should you not
>     # wish to perform the time-consuming step of generating all LIBC
> locales.
>     # NOTE: If removing en_US.UTF-8 you will also need to uncomment, and
> set
>     # appropriate value for IMAGE_LINGUAS.
>     # WARNING: this may break localisation!
>     GLIBC_GENERATE_LOCALES = "en_US.UTF-8 fr_CH.UTF-8 de_DE.UTF-8
> en_GB.UTF-8"
>     IMAGE_LINGUAS ?= "en-us fr-ch de-de en-gb"
>
>     # License compliance: Generate tarball of source code
>     INHERIT += "archiver"
>     ARCHIVER_MODE[src] = "original"
>
>     # License compliance: Include license with the binaries (i.e. in the
> rootfs)
>     COPY_LIC_MANIFEST = "1"
>     COPY_LIC_DIRS = "1"
>     LICENSE_CREATE_PACKAGE = "1"
> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20190111/2830ad3a/attachment-0001.html>


More information about the yocto mailing list