我已经在bitbake中运行了Yocto构建了几天,但是我注意到它有时会停止生成内核的zImage文件。我要进行的大多数更改是对内核配置和machine.conf文件的更改。发生这种情况时,每次构建我仍会获得更新的tar.gz文件,但是zImage停止更新。运行do_clean,do_cleanall和do_cleansstate任务无济于事,从build / tmp / deploy中删除旧的zImage文件也无济于事。唯一有用的是删除整个pocky / build / tmp目录并从头开始重建整个项目。这是我当前的machine.conf文件:
#@TYPE: Machine
#@Name: EMAC, Inc. SoM-9G45M Module
#@DESCRIPTION: Machine.inc configuration for the SoM-9G45M board with a at91sam9g45 processor
TARGET_ARCH = "arm"
PREFERRED_PROVIDER_virtual/kernel = "linux-2.6.30-at91-emac"
PREFERRED_PROVIDER_xserver = "xserver-kdrive"
KERNEL_IMAGETYPE = "zImage"
KERNEL_EXTRA_ARGS = "LOADADDR=0x74000000"
#don't try to access tty1
USE_VT = "0"
MACHINE_FEATURES = "kernel26 apm alsa ext2 usbhost usbgadget"
KERNEL_DEVICETREE = "at91som9g45.dtb"
# used by sysvinit_2
#SERIAL_CONSOLE = "115200 ttyS1"
SERIAL_CONSOLE = "115200 ttyS0"
#SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1"
#SYSLINUX_DEFAULT_CONSOLE = "console=ttyS0"
#SYSLINUX_SERIAL = "0 115200"
#SYSLINUX_SERIAL_TTY = "console=ttyS0,115200"
#EXTRA_IMAGECMD_jffs2 = "--pad=0xA00000 --little-endian --eraseblock=0x20000"
# NAND
MKUBIFS_ARGS = " -e 129024 -c 2047 -m 2048 -x lzo"
UBINIZE_ARGS = " -m 2048 -p 128KiB -s 512"
UBI_VOLNAME = "rootfs"
UBOOT_MACHINE = "${MACHINE}_nandflash_config"
UBOOT_ENTRYPOINT = "0x74000000"
UBOOT_LOADADDRESS = "0x74000000"
require include/at91sam9.inc
什么会导致bitbake构建停止生成指定的内核映像,该如何解决?
答案 0 :(得分:0)
答案最终分为两个部分。
首先,运行bitbake -c do_cleansstate linux-at91
,然后运行bitbake core-image-sato
成功地重新生成了zImage文件。
第二,linux-2.6.30-at91-emac
是错误的,因为我的kerenl仅被称为linux-at91
。因此,我的内核构建可能仅在为其他计算机运行构建时才运行。
因此,我完整的映像构建不是在重建内核,因为我引用了其他内核。一旦修复此问题,内核构建将再次开始运行。我不确定如何首先获得zImage,或者为什么在告诉Bitbake构造不存在的内核后,Bitbake从未抛出错误。