aboutsummaryrefslogtreecommitdiffstats
path: root/CUSTOMIZE.md
blob: 76156f273a2408f57dbba4dc6fe6606930eba7d2 (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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# 4. Customizing images with AMD Features

AMD supports various features and software components that can be
enabled by setting the corresponding configuration variable to a
valid value in the `local.conf`.

Following is a list of components that can be enabled if you want
them to be installed/available on your image, or can be configured:

* **ON-TARGET DEVELOPMENT - SDK for on-target development**

> gcc, make, autotools, autoconf, build-essential etc.

* **ON-TARGET DEBUGGING - tools for on-target debugging**

> gdb, gdbserver, strace, mtrace

* **ON-TARGET PROFILING - tools for on-target profiling**

> lttng, babeltrace, systemtap, powertop, valgrind

* **RT KERNEL - Realtime Kernel support**

> Linux kernel with PREEMPT_RT patch

---
##### Note

Please set the required configuration variables as shown below in the
`local.conf` **before building an image or generating an SDK** (that
can be used to develop apps for these components (if applicable)).

Otherwise they will not be configured, and will not be available on the
target.

---

#### Supported software features

| Software feature      | Configuration variable      | Configuration values | Default value | Supported machines              |
|:----------------------|:----------------------------|:---------------------|:--------------|:--------------------------------|
| ON-TARGET DEVELOPMENT | EXTRA_IMAGE_FEATURES_append | tools-sdk            |               | ethanolx (milan, rome), vermeer |
| ON-TARGET DEBUGGING   | EXTRA_IMAGE_FEATURES_append | tools-debug          |               | ethanolx (milan, rome), vermeer |
| ON-TARGET PROFILING   | EXTRA_IMAGE_FEATURES_append | tools-profile        |               | ethanolx (milan, rome), vermeer |
| RT KERNEL             | RT_KERNEL_AMD               | yes, no              | no            | ethanolx (milan, rome), vermeer |

#### Example configuration in local.conf
```sh
EXTRA_IMAGE_FEATURES_append = " tools-sdk"
EXTRA_IMAGE_FEATURES_append = " tools-debug"
EXTRA_IMAGE_FEATURES_append = " tools-profile"

# Please run 'bitbake -c clean virtual/kernel' everytime before
# configuring the RT_KERNEL_AMD variable
RT_KERNEL_AMD = "yes"
```

Furthermore, the `vermeer` platform does not have an on-board RS232
serial port. Therefore, the graphical console is enabled on this
machine by default and the user is required to interact with the
machine using a display device plugged into a dGPU connected via the
PCIe slot.

In case the user does not have a dGPU, and wants to interact with the
machine over the RS232 serial interface, the user needs to have an
`LPC to UART Adapter` module plugged into the LPC header on the
motherboard.

Using a serial cable connected between the host machine's RS232 port
and this module, the user will be able to interact with the machine
using the serial interface, but will still not be able to install the
OS to a harddrive using the serial interface. For that, the graphical
console has to be disabled. In order to achieve that, add the
following to the `local.conf` and rebuild an image.

```sh
MACHINE_FEATURES_remove = "screen-console"
```

The resulting image will have no graphical console support and will
only have the serial console support. After this, the user will also
be able to install the OS to a harddrive using the serial interface.

---
#### What's next

Continue to "Section 2 - Setting up and starting a build"
([BUILD.md](BUILD.md#23-start-the-build)) and restart the image build
as `bitbake <image-name>`, and deploy the new image to see the
changes take effect.