[yocto] dtb filename mismatch prevents booting

Maciej Borzecki maciej.borzecki at open-rnd.pl
Wed Feb 10 10:35:31 PST 2016


> Dnia 10 luty 2016 o 17:16 Oliver Graute <oliver.graute at gmail.com> napisał(a):
>
>
> Hello list,
>
> if I try to boot from my yocto generated SD-card image my u-boot can't
> start the kernel because the imx6ul-14x14-evk.dtb is missing.
>
>
> reading boot.scr
> ** Unable to read file boot.scr **
> reading zImage
> 5072288 bytes read in 328 ms (14.7 MiB/s)
> Booting from mmc ...
> reading imx6ul-14x14-evk.dtb
> ** Unable to read file imx6ul-14x14-evk.dtb **
> Kernel image @ 0x82000000 [ 0x000000 - 0x4d65a0 ]
>
> Starting kernel ...
>
>
> In my /boot folder I saw a dtb file, but the filename is a bit different.
>
> zImage-imx6ul-14x14-evk.dtb instead of imx6ul-14x14-evk.dtb
>
> So I changed these filename manually and my Image is booting.
>
> mv zImage-imx6ul-14x14-evk.dtb imx6ul-14x14-evk.dtb
> »zImage-imx6ul-14x14-evk.dtb“ -> »imx6ul-14x14-evk.dtb“
>
> What is the right way to define these dtb filename?
>
> I saw the IMAGE_BOOT_FILES in local.conf
>
> #IMAGE_BOOT_FILES = "zImage zImage-imx6ul-14x14-evk.dtb"
> IMAGE_BOOT_FILES = "zImage imx6ul-14x14-evk.dtb"
>
> but after I changed it my build fails.
>
> ERROR: Error: The image creation script
> '/home/graute/5411_IBIS/yocto/build-imx6ulevk/tmp/work/imx6ulevk-poky-linux-gnueabi/fsl-image/1.0-r0/temp/create_image.wic'
> returned 1:
> Error: exec_cmd: install -m 0644 -D
> /home/graute/5411_IBIS/yocto/build-imx6ulevk/tmp/deploy/images/imx6ulevk/imx6ul-14x14-evk.dtb
> /home/graute/5411_IBIS/yocto/build-imx6ulevk/tmp/deploy/images/imx6ulevk/fsl-image-imx6ulevk-20160208144228/build/boot/imx6ul-14x14-evk.dtb
> returned '1' instead of 0
> Checking basic build environment...
> Done.
>
> Creating image(s)...
>
> WARNING:
> /home/graute/5411_IBIS/yocto/build-imx6ulevk/tmp/work/imx6ulevk-poky-linux-gnueabi/fsl-image/1.0-r0/temp/create_image.wic:1
> exit 1 from
> BUILDDIR=/home/graute/5411_IBIS/yocto/build-imx6ulevk wic create $wks --vars
> /home/graute/5411_IBIS/yocto/build-imx6ulevk/tmp/sysroots/imx6ulevk/imgdata/
> -e fsl-image -o $out/
>
> ERROR: Function failed: do_rootfs
> ERROR: Logfile of failure stored in:
> /home/graute/5411_IBIS/yocto/build-imx6ulevk/tmp/work/imx6ulevk-poky-linux-gnueabi/fsl-image/1.0-r0/temp/log.do_rootfs.17681
> ERROR: Task 7
> (/home/graute/5411_IBIS/yocto/os-meta-dnt/meta-fsl/recipes-fsl/images/fsl-image.bb,
> do_rootfs) failed with exit code '1'
>
> some ideas whats going wrong here?
>

IIRC the usual way was to add kernel-devicetree package and let u-boot
pick the proper dtb during boot.

As for IMAGE_BOOT_FILES, you can tell wic to automatically rename files
by passing the desired name after a semicolon like this:

  IMAGE_BOOT_FILES = "zImage zImage-imx6ul-14x14-evk.dtb;mx6ul-14x14-evk.dtb"

--
Maciej Borzęcki
Senior Software Engineer at Open-RnD Sp. z o.o.
www.open-rnd.pl, Facebook, Twitter



More information about the yocto mailing list