File: README.Debian

package info (click to toggle)
mender-client 1.7.0-4
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 836 kB
  • sloc: sh: 140; makefile: 87
file content (76 lines) | stat: -rw-r--r-- 3,325 bytes parent folder | download
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
Basic requirements
------------------------------

Mender relies on you using a multi-partition layout that contains
atleast TWO (equal sized) root partitons plus a (persistent) data
partition. All data that is supposed to be kept around after updates
needs to be stored in the data partition. This package assumes you
mount your data partition at /data, but you are free to mount it
where ever you want but that might require some extra configuration
on your side.

Mender also needs a custom patched version of u-boot that contains
logic about which root partition is to be considered the "active"
one and should be booted (including logic to fall back on the other
one when an update has been done but won't start).

You should configure your u-boot environment as a minimum to use
a few custom mender-specific bits: first you need to "run mender_setup"
then hook up your booting procedure to use the generated
"mender_*" variables that specifies which partition/device/filesystem
to use, etc. Finally if booting fails, you should as a fallback
"run mender_altbootcmd". (You might also need to make sure the
environment gets saved to storage, or the mender-client might get
confused and log that it's not able to determine which is the currently
running active partition. Also make sure your /etc/fw_env.config is
set up properly so fw_printenv can list your environment.)

You can find an example u-boot fork at:
https://github.com/mendersoftware/uboot-mender


Setup
------------------------------

Helpful information on how to integrate mender in your system
is available at:

https://mender.io/blog/porting-mender-to-a-non-yocto-build-system

This package contains a pre-built version of "The Mender program"
including systemd unit file, symlinking /var/lib/mender to
/data/mender.

See info about u-boot patching, /etc/fw_env.config, "Configuring
Mender", artifact_info, Artifacts, etc. which you will need to set up
yourself for your system image builder environment.

You'll want to provide your own program that generates the device
identity information and place it at
/usr/share/mender/identity/mender-device-identity .
For further information see
https://docs.mender.io/1.7/client-configuration/identity .

See also the support/ directory contents in the source for examples.

This directory also includes example scripts for "inventory" that
can be used to gather information about the running system.
For further information see
https://docs.mender.io/1.7/client-configuration/inventory .

You will also need to provide a settings file for the mender client
program at /var/lib/mender/mender.conf (aka /data/mender/mender.conf)
that points out your update server, certificates, etc.
For example see /usr/share/doc/mender-client/examples/mender.conf.example

You also want to ship the certificate (public key) for the mender server
you are going to use, eg. at /etc/mender/server.crt, and configure
the path to it in your mender.conf file.

If you want to test things out using the "demo" docker environment you'll
find the demo server key at:
https://github.com/mendersoftware/meta-mender/blob/master/meta-mender-demo/recipes-mender/mender/files/server.crt
And the "integration" repo which helps you get started with running the
demo docker environment is at: https://github.com/mendersoftware/integration