Skip to content

Commit e9c2f86

Browse files
committed
specs: describe optional linux-appendroot key
The linux-appendroot key is an extension[1] to the bootloader specification implemented by barebox since 2015[2]. When set, it instructs barebox to generate a suitable root= command-line: - If global.bootm.root_dev is set to a partition known to barebox, barebox will detect the file system on it and generate the suitable root command-line argument - If global.bootm.root_dev is not set, barebox will use the file system containing the bootloader specification entries as the Linux rootfs. The former is useful in A/B setups, where bootloader spec entries are shipped as part of an immutable partition image, which is at odds with customizing the root= option according to whether the A or B system is used. The latter is especially useful for remote file systems like NFS or 9P: By placing bootloader specification entries directly into the rootfs, these file systems can be booted remotely by just pointing barebox at their remote path. Describe this key in the specification with the same boolean syntax that loader.conf is using for its boolean keys. [1]: End of https://www.barebox.org/doc/latest/user/booting-linux.html#boot-loader-specification [2]: barebox/barebox@716fdbf Signed-off-by: Ahmad Fatoum <ahmad@a3f.at>
1 parent c905daf commit e9c2f86

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

specs/boot_loader_specification.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,12 @@ The following keys are recognized:
285285

286286
Example: `options root=UUID=6d3376e4-fc93-4509-95ec-a21d68011da2 quiet`
287287

288+
* `linux-appendroot` is a boolean option that, if set to `yes`, instructs the
289+
boot loader to generate a suitable `root=` parameter and add it to the
290+
Linux kernel command-line prior to any kernel parameters indicated by
291+
the `options` key.
292+
This key is optional and its absence is treated as `no`.
293+
288294
* `devicetree` refers to the binary device tree to use when executing the
289295
kernel. This key is optional.
290296

@@ -305,6 +311,9 @@ The following keys are recognized:
305311

306312
Example: `architecture aa64`
307313

314+
Boolean arguments may be written as `yes`/`y`/`true`/`t`/`on`/`1`
315+
or `no`/`n`/`false`/`f`/`off`/`0`.
316+
308317
Each boot loader menu entry drop-in snippet must include at least a `linux` or an `efi`
309318
key. Here is an example for a complete drop-in file:
310319

0 commit comments

Comments
 (0)