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 ):
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"?
2 of 2 people found this helpful
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').
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.