bitbake不生成zImage文件

时间:2018-11-13 18:51:08

标签: embedded-linux yocto bitbake

我已经在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构建停止生成指定的内核映像,该如何解决?

1 个答案:

答案 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从未抛出错误。