Instalarea petalinux pe Windows WSL: Diferență între versiuni
| (Nu s-au afișat 2 versiuni intermediare efectuate de același utilizator) | |||
| Linia 1: | Linia 1: | ||
__TOC__ | __TOC__ | ||
= Instalarea AMD PetaLinux 2025.2 pe WSL2 (Ubuntu 22.04 LTS) = | |||
== Introducere == | |||
Acest ghid descrie instalarea și configurarea suitei '''AMD PetaLinux 2025.2''' într-un mediu '''WSL2 (Windows Subsystem for Linux)''', utilizând distribuția Ubuntu 22.04 LTS pe Windows 11. | |||
Scopul este configurarea unui mediu de dezvoltare pentru compilarea imaginilor Linux destinate plăcii '''Digilent Arty Z7-20''', bazată pe dispozitivul AMD/Xilinx Zynq-7000. | |||
Mediul de dezvoltare va utiliza: | |||
* Windows 11 ca sistem de operare gazdă; | |||
* WSL2 pentru executarea distribuției Ubuntu; | |||
* Ubuntu 22.04 LTS pentru instalarea PetaLinux; | |||
* AMD PetaLinux 2025.2 pentru configurarea și compilarea sistemului Linux; | |||
* AMD Vivado 2025.2 pentru proiectarea și generarea configurației hardware; | |||
* Visual Studio Code pentru editarea fișierelor și administrarea proiectului. | |||
Ubuntu 22.04 LTS | '''Important:''' Ubuntu 22.04.3, 22.04.4 și 22.04.5 LTS sunt versiuni acceptate pentru PetaLinux 2025.2, însă WSL2 nu este un mediu de compilare certificat explicit de AMD. Configurația prezentată trebuie considerată experimentală. | ||
== Cerințe hardware și software == | |||
{| class="wikitable" | |||
! Componentă | |||
! Recomandare | |||
|- | |||
| Sistem de operare | |||
| Windows 11 | |||
|- | |||
| Subsistem Linux | |||
| WSL2 | |||
|- | |||
| Distribuție Linux | |||
| Ubuntu 22.04 LTS | |||
|- | |||
| PetaLinux | |||
| 2025.2 | |||
|- | |||
| Vivado | |||
| 2025.2 | |||
|- | |||
| Arhitectură țintă | |||
| Zynq-7000, ARM Cortex-A9 | |||
|- | |||
| Placă de dezvoltare | |||
| Digilent Arty Z7-20 | |||
|- | |||
| Memorie RAM | |||
| Minimum 8 GB, preferabil 16–32 GB | |||
|- | |||
| Procesor | |||
| Minimum 8 nuclee conform recomandărilor AMD | |||
|- | |||
| Spațiu liber | |||
| Minimum 100 GB | |||
|- | |||
| Editor | |||
| Visual Studio Code cu extensia WSL | |||
|} | |||
= | Este recomandată păstrarea proiectelor în sistemul de fișiere Linux, de exemplu în <code>/home/tom</code>, și nu în directoare montate din Windows, precum <code>/mnt/c</code>. | ||
== | |||
<syntaxhighlight lang=" | Această abordare oferă performanțe mai bune la compilare și reduce riscul problemelor legate de permisiuni, legături simbolice și metadatele fișierelor. | ||
== Pornirea Ubuntu în WSL2 == | |||
Deschidem Windows PowerShell și verificăm distribuțiile instalate: | |||
<syntaxhighlight lang="powershell"> | |||
wsl --list --verbose | |||
</syntaxhighlight> | |||
Exemplu de rezultat: | |||
<syntaxhighlight lang="text"> | |||
NAME STATE VERSION | |||
* Ubuntu-22.04 Running 2 | |||
</syntaxhighlight> | |||
Coloana <code>VERSION</code> trebuie să indice valoarea <code>2</code>. | |||
Pornim Ubuntu: | |||
<syntaxhighlight lang="powershell"> | |||
wsl -d Ubuntu-22.04 --cd ~ | wsl -d Ubuntu-22.04 --cd ~ | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''NOTĂ:''' această comandă poate fi folosită pentru re-conectarea la o instanță Ubuntu WSL dacă terminalul PowerShell a fost închis accidental. | |||
Verificăm versiunea distribuției: | |||
<syntaxhighlight lang="bash"> | |||
<syntaxhighlight lang=" | |||
lsb_release -a | lsb_release -a | ||
</syntaxhighlight> | |||
Verificăm arhitectura procesorului: | |||
<syntaxhighlight lang="bash"> | |||
uname -m | uname -m | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== | Rezultatul trebuie să fie: | ||
<syntaxhighlight lang=" | |||
<syntaxhighlight lang="text"> | |||
x86_64 | |||
</syntaxhighlight> | |||
== Actualizarea Ubuntu == | |||
Înaintea instalării PetaLinux, actualizăm lista pachetelor și aplicațiile instalate: | |||
<syntaxhighlight lang="bash"> | |||
sudo apt update | sudo apt update | ||
sudo apt upgrade -y | sudo apt upgrade -y | ||
</syntaxhighlight> | |||
Opțional, eliminăm pachetele care nu mai sunt necesare: | |||
<syntaxhighlight lang="bash"> | |||
sudo apt autoremove -y | |||
</syntaxhighlight> | |||
== Instalarea dependențelor == | |||
PetaLinux utilizează infrastructura Yocto Project și necesită numeroase instrumente GNU/Linux. | |||
Instalăm dependențele uzuale: | |||
<syntaxhighlight lang="bash"> | |||
sudo apt install -y \ | sudo apt install -y \ | ||
build-essential gcc g++ gcc-multilib \ | build-essential gcc g++ gcc-multilib \ | ||
| Linia 42: | Linia 135: | ||
wget curl unzip tar xz-utils gzip \ | wget curl unzip tar xz-utils gzip \ | ||
iproute2 net-tools iputils-ping \ | iproute2 net-tools iputils-ping \ | ||
libtinfo5 \ | |||
libncurses5-dev libssl-dev zlib1g-dev \ | libncurses5-dev libssl-dev zlib1g-dev \ | ||
flex bison autoconf automake libtool \ | flex bison autoconf automake libtool \ | ||
| Linia 48: | Linia 142: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Lista reprezintă un set practic de dependențe uzuale. Pentru cerințele exacte ale versiunii PetaLinux 2025.2 trebuie consultate și notele oficiale AMD privind pachetele necesare. | |||
AMD | |||
<syntaxhighlight lang=" | === Rolul principalelor pachete === | ||
{| class="wikitable" | |||
! Pachet | |||
! Funcționalitate | |||
|- | |||
| <code>build-essential</code> | |||
| Compilatoare și utilitare pentru dezvoltarea software | |||
|- | |||
| <code>gcc</code>, <code>g++</code> | |||
| Compilatoare C și C++ | |||
|- | |||
| <code>gcc-multilib</code> | |||
| Suport pentru compilarea unor componente pe 32 de biți | |||
|- | |||
| <code>git</code> | |||
| Gestionarea codului sursă | |||
|- | |||
| <code>make</code>, <code>cmake</code> | |||
| Automatizarea procesului de compilare | |||
|- | |||
| <code>gawk</code> | |||
| Procesarea textului | |||
|- | |||
| <code>diffstat</code> | |||
| Analiza diferențelor dintre fișiere și patch-uri | |||
|- | |||
| <code>chrpath</code> | |||
| Modificarea căilor RPATH ale executabilelor ELF | |||
|- | |||
| <code>socat</code> | |||
| Comunicații între procese și socketuri | |||
|- | |||
| <code>cpio</code> | |||
| Manipularea arhivelor utilizate la construirea imaginilor Linux | |||
|- | |||
| <code>python3</code> | |||
| Execuția scripturilor Python din PetaLinux și Yocto | |||
|- | |||
| <code>python3-pexpect</code> | |||
| Automatizarea aplicațiilor interactive | |||
|- | |||
| <code>flex</code>, <code>bison</code> | |||
| Generatoare de analizatoare lexicale și sintactice | |||
|- | |||
| <code>libssl-dev</code> | |||
| Biblioteci OpenSSL pentru dezvoltare | |||
|- | |||
| <code>libncurses5-dev</code> | |||
| Suport pentru interfețe interactive în terminal | |||
|} | |||
== Configurarea interpretorului Bash == | |||
PetaLinux necesită ca <code>/bin/sh</code> să utilizeze interpretorul Bash. | |||
Verificăm configurația actuală: | |||
<syntaxhighlight lang="bash"> | |||
ls -l /bin/sh | |||
</syntaxhighlight> | |||
Dacă rezultatul indică: | |||
<syntaxhighlight lang="text"> | |||
/bin/sh -> dash | |||
</syntaxhighlight> | </syntaxhighlight> | ||
executăm: | |||
<syntaxhighlight lang=" | <syntaxhighlight lang="bash"> | ||
sudo dpkg-reconfigure dash | sudo dpkg-reconfigure dash | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang=" | La întrebarea: | ||
<syntaxhighlight lang="text"> | |||
Use dash as the default system shell (/bin/sh)? | |||
</syntaxhighlight> | |||
selectăm '''No'''. | |||
Verificăm din nou: | |||
<syntaxhighlight lang="bash"> | |||
ls -l /bin/sh | |||
</syntaxhighlight> | |||
Rezultatul așteptat: | |||
<syntaxhighlight lang="text"> | |||
/bin/sh -> bash | |||
</syntaxhighlight> | |||
'''Observație:''' această modificare afectează interpretarea scripturilor care utilizează <code>/bin/sh</code> în distribuția Ubuntu respectivă. | |||
== Descărcarea PetaLinux 2025.2 == | |||
Installerul PetaLinux poate fi descărcat de pe pagina oficială AMD: | |||
* [https://www.amd.com/en/support/downloads/adaptive-socs-and-fpgas/embedded-software.html AMD Embedded Software Downloads] | |||
Selectăm installerul pentru '''PetaLinux 2025.2'''. | |||
Descărcarea poate necesita autentificarea într-un cont AMD. | |||
=== Descărcarea directă cu wget === | |||
Putem descărca installerul direct în Ubuntu WSL2, fără a utiliza directorul Downloads din Windows. | |||
Mai întâi creăm directorul destinat fișierelor descărcate: | |||
<syntaxhighlight lang="bash"> | |||
mkdir -p ~/downloads | |||
cd ~/downloads | |||
</syntaxhighlight> | |||
Dacă avem un URL direct valid către installer, executăm: | |||
<syntaxhighlight lang="bash"> | |||
wget -c --content-disposition \ | |||
"URL_DIRECT_CĂTRE_INSTALLER" | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Parametrii utilizați: | |||
{| class="wikitable" | |||
! Parametru | |||
! Funcționalitate | |||
|- | |||
| <code>-c</code> | |||
| Reia o descărcare întreruptă, dacă serverul permite | |||
|- | |||
| <code>--content-disposition</code> | |||
| Utilizează numele de fișier furnizat de server prin antetul HTTP Content-Disposition | |||
|} | |||
'''Important:''' AMD poate utiliza mecanisme de autentificare și redirecționare pentru descărcarea installerului. Din acest motiv, un URL copiat din browser nu garantează funcționarea comenzii <code>wget</code>. | |||
===Copierea | === Copierea installerului din Windows === | ||
# Creăm directorul | Dacă descărcarea directă nu funcționează, putem descărca fișierul folosind browserul Windows și apoi îl putem copia în WSL2. | ||
<syntaxhighlight lang="bash"> | |||
# Creăm directorul pentru descărcări. | |||
mkdir -p ~/downloads | mkdir -p ~/downloads | ||
# Copiem installerul | # Copiem installerul din Windows. | ||
cp /mnt/c/Users/ | cp /mnt/c/Users/UTILIZATOR_WINDOWS/Downloads/petalinux-v2025.2*-installer.run \ | ||
~/downloads/ | |||
</syntaxhighlight> | |||
Înlocuim <code>UTILIZATOR_WINDOWS</code> cu numele corespunzător utilizatorului Windows. | |||
Verificăm fișierul: | |||
<syntaxhighlight lang="bash"> | |||
ls -lh ~/downloads/ | |||
</syntaxhighlight> | |||
=== Verificarea integrității installerului === | |||
După descărcare, este recomandată verificarea integrității installerului. | |||
Pentru calcularea sumei MD5: | |||
<syntaxhighlight lang="bash"> | |||
md5sum ~/downloads/petalinux-v2025.2*-installer.run | |||
</syntaxhighlight> | |||
Valoarea calculată trebuie comparată cu suma de verificare publicată de AMD pentru fișierul descărcat. | |||
== Instalarea PetaLinux == | |||
Vom instala PetaLinux în directorul: | |||
<syntaxhighlight lang="text"> | |||
/home/tom/petalinux/2025.2 | |||
</syntaxhighlight> | |||
Creăm directorul de instalare: | |||
<syntaxhighlight lang="bash"> | |||
mkdir -p ~/petalinux/2025.2 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==Instalarea | Accesăm directorul care conține installerul: | ||
<syntaxhighlight lang=" | <syntaxhighlight lang="bash"> | ||
cd ~/downloads | |||
</syntaxhighlight> | |||
Acordăm drepturi de execuție: | |||
<syntaxhighlight lang="bash"> | |||
chmod +x petalinux-v2025.2*-installer.run | |||
</syntaxhighlight> | |||
=== Instalarea standard === | |||
Executăm: | |||
<syntaxhighlight lang="bash"> | |||
./petalinux-v2025.2*-installer.run \ | |||
--dir "$HOME/petalinux/2025.2" \ | |||
--platform arm | |||
</syntaxhighlight> | |||
Opțiunea <code>--platform arm</code> selectează componentele necesare platformelor ARM Zynq, inclusiv Zynq-7000. | |||
Pentru placa Digilent Arty Z7-20, această platformă este suficientă. | |||
=== Instalarea cu afișarea detaliată a operațiunilor === | |||
Installerul acceptă opțiunea <code>-D</code>, care activează afișarea detaliată a operațiunilor în terminal. | |||
De asemenea, putem utiliza opțiunea <code>--log</code> pentru specificarea fișierului jurnal. | |||
<syntaxhighlight lang="bash"> | |||
./petalinux-v2025.2*-installer.run \ | ./petalinux-v2025.2*-installer.run \ | ||
--dir "$HOME/petalinux/2025.2" \ | --dir "$HOME/petalinux/2025.2" \ | ||
| Linia 97: | Linia 370: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Instalarea cu păstrarea întregii ieșiri din terminal === | |||
Pentru diagnosticarea eventualelor probleme, putem utiliza și comanda <code>tee</code>. | |||
<syntaxhighlight lang="bash"> | |||
# Propagăm codul de eroare al installerului | |||
# prin conducta către tee. | |||
set -o pipefail | |||
# Executăm instalarea cu jurnalizare completă. | |||
./petalinux-v2025.2*-installer.run \ | |||
--dir "$HOME/petalinux/2025.2" \ | |||
--platform arm \ | |||
-D \ | |||
--log "$HOME/petalinux-install.log" \ | |||
2>&1 | tee "$HOME/petalinux-console.log" | |||
</syntaxhighlight> | |||
Această comandă generează două fișiere jurnal: | |||
{| class="wikitable" | |||
! Fișier | |||
! Conținut | |||
|- | |||
| <code>~/petalinux-install.log</code> | |||
| Jurnalul generat de installer | |||
|- | |||
| <code>~/petalinux-console.log</code> | |||
| Mesajele afișate în terminal, inclusiv ieșirea standard și mesajele de eroare | |||
|} | |||
Expresia <code>2>&1</code> redirecționează ieșirea de eroare standard către ieșirea standard, permițând comenzii <code>tee</code> să înregistreze ambele fluxuri. | |||
Opțiunea <code>pipefail</code> permite detectarea erorilor installerului chiar dacă ieșirea sa este transmisă către <code>tee</code>. | |||
=== Monitorizarea instalării === | |||
Putem monitoriza jurnalul dintr-un al doilea terminal Ubuntu: | |||
<syntaxhighlight lang="bash"> | |||
tail -f ~/petalinux-console.log | |||
</syntaxhighlight> | |||
Opțiunea <code>-f</code> permite afișarea continuă a liniilor adăugate în fișier. | |||
=== Parametrii installerului === | |||
{| class="wikitable" | |||
! Parametru | |||
! Funcționalitate | |||
|- | |||
| <code>--dir</code> | |||
| Specifică directorul în care va fi instalat PetaLinux | |||
|- | |||
| <code>-p</code>, <code>--platform</code> | |||
| Selectează arhitectura țintă | |||
|- | |||
| <code>--platform arm</code> | |||
| Instalează componentele pentru dispozitivele Zynq | |||
|- | |||
| <code>--platform aarch64</code> | |||
| Instalează componentele pentru Zynq UltraScale+ MPSoC și Versal | |||
|- | |||
| <code>-D</code> | |||
| Activează afișarea detaliată în terminal | |||
|- | |||
| <code>--log</code> | |||
| Specifică fișierul jurnal | |||
|- | |||
| <code>-y</code> | |||
| Acceptă automat solicitările installerului, inclusiv acceptarea licențelor | |||
|} | |||
'''Atenție:''' instalarea PetaLinux trebuie executată folosind un utilizator obișnuit, nu utilizatorul <code>root</code>. Nu utilizăm <code>sudo</code> pentru executarea installerului. | |||
== Activarea mediului PetaLinux == | |||
După finalizarea instalării, trebuie încărcate variabilele de mediu necesare. | |||
Executăm: | |||
<syntaxhighlight lang="bash"> | |||
source ~/petalinux/2025.2/settings.sh | |||
</syntaxhighlight> | |||
Scriptul configurează variabilele de mediu și actualizează <code>PATH</code> pentru utilizarea instrumentelor PetaLinux. | |||
Verificăm variabila principală: | |||
<syntaxhighlight lang="bash"> | |||
echo $PETALINUX | |||
</syntaxhighlight> | |||
Rezultat așteptat: | |||
<syntaxhighlight lang="text"> | |||
/home/tom/petalinux/2025.2 | |||
</syntaxhighlight> | |||
Verificăm disponibilitatea comenzii de compilare: | |||
<syntaxhighlight lang="bash"> | |||
which petalinux-build | |||
</syntaxhighlight> | |||
Apoi executăm: | |||
<syntaxhighlight lang="bash"> | |||
petalinux-build --help | |||
</syntaxhighlight> | |||
Dacă este afișat mesajul de ajutor al comenzii, mediul PetaLinux a fost inițializat corect. | |||
=== Activarea mediului în sesiunile următoare === | |||
La deschiderea unui terminal Ubuntu nou, mediul trebuie activat din nou: | |||
<syntaxhighlight lang="bash"> | |||
source ~/petalinux/2025.2/settings.sh | |||
</syntaxhighlight> | |||
Pentru simplificare, putem defini un alias în fișierul <code>~/.bashrc</code>: | |||
<syntaxhighlight lang="bash"> | |||
echo "alias petalinux-env='source ~/petalinux/2025.2/settings.sh'" \ | |||
>> ~/.bashrc | |||
</syntaxhighlight> | |||
Reîncărcăm configurația Bash: | |||
<syntaxhighlight lang="bash"> | |||
source ~/.bashrc | |||
</syntaxhighlight> | |||
Ulterior, mediul poate fi activat simplu: | |||
<syntaxhighlight lang="bash"> | |||
petalinux-env | |||
</syntaxhighlight> | |||
Avantajul acestui mecanism este că mediul PetaLinux se activează numai la cerere. | |||
== Organizarea directoarelor == | |||
Este recomandată separarea instalării PetaLinux de proiectele utilizatorului. | |||
O structură posibilă este: | |||
<syntaxhighlight lang="text"> | |||
/home/tom/ | |||
| | |||
+-- petalinux/ | |||
| +-- 2025.2/ | |||
| | |||
+-- downloads/ | |||
| +-- petalinux-v2025.2-...-installer.run | |||
| | |||
+-- projects/ | |||
+-- arty-z7-iq/ | |||
+-- project-spec/ | |||
+-- components/ | |||
+-- build/ | |||
+-- images/ | |||
</syntaxhighlight> | |||
Această organizare permite păstrarea mai multor versiuni PetaLinux, fără amestecarea acestora cu fișierele proiectelor. | |||
Creăm directorul pentru proiecte: | |||
<syntaxhighlight lang="bash"> | |||
mkdir -p ~/projects | |||
</syntaxhighlight> | |||
== Copierea unui proiect PetaLinux existent == | |||
Dacă avem deja un proiect PetaLinux funcțional pe o altă mașină Ubuntu, acesta poate fi transferat în WSL2. | |||
=== Transferul prin SCP === | |||
<syntaxhighlight lang="bash"> | |||
scp -r tom@IP_UBUNTU:/cale/catre/proiect \ | |||
~/projects/arty-z7-iq | |||
</syntaxhighlight> | |||
Înlocuim adresa IP și calea către proiectul original. | |||
=== Transferul prin rsync === | |||
Pentru proiecte de dimensiuni mari, putem utiliza <code>rsync</code>: | |||
<syntaxhighlight lang="bash"> | |||
rsync -avh --progress \ | |||
tom@IP_UBUNTU:/cale/catre/proiect/ \ | |||
~/projects/arty-z7-iq/ | |||
</syntaxhighlight> | |||
Avantajele utilizării <code>rsync</code>: | |||
* copierea incrementală a fișierelor; | |||
* păstrarea permisiunilor și a legăturilor simbolice; | |||
* evitarea retransmiterii fișierelor nemodificate; | |||
* posibilitatea reluării transferurilor întrerupte. | |||
'''Important:''' copierea proiectului nu înlocuiește instalarea suitei PetaLinux. Instrumentele de compilare trebuie instalate separat în sistemul WSL2. | |||
De asemenea, trebuie verificate eventualele căi absolute rămase din mediul original. | |||
== Compilarea proiectului PetaLinux == | |||
Activăm mediul: | |||
<syntaxhighlight lang="bash"> | |||
source ~/petalinux/2025.2/settings.sh | |||
</syntaxhighlight> | |||
Accesăm proiectul: | |||
<syntaxhighlight lang="bash"> | |||
cd ~/projects/arty-z7-iq | |||
</syntaxhighlight> | |||
Lansăm compilarea: | |||
<syntaxhighlight lang="bash"> | |||
petalinux-build | |||
</syntaxhighlight> | |||
Pentru mesaje suplimentare de diagnostic: | |||
<syntaxhighlight lang="bash"> | |||
petalinux-build -v | |||
</syntaxhighlight> | |||
Procesul de compilare poate include: | |||
* pregătirea codului sursă; | |||
* compilarea componentelor bootloader; | |||
* compilarea kernelului Linux; | |||
* generarea Device Tree; | |||
* compilarea pachetelor software; | |||
* generarea sistemului de fișiere rădăcină; | |||
* generarea imaginilor Linux. | |||
Fișierele rezultate sunt plasate, în mod normal, în directorul: | |||
<syntaxhighlight lang=" | <syntaxhighlight lang="text"> | ||
<director_proiect>/images/linux/ | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang=" | Exemple de fișiere generate: | ||
<syntaxhighlight lang="text"> | |||
image.ub | |||
rootfs.ext4 | |||
rootfs.tar.gz | |||
system.dtb | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang=" | Prezența fiecărui fișier depinde de configurația proiectului. | ||
'''Atenție:''' pentru proiectele copiate de pe altă mașină trebuie verificate configurațiile Yocto și referințele către directoarele originale. Nu este recomandată ștergerea automată a directoarelor generate înaintea acestei verificări. | |||
PetaLinux 2025.2 trebuie utilizat cu un design hardware exportat din Vivado 2025.2. | |||
== Integrarea cu Visual Studio Code == | |||
Visual Studio Code poate accesa direct fișierele Ubuntu prin intermediul extensiei WSL. | |||
În Windows instalăm extensia oficială Microsoft WSL pentru Visual Studio Code. | |||
Din terminalul Ubuntu executăm: | |||
<syntaxhighlight lang="bash"> | |||
cd ~/projects/arty-z7-iq | |||
code . | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang=" | Visual Studio Code deschide proiectul într-o sesiune conectată la Ubuntu WSL2. | ||
În terminalul integrat activăm PetaLinux: | |||
<syntaxhighlight lang="bash"> | |||
source ~/petalinux/2025.2/settings.sh | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang=" | În acest mod putem edita și compila: | ||
* fișiere de configurare PetaLinux; | |||
* rețete Yocto <code>.bb</code> și <code>.bbappend</code>; | |||
* fișiere Device Tree <code>.dts</code> și <code>.dtsi</code>; | |||
* scripturi Bash; | |||
* aplicații C/C++; | |||
* module pentru kernelul Linux. | |||
== Configurarea resurselor WSL2 == | |||
Compilarea PetaLinux poate necesita resurse importante de memorie, procesor și stocare. | |||
WSL2 permite configurarea acestora prin fișierul <code>.wslconfig</code> din directorul utilizatorului Windows. | |||
Calea fișierului: | |||
<syntaxhighlight lang="text"> | |||
C:\Users\UTILIZATOR_WINDOWS\.wslconfig | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang=" | Pentru un calculator cu 32 GB RAM, o configurație posibilă este: | ||
<syntaxhighlight lang="ini"> | |||
[wsl2] | |||
memory=20GB | |||
processors=8 | |||
swap=8GB | |||
</syntaxhighlight> | |||
{| class="wikitable" | |||
! Parametru | |||
! Funcționalitate | |||
|- | |||
| <code>memory</code> | |||
| Limita maximă de memorie RAM disponibilă pentru WSL2 | |||
|- | |||
| <code>processors</code> | |||
| Numărul de procesoare logice disponibile | |||
|- | |||
| <code>swap</code> | |||
| Dimensiunea spațiului swap | |||
|} | |||
După modificarea fișierului, executăm în Windows PowerShell: | |||
<syntaxhighlight lang="powershell"> | |||
wsl --shutdown | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang=" | Repornim Ubuntu: | ||
<syntaxhighlight lang="powershell"> | |||
wsl -d Ubuntu-22.04 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Verificarea resurselor === | |||
Verificăm memoria: | |||
<syntaxhighlight lang="bash"> | |||
free -h | |||
</syntaxhighlight> | |||
Verificăm spațiul disponibil pe disc: | |||
<syntaxhighlight lang="bash"> | |||
df -h ~ | |||
</syntaxhighlight> | |||
Verificăm numărul de procesoare: | |||
<syntaxhighlight lang="bash"> | |||
nproc | |||
</syntaxhighlight> | |||
Este recomandată păstrarea unui spațiu liber de minimum 100 GB pentru compilarea PetaLinux și stocarea artefactelor Yocto. | |||
== Probleme posibile în WSL2 == | |||
{| class="wikitable" | |||
! Problemă | |||
! Cauză posibilă | |||
! Soluție recomandată | |||
|- | |||
| Compilare foarte lentă | |||
| Proiectul este plasat în <code>/mnt/c</code> | |||
| Mutarea proiectului în sistemul de fișiere Linux, de exemplu <code>/home/tom/projects</code> | |||
|- | |||
| Erori de permisiuni | |||
| Proprietar sau permisiuni incorecte | |||
| Verificarea permisiunilor și a proprietarului fișierelor | |||
|- | |||
| Procese terminate neașteptat | |||
| Memorie RAM insuficientă | |||
| Creșterea resurselor WSL2 sau reducerea paralelismului compilării | |||
|- | |||
| Erori privind căile | |||
| Referințe absolute din proiectul original | |||
| Verificarea configurațiilor proiectului și a căilor | |||
|- | |||
| Erori de descărcare Yocto | |||
| Probleme DNS, proxy sau conectivitate | |||
| Verificarea accesului la Internet | |||
|- | |||
| Comanda petalinux-build nu este găsită | |||
| Mediul PetaLinux nu este activat | |||
| Executarea scriptului <code>settings.sh</code> | |||
|- | |||
| Erori ale unor instrumente AMD | |||
| Incompatibilități specifice WSL2 | |||
| Repetarea testului într-un mediu Ubuntu nativ | |||
|} | |||
== Verificarea finală a instalării == | |||
După instalare, executăm următoarele comenzi: | |||
<syntaxhighlight lang="bash"> | |||
# Verificăm distribuția Ubuntu. | |||
lsb_release -a | |||
# Verificăm arhitectura. | |||
uname -m | |||
# Activăm PetaLinux. | |||
source ~/petalinux/2025.2/settings.sh | |||
# Verificăm variabila de mediu. | |||
echo $PETALINUX | |||
# Verificăm executabilul. | |||
which petalinux-build | |||
# Verificăm funcționarea comenzii. | |||
petalinux-build --help | |||
# Verificăm memoria. | |||
free -h | |||
# Verificăm spațiul liber. | |||
df -h ~ | |||
</syntaxhighlight> | |||
Dacă <code>petalinux-build --help</code> funcționează, instalarea și inițializarea mediului PetaLinux sunt operaționale. | |||
Totuși, această verificare nu garantează compilarea cu succes a unui proiect complet în WSL2. | |||
== Utilizarea PetaLinux în proiectul Arty Z7-20 == | |||
Pentru proiectul de procesare a semnalelor I/Q, arhitectura propusă este: | |||
<syntaxhighlight lang="text"> | |||
Raspberry Pi 5 | |||
| | |||
| Ethernet / UDP | |||
v | |||
PetaLinux - Zynq ARM Cortex-A9 | |||
| | |||
| AXI DMA | |||
v | |||
FPGA - Programmable Logic | |||
| | |||
+-- Loopback | |||
| | |||
+-- Frequency shifting | |||
| | |||
+-- Filtering | |||
| | |||
+-- Doppler correction | |||
</syntaxhighlight> | |||
În această arhitectură, PetaLinux gestionează comunicația Ethernet, buffer-ele de date, transferurile DMA și aplicațiile care rulează pe procesoarele ARM. | |||
FPGA-ul execută operațiunile de procesare digitală a semnalelor. | |||
Vivado 2025.2 poate rămâne instalat nativ în Windows 11, iar PetaLinux 2025.2 poate fi utilizat în Ubuntu WSL2. | |||
Pentru proiectul existent este recomandată: | |||
* păstrarea configurației funcționale pe mașina Ubuntu originală; | |||
* copierea proiectului într-un director independent în WSL2; | |||
* verificarea compatibilității cu PetaLinux 2025.2; | |||
* verificarea căilor absolute din configurațiile Yocto; | |||
* compilarea și verificarea imaginilor generate; | |||
* testarea imaginilor pe placa Arty Z7-20. | |||
== Referințe == | |||
* [https://docs.amd.com/r/2025.2-English/ug1144-petalinux-tools-reference-guide AMD PetaLinux Tools Reference Guide – UG1144, versiunea 2025.2] | |||
* [https://docs.amd.com/r/2025.2-English/ug1144-petalinux-tools-reference-guide/Installation-Requirements AMD PetaLinux 2025.2 – Installation Requirements] | |||
* [https://www.amd.com/en/support/downloads/adaptive-socs-and-fpgas/embedded-software.html AMD Embedded Software Downloads] | |||
* [https://learn.microsoft.com/en-us/windows/wsl/ Microsoft Windows Subsystem for Linux] | |||
* [https://code.visualstudio.com/docs/remote/wsl Visual Studio Code – Developing in WSL] | |||
[[Category:PetaLinux]] | |||
[[Category:FPGA]] | |||
[[Category:Arty Z7-20]] | |||
Versiunea curentă din 8 noiembrie 2026 00:39
Instalarea AMD PetaLinux 2025.2 pe WSL2 (Ubuntu 22.04 LTS)
Introducere
Acest ghid descrie instalarea și configurarea suitei AMD PetaLinux 2025.2 într-un mediu WSL2 (Windows Subsystem for Linux), utilizând distribuția Ubuntu 22.04 LTS pe Windows 11.
Scopul este configurarea unui mediu de dezvoltare pentru compilarea imaginilor Linux destinate plăcii Digilent Arty Z7-20, bazată pe dispozitivul AMD/Xilinx Zynq-7000.
Mediul de dezvoltare va utiliza:
- Windows 11 ca sistem de operare gazdă;
- WSL2 pentru executarea distribuției Ubuntu;
- Ubuntu 22.04 LTS pentru instalarea PetaLinux;
- AMD PetaLinux 2025.2 pentru configurarea și compilarea sistemului Linux;
- AMD Vivado 2025.2 pentru proiectarea și generarea configurației hardware;
- Visual Studio Code pentru editarea fișierelor și administrarea proiectului.
Important: Ubuntu 22.04.3, 22.04.4 și 22.04.5 LTS sunt versiuni acceptate pentru PetaLinux 2025.2, însă WSL2 nu este un mediu de compilare certificat explicit de AMD. Configurația prezentată trebuie considerată experimentală.
Cerințe hardware și software
| Componentă | Recomandare |
|---|---|
| Sistem de operare | Windows 11 |
| Subsistem Linux | WSL2 |
| Distribuție Linux | Ubuntu 22.04 LTS |
| PetaLinux | 2025.2 |
| Vivado | 2025.2 |
| Arhitectură țintă | Zynq-7000, ARM Cortex-A9 |
| Placă de dezvoltare | Digilent Arty Z7-20 |
| Memorie RAM | Minimum 8 GB, preferabil 16–32 GB |
| Procesor | Minimum 8 nuclee conform recomandărilor AMD |
| Spațiu liber | Minimum 100 GB |
| Editor | Visual Studio Code cu extensia WSL |
Este recomandată păstrarea proiectelor în sistemul de fișiere Linux, de exemplu în /home/tom, și nu în directoare montate din Windows, precum /mnt/c.
Această abordare oferă performanțe mai bune la compilare și reduce riscul problemelor legate de permisiuni, legături simbolice și metadatele fișierelor.
Pornirea Ubuntu în WSL2
Deschidem Windows PowerShell și verificăm distribuțiile instalate:
wsl --list --verbose
Exemplu de rezultat:
NAME STATE VERSION
* Ubuntu-22.04 Running 2
Coloana VERSION trebuie să indice valoarea 2.
Pornim Ubuntu:
wsl -d Ubuntu-22.04 --cd ~
NOTĂ: această comandă poate fi folosită pentru re-conectarea la o instanță Ubuntu WSL dacă terminalul PowerShell a fost închis accidental.
Verificăm versiunea distribuției:
lsb_release -a
Verificăm arhitectura procesorului:
uname -m
Rezultatul trebuie să fie:
x86_64
Actualizarea Ubuntu
Înaintea instalării PetaLinux, actualizăm lista pachetelor și aplicațiile instalate:
sudo apt update
sudo apt upgrade -y
Opțional, eliminăm pachetele care nu mai sunt necesare:
sudo apt autoremove -y
Instalarea dependențelor
PetaLinux utilizează infrastructura Yocto Project și necesită numeroase instrumente GNU/Linux.
Instalăm dependențele uzuale:
sudo apt install -y \
build-essential gcc g++ gcc-multilib \
git git-core make cmake \
gawk diffstat chrpath socat cpio \
python3 python3-pip python3-pexpect \
python3-git python3-jinja2 \
python3-setuptools \
wget curl unzip tar xz-utils gzip \
iproute2 net-tools iputils-ping \
libtinfo5 \
libncurses5-dev libssl-dev zlib1g-dev \
flex bison autoconf automake libtool \
texinfo screen pax debianutils \
libselinux1 gnupg xterm
Lista reprezintă un set practic de dependențe uzuale. Pentru cerințele exacte ale versiunii PetaLinux 2025.2 trebuie consultate și notele oficiale AMD privind pachetele necesare.
Rolul principalelor pachete
| Pachet | Funcționalitate |
|---|---|
build-essential
|
Compilatoare și utilitare pentru dezvoltarea software |
gcc, g++
|
Compilatoare C și C++ |
gcc-multilib
|
Suport pentru compilarea unor componente pe 32 de biți |
git
|
Gestionarea codului sursă |
make, cmake
|
Automatizarea procesului de compilare |
gawk
|
Procesarea textului |
diffstat
|
Analiza diferențelor dintre fișiere și patch-uri |
chrpath
|
Modificarea căilor RPATH ale executabilelor ELF |
socat
|
Comunicații între procese și socketuri |
cpio
|
Manipularea arhivelor utilizate la construirea imaginilor Linux |
python3
|
Execuția scripturilor Python din PetaLinux și Yocto |
python3-pexpect
|
Automatizarea aplicațiilor interactive |
flex, bison
|
Generatoare de analizatoare lexicale și sintactice |
libssl-dev
|
Biblioteci OpenSSL pentru dezvoltare |
libncurses5-dev
|
Suport pentru interfețe interactive în terminal |
Configurarea interpretorului Bash
PetaLinux necesită ca /bin/sh să utilizeze interpretorul Bash.
Verificăm configurația actuală:
ls -l /bin/sh
Dacă rezultatul indică:
/bin/sh -> dash
executăm:
sudo dpkg-reconfigure dash
La întrebarea:
Use dash as the default system shell (/bin/sh)?
selectăm No.
Verificăm din nou:
ls -l /bin/sh
Rezultatul așteptat:
/bin/sh -> bash
Observație: această modificare afectează interpretarea scripturilor care utilizează /bin/sh în distribuția Ubuntu respectivă.
Descărcarea PetaLinux 2025.2
Installerul PetaLinux poate fi descărcat de pe pagina oficială AMD:
Selectăm installerul pentru PetaLinux 2025.2.
Descărcarea poate necesita autentificarea într-un cont AMD.
Descărcarea directă cu wget
Putem descărca installerul direct în Ubuntu WSL2, fără a utiliza directorul Downloads din Windows.
Mai întâi creăm directorul destinat fișierelor descărcate:
mkdir -p ~/downloads
cd ~/downloads
Dacă avem un URL direct valid către installer, executăm:
wget -c --content-disposition \
"URL_DIRECT_CĂTRE_INSTALLER"
Parametrii utilizați:
| Parametru | Funcționalitate |
|---|---|
-c
|
Reia o descărcare întreruptă, dacă serverul permite |
--content-disposition
|
Utilizează numele de fișier furnizat de server prin antetul HTTP Content-Disposition |
Important: AMD poate utiliza mecanisme de autentificare și redirecționare pentru descărcarea installerului. Din acest motiv, un URL copiat din browser nu garantează funcționarea comenzii wget.
Copierea installerului din Windows
Dacă descărcarea directă nu funcționează, putem descărca fișierul folosind browserul Windows și apoi îl putem copia în WSL2.
# Creăm directorul pentru descărcări.
mkdir -p ~/downloads
# Copiem installerul din Windows.
cp /mnt/c/Users/UTILIZATOR_WINDOWS/Downloads/petalinux-v2025.2*-installer.run \
~/downloads/
Înlocuim UTILIZATOR_WINDOWS cu numele corespunzător utilizatorului Windows.
Verificăm fișierul:
ls -lh ~/downloads/
Verificarea integrității installerului
După descărcare, este recomandată verificarea integrității installerului.
Pentru calcularea sumei MD5:
md5sum ~/downloads/petalinux-v2025.2*-installer.run
Valoarea calculată trebuie comparată cu suma de verificare publicată de AMD pentru fișierul descărcat.
Instalarea PetaLinux
Vom instala PetaLinux în directorul:
/home/tom/petalinux/2025.2
Creăm directorul de instalare:
mkdir -p ~/petalinux/2025.2
Accesăm directorul care conține installerul:
cd ~/downloads
Acordăm drepturi de execuție:
chmod +x petalinux-v2025.2*-installer.run
Instalarea standard
Executăm:
./petalinux-v2025.2*-installer.run \
--dir "$HOME/petalinux/2025.2" \
--platform arm
Opțiunea --platform arm selectează componentele necesare platformelor ARM Zynq, inclusiv Zynq-7000.
Pentru placa Digilent Arty Z7-20, această platformă este suficientă.
Instalarea cu afișarea detaliată a operațiunilor
Installerul acceptă opțiunea -D, care activează afișarea detaliată a operațiunilor în terminal.
De asemenea, putem utiliza opțiunea --log pentru specificarea fișierului jurnal.
./petalinux-v2025.2*-installer.run \
--dir "$HOME/petalinux/2025.2" \
--platform arm \
-D \
--log "$HOME/petalinux-install.log"
Instalarea cu păstrarea întregii ieșiri din terminal
Pentru diagnosticarea eventualelor probleme, putem utiliza și comanda tee.
# Propagăm codul de eroare al installerului
# prin conducta către tee.
set -o pipefail
# Executăm instalarea cu jurnalizare completă.
./petalinux-v2025.2*-installer.run \
--dir "$HOME/petalinux/2025.2" \
--platform arm \
-D \
--log "$HOME/petalinux-install.log" \
2>&1 | tee "$HOME/petalinux-console.log"
Această comandă generează două fișiere jurnal:
| Fișier | Conținut |
|---|---|
~/petalinux-install.log
|
Jurnalul generat de installer |
~/petalinux-console.log
|
Mesajele afișate în terminal, inclusiv ieșirea standard și mesajele de eroare |
Expresia 2>&1 redirecționează ieșirea de eroare standard către ieșirea standard, permițând comenzii tee să înregistreze ambele fluxuri.
Opțiunea pipefail permite detectarea erorilor installerului chiar dacă ieșirea sa este transmisă către tee.
Monitorizarea instalării
Putem monitoriza jurnalul dintr-un al doilea terminal Ubuntu:
tail -f ~/petalinux-console.log
Opțiunea -f permite afișarea continuă a liniilor adăugate în fișier.
Parametrii installerului
| Parametru | Funcționalitate |
|---|---|
--dir
|
Specifică directorul în care va fi instalat PetaLinux |
-p, --platform
|
Selectează arhitectura țintă |
--platform arm
|
Instalează componentele pentru dispozitivele Zynq |
--platform aarch64
|
Instalează componentele pentru Zynq UltraScale+ MPSoC și Versal |
-D
|
Activează afișarea detaliată în terminal |
--log
|
Specifică fișierul jurnal |
-y
|
Acceptă automat solicitările installerului, inclusiv acceptarea licențelor |
Atenție: instalarea PetaLinux trebuie executată folosind un utilizator obișnuit, nu utilizatorul root. Nu utilizăm sudo pentru executarea installerului.
Activarea mediului PetaLinux
După finalizarea instalării, trebuie încărcate variabilele de mediu necesare.
Executăm:
source ~/petalinux/2025.2/settings.sh
Scriptul configurează variabilele de mediu și actualizează PATH pentru utilizarea instrumentelor PetaLinux.
Verificăm variabila principală:
echo $PETALINUX
Rezultat așteptat:
/home/tom/petalinux/2025.2
Verificăm disponibilitatea comenzii de compilare:
which petalinux-build
Apoi executăm:
petalinux-build --help
Dacă este afișat mesajul de ajutor al comenzii, mediul PetaLinux a fost inițializat corect.
Activarea mediului în sesiunile următoare
La deschiderea unui terminal Ubuntu nou, mediul trebuie activat din nou:
source ~/petalinux/2025.2/settings.sh
Pentru simplificare, putem defini un alias în fișierul ~/.bashrc:
echo "alias petalinux-env='source ~/petalinux/2025.2/settings.sh'" \
>> ~/.bashrc
Reîncărcăm configurația Bash:
source ~/.bashrc
Ulterior, mediul poate fi activat simplu:
petalinux-env
Avantajul acestui mecanism este că mediul PetaLinux se activează numai la cerere.
Organizarea directoarelor
Este recomandată separarea instalării PetaLinux de proiectele utilizatorului.
O structură posibilă este:
/home/tom/
|
+-- petalinux/
| +-- 2025.2/
|
+-- downloads/
| +-- petalinux-v2025.2-...-installer.run
|
+-- projects/
+-- arty-z7-iq/
+-- project-spec/
+-- components/
+-- build/
+-- images/
Această organizare permite păstrarea mai multor versiuni PetaLinux, fără amestecarea acestora cu fișierele proiectelor.
Creăm directorul pentru proiecte:
mkdir -p ~/projects
Copierea unui proiect PetaLinux existent
Dacă avem deja un proiect PetaLinux funcțional pe o altă mașină Ubuntu, acesta poate fi transferat în WSL2.
Transferul prin SCP
scp -r tom@IP_UBUNTU:/cale/catre/proiect \
~/projects/arty-z7-iq
Înlocuim adresa IP și calea către proiectul original.
Transferul prin rsync
Pentru proiecte de dimensiuni mari, putem utiliza rsync:
rsync -avh --progress \
tom@IP_UBUNTU:/cale/catre/proiect/ \
~/projects/arty-z7-iq/
Avantajele utilizării rsync:
- copierea incrementală a fișierelor;
- păstrarea permisiunilor și a legăturilor simbolice;
- evitarea retransmiterii fișierelor nemodificate;
- posibilitatea reluării transferurilor întrerupte.
Important: copierea proiectului nu înlocuiește instalarea suitei PetaLinux. Instrumentele de compilare trebuie instalate separat în sistemul WSL2.
De asemenea, trebuie verificate eventualele căi absolute rămase din mediul original.
Compilarea proiectului PetaLinux
Activăm mediul:
source ~/petalinux/2025.2/settings.sh
Accesăm proiectul:
cd ~/projects/arty-z7-iq
Lansăm compilarea:
petalinux-build
Pentru mesaje suplimentare de diagnostic:
petalinux-build -v
Procesul de compilare poate include:
- pregătirea codului sursă;
- compilarea componentelor bootloader;
- compilarea kernelului Linux;
- generarea Device Tree;
- compilarea pachetelor software;
- generarea sistemului de fișiere rădăcină;
- generarea imaginilor Linux.
Fișierele rezultate sunt plasate, în mod normal, în directorul:
<director_proiect>/images/linux/
Exemple de fișiere generate:
image.ub
rootfs.ext4
rootfs.tar.gz
system.dtb
Prezența fiecărui fișier depinde de configurația proiectului.
Atenție: pentru proiectele copiate de pe altă mașină trebuie verificate configurațiile Yocto și referințele către directoarele originale. Nu este recomandată ștergerea automată a directoarelor generate înaintea acestei verificări.
PetaLinux 2025.2 trebuie utilizat cu un design hardware exportat din Vivado 2025.2.
Integrarea cu Visual Studio Code
Visual Studio Code poate accesa direct fișierele Ubuntu prin intermediul extensiei WSL.
În Windows instalăm extensia oficială Microsoft WSL pentru Visual Studio Code.
Din terminalul Ubuntu executăm:
cd ~/projects/arty-z7-iq
code .
Visual Studio Code deschide proiectul într-o sesiune conectată la Ubuntu WSL2.
În terminalul integrat activăm PetaLinux:
source ~/petalinux/2025.2/settings.sh
În acest mod putem edita și compila:
- fișiere de configurare PetaLinux;
- rețete Yocto
.bbși.bbappend; - fișiere Device Tree
.dtsși.dtsi; - scripturi Bash;
- aplicații C/C++;
- module pentru kernelul Linux.
Configurarea resurselor WSL2
Compilarea PetaLinux poate necesita resurse importante de memorie, procesor și stocare.
WSL2 permite configurarea acestora prin fișierul .wslconfig din directorul utilizatorului Windows.
Calea fișierului:
C:\Users\UTILIZATOR_WINDOWS\.wslconfig
Pentru un calculator cu 32 GB RAM, o configurație posibilă este:
[wsl2]
memory=20GB
processors=8
swap=8GB
| Parametru | Funcționalitate |
|---|---|
memory
|
Limita maximă de memorie RAM disponibilă pentru WSL2 |
processors
|
Numărul de procesoare logice disponibile |
swap
|
Dimensiunea spațiului swap |
După modificarea fișierului, executăm în Windows PowerShell:
wsl --shutdown
Repornim Ubuntu:
wsl -d Ubuntu-22.04
Verificarea resurselor
Verificăm memoria:
free -h
Verificăm spațiul disponibil pe disc:
df -h ~
Verificăm numărul de procesoare:
nproc
Este recomandată păstrarea unui spațiu liber de minimum 100 GB pentru compilarea PetaLinux și stocarea artefactelor Yocto.
Probleme posibile în WSL2
| Problemă | Cauză posibilă | Soluție recomandată |
|---|---|---|
| Compilare foarte lentă | Proiectul este plasat în /mnt/c
|
Mutarea proiectului în sistemul de fișiere Linux, de exemplu /home/tom/projects
|
| Erori de permisiuni | Proprietar sau permisiuni incorecte | Verificarea permisiunilor și a proprietarului fișierelor |
| Procese terminate neașteptat | Memorie RAM insuficientă | Creșterea resurselor WSL2 sau reducerea paralelismului compilării |
| Erori privind căile | Referințe absolute din proiectul original | Verificarea configurațiilor proiectului și a căilor |
| Erori de descărcare Yocto | Probleme DNS, proxy sau conectivitate | Verificarea accesului la Internet |
| Comanda petalinux-build nu este găsită | Mediul PetaLinux nu este activat | Executarea scriptului settings.sh
|
| Erori ale unor instrumente AMD | Incompatibilități specifice WSL2 | Repetarea testului într-un mediu Ubuntu nativ |
Verificarea finală a instalării
După instalare, executăm următoarele comenzi:
# Verificăm distribuția Ubuntu.
lsb_release -a
# Verificăm arhitectura.
uname -m
# Activăm PetaLinux.
source ~/petalinux/2025.2/settings.sh
# Verificăm variabila de mediu.
echo $PETALINUX
# Verificăm executabilul.
which petalinux-build
# Verificăm funcționarea comenzii.
petalinux-build --help
# Verificăm memoria.
free -h
# Verificăm spațiul liber.
df -h ~
Dacă petalinux-build --help funcționează, instalarea și inițializarea mediului PetaLinux sunt operaționale.
Totuși, această verificare nu garantează compilarea cu succes a unui proiect complet în WSL2.
Utilizarea PetaLinux în proiectul Arty Z7-20
Pentru proiectul de procesare a semnalelor I/Q, arhitectura propusă este:
Raspberry Pi 5
|
| Ethernet / UDP
v
PetaLinux - Zynq ARM Cortex-A9
|
| AXI DMA
v
FPGA - Programmable Logic
|
+-- Loopback
|
+-- Frequency shifting
|
+-- Filtering
|
+-- Doppler correction
În această arhitectură, PetaLinux gestionează comunicația Ethernet, buffer-ele de date, transferurile DMA și aplicațiile care rulează pe procesoarele ARM.
FPGA-ul execută operațiunile de procesare digitală a semnalelor.
Vivado 2025.2 poate rămâne instalat nativ în Windows 11, iar PetaLinux 2025.2 poate fi utilizat în Ubuntu WSL2.
Pentru proiectul existent este recomandată:
- păstrarea configurației funcționale pe mașina Ubuntu originală;
- copierea proiectului într-un director independent în WSL2;
- verificarea compatibilității cu PetaLinux 2025.2;
- verificarea căilor absolute din configurațiile Yocto;
- compilarea și verificarea imaginilor generate;
- testarea imaginilor pe placa Arty Z7-20.