diff options
author | Ola Redell <ola.redell@retotech.se> | 2017-11-15 13:37:10 +0100 |
---|---|---|
committer | Ola Redell <ola.redell@retotech.se> | 2017-11-15 13:37:10 +0100 |
commit | 0c23c22067355c0b3c3660e14507d79915edea7e (patch) | |
tree | 8d18ed05f5292f1d18a941170b05a6022c945b5f /README.md | |
download | meta-jailhouse-0c23c22067355c0b3c3660e14507d79915edea7e.tar.gz |
Initial commit
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..467a847 --- /dev/null +++ b/README.md | |||
@@ -0,0 +1,112 @@ | |||
1 | meta-jailhouse | ||
2 | ============== | ||
3 | |||
4 | This README file contains information on the contents of the | ||
5 | jailhouse layer. | ||
6 | |||
7 | |||
8 | Dependencies | ||
9 | ============ | ||
10 | |||
11 | This layer depends on: | ||
12 | |||
13 | URI: git://git.openembedded.org/bitbake | ||
14 | branch: master | ||
15 | |||
16 | URI: git://git.openembedded.org/openembedded-core | ||
17 | layers: meta | ||
18 | branch: master | ||
19 | |||
20 | |||
21 | Maintainers | ||
22 | =========== | ||
23 | |||
24 | * Ola Redell <ola@retotech.se> | ||
25 | * Anders Törnqvist <anders@retotech.se> | ||
26 | * Jonas Weståker <jonas@retotech.se> | ||
27 | |||
28 | Please submit any patches against this jailhouse layer to | ||
29 | meta-jailhouse@retotech.se | ||
30 | |||
31 | |||
32 | Tested with | ||
33 | =========== | ||
34 | |||
35 | This layer has been developed for and tested with Bananapi M1 as target. | ||
36 | No other targets have been used thus far. | ||
37 | |||
38 | |||
39 | Adding the jailhouse layer to your build | ||
40 | ======================================== | ||
41 | |||
42 | In order to use this layer, you need to make the build system aware of | ||
43 | it. | ||
44 | |||
45 | Assuming the jailhouse layer exists at the top-level of your | ||
46 | yocto build tree, you can add it to the build system by adding the | ||
47 | location of the jailhouse layer to bblayers.conf, along with any | ||
48 | other layers needed. e.g.: | ||
49 | |||
50 | BBLAYERS ?= " \ | ||
51 | /path/to/yocto/meta \ | ||
52 | /path/to/yocto/meta-poky \ | ||
53 | /path/to/yocto/meta-yocto-bsp \ | ||
54 | /path/to/yocto/meta-jailhouse \ | ||
55 | " | ||
56 | |||
57 | |||
58 | Build Jailhouse using this layer | ||
59 | ================================ | ||
60 | |||
61 | Include the following packages in your image: **jailhouse** and | ||
62 | **kernel-module-jailhouse**. For example, add the following | ||
63 | to your image recipe, or local.conf: | ||
64 | |||
65 | IMAGE_INSTALL_append = " jailhouse kernel-module-jailhouse" | ||
66 | |||
67 | The jailhouse inmates and cells are by default | ||
68 | placed under `/usr/share/jailhouse/{inmates,cells}`. These locations | ||
69 | can be adjusted using the variables in jailhouse-dirs.inc. | ||
70 | |||
71 | The jailhouse build system builds cell configuration (*.cell) files from the | ||
72 | cell descriptions (*.c). To enable cell descriptions being defined in | ||
73 | cell recipes and imported into the jailhouse build, the jailhouse recipe | ||
74 | defines a CELLS variable that lists all recipes that provide cells (and inmates) | ||
75 | for the jailhouse build. Adapt the CELLS variable according to your needs, e.g. | ||
76 | |||
77 | CELLS_append = " freertos-cell" | ||
78 | |||
79 | With this declaration, freertos-cell entries will be added both to the | ||
80 | DEPENDS and the RDEPENDS_jailhouse variables, and the jailhouse recipe will | ||
81 | pull cell descriptions from the staging directory before building. | ||
82 | |||
83 | |||
84 | Packages produced by a jailhouse.inc based recipe | ||
85 | ------------------------------------------------- | ||
86 | |||
87 | The Jailhouse recipes based on the file jailhouse.inc produce | ||
88 | the follwing packages: | ||
89 | |||
90 | * **jailhouse**, with the `jailhouse.bin` firmware, the `jailhouse` user | ||
91 | space application, along with all inmate binaries that come with the jailhouse | ||
92 | repo, and all cells for which jailhouse is given configuration att build time. | ||
93 | * **jailhouse-bash-completion**, with file(s) needed for bash completion. | ||
94 | * **jailhouse-dbg**, jailhouse cli sources | ||
95 | * **kernel-module-jailhouse**, with the jailhouse kernel module, jailhouse.ko | ||
96 | |||
97 | |||
98 | Build cells and inmates | ||
99 | ======================= | ||
100 | |||
101 | To build jailhouse cell definitions and inmates, inherit the class | ||
102 | `jailhouse-cell.bbclass` into your cell recipe and define your inmate binary, | ||
103 | and your cell configuration file using the variables `INMATE` and `CELLCONFIG` | ||
104 | as follows: | ||
105 | |||
106 | inherit jailhouse-cell | ||
107 | INMATE = "${S}/freertos-demo.bin" | ||
108 | CELLCONFIG = "${S}/jailhouse-configs/bananapi-freertos-demo.c" | ||
109 | |||
110 | Using this class and variables ensures that the file designated by the | ||
111 | `CELLCONFIG` variable is pulled into the jailhouse build such that | ||
112 | a corresponding *.cell file is created. | ||