a5bd9f6
From 96fd4bad7168a598343b0a7ac9a1901a8075a2c3 Mon Sep 17 00:00:00 2001
a5bd9f6
From: Andrey Borzenkov  <arvidjaar@gmail.com>
a5bd9f6
Date: Fri, 5 Apr 2013 10:18:42 +0200
a5bd9f6
Subject: [PATCH 257/364] 	* docs/grub.texi: Document more user commands.
a5bd9f6
a5bd9f6
---
a5bd9f6
 ChangeLog      |   4 +
a5bd9f6
 docs/grub.texi | 352 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
a5bd9f6
 2 files changed, 347 insertions(+), 9 deletions(-)
a5bd9f6
a5bd9f6
diff --git a/ChangeLog b/ChangeLog
a5bd9f6
index 6113a39..d63c0e5 100644
a5bd9f6
--- a/ChangeLog
a5bd9f6
+++ b/ChangeLog
a5bd9f6
@@ -1,3 +1,7 @@
a5bd9f6
+2013-04-04  Andrey Borzenkov <arvidjaar@gmail.com>
a5bd9f6
+
a5bd9f6
+	* docs/grub.texi: Document more user commands.
a5bd9f6
+
a5bd9f6
 2013-04-04  Andrey Borzenkov  <arvidjaar@gmail.com>
a5bd9f6
 
a5bd9f6
 	* docs/grub.texi: Document menuentry --id option.
a5bd9f6
diff --git a/docs/grub.texi b/docs/grub.texi
a5bd9f6
index 742d406..bd366a6 100644
a5bd9f6
--- a/docs/grub.texi
a5bd9f6
+++ b/docs/grub.texi
a5bd9f6
@@ -1554,6 +1554,10 @@ Causes a function to exit with the return value specified by @code{n}.  If
a5bd9f6
 in the function body.  If used outside a function the return status is
a5bd9f6
 false.
a5bd9f6
 
a5bd9f6
+@item setparams [@code{arg}] @dots{}
a5bd9f6
+Replace positional parameters starting with @code{$1} with arguments to
a5bd9f6
+@command{setparams}.
a5bd9f6
+
a5bd9f6
 @item shift [@code{n}]
a5bd9f6
 The positional parameters from @code{n}+1 @dots{} are renamed to
a5bd9f6
 @code{$1}@dots{}.  Parameters represented by the numbers @code{$#} down to
a5bd9f6
@@ -1751,8 +1755,8 @@ Colors can be specified in several ways:
a5bd9f6
 The fonts GRUB uses ``PFF2 font format'' bitmap fonts.  Fonts are specified
a5bd9f6
 with full font names.  Currently there is no
a5bd9f6
 provision for a preference list of fonts, or deriving one font from another.
a5bd9f6
-Fonts are loaded with the ``loadfont'' command in GRUB.  To see the list of
a5bd9f6
-loaded fonts, execute the ``lsfonts'' command.  If there are too many fonts to
a5bd9f6
+Fonts are loaded with the ``loadfont'' command in GRUB (@ref{loadfont}).  To see the list of
a5bd9f6
+loaded fonts, execute the ``lsfonts'' command (@ref{lsfonts}).  If there are too many fonts to
a5bd9f6
 fit on screen, do ``set pager=1'' before executing ``lsfonts''.
a5bd9f6
 
a5bd9f6
 
a5bd9f6
@@ -3365,16 +3369,25 @@ you forget a command, you can run the command @command{help}
a5bd9f6
 (@pxref{help}).
a5bd9f6
 
a5bd9f6
 @menu
a5bd9f6
+* [::                           Check file types and compare values
a5bd9f6
 * acpi::                        Load ACPI tables
a5bd9f6
+* authenticate::                Check whether user is in user list
a5bd9f6
+* background_color::            Set background color for active terminal
a5bd9f6
+* background_image::            Load background image for active terminal
a5bd9f6
 * badram::                      Filter out bad regions of RAM
a5bd9f6
 * blocklist::                   Print a block list
a5bd9f6
 * boot::                        Start up your operating system
a5bd9f6
 * cat::                         Show the contents of a file
a5bd9f6
 * chainloader::                 Chain-load another boot loader
a5bd9f6
+* clear::                       Clear the screen
a5bd9f6
+* cmosclean::                   Clear bit in CMOS
a5bd9f6
+* cmosdump::                    Dump CMOS contents
a5bd9f6
+* cmostest::                    Test bit in CMOS
a5bd9f6
 * cmp::                         Compare two files
a5bd9f6
 * configfile::                  Load a configuration file
a5bd9f6
 * cpuid::                       Check for CPU features
a5bd9f6
-* crc::                         Calculate CRC32 checksums
a5bd9f6
+* crc::                         Compute or check CRC32 checksums
a5bd9f6
+* cryptomount::                 Mount a crypto device
a5bd9f6
 * date::                        Display or set current date and time
a5bd9f6
 * drivemap::                    Map a drive to another
a5bd9f6
 * echo::                        Display a line of text
a5bd9f6
@@ -3383,6 +3396,7 @@ you forget a command, you can run the command @command{help}
a5bd9f6
 * gettext::                     Translate a string
a5bd9f6
 * gptsync::                     Fill an MBR based on GPT entries
a5bd9f6
 * halt::                        Shut down your computer
a5bd9f6
+* hashsum::                     Compute or check hash checksum
a5bd9f6
 * help::                        Show help messages
a5bd9f6
 * initrd::                      Load a Linux initrd
a5bd9f6
 * initrd16::                    Load a Linux initrd (16-bit mode)
a5bd9f6
@@ -3391,29 +3405,50 @@ you forget a command, you can run the command @command{help}
a5bd9f6
 * linux::                       Load a Linux kernel
a5bd9f6
 * linux16::                     Load a Linux kernel (16-bit mode)
a5bd9f6
 * list_env::                    List variables in environment block
a5bd9f6
+* loadfont::                    Load font files
a5bd9f6
 * load_env::                    Load variables from environment block
a5bd9f6
 * loopback::                    Make a device from a filesystem image
a5bd9f6
 * ls::                          List devices or files
a5bd9f6
+* lsfonts::                     List loaded fonts
a5bd9f6
+* lsmod::                       Show loaded modules
a5bd9f6
+* md5sum::                      Compute or check MD5 hash
a5bd9f6
 * normal::                      Enter normal mode
a5bd9f6
 * normal_exit::                 Exit from normal mode
a5bd9f6
 * parttool::                    Modify partition table entries
a5bd9f6
 * password::                    Set a clear-text password
a5bd9f6
 * password_pbkdf2::             Set a hashed password
a5bd9f6
 * play::                        Play a tune
a5bd9f6
+* probe::                       Retrieve device info
a5bd9f6
 * pxe_unload::                  Unload the PXE environment
a5bd9f6
 * read::                        Read user input
a5bd9f6
 * reboot::                      Reboot your computer
a5bd9f6
+* regexp::                      Test if regular expression matches string
a5bd9f6
+* rmmod::                       Remove a module
a5bd9f6
 * save_env::                    Save variables to environment block
a5bd9f6
 * search::                      Search devices by file, label, or UUID
a5bd9f6
 * sendkey::                     Emulate keystrokes
a5bd9f6
 * set::                         Set an environment variable
a5bd9f6
+* sha1sum::                     Compute or check SHA1 hash
a5bd9f6
+* sha256sum::                   Compute or check SHA256 hash
a5bd9f6
+* sha512sum::                   Compute or check SHA512 hash
a5bd9f6
+* sleep::                       Wait for a specified number of seconds
a5bd9f6
 * source::                      Read a configuration file in same context
a5bd9f6
+* test::                        Check file types and compare values
a5bd9f6
 * true::                        Do nothing, successfully
a5bd9f6
 * unset::                       Unset an environment variable
a5bd9f6
 * uppermem::                    Set the upper memory size
a5bd9f6
+@comment * vbeinfo::                     List available video modes
a5bd9f6
+* videoinfo::                   List available video modes
a5bd9f6
 @end menu
a5bd9f6
 
a5bd9f6
 
a5bd9f6
+@node [
a5bd9f6
+@subsection [
a5bd9f6
+@deffn Command @code{[} expression @code{]}
a5bd9f6
+Alias for @code{test @var{expression}} (@pxref{test}).
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
 @node acpi
a5bd9f6
 @subsection acpi
a5bd9f6
 
a5bd9f6
@@ -3435,6 +3470,42 @@ Normally, this command will replace the Root System Description Pointer
a5bd9f6
 GRUB, but may be used by GRUB's EFI emulation.
a5bd9f6
 @end deffn
a5bd9f6
 
a5bd9f6
+
a5bd9f6
+@node authenticate
a5bd9f6
+@subsection authenticate
a5bd9f6
+@deffn Command authenticate [userlist]
a5bd9f6
+Check whether user is in @var{userlist} or listed in the value of variable
a5bd9f6
+@samp{superusers}. See @pxref{superusers} for valid user list format.
a5bd9f6
+If @samp{superusers} is empty, this command returns true. @xref{Security}.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
+@node background_color
a5bd9f6
+@subsection background_color
a5bd9f6
+
a5bd9f6
+@deffn Command background_color color
a5bd9f6
+Set background color for active terminal. For valid color specifications see
a5bd9f6
+@pxref{Theme file format, ,Colors}. Background color can be changed only when
a5bd9f6
+using @samp{gfxterm} for terminal output.
a5bd9f6
+
a5bd9f6
+This command sets color of empty areas without text. Text background color
a5bd9f6
+is controlled by environment variables @var{color_normal}, @var{color_highlight},
a5bd9f6
+@var{menu_color_normal}, @var{menu_color_highlight}. @xref{Special environment variables}.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
+@node background_image
a5bd9f6
+@subsection background_image
a5bd9f6
+
a5bd9f6
+@deffn Command background_image [[@option{--mode} @samp{stretch}|@samp{normal}] file]
a5bd9f6
+Load background image for active terminal from @var{file}. Image is stretched
a5bd9f6
+to fill up entire screen unless option @option{--mode} @samp{normal} is given.
a5bd9f6
+Without arguments remove currently loaded background image. Background image
a5bd9f6
+can be changed only when using @samp{gfxterm} for terminal output.
a5bd9f6
+
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
 @node badram
a5bd9f6
 @subsection badram
a5bd9f6
 
a5bd9f6
@@ -3507,6 +3578,42 @@ load a defective boot loader, such as SCO UnixWare 7.1.
a5bd9f6
 @end deffn
a5bd9f6
 
a5bd9f6
 
a5bd9f6
+@node clear
a5bd9f6
+@subsection clear
a5bd9f6
+
a5bd9f6
+@deffn Command clear
a5bd9f6
+Clear the screen.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
+@node cmosclean
a5bd9f6
+@subsection cmosclean
a5bd9f6
+
a5bd9f6
+@deffn Command cmosclean byte:bit
a5bd9f6
+Clear value of bit in CMOS at location @var{byte}:@var{bit}. This command
a5bd9f6
+is available only on platforms that support CMOS.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
+@node cmosdump
a5bd9f6
+@subsection cmosdump
a5bd9f6
+
a5bd9f6
+@deffn Dump CMOS contents
a5bd9f6
+Dump full CMOS contents as hexadecimal values. This command is available only
a5bd9f6
+on platforms that support CMOS.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
+@node cmostest
a5bd9f6
+@subsection cmostest
a5bd9f6
+
a5bd9f6
+@deffn Command cmostest byte:bit
a5bd9f6
+Test value of bit in CMOS at location @var{byte}:@var{bit}. Exit status
a5bd9f6
+is zero if bit is set, non zero otherwise. This command is available only
a5bd9f6
+on platforms that support CMOS.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
 @node cmp
a5bd9f6
 @subsection cmp
a5bd9f6
 
a5bd9f6
@@ -3557,8 +3664,24 @@ invoked with @option{-l}.  This may change in the future.
a5bd9f6
 @node crc
a5bd9f6
 @subsection crc
a5bd9f6
 
a5bd9f6
-@deffn Command crc file
a5bd9f6
-Display the CRC32 checksum of @var{file}.
a5bd9f6
+@deffn Command crc arg @dots{}
a5bd9f6
+Alias for @code{hashsum --hash crc32 arg @dots{}}. See command @command{hashsum}
a5bd9f6
+(@pxref{hashsum}) for full description.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
+@node cryptomount
a5bd9f6
+@subsection cryptomount
a5bd9f6
+
a5bd9f6
+@deffn Command cryptomount device|@option{-u} uuid|@option{-a}|@option{-b}
a5bd9f6
+Setup access to encrypted device. If necessary, passphrase
a5bd9f6
+is requested interactively. Option @var{device} configures specific grub device
a5bd9f6
+(@pxref{Naming convention}); option @option{-u} @var{uuid} configures device
a5bd9f6
+with specified @var{uuid}; option @option{-a} configures all detected encrypted
a5bd9f6
+devices; option @option{-b} configures all geli containers that have boot flag set.
a5bd9f6
+
a5bd9f6
+GRUB suports devices encrypted using LUKS and geli. Note that necessary modules (@var{luks} and @var{geli}) have to be loaded manually before this command can
a5bd9f6
+be used.
a5bd9f6
 @end deffn
a5bd9f6
 
a5bd9f6
 
a5bd9f6
@@ -3704,6 +3827,29 @@ is shut down using APM.
a5bd9f6
 @end deffn
a5bd9f6
 
a5bd9f6
 
a5bd9f6
+@node hashsum
a5bd9f6
+@subsection hashsum
a5bd9f6
+
a5bd9f6
+@deffn Command hashsum @option{--hash} hash @option{--keep-going} @option{--uncompress} @option{--check} file [@option{--prefix} dir]|file @dots{}
a5bd9f6
+Compute or verify file hashes. Hash type is selected with option @option{--hash}.
a5bd9f6
+Supported hashes are: @samp{adler32}, @samp{crc64}, @samp{crc32},
a5bd9f6
+@samp{crc32rfc1510}, @samp{crc24rfc2440}, @samp{md4}, @samp{md5},
a5bd9f6
+@samp{ripemd160}, @samp{sha1}, @samp{sha224}, @samp{sha256}, @samp{sha512},
a5bd9f6
+@samp{sha384}, @samp{tiger192}, @samp{tiger}, @samp{tiger2}, @samp{whirlpool}.
a5bd9f6
+Option @option{--uncompress} uncompresses files before computing hash.
a5bd9f6
+
a5bd9f6
+When list of files is given, hash of each file is computed and printed,
a5bd9f6
+followed by file name, each file on a new line.
a5bd9f6
+
a5bd9f6
+When option @option{--check} is given, it points to a file that contains
a5bd9f6
+list of @var{hash name} pairs in the same format as used by UNIX
a5bd9f6
+@command{md5sum} command. Option @option{--prefix}
a5bd9f6
+may be used to give directory where files are located. Hash verification
a5bd9f6
+stops after the first mismatch was found unless option @option{--keep-going}
a5bd9f6
+was given.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
 @node help
a5bd9f6
 @subsection help
a5bd9f6
 
a5bd9f6
@@ -3822,6 +3968,16 @@ block.
a5bd9f6
 @end deffn
a5bd9f6
 
a5bd9f6
 
a5bd9f6
+@node loadfont
a5bd9f6
+@subsection loadfont
a5bd9f6
+
a5bd9f6
+@deffn Command loadfont file @dots{}
a5bd9f6
+Load specified font files. Unless absolute pathname is given, @var{file}
a5bd9f6
+is assumed to be in directory @samp{$prefix/fonts} with
a5bd9f6
+suffix @samp{.pf2} appended. @xref{Theme file format,,Fonts}.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
 @node loopback
a5bd9f6
 @subsection loopback
a5bd9f6
 
a5bd9f6
@@ -3855,6 +4011,31 @@ name syntax}), then list the contents of that directory.
a5bd9f6
 @end deffn
a5bd9f6
 
a5bd9f6
 
a5bd9f6
+@node lsfonts
a5bd9f6
+@subsection lsfonts
a5bd9f6
+
a5bd9f6
+@deffn Command lsfonts
a5bd9f6
+List loaded fonts.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
+@node lsmod
a5bd9f6
+@subsection lsmod
a5bd9f6
+
a5bd9f6
+@deffn Command lsmod
a5bd9f6
+Show list of loaded modules.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
+@node md5sum
a5bd9f6
+@subsection md5sum
a5bd9f6
+
a5bd9f6
+@deffn Command md5sum arg @dots{}
a5bd9f6
+Alias for @code{hashsum --hash md5 arg @dots{}}. See command @command{hashsum}
a5bd9f6
+(@pxref{hashsum}) for full description.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
 @node normal
a5bd9f6
 @subsection normal
a5bd9f6
 
a5bd9f6
@@ -3940,7 +4121,7 @@ to generate password hashes.  @xref{Security}.
a5bd9f6
 @node play
a5bd9f6
 @subsection play
a5bd9f6
 
a5bd9f6
-@deffn Command play file | tempo [pitch1 duration1] [pitch2 duration2] ...
a5bd9f6
+@deffn Command play file | tempo [pitch1 duration1] [pitch2 duration2] @dots{}
a5bd9f6
 Plays a tune
a5bd9f6
 
a5bd9f6
 If the argument is a file name (@pxref{File name syntax}), play the tune
a5bd9f6
@@ -3956,6 +4137,15 @@ a rest.
a5bd9f6
 @end deffn
a5bd9f6
 
a5bd9f6
 
a5bd9f6
+@node probe
a5bd9f6
+@subsection probe
a5bd9f6
+
a5bd9f6
+@deffn Command probe [@option{--set} var] @option{--driver}|@option{--partmap}|@option{--fs}|@option{--fs-uuid}|@option{--label} device
a5bd9f6
+Retrieve device information. If option @option{--set} is given, assign result
a5bd9f6
+to variable @var{var}, otherwise print information on the screen.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
 @node pxe_unload
a5bd9f6
 @subsection pxe_unload
a5bd9f6
 
a5bd9f6
@@ -3984,6 +4174,26 @@ Reboot the computer.
a5bd9f6
 @end deffn
a5bd9f6
 
a5bd9f6
 
a5bd9f6
+@node regexp
a5bd9f6
+@subsection regexp
a5bd9f6
+
a5bd9f6
+@deffn Command regexp [@option{--set} [number:]var] regexp string
a5bd9f6
+Test if regular expression @var{regexp} matches @var{string}. Supported
a5bd9f6
+regular expressions are POSIX.2 Extended Regular Expressions. If option
a5bd9f6
+@option{--set} is given, store @var{number}th matched subexpression in
a5bd9f6
+variable @var{var}. Subexpressions are numbered in order of their opening
a5bd9f6
+parentheses starting from @samp{1}.  @var{number} defaults to @samp{1}.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
+@node rmmod
a5bd9f6
+@subsection rmmod
a5bd9f6
+
a5bd9f6
+@deffn Command rmmod module
a5bd9f6
+Remove a loaded @var{module}.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
 @node save_env
a5bd9f6
 @subsection save_env
a5bd9f6
 
a5bd9f6
@@ -4176,6 +4386,43 @@ arguments, print all environment variables with their values.
a5bd9f6
 @end deffn
a5bd9f6
 
a5bd9f6
 
a5bd9f6
+@node sha1sum
a5bd9f6
+@subsection sha1sum
a5bd9f6
+
a5bd9f6
+@deffn Command sha1sum arg @dots{}
a5bd9f6
+Alias for @code{hashsum --hash sha1 arg @dots{}}. See command @command{hashsum}
a5bd9f6
+(@pxref{hashsum}) for full description.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
+@node sha256sum
a5bd9f6
+@subsection sha256sum
a5bd9f6
+
a5bd9f6
+@deffn Command sha256sum arg @dots{}
a5bd9f6
+Alias for @code{hashsum --hash sha256 arg @dots{}}. See command @command{hashsum}
a5bd9f6
+(@pxref{hashsum}) for full description.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
+@node sha512sum
a5bd9f6
+@subsection sha512sum
a5bd9f6
+
a5bd9f6
+@deffn Command sha512sum arg @dots{}
a5bd9f6
+Alias for @code{hashsum --hash sha512 arg @dots{}}. See command @command{hashsum}
a5bd9f6
+(@pxref{hashsum}) for full description.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
+@node sleep
a5bd9f6
+@subsection sleep
a5bd9f6
+
a5bd9f6
+@deffn Command sleep [@option{--verbose}] [@option{--interruptible}] count
a5bd9f6
+Sleep for @var{count} seconds. If option @option{--interruptible} is given,
a5bd9f6
+allow @key{ESC} to interrupt sleep. With @option{--verbose} show countdown
a5bd9f6
+of remaining seconds.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
 @node source
a5bd9f6
 @subsection source
a5bd9f6
 
a5bd9f6
@@ -4189,6 +4436,74 @@ will not be shown immediately.
a5bd9f6
 @end deffn
a5bd9f6
 
a5bd9f6
 
a5bd9f6
+@node test
a5bd9f6
+@subsection test
a5bd9f6
+
a5bd9f6
+@deffn Command test expression
a5bd9f6
+Evaluate @var{expression} and return zero exit status if result is true,
a5bd9f6
+non zero status otherwise.
a5bd9f6
+
a5bd9f6
+@var{expression} is one of:
a5bd9f6
+
a5bd9f6
+@table @asis
a5bd9f6
+@item @var{string1} @code{==} @var{string2}
a5bd9f6
+the strings are equal
a5bd9f6
+@item @var{string1} @code{!=} @var{string2}
a5bd9f6
+the strings are not equal
a5bd9f6
+@item @var{string1} @code{<} @var{string2}
a5bd9f6
+@var{string1} is lexicographically less than @var{string2}
a5bd9f6
+@item @var{string1} @code{<=} @var{string2}
a5bd9f6
+@var{string1} is lexicographically less or equal than @var{string2}
a5bd9f6
+@item @var{string1} @code{>} @var{string2}
a5bd9f6
+@var{string1} is lexicographically greater than @var{string2}
a5bd9f6
+@item @var{string1} @code{>=} @var{string2}
a5bd9f6
+@var{string1} is lexicographically greater or equal than @var{string2}
a5bd9f6
+@item @var{integer1} @code{-eq} @var{integer2}
a5bd9f6
+@var{integer1} is equal to @var{integer2}
a5bd9f6
+@item @var{integer1} @code{-ge} @var{integer2}
a5bd9f6
+@var{integer1} is greater than or equal to @var{integer2}
a5bd9f6
+@item @var{integer1} @code{-gt} @var{integer2}
a5bd9f6
+@var{integer1} is greater than @var{integer2}
a5bd9f6
+@item @var{integer1} @code{-le} @var{integer2}
a5bd9f6
+@var{integer1} is less than or equal to @var{integer2}
a5bd9f6
+@item @var{integer1} @code{-lt} @var{integer2}
a5bd9f6
+@var{integer1} is less than @var{integer2}
a5bd9f6
+@item @var{integer1} @code{-ne} @var{integer2}
a5bd9f6
+@var{integer1} is not equal to @var{integer2}
a5bd9f6
+@item @var{prefix}@var{integer1} @code{-pgt} @var{prefix}@var{integer2}
a5bd9f6
+@var{integer1} is greater than @var{integer2} after stripping off common non-numeric @var{prefix}.
a5bd9f6
+@item @var{prefix}@var{integer1} @code{-plt} @var{prefix}@var{integer2}
a5bd9f6
+@var{integer1} is less than @var{integer2} after stripping off common non-numeric @var{prefix}.
a5bd9f6
+@item @var{file1} @code{-nt} @var{file2}
a5bd9f6
+@var{file1} is newer than @var{file2} (modification time). Optionally numeric @var{bias} may be directly appended to @code{-nt} in which case it is added to the first file modification time.
a5bd9f6
+@item @var{file1} @code{-ot} @var{file2}
a5bd9f6
+@var{file1} is older than @var{file2} (modification time). Optionally numeric @var{bias} may be directly appended to @code{-ot} in which case it is added to the first file modification time.
a5bd9f6
+@item @code{-d} @var{file}
a5bd9f6
+@var{file} exists and is a directory
a5bd9f6
+@item @code{-e} @var{file}
a5bd9f6
+@var{file} exists
a5bd9f6
+@item @code{-f} @var{file}
a5bd9f6
+@var{file} exists and is not a directory
a5bd9f6
+@item @code{-s} @var{file}
a5bd9f6
+@var{file} exists and has a size greater than zero
a5bd9f6
+@item @code{-n} @var{string}
a5bd9f6
+the length of @var{string} is nonzero
a5bd9f6
+@item @var{string}
a5bd9f6
+@var{string} is equivalent to @code{-n @var{string}}
a5bd9f6
+@item @code{-z} @var{string}
a5bd9f6
+the length of @var{string} is zero
a5bd9f6
+@item @code{(} @var{expression} @code{)}
a5bd9f6
+@var{expression} is true
a5bd9f6
+@item @code{!} @var{expression}
a5bd9f6
+@var{expression} is false
a5bd9f6
+@item @var{expression1} @code{-a} @var{expression2}
a5bd9f6
+both @var{expression1} and @var{expression2} are true
a5bd9f6
+@item @var{expression1} @code{-o} @var{expression2}
a5bd9f6
+either @var{expression1} or @var{expression2} is true
a5bd9f6
+@end table
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
+
a5bd9f6
 @node true
a5bd9f6
 @subsection true
a5bd9f6
 
a5bd9f6
@@ -4211,6 +4526,25 @@ Unset the environment variable @var{envvar}.
a5bd9f6
 
a5bd9f6
 This command is not yet implemented for GRUB 2, although it is planned.
a5bd9f6
 
a5bd9f6
+
a5bd9f6
+@ignore
a5bd9f6
+@node vbeinfo
a5bd9f6
+@subsection vbeinfo
a5bd9f6
+
a5bd9f6
+@deffn Command vbeinfo [[WxH]xD]
a5bd9f6
+Alias for command @command{videoinfo} (@pxref{videoinfo}). It is available
a5bd9f6
+only on PC BIOS platforms.
a5bd9f6
+@end deffn
a5bd9f6
+@end ignore
a5bd9f6
+
a5bd9f6
+
a5bd9f6
+@node videoinfo
a5bd9f6
+@subsection videoinfo
a5bd9f6
+
a5bd9f6
+@deffn Command videoinfo [[WxH]xD]
a5bd9f6
+List available video modes. If resolution is given, show only matching modes.
a5bd9f6
+@end deffn
a5bd9f6
+
a5bd9f6
 @node Internationalisation
a5bd9f6
 @chapter Charset
a5bd9f6
 GRUB uses UTF-8 internally other than in rendering where some GRUB-specific
a5bd9f6
@@ -4311,7 +4645,7 @@ Identifiers containing non-ASCII may work but aren't supported.
a5bd9f6
 Only the ASCII space characters (space U+0020, tab U+000b, CR U+000d and
a5bd9f6
 LF U+000a) are recognised. Other unicode space characters aren't a valid
a5bd9f6
 field separator.
a5bd9f6
-@command{test} tests <, >, <=, >=, -pgt and -plt compare the strings in the
a5bd9f6
+@command{test} (@pxref{test}) tests <, >, <=, >=, -pgt and -plt compare the strings in the
a5bd9f6
 lexicographical order of unicode codepoints, replicating the behaviour of
a5bd9f6
 test from coreutils.
a5bd9f6
 environment variables and commands are listed in the same order.
a5bd9f6
@@ -4769,8 +5103,8 @@ Installing to the whole disk device is normally more robust.
a5bd9f6
 @item
a5bd9f6
 Check that GRUB actually knows how to read from the device and file system
a5bd9f6
 containing @file{/boot/grub}.  It will not be able to read from encrypted
a5bd9f6
-devices, nor from file systems for which support has not yet been added to
a5bd9f6
-GRUB.
a5bd9f6
+devices with unsupported encryption scheme, nor from file systems for which
a5bd9f6
+support has not yet been added to GRUB.
a5bd9f6
 @end itemize
a5bd9f6
 
a5bd9f6
 
a5bd9f6
-- 
a5bd9f6
1.8.1.4
a5bd9f6