This shows you the differences between two versions of the page.
isrm:mv [2020/02/24 13:13] mbarbulescu [Repository dev] |
isrm:mv [2022/12/29 11:00] (current) mbarbulescu |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Setup ISRM ===== | + | ====== Setup ISRM ====== |
- | ==== Repository dev ==== | + | ===== Repository dev ===== |
- | Recomandăm folosirea repo-ului de aici (un fork din ns-3 bazat pe release-ul 3.29): | + | * [[https://gitlab.com/nsnam/ns-3-dev|nsnam/ns-3]] - Simulatorul de ns-3. Noi folosim release-ul de pe tag-ul ''ns-3.35''. |
+ | * [[https://github.com/isrm-lab/ns3-labs|Laboratoarele de ISRM]] compatibile cu ns-3. | ||
+ | * [[https://github.com/isrm-lab/isrm-vm-docker-img|Imagine docker cu setup ISRM]] | ||
- | https://gitlab.com/b12mihai1/ns-3-dev/commits/isrm_2020 | ||
- | deoarece în el am adăugat și submodulul cu laboratoarele de ISRM pentru 2019-2020: | + | ===== Docker install ===== |
- | https://github.com/isrm-lab/ns3-labs | + | O dată ce a pornit mașina virtuală trebuie rulat: |
- | + | ||
- | Lucrul e destul de simplu la clonarea inițială: | + | |
<code bash> | <code bash> | ||
- | git clone https://gitlab.com/b12mihai1/ns-3-dev.git | + | sudo apt install docker.io |
- | cd ~/ns-3-dev | + | |
- | git checkout -b isrm_2020 remotes/origin/isrm_2020 | + | |
- | git submodule update --remote --merge | + | |
- | git submodule foreach git pull origin master # in caz ca cea anterioara nu ne muta pe ultimul commit din master | + | |
</code> | </code> | ||
- | |||
- | Dacă vă anunțăm de modificări pur și simplu rulați, fiind pe branchul **''isrm_2020''**: | ||
<code bash> | <code bash> | ||
- | git pull | + | # https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user |
- | git submodule update --recursive --remote --merge | + | sudo groupadd docker && sudo usermod -aG docker $USER |
- | git submodule foreach git pull origin master # in caz ca cea anterioara nu ne muta pe ultimul commit din master | + | |
</code> | </code> | ||
- | Configurarea ns-3 se face simplu prin: | + | ==== Create docker image ==== |
<code bash> | <code bash> | ||
- | ./waf configure --build-profile=debug --enable-examples --enable-tests | + | git clone https://github.com/isrm-lab/isrm-vm-docker-img.git |
- | ./waf build -j 2 | + | cd isrm-vm-docker-img |
+ | docker build -t isrm2023 . | ||
</code> | </code> | ||
+ | <note important> | ||
+ | ''**docker build**'' a fost testat pe un host cu Linux Mint 20.3 și pe un VM cu Ubuntu Server 22.10. | ||
- | Apoi după configurare puteți rula orice laborator astfel: | + | De asemenea am făcut un test și pe Windows 11, cu WSL 2 ([[https://www.windows11.dev/ce7in/how-to-install-wsl2-and-linux-distros-on-windows-11-6od|Windows Subsystem for Linux]]) având Hyper-V activat și Ubuntu 22.04 ca distribuție instalat. Instalarea docker în WSL a fost făcută urmând [[https://tjisblogging.blogspot.com/2022/05/install-docker-on-windows-11-with-wsl.html|pașii de aici]] apoi totul funcționează, exceptând faptul că trebuie să porniți de mână serviciul de docker: ''**systemctl start docker**'' |
+ | </note> | ||
- | <code bash> | ||
- | ./waf --run "lab6 --ns=4 --nd=4 --minCw=15 --maxCw=1023 --pcap=false" | ||
- | </code> | ||
- | ==== Mașină virtuală ==== | + | ===== Mașină virtuală (opțional) ===== |
- | Link download 2019-2020 (autentificare cu credențialele LDAP cs.curs.pub.ro): | + | * Instalați [[https://www.virtualbox.org/wiki/Downloads|VirtualBox]] |
+ | * Folosiți o imagine [[https://www.osboxes.org/ubuntu/|Ubuntu]] sau [[https://www.osboxes.org/linux-mint/|Linux Mint]] | ||
+ | * Setari virtualbox necesare: | ||
+ | * Port forwarding: https://bobcares.com/blog/virtualbox-ssh-nat/ : “Settings” >> “Network” >> “Advanced” section. This will show additional network adapter options. Then, we click on “Port Forwarding” button. | ||
+ | * Settings > System > Motherboard > minim 4096 MB RAM | ||
+ | * Settings > System > Processor > Enable PAE/NX | ||
+ | * Settings > System > Acceleration > Bifați la Hardware Virtualization Enable Nested Paging | ||
+ | * Settings > System > Processor > Dați minim 2 CPU | ||
+ | * Settings > System > Display > VBoxVGA | ||
- | https://repository.grid.pub.ro/cs/uso/experimental/isrm-vm-1904-2020.ova | ||
+ | ==== Cum creez o mașină virtuală cu VDI existent? (opțional) ==== | ||
+ | |||
+ | {{:isrm:1.png?direct&200|}} | ||
+ | |||
+ | {{:isrm:2.png?direct&200|}} | ||
+ | |||
+ | {{:isrm:3.png?direct&200|}} | ||
+ | |||
+ | {{:isrm:4.png?direct&200|}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | <hidden> | ||
+ | |||
+ | |||
+ | |||
+ | ===== Mașină virtuală ===== | ||
+ | |||
+ | Link download 2020-2021 (autentificare cu credențialele LDAP cs.curs.pub.ro): | ||
+ | |||
+ | https://repository.grid.pub.ro/cs/uso/old/isrm-vm-2004-2020-2021.ova | ||
+ | |||
+ | Link alternativ: | ||
+ | |||
+ | https://ctipub-my.sharepoint.com/:u:/g/personal/mbarbulescu_upb_ro/EXFahQvtHkVOks9px5WqO5YBtn25ClMqyF97RPrV4iBP9A?e=q5SUds | ||
Fișierul OVA se importă în [[https://www.virtualbox.org/wiki/Downloads|Virtualbox]]. Vezi [[https://docs.oracle.com/cd/E26217_01/E26796/html/qs-import-vm.html|tutorial de import appliance]]. | Fișierul OVA se importă în [[https://www.virtualbox.org/wiki/Downloads|Virtualbox]]. Vezi [[https://docs.oracle.com/cd/E26217_01/E26796/html/qs-import-vm.html|tutorial de import appliance]]. | ||
Line 54: | Line 80: | ||
Mașina virtuală are toate pachetele necesare pentru lucrul la ISRM: | Mașina virtuală are toate pachetele necesare pentru lucrul la ISRM: | ||
- | * Distribuție: Ubuntu 19.04 | + | * Distribuție: Ubuntu 20.04 |
* Simulatoare: ns-2, ns-3 (și dependențele acestora) | * Simulatoare: ns-2, ns-3 (și dependențele acestora) | ||
* ''valgrind'', ''gdb'' | * ''valgrind'', ''gdb'' | ||
- | * ''gnuplot-x11'' | + | * Lucru cu grafice: ''matplotlib'', ''jupyter'', ''python3'' |
* Visual Studio Code. Extensii: | * Visual Studio Code. Extensii: | ||
- ms-vscode.cpptools | - ms-vscode.cpptools | ||
Line 64: | Line 90: | ||
- VisualStudioExptTeam.vscodeintellicode | - VisualStudioExptTeam.vscodeintellicode | ||
- callegustafsson.waf-task-provider | - callegustafsson.waf-task-provider | ||
- | |||
- | <hidden> | ||
- | Link download: https://repository.grid.pub.ro/cs/uso/old/isrm-vm.ova | ||
- | |||
- | Pachete instalate: | ||
- | |||
- | * Set development: | ||
- | <code bash> | ||
- | apt-get install -y build-essential gcc g++ sed gawk autoconf automake libxmu-dev libxt-dev libx11-dev libxt6 gnuplot-x11 tk8.5 tcl8.5 | ||
- | </code> | ||
- | * ns2 conform indicațiilor de [[isrm:instalare-ns2|instalare ns2]] | ||
- | |||
- | |||
</hidden> | </hidden> | ||
- | |||
- | |||