summaryrefslogtreecommitdiffstats
path: root/rules/rauc.in
blob: e67f5131c6151f2e5d316236d0b27860dfb41bff (plain) (blame)
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
144
145
146
147
148
## SECTION=applications

menuconfig RAUC
	tristate
	prompt "RAUC Update Tool              "
	select HOST_MESON
	select OPENSSL
	select GLIB
	select GLIB_LIBMOUNT
	select HOST_GLIB
	select CODE_SIGNING
	select BUSYBOX_FEATURE_TAR_LONG_OPTIONS	if BUSYBOX_TAR
	select BUSYBOX_FEATURE_TAR_AUTODETECT	if BUSYBOX_TAR
	select BUSYBOX_FEATURE_SEAMLESS_GZ	if BUSYBOX_TAR
	select DBUS				if RAUC_SERVICE
	select LIBCURL				if RAUC_NETWORK
	select LIBNL3				if RAUC_STREAMING
	select JSON_GLIB			if RAUC_JSON
	select UTIL_LINUX_LIBFDISK		if RAUC_GPT
	select SQUASHFS_TOOLS			if RUNTIME
	select SQUASHFS_TOOLS_UNSQUASHFS	if RUNTIME
	select DT_UTILS				if RUNTIME && RAUC_BAREBOX
	select U_BOOT_TOOLS			if RUNTIME && RAUC_U_BOOT
	#select GRUB2				if RUNTIME && RAUC_GRUB
	select EFIBOOTMGR			if RUNTIME && RAUC_EFI
	help
	  Robust Auto-Update Controller. RAUC controls the update process on embedded linux systems.

if RAUC

config RAUC_CREATE
	bool
	prompt "Enable bundle creation support on target"
	help
	  Enables support for creating bundles on target.
	  Disabling this will remove functionality required for bundle
	  creation which is not required on the target in most cases and thus
	  allows to save space.

config RAUC_SERVICE
	bool
	prompt "Enable service (D-Bus) support"
	default y
	help
	  Compiles RAUC to act as a separate daemon and command line interface
	  that communicate with each other via D-Bus interface.
	  Only deactivate this if you have a system that does not provide D-Bus!

config RAUC_NETWORK
	bool
	prompt "Enable network support"
	help
	  Enables network support that allows RAUC to directly fetch bundles
	  via http/https/ftp/sftp (using libcurl).
	  Note that network is primarily designed to be used for RAUC'S casync
	  capabilities, not for fetching full bundles.

config RAUC_STREAMING
	bool
	prompt "Enable streaming support"
	select RAUC_NETWORK
	help
	  Enables built-in HTTP(S) streaming support that allows RAUC to
	  access remote bundles via http/https and write images without the
	  need for intermediate storage on the target.

config RAUC_JSON
	bool
	prompt "JSON support"
	help
	  Enables JSON output format for 'rauc info' and 'rauc status'.
	  Output format can be selected via '--output-format=<json/json-pretty>'

config RAUC_GPT
	bool
	prompt "Support atomic EFI/bootloader partition updates (GPT)"
	help
	  Enables support for atomic bootloader updates on first GPT (EFI)
	  partition (slot type 'boot-gpt-switch').
	  For details, see
	  https://rauc.readthedocs.io/en/latest/advanced.html#update-boot-partition-in-gpt


config RAUC_CONFIGURATION
	bool
	prompt "Install RAUC configuration in /etc/rauc"
	default y
	help
	  Installs a RAUC system configuration file and a keyring into /etc/rauc.
	  By default, this will install some dummy files containing some
	  example and help text.
	  The default files must be overwritten in your projectroot to match
	  your project's and platform's need.

if RAUC_CONFIGURATION

config RAUC_COMPATIBLE
	string
	prompt "RAUC Compatible"
	default "${PTXCONF_PROJECT_VENDOR}\ ${PTXCONF_PROJECT}"
	help
	  An explicit identification string that RAUC uses to assure an update
	  bundle matches with the correct root filesystem on the target.

	  Only if the compatible in the targets RAUC system.conf file and those
	  in the Bundle's manifest match exactly, an update will be performed

config RAUC_BUNDLE_VERSION
	string
	prompt "RAUC Bundle Version"
	default "${PTXDIST_BSP_AUTOVERSION}"
	help
	  Overwrite the bundle version if needed.

endif

config RAUC_BAREBOX
	bool
	prompt "barebox support"
	help
	  To interact with barebox, barebox-state from dt-utils is used.
	  Auto-select this package for installation on the target.

config RAUC_U_BOOT
	bool
	prompt "U-Boot support"
	help
	  To interact with U-Boot, fw_printenv and fw_setenv from
	  u-boot-tools are used.
	  Auto-select this package for installation on the target.

config RAUC_GRUB
	bool
	prompt "GRUB support"
	# needs grub2
	depends on BROKEN
	help
	  To interact with GRUB2, grub-editenv from grub is used.
	  Auto-select this package for installation on the target.

config RAUC_EFI
	bool
	prompt "EFI support"
	help
	  To interact with EFI, efibootmgr from efibootmgr is used.
	  Auto-select this package for installation on the target.

endif