]> rtime.felk.cvut.cz Git - novaboot.git/blobdiff - README.md
Doc: Add a concise list of execution phases
[novaboot.git] / README.md
index 0900fb3daa50ef75b25f30c5e0455e76449b743d..ab85c50d2cb155d7a2e4a6fb630c4fe3b5372b7e 100644 (file)
--- a/README.md
+++ b/README.md
@@ -39,10 +39,10 @@ file syntax is described in section ["CONFIGURATION FILE"](#configuration-file).
 
 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
@@ -71,8 +71,20 @@ from it.
 
 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
 
@@ -132,9 +144,13 @@ instead of the novaboot script directory.
 - -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
 
@@ -330,8 +346,15 @@ user/instance.
 
 - --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
 
@@ -713,7 +736,8 @@ Supported configuration variables include:
 - $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
 
@@ -745,6 +769,12 @@ override the environment variables.
     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.