[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Command documentation part 1.
From: |
Andrey Borzenkov |
Subject: |
Command documentation part 1. |
Date: |
Tue, 29 Jan 2013 14:25:17 +0400 |
В Tue, 22 Jan 2013 17:12:18 +0000
Colin Watson <address@hidden> пишет:
> On Tue, Jan 22, 2013 at 05:08:51PM +0400, Andrey Borzenkov wrote:
> > Quit a number of commands are not documented. Is it intentional
> > (because they are not considered "user level API")? Should
> > documentation for them go into grub or grub-dev?
>
> I spent some time documenting the list of commands a while back, but I
> never completed the project: what you're seeing is simply how far I got
> before getting distracted by other things. IMO all commands should be
> documented in grub.texi.
>
Below is attempt to document most of user-relevant commands (I may have
missed a couple of them). Please review (formatting, language).
What is left are
- new file signature checks. I need some time to understand how to
describe them
- non-Linux loaders. I do not have experience myself, so it will need
some help probably
- the rest of commands which are more or less low-level, not normally
expected to be used daily. I have the following suggestion:
* merge General commands and Command-line and menu entry commands into
General commands. Current split seems to be artificial. Let normal
user commands go into this section
* Add Advanced commands section where all the more exotic ones are described.
Does it make sense?
Patch follows
From: Andrey Borzenkov <address@hidden>
Subject: [PATCH] document grub commands
Add documentation for grub commands
Signed-off-by: Andrey Borzenkov <address@hidden>
---
docs/grub.texi | 262 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 259 insertions(+), 3 deletions(-)
diff --git a/docs/grub.texi b/docs/grub.texi
index 9941b47..8329ee1 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
@@ -1553,6 +1553,10 @@ Causes a function to exit with the return value
specified by @code{n}. If
in the function body. If used outside a function the return status is
false.
address@hidden setparams address@hidden ...
+Replace positional parameters starting with @code{$1} with arguments to
address@hidden
+
@item shift address@hidden
The positional parameters from @code{n}+1 @dots{} are renamed to
@address@hidden Parameters represented by the numbers @code{$#} down to
@@ -3323,16 +3327,22 @@ you forget a command, you can run the command
@command{help}
(@pxref{help}).
@menu
+* [:: Check file types and compare values
* acpi:: Load ACPI tables
+* authenticate:: Check whether user is in user list
+* background_color:: Set background color for active terminal
+* background_image:: Load background image for active terminal
* badram:: Filter out bad regions of RAM
* blocklist:: Print a block list
* boot:: Start up your operating system
* cat:: Show the contents of a file
* chainloader:: Chain-load another boot loader
+* clear:: Clear the screen
* cmp:: Compare two files
* configfile:: Load a configuration file
* cpuid:: Check for CPU features
* crc:: Calculate CRC32 checksums
+* cryptomount:: Mount a crypto device
* date:: Display or set current date and time
* drivemap:: Map a drive to another
* echo:: Display a line of text
@@ -3341,6 +3351,7 @@ you forget a command, you can run the command
@command{help}
* gettext:: Translate a string
* gptsync:: Fill an MBR based on GPT entries
* halt:: Shut down your computer
+* hashsum:: Compute or check hash checksum
* help:: Show help messages
* initrd:: Load a Linux initrd
* initrd16:: Load a Linux initrd (16-bit mode)
@@ -3352,26 +3363,44 @@ you forget a command, you can run the command
@command{help}
* load_env:: Load variables from environment block
* loopback:: Make a device from a filesystem image
* ls:: List devices or files
+* lsmod:: Show loaded modules
+* md5sum:: Calculate MD5 hash
* normal:: Enter normal mode
* normal_exit:: Exit from normal mode
* parttool:: Modify partition table entries
* password:: Set a clear-text password
* password_pbkdf2:: Set a hashed password
* play:: Play a tune
+* probe:: Retrieve device info
* pxe_unload:: Unload the PXE environment
* read:: Read user input
* reboot:: Reboot your computer
+* rmmod:: Remove a module
* save_env:: Save variables to environment block
* search:: Search devices by file, label, or UUID
* sendkey:: Emulate keystrokes
* set:: Set an environment variable
+* sha1sum:: Calculate SHA1 hash
+* sha256sum:: Calculate SHA256 hash
+* sha512sum:: Calculate SHA512 hash
+* sleep:: Wait for a specified number of seconds
* source:: Read a configuration file in same context
+* test:: Check file types and compare values
* true:: Do nothing, successfully
* unset:: Unset an environment variable
* uppermem:: Set the upper memory size
+* vbeinfo:: List available video modes
+* videoinfo:: List available video modes
@end menu
address@hidden [
address@hidden [
address@hidden Command @code{[} expression @code{]}
+Alias for @code{test @var{expression}} (@pxref{test}).
address@hidden deffn
+
+
@node acpi
@subsection acpi
@@ -3393,6 +3422,35 @@ Normally, this command will replace the Root System
Description Pointer
GRUB, but may be used by GRUB's EFI emulation.
@end deffn
+
address@hidden authenticate
address@hidden authenticate
address@hidden Command authenticate [userlist]
+Check whether user is in @var{userlist} or listed in the value of variable
address@hidden See @pxref{superusers} for valid user list format.
+If @samp{superusers} is empty, this command returns true. @xref{Security}.
address@hidden deffn
+
+
address@hidden background_color
address@hidden background_color
+
address@hidden Command background_color color
+Set background color for active terminal. For valid color specifications see
address@hidden file format, ,Colors}.
address@hidden deffn
+
+
address@hidden background_image
address@hidden background_image
+
address@hidden Command background_image address@hidden
@samp{stretch}|@samp{normal}] file]
+Load background image for active terminal from @var{file}. Image is stretched
+to fill up entire screen unless option @option{--mode} @samp{normal} is given.
+Without agruments remove currently loaded background image.
address@hidden deffn
+
+
@node badram
@subsection badram
@@ -3465,6 +3523,14 @@ load a defective boot loader, such as SCO UnixWare 7.1.
@end deffn
address@hidden clear
address@hidden clear
+
address@hidden Command clear
+Clear the screen.
address@hidden deffn
+
+
@node cmp
@subsection cmp
@@ -3515,8 +3581,21 @@ invoked with @option{-l}. This may change in the future.
@node crc
@subsection crc
address@hidden Command crc file
-Display the CRC32 checksum of @var{file}.
address@hidden Command crc arg ...
+Alias for @code{hashsum --hash crc32 arg ...}. See command @command{hashsum}
+(@pxref{hashsum}) for full description.
address@hidden deffn
+
+
address@hidden cryptomount
address@hidden cryptomount
+
address@hidden Command cryptomount device|@option{-u}
uuid|@option{-a}|@option{-b}
+Setup access to encrypted device. If neccessary, passphrase
+is requested interactively. Option @var{device} configures specific grub device
+(@pxref{Naming convention}); option @option{-u} @var{uuid} configures device
+with specified @var{uuid}; option @option{-a} configures all encrypted devices;
+option @option{-b} configures all partitions that have boot flag set.
@end deffn
@@ -3662,6 +3741,27 @@ is shut down using APM.
@end deffn
address@hidden hashsum
address@hidden hashsum
+
address@hidden Command hashsum @option{--hash} hash @option{--keep-going}
@option{--uncompress} @option{--check} file address@hidden dir]|file ...
+Compute or verify file hashes. Hash type is selected with option
@option{--hash}.
+Supported hashes are @samp{crc32}, @samp{md5}, @samp{sha1}, @samp{sha256},
address@hidden Option @option{--uncompress} uncompresses files before computing
+hash.
+
+When list of files is given, hash of each file is computed and printed,
+followed by file name, each file on a new line.
+
+When option @option{--check} is given, it points to a file that contains
+list of @var{hash name} pairs. File hash and file name are separated by
+single @key{SPACE} or @key{TAB}, one pair on a line. Option @option{--prefix}
+may be used to give directory where files are located. Hash verification
+stops after the first mismatch was found unless option @option{--keep-going}
+was given.
address@hidden deffn
+
+
@node help
@subsection help
@@ -3813,6 +3913,23 @@ name syntax}), then list the contents of that directory.
@end deffn
address@hidden lsmod
address@hidden lsmod
+
address@hidden Command lsmod
+Show list of loaded modules.
address@hidden deffn
+
+
address@hidden md5sum
address@hidden md5sum
+
address@hidden Command md5sum arg ...
+Alias for @code{hashsum --hash md5 arg ...}. See command @command{hashsum}
+(@pxref{hashsum}) for full description.
address@hidden deffn
+
+
@node normal
@subsection normal
@@ -3914,6 +4031,15 @@ a rest.
@end deffn
address@hidden probe
address@hidden probe
+
address@hidden Command probe address@hidden var]
@option{--driver}|@option{--partmap}|@option{--fs}|@option{--fs-uuid}|@option{--label}
device
+Retrieve device information. If option @option{--set} is given, assign result
+to variable @var{var}, otherwise print information on the screen.
address@hidden deffn
+
+
@node pxe_unload
@subsection pxe_unload
@@ -3942,6 +4068,14 @@ Reboot the computer.
@end deffn
address@hidden rmmod
address@hidden rmmod
+
address@hidden Command rmmod module
+Remove a loaded @var{module}.
address@hidden deffn
+
+
@node save_env
@subsection save_env
@@ -4134,6 +4268,43 @@ arguments, print all environment variables with their
values.
@end deffn
address@hidden sha1sum
address@hidden sha1sum
+
address@hidden Command sha1sum arg ...
+Alias for @code{hashsum --hash sha1 arg ...}. See command @command{hashsum}
+(@pxref{hashsum}) for full description.
address@hidden deffn
+
+
address@hidden sha256sum
address@hidden sha256sum
+
address@hidden Command sha256sum arg ...
+Alias for @code{hashsum --hash sha256 arg ...}. See command @command{hashsum}
+(@pxref{hashsum}) for full description.
address@hidden deffn
+
+
address@hidden sha512sum
address@hidden sha512sum
+
address@hidden Command sha512sum arg ...
+Alias for @code{hashsum --hash sha512 arg ...}. See command @command{hashsum}
+(@pxref{hashsum}) for full description.
address@hidden deffn
+
+
address@hidden sleep
address@hidden sleep
+
address@hidden Command sleep address@hidden address@hidden count
+Sleep for @var{count} of seconds. If option @option{--interruptible} is given,
+allow @key{ESC} to interrupt sleep. With @option{--verbose} show countdown
+of remaining seconds.
address@hidden deffn
+
+
@node source
@subsection source
@@ -4147,6 +4318,74 @@ will not be shown immediately.
@end deffn
address@hidden test
address@hidden test
+
address@hidden Command test expression
+Evaluate @var{expression} and return zero exit status if result is true,
+non zero status otherwise.
+
address@hidden is one of:
+
address@hidden @asis
address@hidden @var{string1} @code{==} @var{string2}
+the strings are equal
address@hidden @var{string1} @code{!=} @var{string2}
+the strings are not equal
address@hidden @var{string1} @code{<} @var{string2}
address@hidden is lexicographically less than @var{string2}
address@hidden @var{string1} @code{<=} @var{string2}
address@hidden is lexicographically less or equal than @var{string2}
address@hidden @var{string1} @code{>} @var{string2}
address@hidden is lexicographically greater than @var{string2}
address@hidden @var{string1} @code{<=} @var{string2}
address@hidden is lexicographically greater or equal than @var{string2}
address@hidden @var{integer1} @code{-eq} @var{integer2}
address@hidden is equal to @var{integer2}
address@hidden @var{integer1} @code{-ge} @var{integer2}
address@hidden is greater than or equal to @var{integer2}
address@hidden @var{integer1} @code{-gt} @var{integer2}
address@hidden is greater than @var{integer2}
address@hidden @var{integer1} @code{-le} @var{integer2}
address@hidden is less than or equal to @var{integer2}
address@hidden @var{integer1} @code{-lt} @var{integer2}
address@hidden is less than @var{integer2}
address@hidden @var{integer1} @code{-ne} @var{integer2}
address@hidden is not equal to @var{integer2}
address@hidden @address@hidden @code{-pgt} @address@hidden
address@hidden is greater than @var{integer2} after stripping off common
non-numeric @var{prefix}.
address@hidden @address@hidden @code{-plt} @address@hidden
address@hidden is less than @var{integer2} after stripping off common
non-numeric @var{prefix}.
address@hidden @var{file1} @code{-nt} @var{file2}
address@hidden 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.
address@hidden @var{file1} @code{-ot} @var{file2}
address@hidden 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.
address@hidden @code{-d} @var{file}
address@hidden exists and is a directory
address@hidden @code{-e} @var{file}
address@hidden exists
address@hidden @code{-f} @var{file}
address@hidden exists and is not a directory
address@hidden @code{-s} @var{file}
address@hidden exists and has a size greater than zero
address@hidden @code{-n} @var{string}
+the length of @var{string} is nonzero
address@hidden @var{string}
address@hidden is equivalent to @code{-n @var{string}}
address@hidden @code{-z} @var{string}
+the length of @var{string} is zero
address@hidden @code{(} @var{expression} @code{)}
address@hidden is true
address@hidden @code{!} @var{expression}
address@hidden is false
address@hidden @var{expression1} @code{-a} @var{expression2}
+both @var{expression1} and @var{expression2} are true
address@hidden @var{expression1} @code{-o} @var{expression2}
+either @var{expression1} or @var{expression2} is true
address@hidden table
address@hidden deffn
+
+
@node true
@subsection true
@@ -4169,6 +4408,23 @@ Unset the environment variable @var{envvar}.
This command is not yet implemented for GRUB 2, although it is planned.
+
address@hidden vbeinfo
address@hidden vbeinfo
+
address@hidden Command vbeinfo [[WxH]xD]
+Alias for command @command{videoinfo} (@pxref{videoinfo}). It is available
+only on PC BIOS platforms.
address@hidden deffn
+
+
address@hidden videoinfo
address@hidden videoinfo
+
address@hidden Command videoinfo [[WxH]xD]
+List available video modes. If resolution is given, show only mathing modes.
address@hidden deffn
+
@node Internationalisation
@chapter Charset
GRUB uses UTF-8 internally other than in rendering where some GRUB-specific
@@ -4269,7 +4525,7 @@ Identifiers containing non-ASCII may work but aren't
supported.
Only the ASCII space characters (space U+0020, tab U+000b, CR U+000d and
LF U+000a) are recognised. Other unicode space characters aren't a valid
field separator.
address@hidden tests <, >, <=, >=, -pgt and -plt compare the strings in the
address@hidden (@pxref{test}) tests <, >, <=, >=, -pgt and -plt compare the
strings in the
lexicographical order of unicode codepoints, replicating the behaviour of
test from coreutils.
environment variables and commands are listed in the same order.
--
tg: (cd8fd59..) u/cmd-doc (depends on: master)