Table of Contents

Setup Linux/VM

Responsabili:

În cadrul activităților de la PCLP, veți avea nevoie de un setup cu Linux (care poate fi același de la alte materii). Puteți opta pentru una din următoarele variante:

1. Linux clean install: instalare directă pe host. Puteți folosi dual-boot pentru a avea, de exemplu, Ubuntu + Windows. Dacă doriți să faceți Linux clean install, recomandăm participarea la Linux Install Fest, unde diverși voluntari vă vor ajuta să instalați o distribuție de Linux pe laptopul vostru! Verificați canalul administrativ de pe Teams.

2. VM cu Linux care rulează pe Windows/MAC, folosind un soft de virtualizare. Mai multe detalii în primul laborator.

3. How to install Linux on Windows with WSL) sau Cygwin pentru Windows.

Cine are deja Linux clean install (direct pe host), nu are nevoie de mașină virtuală.

Consultați secțiunea de tutoriale de pe această pagină pentru a vedea de ce utilitare aveți nevoie să instalați pe distribuția voastră de Linux pentru a putea lucra la PCLP (laboratoare, teme, etc).

Recomandarea este să folosiți 1, întrucât este util la mai multe materii.

Tutoriale

Instalare utilitare compilare

Exemplu instalare versiunea default/recentă gcc și make pe Ubuntu 24:

gcc (latest)
$ sudo apt-get update
$ sudo apt-get install gcc make
$ gcc -v
gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04)
$ make -v
GNU Make 4.3

Instalare editoare de cod

Visual Studio Code

Exemplu instalare Visual Studio Code pentru Ubuntu:

vscode
$ sudo apt-get update
$ sudo dpkg -i code_1.104.3-1759409451_amd64.deb

Puteți căuta și deschide aplicația “Visual Studio Code” din interfața grafică sau rula comanda “code” in terminal.

Sublime Text

Exemplu instalare Sublime Text pentru Ubuntu aici.

$ wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/sublimehq-archive.gpg > /dev/null
$ echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
$ sudo apt-get update
$ sudo apt-get install sublime-text

Puteți căuta și deschide aplicația “Sublime Text” din interfața grafică sau rula comanda “subl” in terminal.

VM local

Cine are deja Linux clean install (direct pe host) nu are nevoie de mașină virtuală.

Pentru a vă ajuta să lucrați într-un mediu corespunzător și necesar acasă, echipa vă pune la dispoziție o mașină virtuală.

Link download x86_64: https://dfilip.xyz/vmpclp

Link download ARM: ARM/Apple Silicon

ATENȚIE! Această mașină virtuală este configurată să aibă disponibilă următoarele resurse: 2 CPU cores, 4GB RAM, 20GB HDD. Aceste setări se pot schimba, însă recomandăm să lăsați setupul făcut de noi.

Pentru importarea, pornirea și folosirea acestei mașini virtuale puteți folosi VMWare Workstation sau VirtualBox.

Pe site sunt disponibile mai multe versiuni. Recomandăm utilizarea VMware Workstation Player pe Windows/Linux, respectiv WMware Fusion Player pe MacOS.

Ambele software-uri sunt gratuite pentru uz non-comercial, însă pentru VMWare Fushion va trebui să vă creați cont pe site-ul VMware pentru a primi o licență personală.

Tutorial: Import VM pe ARM în VMWare Fusion

Tutorial: Import VM pe ARM în VMWare Fusion

  1. Descărcați mașina virtuală și dezarhivați fișierele sale în directorul dedicat mașinilor virtuale (subdirectorul trebuie să aibă extensia .vmwarevm):
    $ mkdir -p ~/Virtual\ Machines.localized/vmpclp.vmwarevm
    $ tar xzvf ARHIVA -C ~/Virtual\ Machines.localized/vmpclp.vmwarevm
  2. Din VMWare Fusion, folosiți funcția Scan pentru a o detecta, iar apoi mașina ar trebui să apară și să funcționeze.

Eroare: This Host Supports Intel VT-x but Intel VT-x is Disabled

Eroare: This Host Supports Intel VT-x but Intel VT-x is Disabled

La rularea mașinii virtuale locale este posibil să întâlniți eroarea de mai jos:

În acest caz, este necesară activarea Intel VT-X din setările BIOS/UEFI Firmware ale calculatorului.

Pașii necesari sunt descriși în acest turorial video.

Tutorialul surprinde varianta în care sistemul de operare este instalat folosind UEFI. Dacă opțiunea UEFI Firmware Settings nu apare în cazul vostru, înseamnă că sistemul de operare nu a fost instalat cu UEFI. În cele mai multe cazuri, pentru a accesa BIOS trebuie să apăsați una din tastele ESC, F2 sau F10 înainte de pornirea sistemului de operare.

Dacă nu vă descurcați, nu ezitați să cereți ajutorul asistentului. Suntem aici să vă ajutăm! :)

VM ssh & scp

Dacă doriți să folosiți editorul de text de pe mașina host va trebui să vă configurați o conexiune SSH. Pentru aceasta trebuie să creați un adaptor nou în mașina virtuală ca să poată comunica între ele cele două mașini. Adaptorul trebuie configurat astfel:

Ca să vă conectați din Powershell în VM folosiți comanda:

conexiune ssh
> ssh student@pclp-vm

Dacă nu merge, găsiți ip-ul mașinii virtuale cu comanda:

comanda ip
$ ifconfig

Iar după ce aveți adresa ip locală, rulați în powershell:

conexiune ssh
> ssh student@adresă_ip

Pentru a putea copia fișiere de pe mașina host pe mașina virtuală folosim SCP:

Windows cmd
> scp cale_fișier student@adresa_ip_vm:cale_destinatie_vm

Eroare: student@ip: Permission denied (publickey)

Eroare: student@ip: Permission denied (publickey)

Trebuie să vă puneți cheia publică de SSH a mașinii host in lista de chei acceptate de mașina virtuală folosind următoarele comenzi:

În Windows PowerShell (În cazul în care nu aveți deja cheie SSH):

windows cmd
> whoami
nume_mașina\nume_utilizator
> ssh-keygen -t ed25519 -C "nume_utilizator/nume_mașina"
...
Your public key has been saved in C:\Users\nume_utilizator/.ssh/id_ed25519.pub
...
> Start-Service ssh-agent
> ssh-add $env:USERPROFILE\.ssh\id_ed25519

Copiați conținutul fișierului id_ed25519.pub, iar apoi în terminalul mașinii virtuale:

VM terminal
$ mkdir ~/.ssh
$ nano .ssh/authorized_keys

În fișierul deschis in terminal lipiți conținutul, salvați și ieșiți.

Copiere fisiere Host-VM

Pentru a ușura transferul de fișiere între host și mașina virtuală, vom crea un folder comun. Din setările mașinii virtuale, ștergem dacă este deja unul făcut când și facem un nou folder comun astfel:

La Folder Path puneți calea folderului de pe Windows.

Când deschidem după mașina, trebuie să ne dăm permisiuni pentru a accesa folderul, astfel:

adăugare permisiuni
$ sudo usermod -aG vboxsf $USER
$ sudo reboot

Acum folderul trebuie să apară în mașina virtuală, sub numele sf_folder_comun.

VM vmchecker

Această secțiune este relevantă doar pentru teme.

vmchecker este configurat sa nu afiseze anumite informatii, din motive de securitate. Cu toate acestea, va afiseaza versiunile exacte de compilatoare pentru a le instala local. Astfel voi puteti sa aveti acelasi enviroment si sa primiti aceleasi erori.

Este o situatie normala ca de la o versiune veche de compilator (ex. gcc-4) la o versiune noua (ex. gcc-7), erorile sa difere (ex. un warning a devenit eroare sau un alt comportament s-a schimbat).

Daca feedbackul local difera de cel remote (din punct de vedere al compilarii), asigurati-va ca ati instalat versiunea corespunzatoare de compilator si ca e setata default, adica urmatoarele comenzi afiseaza aceleasi versiuni ca pe vmchecker.

Exemplu instalare gcc-7

Exemplu instalare gcc-7

gcc-7
$ sudo add-apt-repository ppa:jonathonf/gcc-7.3
$ sudo apt-get update
$ apt-cache search gcc-7
$ sudo apt-get install gcc-7
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 20
$ gcc -v
gcc version 7.3.0 (Ubuntu 7.3.0-1ubuntu1~16.04)

Windows Subsystem for Linux Setup

Instalare WSL2

  1. Căutam PowerShell în search bar, și deschideți ca și administrator.
  2. Activați WSL folosind urmatoarea comandă:
    > dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  3. Activați opțiunea de mașină virtuală folosind următoarea comandă:
    > dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  4. Dați restart la calculator.
  5. Deschideți din nou ca și administrator Powershell și rulăm următoarele comenzi:
    > wsl --install
  6. După instalare o să vă pună să vă faceți un utilizator pentru WSL
  7. Pentru a finaliza instalarea, rulați următoarele comenzi, în ordine:
    $ sudo apt update
    $ sudo apt install gcc
    $ sudo apt install make

Visual Studio Code setup

  1. Instalați VSCode pentru Windows: https://code.visualstudio.com/download.
  2. Din VSCode, la meniul de extensii, instalați extensia WSL.
  3. După ce se instalează, o să apară in colțul din stânga jos o iconiță:
  4. Apăsați pe ea, și alegeți opțiunea de “Connect to WSL”.