I have created recipes to create u-boot and Linux for a custom board based on the i.MX6DL processor. I am trying unsuccessfully to build the manufacturing tool firmware for this new device.
If I select the default board (imx6qsabresd) and execute 'bitbake fsl-image-mfgtool-initramfs', all firmware is built properly. If I select my custom board, I get build errors shown below. What am I missing in my custom board recipes that could cause this? I have done this same thing for other custom boards without any problems.
pauldemet@yocto:~/fsl-arm-yocto-bsp-c428/build-mfgtool$ bitbake fsl-image-mfgtool-initramfs
Loading cache: 100% |######################################################################################| ETA: 00:00:00
Loaded 2830 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.28.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Ubuntu-14.04"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "imx6dlc428"
DISTRO = "fsl-imx-x11"
DISTRO_VERSION = "4.1.15-1.2.0"
TUNE_FEATURES = "arm armv7a vfp neon callconvention-hard cortexa9"
TARGET_FPU = "vfp-neon"
meta
meta-yocto = "HEAD:dd0ba9ea4a11ab15348d4fe3574e4b28784db82f"
meta-oe
meta-multimedia = "HEAD:ad6133a2e95f4b83b6b3ea413598e2cd5fb3fd90"
meta-fsl-arm = "HEAD:35b8b9bd9863de208ab60e33b55f10ee43e2619b"
meta-fsl-arm-extra = "HEAD:e200df91b70da254461c59082ddd5db0a3c415a2"
meta-fsl-demos = "HEAD:2231e946e7a94d096394f2b2477e8184c9bbde7b"
meta-bsp
meta-sdk = "HEAD:dfbc90ee74624ce3be636c8bd2a47114fa2b71aa"
meta-browser = "HEAD:b6d46d69a261fe6bd7c1e9811dc2a9bbd0b79aeb"
meta-gnome
meta-networking
meta-python
meta-ruby
meta-filesystems
meta-xfce = "HEAD:ad6133a2e95f4b83b6b3ea413598e2cd5fb3fd90"
meta-qt5 = "HEAD:d5536e34ec985c82b621448ab4325e5cbba38560"
NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: oe_runmake failed
ERROR: Function failed: do_compile (log file is located at /home/pauldemet/fsl-arm-yocto-bsp-c428/build-mfgtool/tmp/work/imx6dlc428-poky-linux-gnueabi/mfgtool-linux-imx/4.1.15-r0/temp/log.do_compile.454)
ERROR: Logfile of failure stored in: /home/pauldemet/fsl-arm-yocto-bsp-c428/build-mfgtool/tmp/work/imx6dlc428-poky-linux-gnueabi/mfgtool-linux-imx/4.1.15-r0/temp/log.do_compile.454
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make -j 4 zImage CC=arm-poky-linux-gnueabi-gcc -fuse-ld=bfd LD=arm-poky-linux-gnueabi-ld.bfd LOADADDR=0x10008000
| CHK include/config/kernel.release
| GEN ./Makefile
| CHK include/generated/uapi/linux/version.h
| CHK include/generated/utsrelease.h
| Using /home/pauldemet/fsl-arm-yocto-bsp-c428/build-mfgtool/tmp/work-shared/imx6dlc428/kernel-mfgtool-source as source for kernel
| CC scripts/mod/empty.o
| CC scripts/mod/devicetable-offsets.s
| MKELF scripts/mod/elfconfig.h
| GEN scripts/mod/devicetable-offsets.h
| HOSTCC scripts/mod/modpost.o
| HOSTCC scripts/mod/sumversion.o
| HOSTCC scripts/mod/file2alias.o
| HOSTLD scripts/mod/modpost
| make[3]: `include/generated/mach-types.h' is up to date.
| CHK include/generated/bounds.h
| CHK include/generated/asm-offsets.h
| CALL /home/pauldemet/fsl-arm-yocto-bsp-c428/build-mfgtool/tmp/work-shared/imx6dlc428/kernel-mfgtool-source/scripts/checksyscalls.sh
| CHK include/generated/compile.h
| Kernel: arch/arm/boot/Image is ready
| Kernel: arch/arm/boot/zImage is ready
| NOTE: make -j 4 imx6dl-c428.dtb
| CC scripts/mod/empty.o
| CC scripts/mod/devicetable-offsets.s
| GEN scripts/mod/devicetable-offsets.h
| MKELF scripts/mod/elfconfig.h
| HOSTCC scripts/mod/modpost.o
| HOSTCC scripts/mod/file2alias.o
| HOSTCC scripts/mod/sumversion.o
| HOSTLD scripts/mod/modpost
| make[3]: *** No rule to make target `arch/arm/boot/dts/imx6dl-c428.dtb'. Stop.
| make[2]: *** [imx6dl-c428.dtb] Error 2
| make[1]: *** [sub-make] Error 2
| make: *** [__sub-make] Error 2
| WARNING: exit code 1 from a shell command.
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (log file is located at /home/pauldemet/fsl-arm-yocto-bsp-c428/build-mfgtool/tmp/work/imx6dlc428-poky-linux-gnueabi/mfgtool-linux-imx/4.1.15-r0/temp/log.do_compile.454)
ERROR: Task 181 (/home/pauldemet/fsl-arm-yocto-bsp-c428/sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-kernel/linux/linux-imx-mfgtool_4.1.15.bb, do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 685 tasks of which 676 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:
Summary: 1 task failed:
/home/pauldemet/fsl-arm-yocto-bsp-c428/sources/meta-fsl-bsp-release/imx/meta-bsp/recipes-kernel/linux/linux-imx-mfgtool_4.1.15.bb, do_compile
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
Hello,
Is it possible to build at least minimal (non MFG) system with Your configuration ?
Have a great day,
Yuri
------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
I can build fsl-image-gui with no problems. In my machine configuration file, I specify u-boot-c428dl and linux-c428dl. But with the manufacturing tool, it builds u-boot-mfgtool and linux-mfgtool. How can I integrate my custom recipes into the manufacturing tool build?
Here is the machine file:
require conf/machine/include/imx-base.inc
require conf/machine/include/tune-cortexa9.inc
SOC_FAMILY = "mx6:mx6dl:mx6q"
KERNEL_DEVICETREE = "imx6dl-c428.dtb"
PREFERRED_PROVIDER_u-boot_mx6dl = "u-boot-c428dl"
PREFERRED_VERSION_u-boot-c428dl ?= "2015.04"
PREFERRED_PROVIDER_virtual/kernel_mx6dl = "linux-c428dl"
PREFERRED_VERSION_linux-c428dl ?= "4.1.15"
UBOOT_CONFIG ??= "spinor"
UBOOT_CONFIG[sd] = "mx6dlc428_config,sdcard"
UBOOT_CONFIG[spinor] = "mx6dlc428_spinor_config"
UBOOT_CONFIG[mfgtool] = "mx6dlc428_config"
SERIAL_CONSOLE = "115200 ttymxc0"
MACHINE_FEATURES += " alsa apm ext2 keyboard pci rtc screen touchscreen serial usbgadget usbhost vfat"
Hello,
the following may be helpful.
No need to rebuild U-boot.
As for kernel, a manufacturing tool kernel is built using the imx_v7_mfg_defconfig,
while the default kernel is built by using the imx_v7_defconfig.
Regards,
Yuri.