2009-09-02 Colin Watson <cjwatson@ubuntu.com>
* docs/grub.texi (Naming convention): Describe one-based partition numbering. (Device syntax): Likewise. (File name syntax): Likewise. (Block list syntax): Likewise. (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than menu.lst. (File name syntax): Likewise. (Command-line and menu entry commands): Document acpi, blocklist, crc, export, insmod, keystatus, ls, set, and unset commands.
This commit is contained in:
parent
f3e8cdfd49
commit
f091064493
2 changed files with 146 additions and 22 deletions
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
||||||
|
2009-09-02 Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
|
||||||
|
* docs/grub.texi (Naming convention): Describe one-based partition
|
||||||
|
numbering.
|
||||||
|
(Device syntax): Likewise.
|
||||||
|
(File name syntax): Likewise.
|
||||||
|
(Block list syntax): Likewise.
|
||||||
|
(Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
|
||||||
|
menu.lst.
|
||||||
|
(File name syntax): Likewise.
|
||||||
|
(Command-line and menu entry commands): Document acpi, blocklist,
|
||||||
|
crc, export, insmod, keystatus, ls, set, and unset commands.
|
||||||
|
|
||||||
2009-09-02 Colin Watson <cjwatson@ubuntu.com>
|
2009-09-02 Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
|
||||||
* commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
|
* commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
|
||||||
|
|
155
docs/grub.texi
155
docs/grub.texi
|
@ -20,7 +20,7 @@
|
||||||
This manual is for GNU GRUB (version @value{VERSION},
|
This manual is for GNU GRUB (version @value{VERSION},
|
||||||
@value{UPDATED}).
|
@value{UPDATED}).
|
||||||
|
|
||||||
Copyright @copyright{} 1999,2000,2001,2002,2004,2006,2008 Free Software Foundation, Inc.
|
Copyright @copyright{} 1999,2000,2001,2002,2004,2006,2008,2009 Free Software Foundation, Inc.
|
||||||
|
|
||||||
@quotation
|
@quotation
|
||||||
Permission is granted to copy, distribute and/or modify this document
|
Permission is granted to copy, distribute and/or modify this document
|
||||||
|
@ -356,25 +356,25 @@ disk. The number @samp{0} is the drive number, which is counted from
|
||||||
disk.
|
disk.
|
||||||
|
|
||||||
@example
|
@example
|
||||||
(hd0,1)
|
(hd0,2)
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
Here, @samp{hd} means it is a hard disk drive. The first integer
|
Here, @samp{hd} means it is a hard disk drive. The first integer
|
||||||
@samp{0} indicates the drive number, that is, the first hard disk, while
|
@samp{0} indicates the drive number, that is, the first hard disk, while
|
||||||
the second integer, @samp{1}, indicates the partition number (or the
|
the second integer, @samp{1}, indicates the partition number (or the
|
||||||
@sc{pc} slice number in the BSD terminology). Once again, please note
|
@sc{pc} slice number in the BSD terminology). The partition numbers are
|
||||||
that the partition numbers are counted from @emph{zero}, not from
|
counted from @emph{one}, not from zero (as was the case in previous
|
||||||
one. This expression means the second partition of the first hard disk
|
versions of GRUB). This expression means the second partition of the
|
||||||
drive. In this case, GRUB uses one partition of the disk, instead of the
|
first hard disk drive. In this case, GRUB uses one partition of the
|
||||||
whole disk.
|
disk, instead of the whole disk.
|
||||||
|
|
||||||
@example
|
@example
|
||||||
(hd0,4)
|
(hd0,5)
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
This specifies the first @dfn{extended partition} of the first hard disk
|
This specifies the first @dfn{extended partition} of the first hard disk
|
||||||
drive. Note that the partition numbers for extended partitions are
|
drive. Note that the partition numbers for extended partitions are
|
||||||
counted from @samp{4}, regardless of the actual number of primary
|
counted from @samp{5}, regardless of the actual number of primary
|
||||||
partitions on your hard disk.
|
partitions on your hard disk.
|
||||||
|
|
||||||
@example
|
@example
|
||||||
|
@ -383,13 +383,13 @@ partitions on your hard disk.
|
||||||
|
|
||||||
This means the BSD @samp{a} partition of the second hard disk. If you
|
This means the BSD @samp{a} partition of the second hard disk. If you
|
||||||
need to specify which @sc{pc} slice number should be used, use something
|
need to specify which @sc{pc} slice number should be used, use something
|
||||||
like this: @samp{(hd1,0,a)}. If the @sc{pc} slice number is omitted,
|
like this: @samp{(hd1,1,a)}. If the @sc{pc} slice number is omitted,
|
||||||
GRUB searches for the first @sc{pc} slice which has a BSD @samp{a}
|
GRUB searches for the first @sc{pc} slice which has a BSD @samp{a}
|
||||||
partition.
|
partition.
|
||||||
|
|
||||||
Of course, to actually access the disks or partitions with GRUB, you
|
Of course, to actually access the disks or partitions with GRUB, you
|
||||||
need to use the device specification in a command, like @samp{root
|
need to use the device specification in a command, like @samp{root
|
||||||
(fd0)} or @samp{unhide (hd0,2)}. To help you find out which number
|
(fd0)} or @samp{unhide (hd0,3)}. To help you find out which number
|
||||||
specifies a partition you want, the GRUB command-line
|
specifies a partition you want, the GRUB command-line
|
||||||
(@pxref{Command-line interface}) options have argument
|
(@pxref{Command-line interface}) options have argument
|
||||||
completion. This means that, for example, you only need to type
|
completion. This means that, for example, you only need to type
|
||||||
|
@ -413,7 +413,7 @@ Now the question is, how to specify a file? Again, consider an
|
||||||
example:
|
example:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
(hd0,0)/vmlinuz
|
(hd0,1)/vmlinuz
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
This specifies the file named @samp{vmlinuz}, found on the first
|
This specifies the file named @samp{vmlinuz}, found on the first
|
||||||
|
@ -550,7 +550,7 @@ which can cause compatibility problems.
|
||||||
For booting from a CD-ROM, GRUB uses a special Stage 2 called
|
For booting from a CD-ROM, GRUB uses a special Stage 2 called
|
||||||
@file{stage2_eltorito}. The only GRUB files you need to have in your
|
@file{stage2_eltorito}. The only GRUB files you need to have in your
|
||||||
bootable CD-ROM are this @file{stage2_eltorito} and optionally a config file
|
bootable CD-ROM are this @file{stage2_eltorito} and optionally a config file
|
||||||
@file{menu.lst}. You don't need to use @file{stage1} or @file{stage2},
|
@file{grub.cfg}. You don't need to use @file{stage1} or @file{stage2},
|
||||||
because El Torito is quite different from the standard boot process.
|
because El Torito is quite different from the standard boot process.
|
||||||
|
|
||||||
Here is an example of procedures to make a bootable CD-ROM
|
Here is an example of procedures to make a bootable CD-ROM
|
||||||
|
@ -573,7 +573,7 @@ Copy the file @file{stage2_eltorito}:
|
||||||
$ @kbd{cp /usr/lib/grub/i386-pc/stage2_eltorito iso/boot/grub}
|
$ @kbd{cp /usr/lib/grub/i386-pc/stage2_eltorito iso/boot/grub}
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
If desired, make the config file @file{menu.lst} under @file{iso/boot/grub}
|
If desired, make the config file @file{grub.cfg} under @file{iso/boot/grub}
|
||||||
(@pxref{Configuration}), and copy any files and directories for the disc to the
|
(@pxref{Configuration}), and copy any files and directories for the disc to the
|
||||||
directory @file{iso/}.
|
directory @file{iso/}.
|
||||||
|
|
||||||
|
@ -786,7 +786,7 @@ which is a BIOS drive number, so the following are equivalent:
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
@var{part-num} represents the partition number of @var{device}, starting
|
@var{part-num} represents the partition number of @var{device}, starting
|
||||||
from zero for primary partitions and from four for extended partitions,
|
from one for primary partitions and from five for extended partitions,
|
||||||
and @var{bsd-subpart-letter} represents the BSD disklabel subpartition,
|
and @var{bsd-subpart-letter} represents the BSD disklabel subpartition,
|
||||||
such as @samp{a} or @samp{e}.
|
such as @samp{a} or @samp{e}.
|
||||||
|
|
||||||
|
@ -800,7 +800,7 @@ finds the subpartition @var{bsd-subpart-letter}. Here is an example:
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
The syntax @samp{(hd0)} represents using the entire disk (or the
|
The syntax @samp{(hd0)} represents using the entire disk (or the
|
||||||
MBR when installing GRUB), while the syntax @samp{(hd0,0)}
|
MBR when installing GRUB), while the syntax @samp{(hd0,1)}
|
||||||
represents using the first partition of the disk (or the boot sector
|
represents using the first partition of the disk (or the boot sector
|
||||||
of the partition when installing GRUB).
|
of the partition when installing GRUB).
|
||||||
|
|
||||||
|
@ -820,12 +820,12 @@ There are two ways to specify files, by @dfn{absolute file name} and by
|
||||||
|
|
||||||
An absolute file name resembles a Unix absolute file name, using
|
An absolute file name resembles a Unix absolute file name, using
|
||||||
@samp{/} for the directory separator (not @samp{\} as in DOS). One
|
@samp{/} for the directory separator (not @samp{\} as in DOS). One
|
||||||
example is @samp{(hd0,0)/boot/grub/menu.lst}. This means the file
|
example is @samp{(hd0,1)/boot/grub/grub.cfg}. This means the file
|
||||||
@file{/boot/grub/menu.lst} in the first partition of the first hard
|
@file{/boot/grub/grub.cfg} in the first partition of the first hard
|
||||||
disk. If you omit the device name in an absolute file name, GRUB uses
|
disk. If you omit the device name in an absolute file name, GRUB uses
|
||||||
GRUB's @dfn{root device} implicitly. So if you set the root device to,
|
GRUB's @dfn{root device} implicitly. So if you set the root device to,
|
||||||
say, @samp{(hd1,0)} by the command @command{root} (@pxref{root}), then
|
say, @samp{(hd1,1)} by the command @command{root} (@pxref{root}), then
|
||||||
@code{/boot/kernel} is the same as @code{(hd1,0)/boot/kernel}.
|
@code{/boot/kernel} is the same as @code{(hd1,1)/boot/kernel}.
|
||||||
|
|
||||||
|
|
||||||
@node Block list syntax
|
@node Block list syntax
|
||||||
|
@ -846,8 +846,8 @@ the offset is zero.
|
||||||
|
|
||||||
Like the file name syntax (@pxref{File name syntax}), if a blocklist
|
Like the file name syntax (@pxref{File name syntax}), if a blocklist
|
||||||
does not contain a device name, then GRUB uses GRUB's @dfn{root
|
does not contain a device name, then GRUB uses GRUB's @dfn{root
|
||||||
device}. So @code{(hd0,1)+1} is the same as @code{+1} when the root
|
device}. So @code{(hd0,2)+1} is the same as @code{+1} when the root
|
||||||
device is @samp{(hd0,1)}.
|
device is @samp{(hd0,2)}.
|
||||||
|
|
||||||
|
|
||||||
@node Interface
|
@node Interface
|
||||||
|
@ -1110,17 +1110,56 @@ you forget a command, you can run the command @command{help}
|
||||||
(@pxref{help}).
|
(@pxref{help}).
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
|
* acpi:: Load ACPI tables
|
||||||
|
* blocklist:: Print a block list
|
||||||
* boot:: Start up your operating system
|
* boot:: Start up your operating system
|
||||||
* cat:: Show the contents of a file
|
* cat:: Show the contents of a file
|
||||||
* chainloader:: Chain-load another boot loader
|
* chainloader:: Chain-load another boot loader
|
||||||
* cmp:: Compare two files
|
* cmp:: Compare two files
|
||||||
* configfile:: Load a configuration file
|
* configfile:: Load a configuration file
|
||||||
|
* crc:: Calculate CRC32 checksums
|
||||||
|
* export:: Export an environment variable
|
||||||
* halt:: Shut down your computer
|
* halt:: Shut down your computer
|
||||||
* help:: Show help messages
|
* help:: Show help messages
|
||||||
|
* insmod:: Insert a module
|
||||||
|
* keystatus:: Check key modifier status
|
||||||
|
* ls:: List devices or files
|
||||||
* reboot:: Reboot your computer
|
* reboot:: Reboot your computer
|
||||||
|
* set:: Set an environment variable
|
||||||
|
* unset:: Unset an environment variable
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
|
|
||||||
|
@node acpi
|
||||||
|
@subsection acpi
|
||||||
|
|
||||||
|
@deffn Command acpi [@option{-1}|@option{-2}] @
|
||||||
|
[@option{--exclude=table1,@dots{}}|@option{--load-only=table1,@dots{}}] @
|
||||||
|
[@option{--oemid=id}] [@option{--oemtable=table}] @
|
||||||
|
[@option{--oemtablerev=rev}] [@option{--oemtablecreator=creator}] @
|
||||||
|
[@option{--oemtablecreatorrev=rev}] [@option{--no-ebda}] @
|
||||||
|
filename @dots{}
|
||||||
|
Modern BIOS systems normally implement the Advanced Configuration and Power
|
||||||
|
Interface (ACPI), and define various tables that describe the interface
|
||||||
|
between an ACPI-compliant operating system and the firmware. In some cases,
|
||||||
|
the tables provided by default only work well with certain operating
|
||||||
|
systems, and it may be necessary to replace some of them.
|
||||||
|
|
||||||
|
Normally, this command will replace the Root System Description Pointer
|
||||||
|
(RSDP) in the Extended BIOS Data Area to point to the new tables. If the
|
||||||
|
@option{--no-ebda} option is used, the new tables will be known only to
|
||||||
|
GRUB, but may be used by GRUB's EFI emulation.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
@node blocklist
|
||||||
|
@subsection blocklist
|
||||||
|
|
||||||
|
@deffn Command blocklist file
|
||||||
|
Print a block list (@pxref{Block list syntax}) for @var{file}.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
@node boot
|
@node boot
|
||||||
@subsection boot
|
@subsection boot
|
||||||
|
|
||||||
|
@ -1187,6 +1226,23 @@ Load @var{file} as a configuration file.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
@node crc
|
||||||
|
@subsection crc
|
||||||
|
|
||||||
|
@deffn Command crc file
|
||||||
|
Display the CRC32 checksum of @var{file}.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
@node export
|
||||||
|
@subsection export
|
||||||
|
|
||||||
|
@deffn Command export envvar
|
||||||
|
Export the environment variable @var{envvar}. Exported variables are visible
|
||||||
|
to subsidiary configuration files loaded using @command{configfile}.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
@node halt
|
@node halt
|
||||||
@subsection halt
|
@subsection halt
|
||||||
|
|
||||||
|
@ -1212,6 +1268,44 @@ about each of the commands which match those @var{patterns}.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
@node insmod
|
||||||
|
@subsection insmod
|
||||||
|
|
||||||
|
@deffn Command insmod module
|
||||||
|
Insert the dynamic GRUB module called @var{module}.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
@node keystatus
|
||||||
|
@subsection keystatus
|
||||||
|
|
||||||
|
@deffn Command keystatus [@option{--shift}] [@option{--ctrl}] [@option{--alt}]
|
||||||
|
Return true if the Shift, Control, or Alt modifier keys are held down, as
|
||||||
|
requested by options. This is useful in scripting, to allow some user
|
||||||
|
control over behaviour without having to wait for a keypress.
|
||||||
|
|
||||||
|
Checking key modifier status is only supported on some platforms. If invoked
|
||||||
|
without any options, the @command{keystatus} command returns true if and
|
||||||
|
only if checking key modifier status is supported.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
@node ls
|
||||||
|
@subsection ls
|
||||||
|
|
||||||
|
@deffn Command ls [arg]
|
||||||
|
List devices or files.
|
||||||
|
|
||||||
|
With no arguments, print all devices known to GRUB.
|
||||||
|
|
||||||
|
If the argument is a device name enclosed in parentheses (@pxref{Device
|
||||||
|
syntax}), then list all files at the root directory of that device.
|
||||||
|
|
||||||
|
If the argument is a directory given as an absolute file name (@pxref{File
|
||||||
|
name syntax}), then list the contents of that directory.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
@node reboot
|
@node reboot
|
||||||
@subsection reboot
|
@subsection reboot
|
||||||
|
|
||||||
|
@ -1220,6 +1314,23 @@ Reboot the computer.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
@node set
|
||||||
|
@subsection set
|
||||||
|
|
||||||
|
@deffn Command set [envvar=value]
|
||||||
|
Set the environment variable @var{envvar} to @var{value}. If invoked with no
|
||||||
|
arguments, print all environment variables with their values.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
|
@node unset
|
||||||
|
@subsection unset
|
||||||
|
|
||||||
|
@deffn Command unset envvar
|
||||||
|
Unset the environment variable @var{envvar}.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
|
|
||||||
@node Invoking grub-install
|
@node Invoking grub-install
|
||||||
@chapter Invoking grub-install
|
@chapter Invoking grub-install
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue