[meta-xilinx] Build fitImage for Zynq zc706
Nathan Rossi
nathan at nathanrossi.com
Fri Jan 15 00:24:34 PST 2016
On Thu, Jan 14, 2016 at 8:00 PM, Maciej Sobkowski
<maciej.sobkowski at nokia.com> wrote:
> Hi,
>
> I am failing to configure meta-xilinx to produce image in fitImage
> format. I want image for ZYNQ zc706. I did following change:
>
> diff --git a/conf/machine/include/tune-zynq.inc b/conf/machine/include/tune-zynq.inc
> index 6ecfe89..705b0a5 100644
> --- a/conf/machine/include/tune-zynq.inc
> +++ b/conf/machine/include/tune-zynq.inc
> @@ -5,8 +5,8 @@ require conf/machine/include/tune-cortexa9.inc
> require conf/machine/include/soc-family.inc
>
> # Linux Configuration
> -KERNEL_IMAGETYPE ?= "uImage"
> -
> +KERNEL_CLASSES += "kernel-fitimage"
> +KERNEL_IMAGETYPE = "fitImage"
> # Set default load address.
> # Override with KERNEL_EXTRA_ARGS_<board> += "..." in machine file if required
> KERNEL_EXTRA_ARGS_zynq += "UIMAGE_LOADADDR=0x8000"
>
> But after rebuilding core-image-minimal, I get following error:
>
> ERROR: Unbuildable tasks were found. These are usually caused by
> circular dependencies and any circular dependency chains found will be
> printed below. Increase the debug level to see a list of unbuildable
> tasks.
>
> I pasted found dependency loops to pastebin, due to large size of
> output: http://pastebin.com/raw/piraEyD9
>
> Do I have an error in configuration?
I tried using the fitimage class by setting just the these variables
in local.conf:
KERNEL_CLASSES += "kernel-fitimage"
KERNEL_IMAGETYPE = "fitImage"
I did not see any task dependency issues and got a fitimage result.
However as soon as I tried to get it to embed the rootfs with the
"INITRAMFS_IMAGE = "core-image-minimal"" setup it hit the errors you
see. I suspect this is a bug with the class and how the task
dependencies are setup (since there is a loop). Looking at the
kernel-fitimage.bbclass it appears as though this was never intended
to work since the do_assemble_fitimage is put between the install and
compile tasks of the kernel but the rootfs image depends on a compiled
and installed kernel, aka circular task dependencies.
You might have to create the fit image outside of the kernel recipe
manually, for reference that kernel-fitimage.bbclass will generate a
.its in the deploy directory that you can use as a reference.
Regards,
Nathan
>
> --
> Maciej Sobkowski
> --
> _______________________________________________
> meta-xilinx mailing list
> meta-xilinx at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-xilinx
More information about the meta-xilinx
mailing list