forked from rauc/meta-rauc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
125 lines (82 loc) · 3.28 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
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
URI: git://git.yoctoproject.org/meta-oe
layers: meta-oe
branch: master
Patches
=======
Please submit patches via GitHub pull request on https://github.com/rauc/meta-rauc
Maintainer: Enrico Joerns <[email protected]>
Table of Contents
=================
I. Adding the rauc layer to your build
II. Building RAUC
III. Adding the RAUC update framework to your device
IV. Configure Custom Kernel
V. 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.key.pem"
For information on how to generate and use the key and certificate files,
please refert 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. 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 you have the options enabled in
`recipes-kernel/linux/linux-yocto/rauc.cfg` are enabled in your configuration,
too.
V. References
=============
[1] RAUC user documentation http://rauc.readthedocs.io/en/latest/