summaryrefslogtreecommitdiff
path: root/doc/nfp-multipass.md
blob: 3db3fc9e416505618b20dafe86d761c6d3f97529 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
Dieses Dokument beschreibt die Generierung von NFP-Modellen für
Softwareprojekte auf Kconfig-Basis.

## Anforderungen

Im Hauptverzeichnes (von dem aus die Build-Befehle aufgerufen werden) müssen
sich die Dateien Kconfig und .config befinden. Das Projekt muss die folgenden
Arten von Befehlen unterstützen:

* make
* make cleaan
* make nfpvalues
* Optional: make randconfig

Die konkreten Befehle können über Optionen von bin/explore-kconfig.py
eingestellt werden.

für multipass. NFP
beziehen sich hierbei auf nichtfunktionale Attribute des erzeugten Systemimages,
wie z.B. ROM- oder RAM-Bedarf.

Frickel-Level: Signifikant.

High-Level:

* In /tmp/tmpfs/multipass befindet sich multipas
* Konfigurationen und zugehörige NFP-Daten landen in /tmp/tmpfs/multipass-data
* var/ess/multipass-model zur state space exploration
* dfatool/bin/analyze-config zur Modellgenerierung

Low-Level:

Es wird viel kompiliert. `/tmp/tmpfs` sollte sich auf einem tmpfs befinden.

```
rsync ~/var/projects/multipass/ /tmp/tmpfs/multipass/
mkcd /tmp/tmpfs/multipass-data
for i in {1..viele}; do echo $i; ~/var/ess/multipass-model/random-romram.py; done
```

Anschließend in dfatool:

```
bin/analyze-config.py /tmp/tmpfs/multipass/Kconfig /tmp/tmpfs/mulitpass-data
```

Das Modell wird nach kconfigmodel.py geschrieben