UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor aricci
Visitor
5,721 Views
Registered: ‎08-17-2017

Integrating Qt 5.6.2 with PetaLinux 2016.4

Hi.

 

I've installed PetaLinuxTools and XSDK on a CentOS 7.1 64-bit machine and now I'm trying to integrate Qt 5.6.2 with PetaLinux 2016.4. To do so, I followed these steps

  1. installed packagegroup-petalinux-x11
  2. installed packagegroup-petalinux-qt

(of course, I did that by running the proper PetaLinuxTools comand, namely petalinux-config -c rootfs, and then selecting the above mentioned packagegroups).

The problem is that the system is built successfully

 

[..]

NOTE: Tasks Summary: Attempted 4328 tasks of which 4313 didn't need to be rerun and all succeeded.
INFO: Copying Images from deploy to images
INFO: Creating images/linux directory
[INFO] successfully built project

 

but the system doesn't boot in QEMU

 

[andrea@localhost avnet-digilent-zedboard-2016.4]$ petalinux-boot --qemu --kernel
INFO: The image provided is a zImage
INFO: Set QEMU tftp to /home/andrea/Xilinx/Projects/avnet-digilent-zedboard-2016.4/images/linux
INFO: TCP PORT is free
INFO: Starting arm QEMU
INFO:  qemu-system-aarch64 -M arm-generic-fdt-plnx -machine linux=on   -serial /dev/null -serial mon:stdio -display none -kernel /home/andrea/Xilinx/Projects/avnet-digilent-zedboard-2016.4/build/qemu_image.elf -gdb tcp::9000 -dtb /home/andrea/Xilinx/Projects/avnet-digilent-zedboard-2016.4/images/linux/system.dtb  -net nic,vlan=1 -net user,vlan=1 -net nic -tftp /home/andrea/Xilinx/Projects/avnet-digilent-zedboard-2016.4/images/linux -device loader,addr=0xf8000008,data=0xDF0D,data-len=4 -device loader,addr=0xf8000140,data=0x00500801,data-len=4 -device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 -device loader,addr=0xf8000108,data=0x0001e008,data-len=4  
qemu-system-aarch64: -tftp /home/andrea/Xilinx/Projects/avnet-digilent-zedboard-2016.4/images/linux: The -tftp option is deprecated. Please use '-netdev user,tftp=...' instead.
Warning: vlan 0 is not connected to host network
rom: requested regions overlap (rom dtb. free=0x00000000fffffff8, addr=0x0000000008000000)
Uncompressing Linux...

uncompression error

 -- System halted

 

Moreover, I cannot even run the Qt tools to cross-compile a Qt application for PetaLinux - by the way, I tried to do so since though it's true that there's a problem with QEMU, it's also true that on my CentOS machine things have gone right.

Am I doing something wrong or missing something huge/trivial here?

 

Thanks in advance.

 

Andrea

0 Kudos
10 Replies
Visitor aricci
Visitor
5,607 Views
Registered: ‎08-17-2017

Re: Integrating Qt 5.6.2 with PetaLinux 2016.4

Hi all.

 

No one has anything to say/suggest about this subject? At the least, is Qt 5.6.2 known to work/not to work under PetaLinux 2016.4?

 

I made several attempts and I can add details about them, if that can help. For instance, the system is built successfully and boots if, instead of packagegroup-petalinux-qt, I only install the qtbase package; however, as soon as I add qtbase-dev, I end up again with a system which builds but does not boot.

 

Any help or hint is greatly appreciated!

 

Andrea

 

0 Kudos
Visitor aricci
Visitor
5,478 Views
Registered: ‎08-17-2017

Re: Integrating Qt 5.6.2 with PetaLinux 2016.4

I’ll give it one last try.

 

Among other things, I’m thinking about using PetaLinux 2017.2 and consequently the question become: is Qt known to work/not to work under PetaLinux 2017.2? Has anyone been successful in integrating it in the latest version of PetaLinux? If so, which flavor of Linux did you use?

 

Regards.

 

Andrea

 

0 Kudos
Xilinx Employee
Xilinx Employee
5,472 Views
Registered: ‎07-29-2011

Re: Integrating Qt 5.6.2 with PetaLinux 2016.4

Hi,

 

Yes, QT works with petalinux 2017.1 and 2017.2 with X11

 

Check the TRD for more details

 

http://www.wiki.xilinx.com/Zynq+UltraScale+MPSoC+Base+TRD+2017.1

 

Regards

Madhubala

 

 

0 Kudos
Visitor aricci
Visitor
5,445 Views
Registered: ‎08-17-2017

Re: Integrating Qt 5.6.2 with PetaLinux 2016.4

Hi Madhubala.

 

Thank you very much indeed for your reply!

 

I’m going to try to make Qt work under PetaLinux 2016.4 for some more time. If in the end that turns out to be unsuccessful, I’ll switch to PetaLinux 2017.2.

By the way, a difference between the TRD and my case is that the former references the ZCU102 evaluation board while I’m working with the ZedBoard.

 

As a side note, despite the TRD

http://www.wiki.xilinx.com/Zynq+UltraScale+MPSoC+Base+TRD+2016.4

and in particular

http://www.wiki.xilinx.com/Zynq+UltraScale+MPSoC+Base+TRD+2016.4+-+Design+Module+5

I never got Qt to work under PetaLinux 2016.4.

 

Regards.

 

Andrea

0 Kudos
Visitor bbtaylr
Visitor
5,368 Views
Registered: ‎04-19-2014

Re: Integrating Qt 5.6.2 with PetaLinux 2016.4

0 Kudos
Visitor aricci
Visitor
5,334 Views
Registered: ‎08-17-2017

Re: Integrating Qt 5.6.2 with PetaLinux 2016.4

Hi bbtaylr.

 

First of all I’d like to thank you for your feedback.

 

I’ve seen that wiki page and I’ve read it carefully. I consider cross compiling by hand the Qt framework a viable workaround to my problem. However there are two factors that advised me to put this solution in a kind of stand-by state

 

  • It is targeted to PetaLinux 2015.4 or older – as mentioned in a previous post, I’m using PetaLinux 2016.4 – and even though the “instructions” could be still valid the risk is to waste a lot of time.
  • I’d like a somewhat more automated process like the one described in the TRD suggested by Madhubala; a process in which, after building the Linux image and boot image using the PetaLinux build tool, I can simply configure the qmake environment (qmake_set_env.sh) and then start the building process by calling such a tool (qmake myapp.pro -r -spec linux-oe-g++).

 

Regards.

 

Andrea

0 Kudos
Visitor aricci
Visitor
5,186 Views
Registered: ‎08-17-2017

Re: Integrating Qt 5.6.2 with PetaLinux 2016.4

Since I couldn’t integrate Qt with PetaLinux 2016.4 (see my first post in this thread) I tried to integrate it with PetaLinux 2017.2, as suggested. To do that, I followed UG1144 2017.2. Below I report what I did.

  1. Installed CentOS Linux release 7.3.1611
  2. Updated the CentOS system
  3. Installed the tools and libraries mentioned on pages 8-10 of UG1144.
  4. Downloaded the installers for the Xilinx software and for the ZedBoard, namely
    1. Xilinx_SDK_2017.2_0616_1_Lin64.bin
    2. petalinux-v2017.2-final-installer.run
    3. avnet-digilent-zedboard-v2017.2-final.bsp
  5. Installed the above mentioned software packages in the same order as they are listed above
  6. Installed the xinetd daemon (needed to run the tftp server)
  7. Installed, as suggested by my previous experience with PetaLinux 2016.4, two more packages
    1. libstdc++6:i686 (yum install libstdc++.so.6)
    2. libgtk2 (yum install gtk2-2.24.28-8.el7.i686)

At this point, the installation of the basic system is complete and so I decided to make a couple of tests before making any change. In particular

  • I tried to boot the prebuilt linux kernel image
  • I tried to build the basic system from scratch with petalinux-build

In both cases everything went fine and I was able to boot the system and log into it. By the way, I used QEMU to test the two systems issuing the command

 

petalinux-boot --qemu --prebuilt 3

in the former case and

 

petalinux-boot --qemu --kernel

in the latter.

 

The next step was the integration of Qt with PetaLinux 2017.2. To do that, I followed the suggestions given in both

 

http://www.wiki.xilinx.com/Install+and+run+applications+through+Smart+on+target

 

and

 

https://forums.xilinx.com/t5/Embedded-Linux/ZynqMP-QT-Setup-PetaLinux-v2017-1/td-p/771854

 

that is to install packagegroup-petalinux-x11 and packagegroup-petalinux-qt. So I ran

 

petalinux-config -c rootfs

and looked for the suggested packages in the menuinterface displayed on screen. As for x11, I couldn’t find the mentioned packagegroup, so I had to guess a ‘reasonable, minimal’ set of packages and selected them

 

  • packagegroup-core-x11
  • packagegroup-core-x11-dev
  • packagegroup-core-x11-utils
  • packagegroup-core-x11-utils-dev
  • packagegroup-core-x11-base
  • packagegroup-core-x11-base-dev
  • packagegroup-core-x11-xserver
  • packagegroup-core-x11-xserver-dev

then I selected the qt packagegroups

 

  • packagegroup-petalinux-qt
  • packagegroup-petalinux-qt-dev

 

After saving the configuration, I issued the command

 

petalinux-build

and the system built successfully but, when tested with QEMU, the boot froze while decompressing the kernel image, in just exactly the same fashion as PetaLinux 2016.4 did.

 

Again, am I doing something wrong or missing something huge/trivial?

 

Thanks in advance.

 

Andrea

 

 

 

P.S.: I'm currently investigating the TRD mentioned by Madhubala. In particular, I'm looking at the following files

 

  • packagegroup-trd.bb

  • rootfs_config

0 Kudos
Highlighted
Visitor aricci
Visitor
5,158 Views
Registered: ‎08-17-2017

Re: Integrating Qt 5.6.2 with PetaLinux 2016.4

In order to repeat the approach illustrated in the TRD, I prepared a brand new PetaLinux project targeting the ZedBoard. Then, since UG1221 gives plenty of details about the Reference Design but doesn’t contain any information about how to build the underlying PetaLinux system, I began to look into the 3 TRD folders downloaded from the Xilinx site and I found 2 files strictly related to the building of the PetaLinux system employed throughout the TRD

 

  • rootfs_config
  • packagegroup-trd.bb

The first file is the same as the one I have before making any change to the default configuration, plus the following two lines

 

CONFIG_packagegroup-trd=y
CONFIG_packagegroup-trd-dev=y

 

These cause all the packages mentioned in the packagegroup-trd.bb file to be added to the basic PetaLinux system. In particular, the packagegroup-trd.bb file contains the lines shown below

 

 

X11_PACKAGES = " \
packagegroup-core-x11-xserver \
packagegroup-core-x11-utils \
dbus \
mini-x-session \
liberation-fonts \
xauth \
xhost \
xset \
xtscal \
xcursor-transparent-theme \
xinit \
xinput \
xinput-calibrator \
xkbcomp \
xkeyboard-config \
xkeyboard-config-locale-en-gb \
xmodmap \
xrandr \
"

QT_PACKAGES = " \
qtbase-dev \
qtbase-plugins \
qtsystems-dev \
qtconnectivity-dev \
qtdeclarative-dev \
qtdeclarative-plugins \
qtimageformats-dev \
qtimageformats-plugins \
qtscript-dev \
qtsensors-dev \
qtsensors-plugins \
qtsvg-dev \
qtsvg-plugins \
qttools-dev \
qttools-tools \
qtxmlpatterns-dev \
qtbase-examples \
qtquick1-dev \
qtquick1-plugins \
qtquickcontrols-qmlplugins \
qttools-plugins \
qtcharts \
"

 

 

As it turns out, these are not the packages referenced in the wiki page

 

http://www.wiki.xilinx.com/Install+and+run+applications+through+Smart+on+target

 

and in the post

 

https://forums.xilinx.com/t5/Embedded-Linux/ZynqMP-QT-Setup-PetaLinux-v2017-1/td-p/771854,

 

Anyhow, I decided to give it a try. So, starting from the basic system coming from the ZedBoard BSP reference design, I first selected all the packages listed under the X11_PACKAGES heading – apart from the xkeyboard-config-locale-en-gb package which I couldn't find. The system was built successfully and I could boot it. Then I made a second rootfs configuration step adding the packages listed under the QT_PACKAGES heading. This time the system was built successfully but it failed to boot with the message

 

Error: unrecognized/unsupported machine ID (r1 = 0x00000d32).

Of course I didn’t change anything apart adding the QT_PACKAGES to the system; in particular, I didn’t change anything related to the ‘machine ID’.

 

Given the above results, I made 2 more tests

 

  • ZedBoard BSP reference design + X11_PACKAGES + qtbase
  • ZedBoard BSP reference design + X11_PACKAGES + qtbase-dev

In the former case everything went fine while in the latter the PetaLinux was built successfully but failed to boot with the same message as above

 

Error: unrecognized/unsupported machine ID (r1 = 0x00000d32).

Any help, suggestion or piece of information on the above issues?

 

Andrea

 

0 Kudos
Visitor uscmule
Visitor
4,890 Views
Registered: ‎09-27-2017

Re: Integrating Qt 5.6.2 with PetaLinux 2016.4

bump

0 Kudos
Contributor
Contributor
1,954 Views
Registered: ‎05-03-2018

Re: Integrating Qt 5.6.2 with PetaLinux 2016.4

hi  aricci

  have you solute this problem ?Now,I want to Integrating QT with petalinux 2016.3, I found there is QT 5.6.2 in petalinux 2016.3 but it can't be useed,do you have any idea with it ?

 

0 Kudos