You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make sure that Docker is up and running on your system. On MacOS just start a docker Application, on Linux make sure docker service is running. Regardless of how you start Docker you can make sure that it is ready for you by running the following command and making sure that it returns both a version of the client AND a version of the server:
45
39
46
-
```
40
+
```sh
47
41
docker version
48
42
```
49
43
50
-
EVE requires beeing built in Git repository (the tools keep looking up git commit IDs). The easiest way is to clone EVE repository from GitHub:
44
+
#### Get QEMU
45
+
46
+
##### On OSX using [Brew](https://brew.sh/)
47
+
48
+
```sh
49
+
$ brew install qemu
50
+
```
51
+
52
+
##### On Ubuntu
53
+
54
+
```sh
55
+
$ sudo apt install qemu
51
56
```
57
+
58
+
#### Get Project EVE
59
+
60
+
EVE requires being built in Git repository (the tools keep looking up git commit IDs). The easiest way is to clone EVE repository from GitHub:
61
+
62
+
```sh
52
63
git clone https://github.com/lf-edge/eve.git
53
64
cd eve
54
65
```
55
66
56
67
Build both the build-tools as well as the live image in the source directory:
57
68
58
-
```
69
+
```sh
59
70
make build-tools
60
71
make live
61
72
```
73
+
62
74
This will download the relevant dockers from docker hub and create a bootable
63
-
image 'dist/<ARCH>/live.img'.
75
+
image `dist/<ARCH>/live.img`.
64
76
65
-
Please note that not all containers will be fetched from the docker
66
-
hub. mkimage-raw-efi in particular will be built.
77
+
Please note that not all containers will be fetched from Docker Hub.
78
+
`mkimage-raw-efi` in particular will be built.
67
79
68
-
Also, keep in mind that since the initial build fetches a LOT of bits
69
-
over the network it may occasionally time out and fail. Typically
70
-
re-running make fixes the issue. If it doesn't you can attempt a local
71
-
build of all the required EVE packages first by running:
80
+
> **_NOTE:_** Since the initial build fetches a LOT of bits
81
+
> over the network it may occasionally time out and fail. Typically
82
+
> re-running `make` fixes the issue. If it doesn't you can attempt a local
83
+
> build of all the required EVE packages first by running`make pkgs`
72
84
73
-
```
74
-
make pkgs
85
+
#### Running in QEMU
86
+
87
+
Finally run the resulting image in QEMU with some default assumptions:
88
+
89
+
```sh
90
+
make run
75
91
```
76
92
77
-
Finally run the resulting image by typing `make run`. This will launch
78
-
qemu with some default assumptions.
93
+
> **_NOTE:_** The default QEMU configuration needs 4GB of memory available.
94
+
> If you get an error message about being unable to allocate memory, try freeing up some RAM.
95
+
> If you can't free up 4GB, you can reduce the memory allocation in the `Makefile` from 4096 (4GB) to 2048 (2GB).
96
+
> Running QEMU with less than 2GB of memory is not recommended.
79
97
80
98
Once the image boots you can interact with it either by using the console
81
99
(right there in the terminal window from which make run was executed).
@@ -87,7 +105,9 @@ from containerd - use that instead).
87
105
Once in a container you can run the usual xl commands to start VMs and
88
106
interact with Xen.
89
107
90
-
### Custom Config Partition
108
+
To exit out of the QEMU environment, press `Ctrl-A + C` to reach the QEMU console, then `q` to quit.
109
+
110
+
### Customizing the Configuration
91
111
92
112
As described in [BUILD.md](./docs/BUILD.md) and [REGISTRATION.md](./docs/REGISTRATION.md), a booting EVE looks in its config partition to determine:
93
113
@@ -105,7 +125,7 @@ Note that the directory must exist to be mounted; if not, it will be ignored. Th
105
125
106
126
## How to use on an ARM board
107
127
108
-
While running everything on your laptop with qemu could be fun, nothing
128
+
While running everything on your laptop with QEMU could be fun, nothing
109
129
beats real hardware. The most cost-effective option, not surprisingly,
110
130
is ARM. We recommend using HiKey board [http://www.lenovator.com/product/90.html](http://www.lenovator.com/product/90.html).
111
131
Once you acquire the board you will need to build an installer image by running
Copy file name to clipboardExpand all lines: api/API.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -335,3 +335,12 @@ The response MUST contain no body content.
335
335
Edge Devices are expected to have intermittent connectivity, with limited bandwidth, memory and storage. It is likely that, at some point, a Device will run out of local memory or storage to cache information, logs or metrics messages that need to be sent to a Controller.
336
336
337
337
The choice of which messages to keep, how long to keep them, which to discard, and how to handle these overflows are implementation-dependent and are NOT specified in this document.
338
+
339
+
## HTTP MetaData
340
+
341
+
Edge Devices may send some MetaData in HTTP header to the controller. This will help
342
+
the controller side troubleshooting at the HTTP level. The Device UUID can be included
343
+
in the HTTP header 'X-Request-ID'. Since the UUID on Device is obtained from the
344
+
controller, when the UUID is not available yet, the Device Serial-Number and
345
+
Soft-Serial-Number can be included in the HTTP header fields 'X-Serial-Number' and
0 commit comments