Differences

This shows you the differences between two versions of the page.

Link to this comparison view

so2:resurse:masini-virtuale [2018/02/21 17:21]
elena.sandulescu [Mașina virtuală]
so2:resurse:masini-virtuale [2019/03/16 09:46] (current)
razvan.deaconescu [Rularea mașinii]
Line 5: Line 5:
 Mașina virtuală este un setup bazat pe qemu.  Ea nu include facilități pentru a edita, compila și depana module, deci va trebui să faceți acest lucru pe mașina fizică. ​ Mașina virtuală doar rulează un kernel minimal, modulele voastre și eventuale programe de test. Mașina virtuală este un setup bazat pe qemu.  Ea nu include facilități pentru a edita, compila și depana module, deci va trebui să faceți acest lucru pe mașina fizică. ​ Mașina virtuală doar rulează un kernel minimal, modulele voastre și eventuale programe de test.
  
-Pentru a rula mașina virtuală veți avea nevoie de o mașină Linux cu următoarele pachete:+Pentru a rula mașina virtuală ​și pentru a putea compila și folosi module de kernel ​veți avea nevoie de o mașină Linux la care să aveți un utilizator ​cu permisiuni de ''​root''/''​sudo''​ și pe care să instalați ​următoarele pachete: 
 +  * ''​flex''​ 
 +  * ''​bison''​
   * ''​build-essential''​   * ''​build-essential''​
 +  * ''​gcc-multilib''​
 +  * ''​libncurses5-dev''​
   * ''​qemu-system-x86''​   * ''​qemu-system-x86''​
   * ''​qemu-system-arm''​   * ''​qemu-system-arm''​
-  * ''​kvm''​+  * ''​qemu-kvm''​
   * ''​python3''​   * ''​python3''​
   * ''​minicom''​   * ''​minicom''​
 +
 +Pentru instalarea pachetelor pe un sistem Debian/​Ubuntu,​ veți rula comanda:
 +<​code>​
 +sudo apt update
 +sudo apt install -y flex bison build-essential gcc-multilib libncurses5-dev qemu-system-x86 qemu-system-arm qemu-kvm python3 minicom
 +</​code>​
  
 Mașina virtuală este integrată într-un repo ce conține și sursele kernel-ului Linux: [[https://​github.com/​linux-kernel-labs/​linux]]:​ Mașina virtuală este integrată într-un repo ce conține și sursele kernel-ului Linux: [[https://​github.com/​linux-kernel-labs/​linux]]:​
Line 20: Line 30:
  
 <​note>​ <​note>​
-Puteți accelera clonarea repository-ului folosind argumentul ''​--depth=1''​ pentru comanda ''​git''​.+Puteți accelera clonarea repository-ului folosind argumentul ''​%%--%%depth=1''​ pentru comanda ''​git''​.
 Cu acest argument, git va clona doar ultima versiune a surselor, nu tot istoricul din repository, deci nu veți avea acces la commit-urile precedente. Cu acest argument, git va clona doar ultima versiune a surselor, nu tot istoricul din repository, deci nu veți avea acces la commit-urile precedente.
 </​note>​ </​note>​
Line 65: Line 75:
 </​note>​ </​note>​
  
-Veți compila modulele de kernel și programele de test pe mașina fizică. ​ Dacă aveți un sistem pe 64 de biți, folosiți flag-ul ''​-m32''​ pentru gcc, pentru a genera binare pe 32 de biți. De asemenea, folosiți opțiunea ''​-static''​ pentru programele de test.+Veți compila modulele de kernel și programele de test pe mașina fizică. ​ Dacă aveți un sistem pe 64 de biți, folosiți flag-ul ''​-m32''​ pentru gcc, pentru a genera binare ​(module, executabile de rulat în user mode) pe 32 de biți. De asemenea, folosiți opțiunea ''​-static''​ pentru programele de test care vor rula în user mode.
  
 ===== Interacțiunea cu mașina virtuală ===== ===== Interacțiunea cu mașina virtuală =====
so2/resurse/masini-virtuale.1519226472.txt.gz · Last modified: 2018/02/21 17:21 by elena.sandulescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0