Simple examples of using `novaboot`:
-1. Run an OS in Qemu. This is the default action when no other action is
-specified by command line switches. Thus running `novaboot myos` (or
-`./myos` as described above) will run Qemu and make it boot the
-configuration specified in the `myos` script.
+1. Run an OS in Qemu. This is can be specified with the **--qemu** option.
+Thus running `novaboot --qemu myos` (or `./myos --qemu` as described
+above) will run Qemu and make it boot the configuration specified in
+the `myos` script.
2. Create a bootloader configuration file (currently supported
bootloaders are GRUB, GRUB2, ISOLINUX, Pulsar and U-Boot) and copy it
with all other files needed for booting to a remote boot server. Then
Novaboot performs its work in several phases. Each phase can be
influenced by several command line options, certain phases can be
-skipped. The list of phases (in the execution order) and the
-corresponding options follows.
+skipped. The list of phases (in the execution order) is as follows.
+
+- 1. [Configuration reading](#configuration-reading-phase)
+- 2. [Command line processing](#command-line-processing-phase)
+- 3. [Script preprocessing](#script-preprocessing-phase)
+- 4. [File generation](#file-generation-phase)
+- 5. [Target connection](#target-connection-check)
+- 6. [File deployment](#file-deployment-phase)
+- 7. [Target power-on and reset](#target-power-on-and-reset-phase)
+- 8. [Interaction with the bootloader](#interaction-with-the-bootloader-on-the-target)
+- 9. [Target interaction](#target-interaction-phase)
+
+Each phase is described in the following sections together with the
+command line options that control it.
## Configuration reading phase
- -t, --target=_target_
This option serves as a user configurable shortcut for other novaboot
- options. The effect of this option is the same as the options stored
- in the `%targets` configuration variable under key _target_. See
- also ["CONFIGURATION FILE"](#configuration-file).
+ options. The effect of this option is the same as specifying the
+ options stored in the `%targets` configuration variable under key
+ _target_. See also ["CONFIGURATION FILE"](#configuration-file).
+
+ When this option is not given, novaboot tries to determine the target
+ to use from either **NOVABOOT\_TARGET** environment variable or from
+ **$default\_target** configuration file variable.
## Script preprocessing phase
- --remote-expect=_string_
- Wait for reception of _string_ after establishing the the remote
- connection before continuing.
+ Wait for reception of _string_ after establishing the remote
+ connection.
+
+- --remote-expect-silent=_string_
+
+ The same as **--remote-expect** except that the remote output is not
+ echoed to stdout while waiting for the _string_. Everything after the
+ matched string is printed to stdout, so you may want to include line
+ end characters in the _string_ as well.
## File deployment phase
- $default\_target
Default target (see below) to use when no target is explicitly
- specified on command line with the **--target** option.
+ specified with the **--target** command line option or
+ **NOVABOOT\_TARGET** environment variable.
- %targets
Name of the novaboot configuration directory. When not specified
`/etc/novaboot.d` is used.
+- NOVABOOT\_TARGET
+
+ Name of the novaboot target to use. This overrides the value of
+ **$default\_target** from the configuration file and can be overriden
+ with the **--target** command line option.
+
- NOVABOOT\_BENDER
Defining this variable has the same meaning as **--bender** option.