generated from open-education-hub/oer-template
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Solved some typos, Verified the diacritics and spelling mistakes, ree…
…valuated the Docker tutorial for Linux
- Loading branch information
1 parent
ee42a3a
commit f8add16
Showing
44 changed files
with
1,964 additions
and
1,958 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,51 +1,51 @@ | ||
# Notare | ||
- 50p examen final | ||
- 50p laborator | ||
- 10p activitate laborator (prezență si teste surpriză) | ||
- 10p Test circuite combinaționale | ||
- 10p Test circuite secvențiale | ||
- 20p Colocviu final calculator didactic | ||
- 10p Tema (bonus) | ||
|
||
### Promovare: | ||
- Minim 25p Laborator | ||
- Minim 50p Total | ||
|
||
### Test circuite combinaționale | ||
- Materia necesară: laboratoarele 1,2 și 3 | ||
- Durată: 60 de minute | ||
- Când: la începutul laboratorului 4 | ||
- Strcutură: 3 exerciții practice de implementat în verilog | ||
- Locație: sala de laborator | ||
- Platformă: Calculator Laborator - Safe Exam Browser - Moodle - VPL | ||
|
||
### Test circuite secvențiale | ||
- Materia necesară: laboratoarele 4,5 și 6 | ||
- Durată: 60 de minute | ||
- Când: la începutul laboratorului 7 | ||
- Strcutură: 3 exerciții practice de implementat în verilog | ||
- Locație: sala de laborator | ||
- Platformă: Calculator Laborator - Safe Exam Browser - Moodle - VPL | ||
|
||
### Colocviu final calculator didactic | ||
- Materia necesară: toate laboratoarele | ||
- Durată: 120 de minute | ||
- Când: la ultimul laborator | ||
- Strcutură: | ||
- 3 exerciții practice de implementat în verilog | ||
- 20 întrebări teoretice | ||
- Locație: sala de laborator | ||
- Platformă: Calculator Laborator - Safe Exam Browser - Moodle - VPL/Quiz | ||
|
||
### Tema | ||
- Durată: Întreg semestrul cu termen limită începutul ultimii săptămâni de laborator | ||
- Platformă: Moodle - VPL | ||
- Punctaj: Se va adăuga punctajului de laborator (nu se ia în considerare la punctajul minim) | ||
- Punctaj: Punctajul total de laborator se trunchează la 50 de puncte. | ||
|
||
### Examen Final (AB) | ||
- Platformă: Moodle - VPL/Quiz | ||
- Durată: 180 de minute | ||
- Structură: | ||
- 20 de întrebări teoretice | ||
- 1 problemă | ||
# Notare | ||
- 50p examen final | ||
- 50p laborator | ||
- 10p activitate laborator (prezență si teste surpriză) | ||
- 10p Test circuite combinaționale | ||
- 10p Test circuite secvențiale | ||
- 20p Colocviu final calculator didactic | ||
- 10p Tema (bonus) | ||
|
||
### Promovare: | ||
- Minim 25p Laborator | ||
- Minim 50p Total | ||
|
||
### Test circuite combinaționale | ||
- Materia necesară: laboratoarele 1,2 și 3 | ||
- Durată: 60 de minute | ||
- Când: la începutul laboratorului 4 | ||
- Strcutură: 3 exerciții practice de implementat în verilog | ||
- Locație: sala de laborator | ||
- Platformă: Calculator Laborator - Safe Exam Browser - Moodle - VPL | ||
|
||
### Test circuite secvențiale | ||
- Materia necesară: laboratoarele 4,5 și 6 | ||
- Durată: 60 de minute | ||
- Când: la începutul laboratorului 7 | ||
- Strcutură: 3 exerciții practice de implementat în verilog | ||
- Locație: sala de laborator | ||
- Platformă: Calculator Laborator - Safe Exam Browser - Moodle - VPL | ||
|
||
### Colocviu final calculator didactic | ||
- Materia necesară: toate laboratoarele | ||
- Durată: 120 de minute | ||
- Când: la ultimul laborator | ||
- Strcutură: | ||
- 3 exerciții practice de implementat în verilog | ||
- 20 întrebări teoretice | ||
- Locație: sala de laborator | ||
- Platformă: Calculator Laborator - Safe Exam Browser - Moodle - VPL/Quiz | ||
|
||
### Tema | ||
- Durată: Întreg semestrul cu termen limită începutul ultimii săptămâni de laborator | ||
- Platformă: Moodle - VPL | ||
- Punctaj: Se va adăuga punctajului de laborator (nu se ia în considerare la punctajul minim) | ||
- Punctaj: Punctajul total de laborator se trunchiază la 50 de puncte. | ||
|
||
### Examen Final (AB) | ||
- Platformă: Moodle - VPL/Quiz | ||
- Durată: 180 de minute | ||
- Structură: | ||
- 20 de întrebări teoretice | ||
- 1 problemă |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,104 +1,110 @@ | ||
# Utilizare imagine docker Linux | ||
|
||
## Cerințe necesare | ||
1. Sa aveti VSCode instalat | ||
2. Sa aveti un Desktop Environment sau un Window manager ce ruleaza cu X Server. | ||
3. Sa aveti Docker CE instalat (Atentie, nu docker desktop! O sa trebuiasca privileged execution pentru a forwarda folderul /dev iar acesta face acest lucru foarte enervant si dificil) | ||
- [Ubuntu/Fedora](https://docs.docker.com/engine/install/) | ||
- Arch: ```sudo pacman -S docker``` | ||
* Daca aveti deja docker desktop instalat de pe AUR o sa va apara conflicte. Va apar frumos acolo pachetele conflictuale, e alegerea voastra what comes next. | ||
|
||
## Rulare | ||
|
||
### Opțiunea 1 din Visual Studio Code | ||
|
||
1. Deschideți directorul repo-ului în Visual Studio Code. | ||
```bash | ||
code computer-architecture | ||
``` | ||
|
||
2. Instalați extensia [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). | ||
|
||
3. După veți avea opțiunea "Dev Containers: Reopen in container" (`CTRL+SHIFT+P`). | ||
|
||
### Opțiunea 2 prin docker | ||
|
||
1. Descărcați imaginea cu docker | ||
```bash | ||
docker pull gitlab.cs.pub.ro:5050/ac/ac-public/vivado-slim:1.0.0 | ||
``` | ||
|
||
2. Rulați un container cu imaginea | ||
```bash | ||
docker run --rm -it -v /dev:/dev gitlab.cs.pub.ro:5050/ac/ac-public/vivado-slim:1.0.0 /bin/bash | ||
``` | ||
|
||
3. Rulați vivado din imagine | ||
```bash | ||
vivado | ||
``` | ||
|
||
## Troubleshooting | ||
### Primesc eroare cand scriu in shell ```vivado```/nu apare GUI-ul | ||
Inainte de a rula urmatoarele solutii, **asigurati-va inainte ca .devcontainer/{sshd_config,Dockerfile,devcontainer.json} respecta cerintele de securitate impuse de voi**. Urmatoarea metoda o sa expuna un port la ssh pe un container privilegiat neparolat care are expus /dev-ul vostru. Asigurati-va ca nu exista posibilitatea ca o masina remote sa se poata conecta la acel port al vostru, sau modificati sshd_config-ul astfel incat sa respecte cerintele de securitate, sau schimbati parola de root (in dockerfile) | ||
#### Devcontainer fara GUI | ||
Va trebui sa editati devcontainer.json (aveti comentate deja liniile necesare, decomentati image) ca sa va apara in felul acesta: | ||
```json | ||
{ | ||
"name": "Vivado Slim Dev", | ||
"build": { "dockerfile": "Dockerfile" }, | ||
// "image": "gitlab.cs.pub.ro:5050/ac/ac-public/vivado-slim:1.0.0", | ||
"runArgs": [ | ||
"--rm", | ||
"--privileged" | ||
], | ||
"appPort": "2222:22", | ||
"mounts": ["type=bind,source=/dev,target=/dev"], | ||
//"otherPortsAttributes": {"requireLocalPort": "true", "elevateIfNeeded" : "true"}, | ||
"postStartCommand": "/usr/local/sbin/sshd", | ||
"customizations": { | ||
"vscode": { | ||
"extensions": [ | ||
"mshr-h.veriloghdl" | ||
] | ||
} | ||
} | ||
} | ||
``` | ||
Dupa apasati ```Ctrl+Shift+P``` si apasati pe ```Dev Containers: Rebuild and Reopen in Container```. | ||
|
||
Pentru a putea accesa gui-ul deschideti un terminal (nu acela de pe vscode) si scrieti ```ssh -XY -p 2222 root@localhost```. Nu va trebui sa introduceti nicio parola. Puteti modifica portul cu ce doriti voi atata timp cat modificati acest lucru si in devcontainer.json la appPort. | ||
|
||
#### Setup manual de docker fara GUI | ||
In radacina proiectului computer-architecture executati | ||
``` | ||
cd .devcontainer | ||
docker build -t vivado-slim-sshx . | ||
cd .. | ||
docker run -it -v /dev:/dev -p 2222:22 -v $PWD:/workspaces/computer-architecture vivado-slim-sshx | ||
``` | ||
### Am wayland. Ce fac? | ||
Va trebui sa faci [pasul asta](#primesc-eroare-cand-scriu-in-shell-vivadonu-apare-gui-ul). | ||
|
||
Exista 2 optiuni rapide: | ||
1. Instaleaza Xwayland si urmeaza setup-ul/configurarea pentru DE-ul/WM-ul tau | ||
2. Instaleaxa Xephyr si foloseste comanda aceasta: ```Xephyr -br -ac -noreset -screen 1920x1080 :1```. Inlocuieste 1920x1080 cu rezolutia folosita de tine, o sa se deschida o fereastra. Dupa scrii ```DISPLAY=:1 ssh -X -p 2222 root@localhost```. Gui-ul de la vivado va aparea in fereastra de tocmai s-a deschis | ||
|
||
Mai multe detalii [aici](https://www.dbts-analytics.com/notesxfwdgb.html) | ||
|
||
### Am ecran alb cand deschid cu wayland | ||
scrie in shell inainte sa executi vivado ```export _JAVA_AWT_WM_NONREPARENTING=1```. Sau decomenteaza linia din Dockerfile care da echo la aceasta linie in .bashrc | ||
|
||
### Stuck la deschiderea hardware managerului | ||
In terminalul din vscode scrie ```hw_server```, daca o sa functioneze o sa apare cv gen | ||
``` | ||
****** Xilinx hw_server v2022.1 | ||
**** Build date : Apr 18 2022 at 16:10:30 | ||
** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. | ||
INFO: hw_server application started | ||
INFO: Use Ctrl-C to exit hw_server application | ||
INFO: To connect to this hw_server instance use url: TCP:ba86b6047b8c:3121 | ||
``` | ||
Copiati ce este intre TCP: si :3121 si folositi-l ca 'url' la conexiune remote | ||
# Utilizare imagine Docker Linux | ||
|
||
## Cerințe necesare | ||
1. Să aveți VSCode instalat | ||
2. Să aveți un Desktop Environment sau un Window Manager ce rulează cu X Server. | ||
3. Să aveți Docker CE instalat (Atenție, nu Docker Desktop! O să trebuiască privileged execution pentru a forwarda folderul `/dev`, iar acesta face acest lucru foarte enervant și dificil) | ||
- [Ubuntu/Fedora](https://docs.docker.com/engine/install/) | ||
- Arch: ```sudo pacman -S docker``` | ||
* Dacă aveți deja Docker Desktop instalat de pe AUR, o să vă apară conflicte. Vă apar pachetele conflictuale, e alegerea voastră ce pachete păstrați. | ||
|
||
## Rulare | ||
|
||
### Opțiunea 1 din Visual Studio Code | ||
|
||
1. Deschideți directorul repo-ului în Visual Studio Code. | ||
```bash | ||
code computer-architecture | ||
``` | ||
|
||
2. Instalați extensia [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). | ||
|
||
3. După veți avea opțiunea "Dev Containers: Reopen in container" (`CTRL+SHIFT+P`). | ||
|
||
### Opțiunea 2 prin docker | ||
|
||
1. Descărcați imaginea cu docker | ||
```bash | ||
docker pull gitlab.cs.pub.ro:5050/ac/ac-public/vivado-slim:1.0.0 | ||
``` | ||
|
||
2. Rulați un container cu imaginea | ||
```bash | ||
docker run --rm -it -v /dev:/dev gitlab.cs.pub.ro:5050/ac/ac-public/vivado-slim:1.0.0 /bin/bash | ||
``` | ||
|
||
3. Rulați vivado din imagine | ||
```bash | ||
vivado | ||
``` | ||
|
||
## Troubleshooting | ||
### Primesc eroare când scriu în shell ```vivado``` / nu apare GUI-ul | ||
Înainte de a rula următoarele soluții, **asigurați-vă că `.devcontainer/{sshd_config, Dockerfile, devcontainer.json}` respectă cerințele de securitate impuse de voi**. | ||
Următoarea metodă o să expună un port la SSH pe un container privilegiat, neparolat, care are expus `/dev`-ul vostru. Asigurează-te că nu există posibilitatea ca o mașină remote să se poată conecta la acel port sau modifică `sshd_config`-ul astfel încât să respecte cerințele de securitate, sau schimbă parola de root (în Dockerfile). | ||
|
||
#### Devcontainer fără GUI | ||
Va trebui să editatezi `devcontainer.json` (ai comentate deja liniile necesare, decommentează `image`) ca să iți apară în formatul acesta: | ||
```json | ||
{ | ||
"name": "Vivado Slim Dev", | ||
"build": { "dockerfile": "Dockerfile" }, | ||
// "image": "gitlab.cs.pub.ro:5050/ac/ac-public/vivado-slim:1.0.0", | ||
"runArgs": [ | ||
"--rm", | ||
"--privileged" | ||
], | ||
"appPort": "2222:22", | ||
"mounts": ["type=bind,source=/dev,target=/dev"], | ||
//"otherPortsAttributes": {"requireLocalPort": "true", "elevateIfNeeded" : "true"}, | ||
"postStartCommand": "/usr/local/sbin/sshd", | ||
"customizations": { | ||
"vscode": { | ||
"extensions": [ | ||
"mshr-h.veriloghdl" | ||
] | ||
} | ||
} | ||
} | ||
``` | ||
După, apasă ```Ctrl+Shift+P``` și alege ```Dev Containers: Rebuild and Reopen in Container```. | ||
|
||
Pentru a putea accesa `GUI`-ul, deschide-ți un terminal (nu cel din VSCode) și scrie ```ssh -XY -p 2222 root@localhost```. | ||
Nu ar trebui să introduci nicio parolă. | ||
Poți modifica portul cu ce dorești tu, atât timp cât modifici acest lucru și în `devcontainer.json` la `appPort`. | ||
|
||
#### Setup manual de Docker fără GUI | ||
În rădăcina proiectului `computer-architecture`, execută: | ||
``` | ||
cd .devcontainer | ||
docker build -t vivado-slim-sshx . | ||
cd .. | ||
docker run -it -v /dev:/dev -p 2222:22 -v $PWD:/workspaces/computer-architecture vivado-slim-sshx | ||
``` | ||
### Am wayland. Ce fac? | ||
Va trebui să faci [pasul asta](#primesc-eroare-cand-scriu-in-shell-vivadonu-apare-gui-ul). | ||
|
||
Există 2 opțiuni rapide: | ||
1. Instalează Xwayland și urmează setup-ul/configurarea pentru DE-ul/WM-ul tău. | ||
2. Instalează Xephyr și folosește comanda aceasta: ```Xephyr -br -ac -noreset -screen 1920x1080 :1```. Înlocuiește `1920x1080` cu rezoluția folosită de tine, o să se deschidă o fereastră. | ||
După, scrii ```DISPLAY=:1 ssh -X -p 2222 root@localhost```. `GUI`-ul de la Vivado va apărea în noua fereastră deschisă. | ||
|
||
Mai multe detalii [aici](https://www.dbts-analytics.com/notesxfwdgb.html) | ||
|
||
### Am ecran alb când deschid cu Wayland | ||
Scrie în `shell`, înainte să execuți Vivado, ```export _JAVA_AWT_WM_NONREPARENTING=1```. | ||
O altă variantă este să decommentezi linia din Dockerfile care dă `echo` la această linie în `.bashrc`. | ||
|
||
### Stuck la deschiderea hardware managerului | ||
În terminalul din VSCode, scrie ```hw_server```. Dacă o să funcționeze, o să apară un output sub următorul format: | ||
``` | ||
****** Xilinx hw_server v2022.1 | ||
**** Build date : Apr 18 2022 at 16:10:30 | ||
** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved. | ||
INFO: hw_server application started | ||
INFO: Use Ctrl-C to exit hw_server application | ||
INFO: To connect to this hw_server instance use url: TCP:ba86b6047b8c:3121 | ||
``` | ||
Copiază ce este între `TCP:` și `:3121` și folosește-l ca 'url' la conexiunea remote. |
Oops, something went wrong.