Topics

Trouble with dual qemu with meta-xlinx on yocto 3.1 dunfell


Karthik Poduval
 

Hi All,

I am trying to build an image for Xilinx ZCU102, MACHINE=zcu102-zynqmp
using the YOE distro https://github.com/YoeDistro/yoe-distro.

Here are the relevant layers I added.
meta-xilinx-bsp
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp
5
meta-xilinx-contrib
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-contrib
5
meta-xilinx-pynq
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-pynq
5
meta-xilinx-standalone
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-standalone
7
meta-xilinx-tools
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx-tools 5
meta-petalinux /home/kpoduval/workspace/yoe-zcu/sources/meta-petalinux 5

meta-xilinx, meta-xilinx-tools and meta-petalinux are on master branch
which has dunfell support.

Initially it gave trouble with xsct tool as described in
https://github.com/Xilinx/meta-xilinx-tools/issues/19, but this was
resolved by installing libtinfo5 on Ubuntu 20.04 using command.
sudo apt-get install libtinfo5

Towards the very end of the build, bitbake complaints about two
recipes proving qemu, here is the exact error message.
ERROR: linux-xlnx-5.4+gitAUTOINC+22b71b4162-r0 do_deploy: The file
/usr/bin/qemu-aarch64 is installed by both qemu-xilinx-native and
qemu-native, aborting
ERROR: Logfile of failure stored in:
/home/kpoduval/workspace/yoe-zcu/build/tmp/work/zcu102_zynqmp-yoe-linux/linux-xlnx/5.4+gitAUTOINC+22b71b4162-r0/temp/log.do_deploy.3102630
ERROR: Task (/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2020.1.bb:do_deploy)
failed with exit code '1'


The following warning was also presented after recipe parsing.

ERROR: Multiple .bb files are due to be built which each provide
qemu-native:################################################################################################################



| ETA: 0:00:00
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.1.bb
A list of tasks depending on these providers is shown and may help
explain where the dependency comes from.
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb
has unique dependees:
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb:do_prepare_recipe_sysroot
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-core/images/core-image-minimal.bb:do_rootfs
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-core/glib-2.0/glib-2.0_2.62.4.bb:do_package_write_ipk
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-core/udev/eudev_3.2.9.bb:do_package_write_ipk
/home/kpoduval/workspace/yoe-zcu/sources/meta-yoe/recipes-core/images/initramfs-image.bb:do_rootfs
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.1.bb
has unique dependees:
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2020.1.bb:do_prepare_recipe_sysroot
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-multiarch-helper-native_1.0.bb:do_populate_sysroot
It could be that one recipe provides something the other doesn't and
should. The following provider and runtime provider differences may be
helpful.
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb
has unique provides:

/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb
has unique rprovides:
qemu-native
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.1.bb
has unique provides:
qemu-xilinx-native
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.1.bb
has unique rprovides:
qemu-xilinx-native

build command used.
bitbake core-image-minimal

Here are some things I added to local conf, but it didn't help resolve
the issue.
PREFERRED_PROVIDER_virtual/pmu-firmware = "pmu-firmware"
PREFERRED_PROVIDER_virtual/boot-bin = "xilinx-bootbin"
PREFERRED_PROVIDER_virtual/dtb = "device-tree"
PREFERRED_PROVIDER_qemu = "qemu"
PREFERRED_PROVIDER_qemu-helper-native = "qemu-helper-native"
IMAGE_INSTALL_remove = " qemu"

--
Regards,
Karthik Poduval


Karthik Poduval
 

On Sat, Jul 4, 2020 at 3:00 PM karthik poduval
<karthik.poduval@gmail.com> wrote:

Hi All,

I am trying to build an image for Xilinx ZCU102, MACHINE=zcu102-zynqmp
using the YOE distro https://github.com/YoeDistro/yoe-distro.

Here are the relevant layers I added.
meta-xilinx-bsp
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp
5
meta-xilinx-contrib
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-contrib
5
meta-xilinx-pynq
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-pynq
5
meta-xilinx-standalone
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-standalone
7
meta-xilinx-tools
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx-tools 5
meta-petalinux /home/kpoduval/workspace/yoe-zcu/sources/meta-petalinux 5

meta-xilinx, meta-xilinx-tools and meta-petalinux are on master branch
which has dunfell support.

Initially it gave trouble with xsct tool as described in
https://github.com/Xilinx/meta-xilinx-tools/issues/19, but this was
resolved by installing libtinfo5 on Ubuntu 20.04 using command.
sudo apt-get install libtinfo5

Towards the very end of the build, bitbake complaints about two
recipes proving qemu, here is the exact error message.
ERROR: linux-xlnx-5.4+gitAUTOINC+22b71b4162-r0 do_deploy: The file
/usr/bin/qemu-aarch64 is installed by both qemu-xilinx-native and
qemu-native, aborting
ERROR: Logfile of failure stored in:
/home/kpoduval/workspace/yoe-zcu/build/tmp/work/zcu102_zynqmp-yoe-linux/linux-xlnx/5.4+gitAUTOINC+22b71b4162-r0/temp/log.do_deploy.3102630
ERROR: Task (/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2020.1.bb:do_deploy)
failed with exit code '1'


The following warning was also presented after recipe parsing.

ERROR: Multiple .bb files are due to be built which each provide
qemu-native:################################################################################################################



| ETA: 0:00:00
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.1.bb
A list of tasks depending on these providers is shown and may help
explain where the dependency comes from.
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb
has unique dependees:
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb:do_prepare_recipe_sysroot
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-core/images/core-image-minimal.bb:do_rootfs
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-core/glib-2.0/glib-2.0_2.62.4.bb:do_package_write_ipk
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-core/udev/eudev_3.2.9.bb:do_package_write_ipk
/home/kpoduval/workspace/yoe-zcu/sources/meta-yoe/recipes-core/images/initramfs-image.bb:do_rootfs
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.1.bb
has unique dependees:
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2020.1.bb:do_prepare_recipe_sysroot
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-multiarch-helper-native_1.0.bb:do_populate_sysroot
It could be that one recipe provides something the other doesn't and
should. The following provider and runtime provider differences may be
helpful.
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb
has unique provides:

/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb
has unique rprovides:
qemu-native
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.1.bb
has unique provides:
qemu-xilinx-native
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.1.bb
has unique rprovides:
qemu-xilinx-native

build command used.
bitbake core-image-minimal

Here are some things I added to local conf, but it didn't help resolve
the issue.
PREFERRED_PROVIDER_virtual/pmu-firmware = "pmu-firmware"
PREFERRED_PROVIDER_virtual/boot-bin = "xilinx-bootbin"
PREFERRED_PROVIDER_virtual/dtb = "device-tree"
PREFERRED_PROVIDER_qemu = "qemu"
PREFERRED_PROVIDER_qemu-helper-native = "qemu-helper-native"
IMAGE_INSTALL_remove = " qemu"

--
Regards,
Karthik Poduval


--
Regards,
Karthik Poduval


Karthik Poduval
 

I was able to get past the error. Here are the conf values used.

PREFERRED_PROVIDER_virtual/pmu-firmware = "pmu-firmware"
PREFERRED_PROVIDER_virtual/boot-bin = "xilinx-bootbin"
PREFERRED_PROVIDER_virtual/dtb = "device-tree"
PREFERRED_PROVIDER_qemu-native = "qemu-xilinx-native"
PREFERRED_PROVIDER_qemu-helper-native = "qemu-helper-native"
IMAGE_INSTALL_remove = " qemu"

It made better sense to go with qemu provided by Xilinx instead of oe.
I also ran into another error.
Exception: FileExistsError: [Errno 17] File exists:
'/home/kpoduval/workspace/yoe-zcu/build/tmp/sysroots-components/x86_64/qemu-xilinx-native/sysroot-providers/qemu-native'
-> '/home/kpoduval/workspace/yoe-zcu/build/tmp/work/zcu102_zynqmp-yoe-linux/linux-xlnx/5.4+gitAUTOINC+22b71b4162-r0/recipe-sysroot-native/sysroot-providers/qemu-native'

This was solved by removing oe's qemu-native via a clean build.
bitbake qemu-native -c cleanall

After which the image builds fine.

On Sat, Jul 4, 2020 at 4:32 PM Karthik Poduval via
lists.yoctoproject.org
<karthik.poduval=gmail.com@lists.yoctoproject.org> wrote:


On Sat, Jul 4, 2020 at 3:00 PM karthik poduval
<karthik.poduval@gmail.com> wrote:

Hi All,

I am trying to build an image for Xilinx ZCU102, MACHINE=zcu102-zynqmp
using the YOE distro https://github.com/YoeDistro/yoe-distro.

Here are the relevant layers I added.
meta-xilinx-bsp
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp
5
meta-xilinx-contrib
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-contrib
5
meta-xilinx-pynq
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-pynq
5
meta-xilinx-standalone
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-standalone
7
meta-xilinx-tools
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx-tools 5
meta-petalinux /home/kpoduval/workspace/yoe-zcu/sources/meta-petalinux 5

meta-xilinx, meta-xilinx-tools and meta-petalinux are on master branch
which has dunfell support.

Initially it gave trouble with xsct tool as described in
https://github.com/Xilinx/meta-xilinx-tools/issues/19, but this was
resolved by installing libtinfo5 on Ubuntu 20.04 using command.
sudo apt-get install libtinfo5

Towards the very end of the build, bitbake complaints about two
recipes proving qemu, here is the exact error message.
ERROR: linux-xlnx-5.4+gitAUTOINC+22b71b4162-r0 do_deploy: The file
/usr/bin/qemu-aarch64 is installed by both qemu-xilinx-native and
qemu-native, aborting
ERROR: Logfile of failure stored in:
/home/kpoduval/workspace/yoe-zcu/build/tmp/work/zcu102_zynqmp-yoe-linux/linux-xlnx/5.4+gitAUTOINC+22b71b4162-r0/temp/log.do_deploy.3102630
ERROR: Task (/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2020.1.bb:do_deploy)
failed with exit code '1'


The following warning was also presented after recipe parsing.

ERROR: Multiple .bb files are due to be built which each provide
qemu-native:################################################################################################################



| ETA: 0:00:00
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.1.bb
A list of tasks depending on these providers is shown and may help
explain where the dependency comes from.
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb
has unique dependees:
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb:do_prepare_recipe_sysroot
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-core/images/core-image-minimal.bb:do_rootfs
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-core/glib-2.0/glib-2.0_2.62.4.bb:do_package_write_ipk
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-core/udev/eudev_3.2.9.bb:do_package_write_ipk
/home/kpoduval/workspace/yoe-zcu/sources/meta-yoe/recipes-core/images/initramfs-image.bb:do_rootfs
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.1.bb
has unique dependees:
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-system-native_2020.1.bb:do_prepare_recipe_sysroot
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-multiarch-helper-native_1.0.bb:do_populate_sysroot
It could be that one recipe provides something the other doesn't and
should. The following provider and runtime provider differences may be
helpful.
/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb
has unique provides:

/home/kpoduval/workspace/yoe-zcu/sources/openembedded-core/meta/recipes-devtools/qemu/qemu-native_4.2.0.bb
has unique rprovides:
qemu-native
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.1.bb
has unique provides:
qemu-xilinx-native
/home/kpoduval/workspace/yoe-zcu/sources/meta-xilinx/meta-xilinx-bsp/recipes-devtools/qemu/qemu-xilinx-native_2020.1.bb
has unique rprovides:
qemu-xilinx-native

build command used.
bitbake core-image-minimal

Here are some things I added to local conf, but it didn't help resolve
the issue.
PREFERRED_PROVIDER_virtual/pmu-firmware = "pmu-firmware"
PREFERRED_PROVIDER_virtual/boot-bin = "xilinx-bootbin"
PREFERRED_PROVIDER_virtual/dtb = "device-tree"
PREFERRED_PROVIDER_qemu = "qemu"
PREFERRED_PROVIDER_qemu-helper-native = "qemu-helper-native"
IMAGE_INSTALL_remove = " qemu"

--
Regards,
Karthik Poduval


--
Regards,
Karthik Poduval
--
Regards,
Karthik Poduval