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