@@ -6,49 +6,48 @@ Build ACRN from Source
6
6
Introduction
7
7
************
8
8
9
- Following general embedded system programming model, ACRN hypervisor
10
- is designed to be customized per hardware platform and per usage scenario,
11
- rather than one binary for all platforms/all usage scenarios.
9
+ Following a general embedded system programming model, the ACRN
10
+ hypervisor is designed to be customized at build-time per hardware
11
+ platform and per usage scenario, rather than one binary for all
12
+ scenarios.
12
13
13
- Hypervisor binary is generated based on the platform configuration.
14
- Different platforms with different configurations shall be set up explicitly
15
- via Kconfig.
16
- Instruction can be found in :ref: `getting-started-hypervisor-configuration `.
14
+ The hypervisor binary is generated based on Kconfig configuration
15
+ settings. Instruction about these settings can be found in
16
+ :ref: `getting-started-hypervisor-configuration `.
17
17
18
18
.. note ::
19
19
A generic configuration named ``hypervisor/arch/x86/configs/generic.config ``
20
- is provided to help developers to try ACRN easily. This configuration
21
- will likely work for most platforms, supported with limited features.
22
- This configuration can be enabled by specifying ``BOARD=generic `` in make
23
- command line.
20
+ is provided to help developers try out ACRN more easily. This configuration
21
+ will likely work for most x86-based platforms, supported with limited features.
22
+ This configuration can be enabled by specifying ``BOARD=generic `` in
23
+ the make command line.
24
24
25
25
26
- One binary for all platforms/ all usage scenarios is not supported because
27
- dynamic parsing is restricted in ACRN hypervisor, for the following
28
- considerations:
26
+ A primary reason one binary for all platforms and all usage scenarios is
27
+ not supported is because dynamic configuration parsing is restricted in
28
+ ACRN hypervisor, for the following considerations:
29
29
30
- * **Meet functional safety requirements ** Absence of dynamic objects is
31
- required in functional safety standards. Implementation of the dynamic parsing
32
- would introduce the dynamic objects more or less. Restricting the dynamic
33
- parsing would help ACRN hypervisor meet functional safety requirements.
30
+ * **Meeting functional safety requirements ** Absence of dynamic objects is
31
+ required in functional safety standards. Implementation of dynamic parsing
32
+ would introduce dynamic objects. Avoiding use of dynamic
33
+ parsing would help the ACRN hypervisor meet functional safety requirements.
34
34
35
35
* **Reduce complexity ** ACRN is a lightweight reference hypervisor, built for
36
- embedded IoT. Since the platforms for embedded system is changing frequently,
37
- support of one binary for all platforms/all usage scenarios will become more
38
- and more complex. Restricting the dynamic parsing would help reduce the
39
- complexity of the hypervisor.
36
+ embedded IoT. As new platforms for embedded systems are rapidly introduced,
37
+ support for one binary would require more and more complexity in the
38
+ hypervisor, something we need to avoid.
40
39
41
- * **Keep small footprint ** Implementation of the dynamic parsing would introduce
42
- hundreds or thousands of code. Restricting the dynamic parsing would help keep
40
+ * **Keep small footprint ** Implementation of dynamic parsing would introduce
41
+ hundreds or thousands of code. Avoiding dynamic parsing would help keep
43
42
Lines of Code (LOC) of the hypervisor in a desirable range (around 30K).
44
43
45
- * **Improve boot up time ** Dynamic parsing at run time would increase the boot
46
- up time. Restricting the dynamic parsing would help improve boot up time of
47
- the hypervisor.
44
+ * **Improve boot up time ** Dynamic parsing at runtime would increase the boot
45
+ up time. Using build-time configuration and not dynamic parsing would help
46
+ improve boot up time of the hypervisor.
48
47
49
48
50
- If you would like to build the ACRN hypervisor, device model, and tools from
51
- source, follow these steps.
49
+ You can build the ACRN hypervisor, device model, and tools from
50
+ source, by following these steps.
52
51
53
52
Install build tools and dependencies
54
53
************************************
@@ -195,7 +194,7 @@ The build results are found in the ``build`` directory.
195
194
196
195
.. note ::
197
196
if you wish to use a different target folder for the build
198
- artefacts , set the ``O `` (that is capital letter 'O') to the
197
+ artifacts , set the ``O `` (that is capital letter 'O') to the
199
198
desired value. Example: ``make O=build-nuc BOARD=nuc6cayh ``.
200
199
201
200
Generating the documentation is described in details in the :ref: `acrn_doc `
0 commit comments