Lines Matching +full:sub +full:- +full:spaces
1 .. SPDX-License-Identifier: GPL-2.0
15 additional key-value data when booting the kernel in an efficient way.
16 This allows administrators to pass a structured-Key config file.
21 The boot config syntax is a simple structured key-value. Each key consists
22 of dot-connected-words, and key and value are connected by ``=``. The value
23 has to be terminated by semi-colon (``;``) or newline (``\n``).
28 Unlike the kernel command line syntax, spaces are OK around the comma and ``=``.
30 Each key word must contain only alphabets, numbers, dash (``-``) or underscore
31 (``_``). And each value only contains printable characters or spaces except
32 for delimiters such as semi-colon (``;``), new-line (``\n``), comma (``,``),
35 If you want to use those delimiters in a value, you can use either double-
36 quotes (``"VALUE"``) or single-quotes (``'VALUE'``) to quote it. Note that
42 Key-Value Syntax
43 ----------------
63 at boot time. So you can append similar trees or key-values.
65 Same-key Values
66 ---------------
68 It is prohibited that two or more values or arrays share a same-key.
72 foo = qux # !ERROR! we can not re-define same key
92 Moreover, sub-keys and a value can coexist under a parent key.
123 --------
125 The config syntax accepts shell-script style comments. The comments starting
151 /proc/bootconfig is a user-space interface of the boot config.
152 Unlike /proc/cmdline, this file shows the key-value style list.
153 Each key-value pair is shown in each line with following style::
165 ---------------------------------
169 padding, size, checksum and 12-byte magic word as below.
191 # make -C tools/bootconfig
196 # tools/bootconfig/bootconfig -a your-config /boot/initrd.img-X.Y.Z
198 To remove the config from the image, you can use -d option as below::
200 # tools/bootconfig/bootconfig -d /boot/initrd.img-X.Y.Z
208 -----------------------------------
233 passing the kernel parameters. All the key-value pairs under ``kernel``
234 key will be passed to kernel cmdline directly. Moreover, the key-value
236 The parameters are concatenated with user-given kernel cmdline string
241 [bootconfig params][cmdline params] -- [bootconfig init params][cmdline init params]
246 root = 01234567-89ab-cdef-0123-456789abcd
254 root="01234567-89ab-cdef-0123-456789abcd" -- splash
258 ro bootconfig -- quiet
262 root="01234567-89ab-cdef-0123-456789abcd" ro bootconfig -- splash quiet
268 Currently the maximum config size size is 32KB and the total key-words (not
269 key-value entries) must be under 1024 nodes.
271 more than 2 nodes (a key-word and a value). So theoretically, it will be
272 up to 512 key-value pairs. If keys contains 3 words in average, it can
273 contain 256 key-value pairs. In most cases, the number of config items
285 User can query or loop on key-value pairs, also it is possible to find
286 a root (prefix) key node and find key-values under that node.
290 config, you can use xbc_for_each_key_value() to iterate key-value pairs.
311 xbc_node_for_each_array_value(root, "array-option", value, anode) {
316 "key.prefix.array-option".
319 read-only. All data and keys must be copied if you need to modify it.
325 .. kernel-doc:: include/linux/bootconfig.h
326 .. kernel-doc:: lib/bootconfig.c