3 Replies Latest reply on Jul 17, 2020 2:53 PM by narrucmot

    Accelerate petalinux-build


      I prefer to use Petalinux with Ubuntu root filesystem. It feels like I make plenty of unnecessary steps, so please help me avoid them. Here some questions that I need to clarify:

            1. Do I really need to run "petalinux-config -c rootfs" and add dropbear if I'll use Ubuntu?

           2. Same question for "petalinux-config -c kernel" and Realtek 8152/8153 USB networking drivers (which I really use)?

           3. I found that if I unselect DisplayDriver in ZYNQ confiurator in Vivado the petalinux-build does not waste hours to add OpenCV. Is OpenCV required for the display driver or it is pre-selected just in case?

           4. I also guess that UltraZED  BSP is inflated with multiple packages that nobody needs (like Arduino), but unlike other boards if I do not use BSP in the end a get "Bad magic" message because something is wrong with device tree. It could be great to have some minimum BSP limited to serial port, ethernet and USB support.

        • Re: Accelerate petalinux-build

          If you plan to boot an Ubuntu rootfs then, no, you don't need to configure the PetaLinux rootfs to add dropbear.


          If you don't plan on using the USB interface with a USB <-> Ethernet adapter then, no, you don't need to configure the kernel to add those drivers.


          The Avnet UltraZed BSPs are meant to also be used a stepping stone for Vitis and Vitis-AI development, and thus include packages like OpenCV that you may not need if you don't plan on using Vitis or Vitis-AI.  To be specific - IIRC - OpenCV is a requirement for Vitis-AI.  If you want to minimize build time and don't need it, you can configure the rootfs to remove this package.


          To mount a Ubuntu rootfs at boot you need to be sure to modify the PetaLinux config.  This is described in Xilinx UG1144 (https://www.xilinx.com/support/documentation/sw_manuals/xilinx2019_2/ug1144-petalinux-tools-reference-guide.pdf ):



            • Re: Accelerate petalinux-build

              Tom, thank you for the reply. 


              So, if I am using Ubuntu rootfs, I can run "petalinux-config -c rootfs" and un-select all packages included by default like OpenCV, gstreamer, X11? Is there a way to remove Arduino? In general, we are using OpenCV, but it is installed to the Ubuntu rootfs and all I need to update is PL part of the same project.


              In what case do I need to run "petalinux-config -c kernel"? In several tutorials they run both -c kernel and -c rootfs without any changes to default settings, while sometimes people suggest to run "petalinux-build" right after hardware description was imported.

              It looks like if default settings are OK, I can skip "-c kernel"?

                • Re: Accelerate petalinux-build

                  If you plan to use an Ubuntu rootfs you can skip the PetaLinux "petalinux-config -c rootfs" altogether and if you are striving to minimize build time then examine the <project>/project-spec/configs/rootfs_config file and disable the packages that are enabled (<package>=y).


                  Generally speaking, and especially in your case of using an Ubuntu rootfs, unless you know you need to add a kernel driver module or change any kernel config settings you can skip 'petalinux-config -c kernel'.  You can run 'petalinux-build' right after importing the hardware description, making any necessary changes to the device tree (<project>/project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi), and making any necessary changes to the boot options, etc. ('petalinux-config').

                  2 of 2 people found this helpful