This shows you the differences between two versions of the page.
so2:laboratoare:lab01 [2018/02/22 09:34] elena.sandulescu [cscope] |
so2:laboratoare:lab01 [2019/02/25 16:44] (current) razvan.deaconescu [2. Adăugarea și utilizarea unui disc virtual] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Laborator 1 - Introducere ====== | ====== Laborator 1 - Introducere ====== | ||
+ | |||
+ | New lab is translated in English and available here: | ||
+ | |||
+ | https://linux-kernel-labs.github.io/master/labs/introduction.html | ||
+ | |||
+ | Please always try to use the new labs. | ||
+ | |||
+ | If you find any problem (typo, bad wording, broken links, etc), please do the following | ||
+ | * submit an issue: https://github.com/linux-kernel-labs/linux-kernel-labs.github.io/issues | ||
+ | |||
+ | OR | ||
+ | |||
+ | * send a patch via a Pull Request: https://github.com/linux-kernel-labs/linux | ||
+ | |||
===== Obiectivele laboratorului ===== | ===== Obiectivele laboratorului ===== | ||
Line 111: | Line 125: | ||
* 'i' includes: găsește fișiere care includ numele fișierului marcat de cursor | * 'i' includes: găsește fișiere care includ numele fișierului marcat de cursor | ||
* 'd' called: găsește funcțiile apelate de către funcția marcată de cursor | * 'd' called: găsește funcțiile apelate de către funcția marcată de cursor | ||
+ | Mai multe informații găsiți [[http://cscope.sourceforge.net/cscope_maps.vim| aici]]. | ||
Dacă sunteți utilizatori emacs, instalați pachetul xcscope-el și adăugați următoarele linii în ~/.emacs: | Dacă sunteți utilizatori emacs, instalați pachetul xcscope-el și adăugați următoarele linii în ~/.emacs: | ||
Line 273: | Line 288: | ||
===== Exerciții ===== | ===== Exerciții ===== | ||
+ | ==== 0. Înscriere pe lista de discuții ==== | ||
+ | |||
+ | Urmăriți informațiile de pe pagina [[so2:resurse:lista-discutii|]] pentru a vă abona la lista de discuții. | ||
==== Precizări ==== | ==== Precizări ==== | ||
Line 292: | Line 310: | ||
Pe scurt, infrastructura mașinii virtuale: | Pe scurt, infrastructura mașinii virtuale: | ||
* ''/home/student/so2/linux'' - sursele kernel-ului Linux, de care aveți nevoie pentru a compila module. Directorul include și fișierul ''cscope.out'', pentru inspectarea facilă a surselor. | * ''/home/student/so2/linux'' - sursele kernel-ului Linux, de care aveți nevoie pentru a compila module. Directorul include și fișierul ''cscope.out'', pentru inspectarea facilă a surselor. | ||
- | * ''/home/student/so2/linux/tools/labs'' - fișiere suplimentare, necesare pentru rularea mașinii virtuale, labrator și teme | + | * ''/home/student/so2/linux/tools/labs'' - fișiere suplimentare, necesare pentru rularea mașinii virtuale, laborator și teme |
Pentru a rula mașina virtuală este suficient să intrați în directorul ''so2/linux/tools/labs'' și să rulați comanda ''make boot'': | Pentru a rula mașina virtuală este suficient să intrați în directorul ''so2/linux/tools/labs'' și să rulați comanda ''make boot'': | ||
Line 327: | Line 345: | ||
</note> | </note> | ||
- | În subdirectorul ''so2/linux/tools/labs/qemu/'' aveți un nou disc de mașină virtuală în cadrul fișierului ''mydisk.img''. Vrem să adăugăm discul la mașina virtuală și să îl folosim în cadrul mașinii virtuale. | + | În subdirectorul ''so2/linux/tools/labs/'' aveți un nou disc de mașină virtuală în cadrul fișierului ''mydisk.img''. Vrem să adăugăm discul la mașina virtuală și să îl folosim în cadrul mașinii virtuale. |
Editați fișierul ''qemu/Makefile'' pentru a adăuga, în variabila ''QEMU_OPTS'', parametrul ''-drive file=qemu/mydisk.img,if=virtio,format=raw''. Rulați ''make'' pentru a boota mașina virtuală. | Editați fișierul ''qemu/Makefile'' pentru a adăuga, în variabila ''QEMU_OPTS'', parametrul ''-drive file=qemu/mydisk.img,if=virtio,format=raw''. Rulați ''make'' pentru a boota mașina virtuală. | ||
+ | |||
+ | <note warning> | ||
+ | Este posibil să existe deja adăugate alte două discuri (''disk1.img'' și ''disk2.img''). În acest caz, adăugați noul disc înainte de ''disk1.img'' | ||
+ | </note> | ||
În cadrul mașinii virtuale configurați accesul la disc. | În cadrul mașinii virtuale configurați accesul la disc. | ||
Line 394: | Line 416: | ||
</note> | </note> | ||
- | Pentru aceasta pornim, în primă fază, mașina virtuală QEMU. Apoi, ne putem conecta cu ''gdb'' la un mașina vituală QEMU **aflată în rulare**, folosind comanda | + | Pentru aceasta pornim, în primă fază, mașina virtuală QEMU. Apoi, ne putem conecta cu ''gdb'' la mașina vituală QEMU **aflată în rulare**, folosind comanda |
<code bash> | <code bash> | ||
make gdb | make gdb | ||
Line 494: | Line 516: | ||
<note tip> | <note tip> | ||
- | Pentru aceasta folosiți în Vim o comandă de forma '':cs f g <symbol>'' (unde construcția ''<symbol>'' reprezintă numele simbolului căutat). | + | Pentru aceasta folosiți în Vim o comandă de forma '':cs f g <symbol>'' (unde construcția ''<symbol>'' reprezintă numele simbolului căutat). Dacă simbolul nu este găsit, încercați căutarea textuala folosind comanda: '':cs f t <text>''. |
</note> | </note> | ||