【问题标题】:qemu-native error when building core-image-minimal with yocto使用 yocto 构建 core-image-minimal 时出现 qemu-native 错误
【发布时间】:2017-03-31 12:53:56
【问题描述】:

我想用 yocto 构建 core-image-minimal,但它失败了。要设置所有内容,我使用以下步骤:

sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat cpio python python3 python3-pip python3-pexpect cmake
git clone git://git.yoctoproject.org/poky.git poky.git
cd poky.git
git checkout -b morty remotes/origin/morty
. oe-init-build-env
cd ..
git clone https://github.com/altera-opensource/meta-altera.git meta-altera
cd meta-altera
git checkout -b angstrom-v2015.12-yocto2.0 remotes/origin/angstrom-v2015.12-yocto2.0

然后我将meta-altera 的路径添加到build/conf/bblayers.conf 和MACHINE = "cyclone5" 到build/conf/local.conf。我希望,现在bitbake core-image-minimal 会运行,但它会因以下错误而停止:

WARNING: qemu-native-2.7.0-r1 do_populate_sysroot: File '/mydirectory/poky.git/build/tmp/sysroots/x86_64-linux/usr/share/qemu/openbios-ppc' from qemu-native was already stripped, this will prevent future debugging!
WARNING: qemu-native-2.7.0-r1 do_populate_sysroot: File '/mydirectory/poky.git/build/tmp/sysroots/x86_64-linux/usr/share/qemu/openbios-sparc32' from qemu-native was already stripped, this will prevent future debugging!
WARNING: qemu-native-2.7.0-r1 do_populate_sysroot: File '/mydirectory/poky.git/build/tmp/sysroots/x86_64-linux/usr/share/qemu/openbios-sparc64' from qemu-native was already stripped, this will prevent future debugging!
WARNING: qemu-native-2.7.0-r1 do_populate_sysroot: File '/mydirectory/poky.git/build/tmp/sysroots/x86_64-linux/usr/share/qemu/s390-ccw.img' from qemu-native was already stripped, this will prevent future debugging!
WARNING: qemu-native-2.7.0-r1 do_populate_sysroot: File '/mydirectory/poky.git/build/tmp/sysroots/x86_64-linux/usr/share/qemu/u-boot.e500' from qemu-native was already stripped, this will prevent future debugging!
ERROR: qemu-native-2.7.0-r1 do_populate_sysroot: runstrip: ''strip' --remove-section=.comment --remove-section=.note '/mydirectory/poky.git/build/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/sysroot-destdir/media/sln/Data/yocto/poky.git/build/tmp/sysroots/x86_64-linux/usr/share/qemu/palcode-clipper'' strip command failed with 1 (b"strip: Unable to recognise the format of the input file `/mydirectory/poky.git/build/tmp/work/x86_64-linux/qemu-native/2.7.0-r1/sysroot-destdir/mydirectory/poky.git/build/tmp/sysroots/x86_64-linux/usr/share/qemu/palcode-clipper'\n")

我通过将INSANE_SKIP_qemu-native = "already-stripped" 添加到poky.git/meta/recipes-devtools/qemu/qemu.inc 来消除警告,但错误仍然存​​在。我使用 Ubunut 16.04 作为我的构建机器。感谢您提供任何帮助或提示。

如果我继续构建,我会在构建 gcc-runtime-6.2.0-r0 do_compile 时收到错误并停止。我假设这个错误是基于 qemu 错误。


这是 bitbake 中显示的构建配置:

Build Configuration:
BB_VERSION        = "1.32.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "universal"
TARGET_SYS        = "arm-poky-linux-gnueabi"
MACHINE           = "cyclone5"
DISTRO            = "poky"
DISTRO_VERSION    = "2.2.1"
TUNE_FEATURES     = "arm armv7a vfp  neon        callconvention-hard"
TARGET_FPU        = "hard"
meta              
meta-poky         
meta-yocto-bsp    = "morty:924e576b8930fd2268d85f0b151e5f68a3c2afce"
meta-altera       = "angstrom-v2015.12-yocto2.0:3cfd56bb15673795435cf7684ef9c723283a6bce"

【问题讨论】:

  • 错误信息表明有东西试图剥离“palcode-clipper”文件。这是 Alpha 模拟器的固件 blob,因此它是一个 Alpha ELF 文件。因此,工具链条(可能是 ARM)合理地抱怨它无法处理它。问题在于不加选择地试图在它可以找到的每个二进制文件上运行“剥离”——你应该找到它并让它做一些更聪明的事情。

标签: qemu yocto bitbake


【解决方案1】:

看起来您正在检查元交替层的 Yocto 2.0 分支。 Yocto 2.0 是 Jethro。您正在查看 Poky 的 Morty 分支,即 Yocto 2.2。尝试通过在 poky.git 文件夹中执行以下 Git 命令来检查 Poky 的 jethro 分支:

git checkout -b jethro remotes/origin/jethro

【讨论】:

  • 感谢您的回答,但不幸的是,这并没有解决问题。 Meta-altera 是一个非常小的层,它对结果没有影响。
猜你喜欢
  • 2018-12-22
  • 2018-11-03
  • 2018-06-18
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-04
  • 2020-11-28
相关资源
最近更新 更多