forked from rauc/meta-rauc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
143 lines (93 loc) · 3.72 KB
/
README
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
The meta-rauc layer provides support for integrating the RAUC update tool
into your device.
Please see the corresponding sections below for details.
Dependencies
============
This layer depends on:
URI: git://git.openembedded.org/bitbake
branch: master
URI: git://git.openembedded.org/openembedded-core
layers: meta
branch: master
For rauc-hawkbit client:
URI: git://git.yoctoproject.org/meta-oe
layers: meta-python
branch: master
For fuse-support in casync (the default):
URI: git://git.yoctoproject.org/meta-oe
layers: meta-filesystems
branch: master
Patches
=======
Please submit patches via GitHub pull request on https://github.com/rauc/meta-rauc
Maintainer: Enrico Joerns <ejo@pengutronix.de>
Table of Contents
=================
I. Adding the rauc layer to your build
II. Building RAUC
III. Adding the RAUC update framework to your device
IV. Building RAUC hawkBit Client
V. Configure Custom Kernel
VI. References
I. Adding the rauc Layer to Your Build
======================================
In order to use this layer, you need to make the build system aware of
it.
Assuming the rauc layer exists at the top-level of your
yocto build tree, you can add it to the build system by adding the
location of the rauc layer to bblayers.conf, along with any
other layers needed. e.g.:
BBLAYERS ?= " \
/path/to/yocto/meta \
/path/to/yocto/meta-poky \
/path/to/yocto/meta-yocto-bsp \
/path/to/yocto/meta-rauc \
"
II. Building RAUC
=================
If you only intend to build the RAUC host tool, you may simply run
bitbake rauc-native
This will place the rauc binary at tmp/deploy/tools/rauc.
III. Adding the RAUC Update Framework to Your Device
====================================================
To prepare your device for using RAUC as its update handler,
you have to follow at least the following steps:
1. Add the `rauc` package to your systems image recipe:
IMAGE_INSTALL_append = " rauc"
2. Add a rauc_%.bbappend in your device-specific (BSP) layer
that installs your RAUC system configuration file under
/etc/rauc/system.conf. For information on how to write the RAUC
update file, please refer to the RAUC user documentation [1].
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI_append := " file://system.conf"
3. Create a bundle recipe for your device by adding a recipe
that inherits the `bundle` class and adds all desired
configuration.
inherit bundle
RAUC_BUNDLE_SLOTS = "rootfs"
RAUC_SLOT_rootfs = "my-rootfs-recipe"
RAUC_KEY_FILE = "path/to/development-1.key.pem"
RAUC_CERT_FILE = "path/to/development-1.cert.pem"
For information on how to generate and use the key and certificate files,
please refer to the RAUC user documentation [1].
For a more detailed explanation on the required and available variables,
read the notes in the bundle.bbclass file.
4. Build a bundle and the rootfs for your device
bitbake my-bundle-recipe
IV. Building RAUC hawkBit Client
================================
To build the rauc-hawkbit client that allows interfacing between RAUC and a
hawkBit deployment server, simply add `rauc-hawkbit` package to your systems
image recipe:
IMAGE_INSTALL_append = " rauc-hawkbit"
V. Configure Custom Kernel
===========================
In order to use RAUC on your system, the kernel must support SquashFS and loop
mounts. For the standard yocto kernel, the meta-rauc layer provides a kernel
configuration fragment that enables the config options required for this.
If you build your own kernel with a full custom `defconfig` file, you have to
make sure that the options in `recipes-kernel/linux/linux-yocto/rauc.cfg` are
enabled in your configuration, too.
VI. References
==============
[1] RAUC user documentation http://rauc.readthedocs.io/en/latest/