Linux 安装后拦截钩';更新“gio”模块缓存&x27;失败

Linux 安装后拦截钩';更新“gio”模块缓存&x27;失败,linux,linux-kernel,x86-64,intel,yocto,Linux,Linux Kernel,X86 64,Intel,Yocto,我正在为warrior branch构建核心映像极小值。我的设备有atom处理器,因此我在tune-corei7.inc文件中将nehalem更改为atom。我的机器设置为英特尔-corei7-64。在生成核心映像minimal时,我遇到以下错误: NOTE: Installing complementary packages ... NOTE: Running ['oe-pkgdata-util', '-p', '/home/panther2/warrior/build_panther1/t

我正在为warrior branch构建
核心映像极小值
。我的设备有atom处理器,因此我在
tune-corei7.inc
文件中将
nehalem
更改为
atom
。我的机器设置为英特尔-corei7-64。在生成
核心映像minimal
时,我遇到以下错误:

NOTE: Installing complementary packages ... 
NOTE: Running ['oe-pkgdata-util', '-p', '/home/panther2/warrior/build_panther1/tmp/pkgdata/panther1', 'glob', '/tmp/installed-pkgs03hhi936', ''] 
NOTE: Running intercept scripts:
NOTE: > Executing update_gio_module_cache intercept ... 
NOTE: Exit code 1. Output:
+ [ True = False -a qemuwrapper-cross != nativesdk-qemuwrapper-cross ]
+ qemu-x86_64 -r 3.2.0 -cpu atom,check=false -E LD_LIBRARY_PATH=/home/panther2/warrior/build_panther1/tmp/work/panther1-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/lib:/home/panther2/warrior/build_panther1/tmp/work/panther1-poky-linux/core-image-minimal/1.0-r0/rootfs/lib -L /home/panther2/warrior/build_panther1/tmp/work/panther1-poky-linux/core-image-minimal/1.0-r0/rootfs /home/panther2/warrior/build_panther1/tmp/work/panther1-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/libexec/gio-querymodules /home/panther2/warrior/build_panther1/tmp/work/panther1-poky-linux/core-image-minimal/1.0-r0/rootfs/usr/lib/gio/modules/
unable to find CPU model 'atom'

ERROR: The postinstall intercept hook 'update_gio_module_cache' failed, details in /home/panther2/warrior/build_panther1/tmp/work/panther1-poky-linux/core-image-minimal/1.0-r0/temp/log.do_rootfs
ERROR: 
DEBUG: Python function do_rootfs finished
ERROR: Function failed: do_rootfs 
有人帮忙吗

提前谢谢

编辑:附加“tune-corei7.inc”文件

# Settings for the GCC(1) cpu-type "atom":
#
#     Intel atom CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
#     SSE4.2 and POPCNT instruction set support.
#
# This tune is recommended for Intel atom and Silvermont (e.g. Bay Trail) CPUs
# (and beyond).
#
DEFAULTTUNE ?= "corei7-64"

# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
require conf/machine/include/tune-atom.inc

# Extra tune features
TUNEVALID[corei7] = "Enable corei7 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'corei7', ' -march=atom -mtune=generic -mfpmath=sse -msse4.2', '', d)}"

# Extra tune selections
AVAILTUNES += "corei7-32"
TUNE_FEATURES_tune-corei7-32 = "${TUNE_FEATURES_tune-x86} corei7"
BASE_LIB_tune-corei7-32 = "lib"
TUNE_PKGARCH_tune-corei7-32 = "corei7-32"
PACKAGE_EXTRA_ARCHS_tune-corei7-32 = "${PACKAGE_EXTRA_ARCHS_tune-atom-32} corei7-32"
QEMU_EXTRAOPTIONS_corei7-32 = " -cpu nehalem,check=false"

AVAILTUNES += "corei7-64"
TUNE_FEATURES_tune-corei7-64 = "${TUNE_FEATURES_tune-x86-64} corei7"
BASE_LIB_tune-corei7-64 = "lib64"
TUNE_PKGARCH_tune-corei7-64 = "corei7-64"
PACKAGE_EXTRA_ARCHS_tune-corei7-64 = "${PACKAGE_EXTRA_ARCHS_tune-atom-64} corei7-64"
QEMU_EXTRAOPTIONS_corei7-64 = " -cpu nehalem,check=false"

AVAILTUNES += "corei7-64-x32"
TUNE_FEATURES_tune-corei7-64-x32 = "${TUNE_FEATURES_tune-x86-64-x32} corei7"
BASE_LIB_tune-corei7-64-x32 = "libx32"
TUNE_PKGARCH_tune-corei7-64-x32 = "corei7-64-x32"
PACKAGE_EXTRA_ARCHS_tune-corei7-64-x32 = "${PACKAGE_EXTRA_ARCHS_tune-atom-64-x32} corei7-64-x32"
QEMU_EXTRAOPTIONS_corei7-64-x32 = " -cpu nehalem,check=false"

哦,这部分需要qemu认可的东西。您可能仍然可以将nehalem用于qemu,即使您需要使用
gcc-march=atom进行编译,以便代码在atom上运行。既然您正在修改构建过程以将corei7重新定位为atom,那么您也可以更改它。谢谢Peter!根据上面的建议,我得到了同样的错误,只是做了一些小改动(
找不到CPU型号“nehalem”
)编辑:我附上了有问题的
tune-corei7.inc
文件。显然,您应该使用
--help
或其他工具运行qemu,看看它支持哪些CPU型号。选择一个原子的超集。(如果您甚至需要一个模拟器;您的桌面可能支持Atom所做的所有指令,包括
movbe
(字节交换),如果它足够新的话;该指令最初在Atom上引入,但后来在桌面上得到支持。)