
Installed various EE design applications (including KiCad) on the Ubuntu 22.04 desktop image on FPGA (Zynq™ UltraScale+™ MPSoC) and designed PCBs with it.
Steps
Download the latest boot firmware for K260 from the Kria SOM wiki (https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+SOMs+Starter+Kits#K26-Boot-Firmware-Updates) and upload the firmware to the KV260’s QSPI flash memory using the instructions provided with the boot image recovery tool.


Create Ubuntu 22.04 SD Card for FPGA
After updating the boot firmware, you can directly download the image file for Krias’s Ubuntu 22.04 desktop image from the Canonical website (https://ubuntu.com/download/amd):

Then use a tool to flash the SD card image. Here, balenaEtcher is recommended.

Choose a larger SD card (>= 32GB), as you will need to install other software later.
Hardware Setup
Connect the keyboard, mouse, and HDMI display to the KV260, and connect the Ethernet to the router:


Preparing the Ubuntu Environment
First, the PWM logic in the FPGA bitstream conflicts with the fan control logic in Ubuntu. Therefore, to ensure that the CPU fan runs at full speed continuously, you need to stop the fancontrol service in Ubuntu:
ubuntu@kria:~$ sudo service fancontrol stop
Xlnx -config (https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/2057043969/Snaps+-+xlnx-config+Snap+for+Certified+Ubuntu+on+Xilinx+Devices) is a command-line tool that needs to be installed to configure the system according to ZynqMP specific requirements (e.g., custom Xilinx gstreamer):
ubuntu@kria:~$ sudo snap install xlnx-config --classic --channel=2.x
ubuntu@kria:~$ sudo xlnx-config.sysinit
Finally, update and upgrade the system:
ubuntu@kria:~$ sudo apt update
ubuntu@kria:~$ sudo apt upgrade
Restart the FPGA to ensure that all changes take effect.
Installing KiCad
Install the entire science-electronics package to try out other commonly used applications such as GnuRadio, Fritzing, etc.
ubuntu@kria:~$ sudo apt-get install science-electronics

Using KiCad for PCB Design

Use the content provided in the KiCad default library to layout a simple common-emitter BJT circuit driving an LED.

The layout has no issues, although it is not as flexible as on a PC, it is definitely sufficient.

After completing the layout, the 3D rendering tool takes some time to load:


Conclusion
Honestly, this is a start: designing PCBs for FPGA using FPGA. Considering the powerful scalability of FPGA, you can even design acceleration for your software~
