X-Git-Url: https://rtime.felk.cvut.cz/gitweb/novaboot.git/blobdiff_plain/afbc7f7c914aa1b9b2d198837c19541ae80049e5..HEAD:/README.pod diff --git a/README.pod b/README.pod index 9b66b06..dff5ae6 100644 --- a/README.pod +++ b/README.pod @@ -40,6 +40,40 @@ having per-system, per-user or per-project configurations. Configuration file syntax is described in section L. +Novaboot newcomers may be confused by a large number of configuration +options. Understanding all these options is not always needed, +depending on the used setup. The L
+shows different setups that vary in how much effort is needed +to configure novaboot for them. The setups are: + +=over 3 + +=item A: Laptop and target device only + +This requires to configure everything on the laptop side, including a +serial line connection (L, L, ...), power +on/off/reset commands (L, ...), TFTP server +(L, L...), device IP addresses, etc. + +=item B: Laptop, target device and external TFTP server + +Like the previous setup, but the TFTP (and maybe DHCP) configuration +is handled by a server. Novaboot users need to understand where to +copy their files to the TFTP server (L) and which IP +addresses their target will get, but do not need to configure the +servers themselves. + +=item C: Novaboot server running novaboot-shell + +With this setup, the configuration is done on the server. Users only +need to know the SSH account (L) used to communicate between +novaboot and novaboot server. The server is implemented as a +restricted shell (L) on the server. No need to give +full shell access to novaboot users on the server. + +=back + =head2 Simple examples of using C: To boot Linux (files F and F in current @@ -70,7 +104,7 @@ with all other files needed for booting to a remote TFTP server. Then use a TCP/IP-controlled relay/serial-to-TCP converter to reset the target and receive its serial output. - ./mylinux --grub2 --server=192.168.1.1:/tftp --iprelay=192.168.1.2 + ./mylinux --grub2 --copy=192.168.1.1:/tftp --iprelay=192.168.1.2 Alternatively, you can put these switches to the configuration file and run: @@ -113,7 +147,7 @@ I configurations. =back -=head1 PHASES AND OPTIONS +=head1 OPTIONS AND PHASES Novaboot performs its work in several phases. Command line options described bellow influence the execution of each phase or allow their @@ -222,7 +256,7 @@ Configures novaboot to control the target via C running remotely via SSH. Using this option is the same as specifying B<--remote-cmd>, -B<--remote-expect>, B<--server> B<--rsync-flags>, B<--prefix> and +B<--remote-expect>, B<--copy> B<--rsync-flags>, B<--prefix> and B<--reset-cmd> manually in a way compatible with C. The server can be configured to provide other, safe bootloader-related options, to the client. When this happens, novaboot prints them to @@ -337,10 +371,14 @@ Alias for B<--prefix>. =item --grub2[=I] Generate GRUB2 menu entry in I. If I is not -specified F is used. The content of the menu entry can be +specified F<./boot/grub/grub.cfg> is used. The content of the menu entry can be customized with B<--grub-preamble>, B<--grub2-prolog> or B<--grub_prefix> options. +GRUB2 can boot multiboot-compliant kernels and a few kernels with specific +support. L could be used to specify the command used by GRUB2 to +load the kernel. See L. + To use the generated menu entry on your development machine that uses GRUB2, append the following snippet to F file and regenerate your grub configuration, @@ -516,10 +554,11 @@ Port to run the TFTP server on. Implies B<--tftp>. =item --netif=I -Network interface used to deploy files to the target. The default value is -I. This option influences the configuration of the DHCP server started -by B<--dhcp-tftp> and the value that B<$NB_MYIP> get replaced with during -U-Boot conversation. +Network interface used to deploy files to the target. This option +influences the configuration of the DHCP server started by +B<--dhcp-tftp> and the value that B<$NB_MYIP> get replaced with during +U-Boot conversation. The default value is C<$netif> variable from +configuration files, which defaults to I. =item --iso[=filename] @@ -529,6 +568,10 @@ of the novaboot script (see also B<--name>). =item --server[=[[user@]server:]path] +Alias of B<--copy> (kept for backward compatibility). + +=item --copy[=[[user@]server:]path] + Copy all files needed for booting to another location. The files will be copied (by B tool) to the directory I. If the I contains string $NAME, it will be replaced with the name of the @@ -537,13 +580,13 @@ novaboot script (see also B<--name>). =item --rsync-flags=I Specifies I to append to F command line when -copying files as a result of I<--server> option. +copying files as a result of I<--copy> option. =item --concat -If B<--server> is used and its value ends with $NAME, then after +If B<--copy> is used and its value ends with $NAME, then after copying the files, a new bootloader configuration file (e.g. menu.lst) -is created at I, i.e. the path specified by B<--server> +is created at I, i.e. the path specified by B<--copy> with $NAME part removed. The content of the file is created by concatenating all files of the same name from all subdirectories of I found on the "server". @@ -769,9 +812,16 @@ word after C is a file name (relative to the build directory (see B<--build-dir>) of the module to load and the remaining words are passed to it as the command line parameters. +When booting Linux, the first C line usually refers to the +kernel image and its command line parameters (unless you use some +special pre-loader). Other C lines may refer to an initramfs +image and/or a device tree blob. Their order is not important, as the +device tree is recognized as the file name ending with C<.dtb>. + When the C line ends with "< line ends with "< CMD" then command CMD is executed with F and its standard output is stored in the file named on @@ -885,6 +935,11 @@ The following variables are interpreted in the novaboot script: =over 8 +=item BOOT_METHOD + +Specifies the way GRUB2 boots the kernel. For kernels with multiboot +support use C method (the default). For Linux kernel use C method. + =item BUILDDIR Novaboot chdir()s to this directory before file generation phase. The @@ -979,17 +1034,22 @@ Default target (see below) to use when no target is explicitly specified with the B<--target> command line option or B environment variable. +=item $netif + +Default value for the B<--netif> option. If not specified, it defaults +to I. + =item %targets Hash of target definitions to be used with the B<--target> option. The key is the identifier of the target, the value is the string with command line options. For instance, if the configuration file contains: - $targets{'mybox'} = '--server=boot:/tftproot --serial=/dev/ttyUSB0 --grub', + $targets{'mybox'} = '--copy=boot:/tftproot --serial=/dev/ttyUSB0 --grub', then the following two commands are equivalent: - ./myos --server=boot:/tftproot --serial=/dev/ttyUSB0 --grub + ./myos --copy=boot:/tftproot --serial=/dev/ttyUSB0 --grub ./myos -t mybox =back