【发布时间】: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)合理地抱怨它无法处理它。问题在于不加选择地试图在它可以找到的每个二进制文件上运行“剥离”——你应该找到它并让它做一些更聪明的事情。