Ошибка при сборке Openembedded для Intel Quark - PullRequest
0 голосов
/ 17 октября 2018

Попытка собрать Linux для Advantech UBC-221 с процессором Intel Quark.Система Debian 9, работающая на VMware.Я был в состоянии собрать poky успешно раньше.

Позвольте мне резюмировать, что я делал:

mkdir quark
cd quark
git clone git://git.yoctoproject.org/meta-intel-quark
git clone git://git.openembedded.org/openembedded-core
git clone git://git.yoctoproject.org/poky
cp -r poky/bitbake .
cd openembedded-core
source oe-init-build-env
bitbake-layers add-layer ~/quark/meta-intel-quark/
bitbake core-image-base

Код ошибки, который я получаю:

WARNING: Layer quark-bsp should set LAYERSERIES_COMPAT_quark-bsp in its conf/layer.conf file to list the core layer names it is compatible with.
WARNING: Layer quark-bsp should set LAYERSERIES_COMPAT_quark-bsp in its conf/layer.conf file to list the core layer names it is compatible with.
WARNING: /home/bgabor/quark/meta-intel-quark/recipes-kernel/linux/linux-yocto-quark_3.8.bb: Variable key RDEPENDS_${KERNEL_PACKAGE_NAME}-base (${KERNEL_PACKAGE_NAME}-image) replaces original key RDEPENDS_kernel-base ().
WARNING: /home/bgabor/quark/meta-intel-quark/recipes-bsp/grub/grub_0.97.bb: Exception during build_dependencies for CFLAGS
WARNING: /home/bgabor/quark/meta-intel-quark/recipes-bsp/grub/grub_0.97.bb: Error during finalise of /home/bgabor/quark/meta-intel-quark/recipes-bsp/grub/grub_0.97.bb
ERROR: ExpansionError during parsing /home/bgabor/quark/meta-intel-quark/recipes-bsp/grub/grub_0.97.bb
Traceback (most recent call last):
bb.data_smart.ExpansionError: Failure expanding variable CFLAGS, expression was  -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/bgabor/quark/openembedded-core/build/tmp-glibc/work/i586-oe-linux/grub/0.97+gitAUTOINC+5775f32a62-r0=/usr/src/debug/grub/0.97+gitAUTOINC+5775f32a62-r0 -fdebug-prefix-map=/home/bgabor/quark/openembedded-core/build/tmp-glibc/work/i586-oe-linux/grub/0.97+gitAUTOINC+5775f32a62-r0/recipe-sysroot= -fdebug-prefix-map=/home/bgabor/quark/openembedded-core/build/tmp-glibc/work/i586-oe-linux/grub/0.97+gitAUTOINC+5775f32a62-r0/recipe-sysroot-native=  -Os -fno-strict-aliasing -Wall -Werror -Wno-shadow -Wno-unused  -Wno-pointer-sign  -DINTEL_QUARK_TEST=${@base_contains('PACKAGECONFIG', 'grub_test', '1', '0', d)} which triggered exception NameError: name 'base_contains' is not defined
Summary: There were 5 WARNING messages shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.

Я в значительной степенизастрял здесь.Буду весьма признателен за помощь!

Редактировать: Попытка сборки на 32-битной системе Debian 7.11.Это пошло лучше, однако пришла другая ошибка:

bgabor@debian:~/quark/dizzy/build$ bitbake core-image-base
WARNING: Host distribution "Debian-7.11" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |####################################################################################################################################################| ETA:  00:00:00
Loaded 1292 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = "1.24.0"
BUILD_SYS         = "i686-linux"
NATIVELSBSTRING   = "Debian-7.11"
TARGET_SYS        = "i586-poky-linux"
MACHINE           = "quark"
DISTRO            = "poky"
DISTRO_VERSION    = "1.7.3"
TUNE_FEATURES     = "m32 i586"
TARGET_FPU        = ""
meta              
meta-yocto        
meta-yocto-bsp    = "dizzy:58863ad092c9a279e305c841dbb4353de2ecfae8"
meta-intel-quark  = "master:a314f0ceea986fde42d5d9b0ea449f7a563e9351"

NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Unable to install packages. Command '/home/bgabor/quark/dizzy/build/tmp/sysroots/i686-linux/usr/bin/smart --quiet --data-dir=/home/bgabor/quark/dizzy/build/tmp/work/quark-poky-linux/core-image-minimal-initramfs/1.0-r0/rootfs/var/lib/smart install -y busybox@i586 initramfs-live-install-efi@i586 run-postinsts@all initramfs-live-install@i586 udev@i586 initramfs-live-boot@quark base-passwd@i586' returned 1:
error: Can't install initramfs-live-install-1.0-r9@i586: no package provides grub

ERROR: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /home/bgabor/quark/dizzy/build/tmp/work/quark-poky-linux/core-image-minimal-initramfs/1.0-r0/temp/log.do_rootfs.29435
ERROR: Task 240 (/home/bgabor/quark/dizzy/meta/recipes-core/images/core-image-minimal-initramfs.bb, do_rootfs) failed with exit code '1'
NOTE: Tasks Summary: Attempted 2529 tasks of which 2527 didn't need to be rerun and 1 failed.
No currently running tasks (2435 of 2531)

Summary: 1 task failed:
  /home/bgabor/quark/dizzy/meta/recipes-core/images/core-image-minimal-initramfs.bb, do_rootfs
Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

Он не находит пакет grub, однако я вижу, что в рецептах есть два:

bgabor@debian:~/quark/dizzy/build$ bitbake-layers show-recipes | grep "grub" -A 3
Parsing recipes..done.
grub:
  meta-intel-quark     0.97+gitAUTOINC+5775f32a62
  meta                 0.97
  meta                 2.00
--
grub-conf:
  meta-intel-quark     1.0
grub-efi:
  meta                 2.00
gsettings-desktop-schemas:
  meta                 3.10.1

Пытался очистить, а затем испечь битеще раз, но безрезультатно.В чем может быть проблема здесь?

1 Ответ

0 голосов
/ 17 октября 2018

Во-первых, Poky включает в себя OpenEmbedded Core, поэтому вам не нужно клонировать оба, просто клонируйте Poky.

Во-вторых, слой meta-intel-iot довольно мертв и только формально поддерживает выпуск Daisy из Poky.(см. README).Возможно, вам повезет с использованием более новых версий, но, очевидно, не Git Master (иначе Thud).

https://wiki.yoctoproject.org/wiki/Releases список выпусков.Вместо того, чтобы проверить мастер Poky, проверьте соответствующую ветку релиза.Я предлагаю начать с ромашки, но было бы неплохо попробовать что-то более новое, например, jethro.

...