[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