mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-21 19:42:24 +01:00
056131c490
Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
2557 lines
99 KiB
Text
2557 lines
99 KiB
Text
This is docs/grub.info, produced by makeinfo version 4.13 from
|
||
docs/grub.texi.
|
||
|
||
This manual is for GNU GRUB (version 1.98, 2 June 2010).
|
||
|
||
Copyright (C) 1999,2000,2001,2002,2004,2006,2008,2009,2010 Free
|
||
Software Foundation, Inc.
|
||
|
||
Permission is granted to copy, distribute and/or modify this
|
||
document under the terms of the GNU Free Documentation License,
|
||
Version 1.2 or any later version published by the Free Software
|
||
Foundation; with no Invariant Sections.
|
||
|
||
INFO-DIR-SECTION Kernel
|
||
START-INFO-DIR-ENTRY
|
||
* GRUB: (grub). The GRand Unified Bootloader
|
||
* grub-install: (grub)Invoking grub-install. Install GRUB on your drive
|
||
* grub-mkconfig: (grub)Invoking grub-mkconfig. Generate GRUB configuration
|
||
END-INFO-DIR-ENTRY
|
||
|
||
|
||
File: grub.info, Node: Top, Next: Introduction, Up: (dir)
|
||
|
||
GNU GRUB manual
|
||
***************
|
||
|
||
This is the documentation of GNU GRUB, the GRand Unified Bootloader, a
|
||
flexible and powerful boot loader program for a wide range of
|
||
architectures.
|
||
|
||
This edition documents version 1.98.
|
||
|
||
This manual is for GNU GRUB (version 1.98, 2 June 2010).
|
||
|
||
Copyright (C) 1999,2000,2001,2002,2004,2006,2008,2009,2010 Free
|
||
Software Foundation, Inc.
|
||
|
||
Permission is granted to copy, distribute and/or modify this
|
||
document under the terms of the GNU Free Documentation License,
|
||
Version 1.2 or any later version published by the Free Software
|
||
Foundation; with no Invariant Sections.
|
||
|
||
* Menu:
|
||
|
||
* Introduction:: Capturing the spirit of GRUB
|
||
* Naming convention:: Names of your drives in GRUB
|
||
* Installation:: Installing GRUB on your drive
|
||
* Booting:: How to boot different operating systems
|
||
* Configuration:: Writing your own configuration file
|
||
* Network:: Downloading OS images from a network
|
||
* Serial terminal:: Using GRUB via a serial line
|
||
* Vendor power-on keys:: Changing GRUB behaviour on vendor power-on keys
|
||
* Preset Menu:: Embedding a configuration file into GRUB
|
||
* Images:: GRUB image files
|
||
* Filesystem:: Filesystem syntax and semantics
|
||
* Interface:: The menu and the command-line
|
||
* Commands:: The list of available builtin commands
|
||
* Troubleshooting:: Error messages produced by GRUB
|
||
* Invoking grub-install:: How to use the GRUB installer
|
||
* Invoking grub-mkconfig:: Generate a GRUB configuration file
|
||
* Obtaining and Building GRUB:: How to obtain and build GRUB
|
||
* Reporting bugs:: Where you should send a bug report
|
||
* Future:: Some future plans on GRUB
|
||
* Internals:: Hacking GRUB
|
||
* Copying This Manual:: Copying This Manual
|
||
* Index::
|
||
|
||
|
||
File: grub.info, Node: Introduction, Next: Naming convention, Prev: Top, Up: Top
|
||
|
||
1 Introduction to GRUB
|
||
**********************
|
||
|
||
* Menu:
|
||
|
||
* Overview:: What exactly GRUB is and how to use it
|
||
* History:: From maggot to house fly
|
||
* Features:: GRUB features
|
||
* Role of a boot loader:: The role of a boot loader
|
||
|
||
|
||
File: grub.info, Node: Overview, Next: History, Up: Introduction
|
||
|
||
1.1 Overview
|
||
============
|
||
|
||
Briefly, a "boot loader" is the first software program that runs when a
|
||
computer starts. It is responsible for loading and transferring
|
||
control to an operating system "kernel" software (such as Linux or GNU
|
||
Mach). The kernel, in turn, initializes the rest of the operating
|
||
system (e.g. a GNU system).
|
||
|
||
GNU GRUB is a very powerful boot loader, which can load a wide
|
||
variety of free operating systems, as well as proprietary operating
|
||
systems with chain-loading(1) (*note Overview-Footnote-1::). GRUB is
|
||
designed to address the complexity of booting a personal computer; both
|
||
the program and this manual are tightly bound to that computer platform,
|
||
although porting to other platforms may be addressed in the future.
|
||
|
||
One of the important features in GRUB is flexibility; GRUB
|
||
understands filesystems and kernel executable formats, so you can load
|
||
an arbitrary operating system the way you like, without recording the
|
||
physical position of your kernel on the disk. Thus you can load the
|
||
kernel just by specifying its file name and the drive and partition
|
||
where the kernel resides.
|
||
|
||
When booting with GRUB, you can use either a command-line interface
|
||
(*note Command-line interface::), or a menu interface (*note Menu
|
||
interface::). Using the command-line interface, you type the drive
|
||
specification and file name of the kernel manually. In the menu
|
||
interface, you just select an OS using the arrow keys. The menu is
|
||
based on a configuration file which you prepare beforehand (*note
|
||
Configuration::). While in the menu, you can switch to the command-line
|
||
mode, and vice-versa. You can even edit menu entries before using them.
|
||
|
||
In the following chapters, you will learn how to specify a drive, a
|
||
partition, and a file name (*note Naming convention::) to GRUB, how to
|
||
install GRUB on your drive (*note Installation::), and how to boot your
|
||
OSes (*note Booting::), step by step.
|
||
|
||
|
||
File: grub.info, Node: Overview-Footnotes, Up: Overview
|
||
|
||
(1) "chain-load" is the mechanism for loading unsupported operating
|
||
systems by loading another boot loader. It is typically used for
|
||
loading DOS or Windows.
|
||
|
||
|
||
File: grub.info, Node: History, Next: Features, Prev: Overview, Up: Introduction
|
||
|
||
1.2 History of GRUB
|
||
===================
|
||
|
||
GRUB originated in 1995 when Erich Boleyn was trying to boot the GNU
|
||
Hurd with the University of Utah's Mach 4 microkernel (now known as GNU
|
||
Mach). Erich and Brian Ford designed the Multiboot Specification
|
||
(*note Multiboot Specification: (multiboot)Top.), because they were
|
||
determined not to add to the large number of mutually-incompatible PC
|
||
boot methods.
|
||
|
||
Erich then began modifying the FreeBSD boot loader so that it would
|
||
understand Multiboot. He soon realized that it would be a lot easier to
|
||
write his own boot loader from scratch than to keep working on the
|
||
FreeBSD boot loader, and so GRUB was born.
|
||
|
||
Erich added many features to GRUB, but other priorities prevented him
|
||
from keeping up with the demands of its quickly-expanding user base. In
|
||
1999, Gordon Matzigkeit and Yoshinori K. Okuji adopted GRUB as an
|
||
official GNU package, and opened its development by making the latest
|
||
sources available via anonymous CVS. *Note Obtaining and Building
|
||
GRUB::, for more information.
|
||
|
||
|
||
File: grub.info, Node: Features, Next: Role of a boot loader, Prev: History, Up: Introduction
|
||
|
||
1.3 GRUB features
|
||
=================
|
||
|
||
The primary requirement for GRUB is that it be compliant with the
|
||
"Multiboot Specification", which is described in *note Multiboot
|
||
Specification: (multiboot)Top.
|
||
|
||
The other goals, listed in approximate order of importance, are:
|
||
|
||
* Basic functions must be straightforward for end-users.
|
||
|
||
* Rich functionality to support kernel experts and designers.
|
||
|
||
* Backward compatibility for booting FreeBSD, NetBSD, OpenBSD, and
|
||
Linux. Proprietary kernels (such as DOS, Windows NT, and OS/2) are
|
||
supported via a chain-loading function.
|
||
|
||
Except for specific compatibility modes (chain-loading and the Linux
|
||
"piggyback" format), all kernels will be started in much the same state
|
||
as in the Multiboot Specification. Only kernels loaded at 1 megabyte or
|
||
above are presently supported. Any attempt to load below that boundary
|
||
will simply result in immediate failure and an error message reporting
|
||
the problem.
|
||
|
||
In addition to the requirements above, GRUB has the following
|
||
features (note that the Multiboot Specification doesn't require all the
|
||
features that GRUB supports):
|
||
|
||
Recognize multiple executable formats
|
||
Support many of the "a.out" variants plus "ELF". Symbol tables are
|
||
also loaded.
|
||
|
||
Support non-Multiboot kernels
|
||
Support many of the various free 32-bit kernels that lack Multiboot
|
||
compliance (primarily FreeBSD, NetBSD, OpenBSD, and Linux).
|
||
Chain-loading of other boot loaders is also supported.
|
||
|
||
Load multiples modules
|
||
Fully support the Multiboot feature of loading multiple modules.
|
||
|
||
Load a configuration file
|
||
Support a human-readable text configuration file with preset boot
|
||
commands. You can also load another configuration file dynamically
|
||
and embed a preset configuration file in a GRUB image file. The
|
||
list of commands (*note Commands::) are a superset of those
|
||
supported on the command-line. An example configuration file is
|
||
provided in *note Configuration::.
|
||
|
||
Provide a menu interface
|
||
A menu interface listing preset boot commands, with a programmable
|
||
timeout, is available. There is no fixed limit on the number of
|
||
boot entries, and the current implementation has space for several
|
||
hundred.
|
||
|
||
Have a flexible command-line interface
|
||
A fairly flexible command-line interface, accessible from the menu,
|
||
is available to edit any preset commands, or write a new boot
|
||
command set from scratch. If no configuration file is present,
|
||
GRUB drops to the command-line.
|
||
|
||
The list of commands (*note Commands::) are a subset of those
|
||
supported for configuration files. Editing commands closely
|
||
resembles the Bash command-line (*note Bash: (features)Command
|
||
Line Editing.), with <TAB>-completion of commands, devices,
|
||
partitions, and files in a directory depending on context.
|
||
|
||
Support multiple filesystem types
|
||
Support multiple filesystem types transparently, plus a useful
|
||
explicit blocklist notation. The currently supported filesystem
|
||
types are "BSD FFS", "DOS FAT16 and FAT32", "Minix fs", "Linux
|
||
ext2fs", "ReiserFS", "JFS", "XFS", and "VSTa fs". *Note
|
||
Filesystem::, for more information.
|
||
|
||
Support automatic decompression
|
||
Can decompress files which were compressed by `gzip'. This
|
||
function is both automatic and transparent to the user (i.e. all
|
||
functions operate upon the uncompressed contents of the specified
|
||
files). This greatly reduces a file size and loading time, a
|
||
particularly great benefit for floppies.(1) (*note
|
||
Features-Footnote-1::)
|
||
|
||
It is conceivable that some kernel modules should be loaded in a
|
||
compressed state, so a different module-loading command can be
|
||
specified to avoid uncompressing the modules.
|
||
|
||
Access data on any installed device
|
||
Support reading data from any or all floppies or hard disk(s)
|
||
recognized by the BIOS, independent of the setting of the root
|
||
device.
|
||
|
||
Be independent of drive geometry translations
|
||
Unlike many other boot loaders, GRUB makes the particular drive
|
||
translation irrelevant. A drive installed and running with one
|
||
translation may be converted to another translation without any
|
||
adverse effects or changes in GRUB's configuration.
|
||
|
||
Detect all installed RAM
|
||
GRUB can generally find all the installed RAM on a PC-compatible
|
||
machine. It uses an advanced BIOS query technique for finding all
|
||
memory regions. As described on the Multiboot Specification (*note
|
||
Multiboot Specification: (multiboot)Top.), not all kernels make
|
||
use of this information, but GRUB provides it for those who do.
|
||
|
||
Support Logical Block Address mode
|
||
In traditional disk calls (called "CHS mode"), there is a geometry
|
||
translation problem, that is, the BIOS cannot access over 1024
|
||
cylinders, so the accessible space is limited to at least 508 MB
|
||
and to at most 8GB. GRUB can't universally solve this problem, as
|
||
there is no standard interface used in all machines. However,
|
||
several newer machines have the new interface, Logical Block
|
||
Address ("LBA") mode. GRUB automatically detects if LBA mode is
|
||
available and uses it if available. In LBA mode, GRUB can access
|
||
the entire disk.
|
||
|
||
Support network booting
|
||
GRUB is basically a disk-based boot loader but also has network
|
||
support. You can load OS images from a network by using the "TFTP"
|
||
protocol.
|
||
|
||
Support remote terminals
|
||
To support computers with no console, GRUB provides remote terminal
|
||
support, so that you can control GRUB from a remote host. Only
|
||
serial terminal support is implemented at the moment.
|
||
|
||
|
||
File: grub.info, Node: Features-Footnotes, Up: Features
|
||
|
||
(1) There are a few pathological cases where loading a very badly
|
||
organized ELF kernel might take longer, but in practice this never
|
||
happen.
|
||
|
||
|
||
File: grub.info, Node: Role of a boot loader, Prev: Features, Up: Introduction
|
||
|
||
1.4 The role of a boot loader
|
||
=============================
|
||
|
||
The following is a quotation from Gordon Matzigkeit, a GRUB fanatic:
|
||
|
||
Some people like to acknowledge both the operating system and
|
||
kernel when they talk about their computers, so they might say
|
||
they use "GNU/Linux" or "GNU/Hurd". Other people seem to think
|
||
that the kernel is the most important part of the system, so they
|
||
like to call their GNU operating systems "Linux systems."
|
||
|
||
I, personally, believe that this is a grave injustice, because the
|
||
_boot loader_ is the most important software of all. I used to
|
||
refer to the above systems as either "LILO"(1) (*note Role of a
|
||
boot loader-Footnote-1::) or "GRUB" systems.
|
||
|
||
Unfortunately, nobody ever understood what I was talking about;
|
||
now I just use the word "GNU" as a pseudonym for GRUB.
|
||
|
||
So, if you ever hear people talking about their alleged "GNU"
|
||
systems, remember that they are actually paying homage to the best
|
||
boot loader around... GRUB!
|
||
|
||
We, the GRUB maintainers, do not (usually) encourage Gordon's level
|
||
of fanaticism, but it helps to remember that boot loaders deserve
|
||
recognition. We hope that you enjoy using GNU GRUB as much as we did
|
||
writing it.
|
||
|
||
|
||
File: grub.info, Node: Role of a boot loader-Footnotes, Up: Role of a boot loader
|
||
|
||
(1) The LInux LOader, a boot loader that everybody uses, but nobody
|
||
likes.
|
||
|
||
|
||
File: grub.info, Node: Naming convention, Next: Installation, Prev: Introduction, Up: Top
|
||
|
||
2 Naming convention
|
||
*******************
|
||
|
||
The device syntax used in GRUB is a wee bit different from what you may
|
||
have seen before in your operating system(s), and you need to know it so
|
||
that you can specify a drive/partition.
|
||
|
||
Look at the following examples and explanations:
|
||
|
||
(fd0)
|
||
|
||
First of all, GRUB requires that the device name be enclosed with
|
||
`(' and `)'. The `fd' part means that it is a floppy disk. The number
|
||
`0' is the drive number, which is counted from _zero_. This expression
|
||
means that GRUB will use the whole floppy disk.
|
||
|
||
(hd0,2)
|
||
|
||
Here, `hd' means it is a hard disk drive. The first integer `0'
|
||
indicates the drive number, that is, the first hard disk, while the
|
||
second integer, `1', indicates the partition number (or the PC slice
|
||
number in the BSD terminology). The partition numbers are counted from
|
||
_one_, not from zero (as was the case in previous versions of GRUB).
|
||
This expression means the second partition of the first hard disk
|
||
drive. In this case, GRUB uses one partition of the disk, instead of
|
||
the whole disk.
|
||
|
||
(hd0,5)
|
||
|
||
This specifies the first "extended partition" of the first hard disk
|
||
drive. Note that the partition numbers for extended partitions are
|
||
counted from `5', regardless of the actual number of primary partitions
|
||
on your hard disk.
|
||
|
||
(hd1,a)
|
||
|
||
This means the BSD `a' partition of the second hard disk. If you
|
||
need to specify which PC slice number should be used, use something
|
||
like this: `(hd1,1,a)'. If the PC slice number is omitted, GRUB
|
||
searches for the first PC slice which has a BSD `a' partition.
|
||
|
||
Of course, to actually access the disks or partitions with GRUB, you
|
||
need to use the device specification in a command, like `root (fd0)' or
|
||
`unhide (hd0,3)'. To help you find out which number specifies a
|
||
partition you want, the GRUB command-line (*note Command-line
|
||
interface::) options have argument completion. This means that, for
|
||
example, you only need to type
|
||
|
||
root (
|
||
|
||
followed by a <TAB>, and GRUB will display the list of drives,
|
||
partitions, or file names. So it should be quite easy to determine the
|
||
name of your target partition, even with minimal knowledge of the
|
||
syntax.
|
||
|
||
Note that GRUB does _not_ distinguish IDE from SCSI - it simply
|
||
counts the drive numbers from zero, regardless of their type. Normally,
|
||
any IDE drive number is less than any SCSI drive number, although that
|
||
is not true if you change the boot sequence by swapping IDE and SCSI
|
||
drives in your BIOS.
|
||
|
||
Now the question is, how to specify a file? Again, consider an
|
||
example:
|
||
|
||
(hd0,1)/vmlinuz
|
||
|
||
This specifies the file named `vmlinuz', found on the first
|
||
partition of the first hard disk drive. Note that the argument
|
||
completion works with file names, too.
|
||
|
||
That was easy, admit it. Now read the next chapter, to find out how
|
||
to actually install GRUB on your drive.
|
||
|
||
|
||
File: grub.info, Node: Installation, Next: Booting, Prev: Naming convention, Up: Top
|
||
|
||
3 Installation
|
||
**************
|
||
|
||
In order to install GRUB as your boot loader, you need to first install
|
||
the GRUB system and utilities under your UNIX-like operating system
|
||
(*note Obtaining and Building GRUB::). You can do this either from the
|
||
source tarball, or as a package for your OS.
|
||
|
||
After you have done that, you need to install the boot loader on a
|
||
drive (floppy or hard disk). There are two ways of doing that - either
|
||
using the utility `grub-install' (*note Invoking grub-install::) on a
|
||
UNIX-like OS, or by running GRUB itself from a floppy. These are quite
|
||
similar, however the utility might probe a wrong BIOS drive, so you
|
||
should be careful.
|
||
|
||
Also, if you install GRUB on a UNIX-like OS, please make sure that
|
||
you have an emergency boot disk ready, so that you can rescue your
|
||
computer if, by any chance, your hard drive becomes unusable
|
||
(unbootable).
|
||
|
||
GRUB comes with boot images, which are normally put in the directory
|
||
`/usr/lib/grub/i386-pc'. Hereafter, the directory where GRUB images are
|
||
initially placed (normally `/usr/lib/grub/i386-pc') will be called the
|
||
"image directory", and the directory where the boot loader needs to
|
||
find them (usually `/boot/grub') will be called the "boot directory".
|
||
|
||
* Menu:
|
||
|
||
* Installing GRUB using grub-install::
|
||
* Making a GRUB bootable CD-ROM::
|
||
|
||
|
||
File: grub.info, Node: Installing GRUB using grub-install, Next: Making a GRUB bootable CD-ROM, Up: Installation
|
||
|
||
3.1 Installing GRUB using grub-install
|
||
======================================
|
||
|
||
*Caution:* This procedure is definitely less safe, because there are
|
||
several ways in which your computer can become unbootable. For example,
|
||
most operating systems don't tell GRUB how to map BIOS drives to OS
|
||
devices correctly--GRUB merely "guesses" the mapping. This will succeed
|
||
in most cases, but not always. Therefore, GRUB provides you with a map
|
||
file called the "device map", which you must fix if it is wrong. *Note
|
||
Device map::, for more details.
|
||
|
||
If you still do want to install GRUB under a UNIX-like OS (such as
|
||
GNU), invoke the program `grub-install' (*note Invoking grub-install::)
|
||
as the superuser ("root").
|
||
|
||
The usage is basically very simple. You only need to specify one
|
||
argument to the program, namely, where to install the boot loader. The
|
||
argument can be either a device file (like `/dev/hda') or a partition
|
||
specified in GRUB's notation. For example, under Linux the following
|
||
will install GRUB into the MBR of the first IDE disk:
|
||
|
||
# grub-install /dev/hda
|
||
|
||
Likewise, under GNU/Hurd, this has the same effect:
|
||
|
||
# grub-install /dev/hd0
|
||
|
||
If it is the first BIOS drive, this is the same as well:
|
||
|
||
# grub-install '(hd0)'
|
||
|
||
Or you can omit the parentheses:
|
||
|
||
# grub-install hd0
|
||
|
||
But all the above examples assume that GRUB should use images under
|
||
the root directory. If you want GRUB to use images under a directory
|
||
other than the root directory, you need to specify the option
|
||
`--root-directory'. The typical usage is that you create a GRUB boot
|
||
floppy with a filesystem. Here is an example:
|
||
|
||
# mke2fs /dev/fd0
|
||
# mount -t ext2 /dev/fd0 /mnt
|
||
# grub-install --root-directory=/mnt fd0
|
||
# umount /mnt
|
||
|
||
Another example is when you have a separate boot partition which is
|
||
mounted at `/boot'. Since GRUB is a boot loader, it doesn't know
|
||
anything about mountpoints at all. Thus, you need to run `grub-install'
|
||
like this:
|
||
|
||
# grub-install --root-directory=/boot /dev/hda
|
||
|
||
By the way, as noted above, it is quite difficult to guess BIOS
|
||
drives correctly under a UNIX-like OS. Thus, `grub-install' will prompt
|
||
you to check if it could really guess the correct mappings, after the
|
||
installation. The format is defined in *note Device map::. Please be
|
||
quite careful. If the output is wrong, it is unlikely that your
|
||
computer will be able to boot with no problem.
|
||
|
||
Note that `grub-install' is actually just a shell script and the
|
||
real task is done by `grub-mkimage' and `grub-setup'. Therefore, you
|
||
may run those commands directly to install GRUB, without using
|
||
`grub-install'. Don't do that, however, unless you are very familiar
|
||
with the internals of GRUB. Installing a boot loader on a running OS
|
||
may be extremely dangerous.
|
||
|
||
|
||
File: grub.info, Node: Making a GRUB bootable CD-ROM, Prev: Installing GRUB using grub-install, Up: Installation
|
||
|
||
3.2 Making a GRUB bootable CD-ROM
|
||
=================================
|
||
|
||
GRUB supports the "no emulation mode" in the El Torito specification(1)
|
||
(*note Making a GRUB bootable CD-ROM-Footnote-1::). This means that you
|
||
can use the whole CD-ROM from GRUB and you don't have to make a floppy
|
||
or hard disk image file, which can cause compatibility problems.
|
||
|
||
For booting from a CD-ROM, GRUB uses a special Stage 2 called
|
||
`stage2_eltorito'. The only GRUB files you need to have in your
|
||
bootable CD-ROM are this `stage2_eltorito' and optionally a config file
|
||
`grub.cfg'. You don't need to use `stage1' or `stage2', because El
|
||
Torito is quite different from the standard boot process.
|
||
|
||
Here is an example of procedures to make a bootable CD-ROM image.
|
||
First, make a top directory for the bootable image, say, `iso':
|
||
|
||
$ mkdir iso
|
||
|
||
Make a directory for GRUB:
|
||
|
||
$ mkdir -p iso/boot/grub
|
||
|
||
Copy the file `stage2_eltorito':
|
||
|
||
$ cp /usr/lib/grub/i386-pc/stage2_eltorito iso/boot/grub
|
||
|
||
If desired, make the config file `grub.cfg' under `iso/boot/grub'
|
||
(*note Configuration::), and copy any files and directories for the
|
||
disc to the directory `iso/'.
|
||
|
||
Finally, make a ISO9660 image file like this:
|
||
|
||
$ mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \
|
||
-boot-load-size 4 -boot-info-table -o grub.iso iso
|
||
|
||
This produces a file named `grub.iso', which then can be burned into
|
||
a CD (or a DVD). `mkisofs' has already set up the disc to boot from
|
||
the `boot/grub/stage2_eltorito' file, so there is no need to setup GRUB
|
||
on the disc. (Note that the `-boot-load-size 4' bit is required for
|
||
compatibility with the BIOS on many older machines.)
|
||
|
||
You can use the device `(cd)' to access a CD-ROM in your config
|
||
file. This is not required; GRUB automatically sets the root device to
|
||
`(cd)' when booted from a CD-ROM. It is only necessary to refer to
|
||
`(cd)' if you want to access other drives as well.
|
||
|
||
|
||
File: grub.info, Node: Making a GRUB bootable CD-ROM-Footnotes, Up: Making a GRUB bootable CD-ROM
|
||
|
||
(1) El Torito is a specification for bootable CD using BIOS
|
||
functions.
|
||
|
||
|
||
File: grub.info, Node: Booting, Next: Configuration, Prev: Installation, Up: Top
|
||
|
||
4 Booting
|
||
*********
|
||
|
||
GRUB can load Multiboot-compliant kernels in a consistent way, but for
|
||
some free operating systems you need to use some OS-specific magic.
|
||
|
||
* Menu:
|
||
|
||
* General boot methods:: How to boot OSes with GRUB generally
|
||
* OS-specific notes:: Notes on some operating systems
|
||
|
||
|
||
File: grub.info, Node: General boot methods, Next: OS-specific notes, Up: Booting
|
||
|
||
4.1 How to boot operating systems
|
||
=================================
|
||
|
||
GRUB has two distinct boot methods. One of the two is to load an
|
||
operating system directly, and the other is to chain-load another boot
|
||
loader which then will load an operating system actually. Generally
|
||
speaking, the former is more desirable, because you don't need to
|
||
install or maintain other boot loaders and GRUB is flexible enough to
|
||
load an operating system from an arbitrary disk/partition. However, the
|
||
latter is sometimes required, since GRUB doesn't support all the
|
||
existing operating systems natively.
|
||
|
||
* Menu:
|
||
|
||
* Loading an operating system directly::
|
||
* Chain-loading::
|
||
|
||
|
||
File: grub.info, Node: Loading an operating system directly, Next: Chain-loading, Up: General boot methods
|
||
|
||
4.1.1 How to boot an OS directly with GRUB
|
||
------------------------------------------
|
||
|
||
Multiboot (*note Multiboot Specification: (multiboot)Top.) is the
|
||
native format supported by GRUB. For the sake of convenience, there is
|
||
also support for Linux, FreeBSD, NetBSD and OpenBSD. If you want to
|
||
boot other operating systems, you will have to chain-load them (*note
|
||
Chain-loading::).
|
||
|
||
FIXME: this section is incomplete.
|
||
|
||
1. Run the command `boot' (*note boot::).
|
||
|
||
However, DOS and Windows have some deficiencies, so you might have to
|
||
use more complicated instructions. *Note DOS/Windows::, for more
|
||
information.
|
||
|
||
|
||
File: grub.info, Node: Chain-loading, Prev: Loading an operating system directly, Up: General boot methods
|
||
|
||
4.1.2 Chain-loading an OS
|
||
-------------------------
|
||
|
||
Operating systems that do not support Multiboot and do not have specific
|
||
support in GRUB (specific support is available for Linux, FreeBSD,
|
||
NetBSD and OpenBSD) must be chain-loaded, which involves loading
|
||
another boot loader and jumping to it in real mode.
|
||
|
||
The `chainloader' command (*note chainloader::) is used to set this
|
||
up. It is normally also necessary to load some GRUB modules and set the
|
||
appropriate root device. Putting this together, we get something like
|
||
this, for a Windows system on the first partition of the first hard
|
||
disk:
|
||
|
||
menuentry "Windows" {
|
||
insmod chain
|
||
insmod ntfs
|
||
set root=(hd0,1)
|
||
chainloader +1
|
||
}
|
||
|
||
On systems with multiple hard disks, an additional workaround may be
|
||
required. *Note DOS/Windows::.
|
||
|
||
Chain-loading is only supported on PC BIOS and EFI platforms.
|
||
|
||
|
||
File: grub.info, Node: OS-specific notes, Prev: General boot methods, Up: Booting
|
||
|
||
4.2 Some caveats on OS-specific issues
|
||
======================================
|
||
|
||
Here, we describe some caveats on several operating systems.
|
||
|
||
* Menu:
|
||
|
||
* GNU/Hurd::
|
||
* GNU/Linux::
|
||
* DOS/Windows::
|
||
* SCO UnixWare::
|
||
* QNX::
|
||
|
||
|
||
File: grub.info, Node: GNU/Hurd, Next: GNU/Linux, Up: OS-specific notes
|
||
|
||
4.2.1 GNU/Hurd
|
||
--------------
|
||
|
||
Since GNU/Hurd is Multiboot-compliant, it is easy to boot it; there is
|
||
nothing special about it. But do not forget that you have to specify a
|
||
root partition to the kernel.
|
||
|
||
FIXME: this section is incomplete.
|
||
|
||
1. Run the command `boot' (*note boot::).
|
||
|
||
|
||
File: grub.info, Node: GNU/Linux, Next: DOS/Windows, Prev: GNU/Hurd, Up: OS-specific notes
|
||
|
||
4.2.2 GNU/Linux
|
||
---------------
|
||
|
||
It is relatively easy to boot GNU/Linux from GRUB, because it somewhat
|
||
resembles to boot a Multiboot-compliant OS.
|
||
|
||
FIXME: this section is incomplete.
|
||
|
||
1. Set GRUB's root device to the same drive as GNU/Linux's.
|
||
|
||
2. Finally, run the command `boot' (*note boot::).
|
||
|
||
*Caution:* If you use an initrd and specify the `mem=' option to the
|
||
kernel to let it use less than actual memory size, you will also have
|
||
to specify the same memory size to GRUB. To let GRUB know the size, run
|
||
the command `uppermem' _before_ loading the kernel. *Note uppermem::,
|
||
for more information.
|
||
|
||
|
||
File: grub.info, Node: DOS/Windows, Next: SCO UnixWare, Prev: GNU/Linux, Up: OS-specific notes
|
||
|
||
4.2.3 DOS/Windows
|
||
-----------------
|
||
|
||
GRUB cannot boot DOS or Windows directly, so you must chain-load them
|
||
(*note Chain-loading::). However, their boot loaders have some critical
|
||
deficiencies, so it may not work to just chain-load them. To overcome
|
||
the problems, GRUB provides you with a helper function.
|
||
|
||
If you have installed DOS (or Windows) on a non-first hard disk, you
|
||
have to use the disk swapping technique, because that OS cannot boot
|
||
from any disks but the first one. The workaround used in GRUB is the
|
||
command `drivemap' (*note drivemap::), like this:
|
||
|
||
drivemap -s (hd0) (hd1)
|
||
|
||
This performs a "virtual" swap between your first and second hard
|
||
drive.
|
||
|
||
*Caution:* This is effective only if DOS (or Windows) uses BIOS to
|
||
access the swapped disks. If that OS uses a special driver for the
|
||
disks, this probably won't work.
|
||
|
||
Another problem arises if you installed more than one set of
|
||
DOS/Windows onto one disk, because they could be confused if there are
|
||
more than one primary partitions for DOS/Windows. Certainly you should
|
||
avoid doing this, but there is a solution if you do want to do so. Use
|
||
the partition hiding/unhiding technique.
|
||
|
||
If GRUB "hides" a DOS (or Windows) partition (*note parttool::), DOS
|
||
(or Windows) will ignore the partition. If GRUB "unhides" a DOS (or
|
||
Windows) partition, DOS (or Windows) will detect the partition. Thus,
|
||
if you have installed DOS (or Windows) on the first and the second
|
||
partition of the first hard disk, and you want to boot the copy on the
|
||
first partition, do the following:
|
||
|
||
parttool (hd0,1) hidden-
|
||
parttool (hd0,2) hidden+
|
||
set root=(hd0,1)
|
||
chainloader +1
|
||
parttool ${root} boot+
|
||
boot
|
||
|
||
|
||
File: grub.info, Node: SCO UnixWare, Next: QNX, Prev: DOS/Windows, Up: OS-specific notes
|
||
|
||
4.2.4 SCO UnixWare
|
||
------------------
|
||
|
||
It is known that the signature in the boot loader for SCO UnixWare is
|
||
wrong, so you will have to specify the option `--force' to
|
||
`chainloader' (*note chainloader::), like this:
|
||
|
||
set root=(hd1,1)
|
||
chainloader --force +1
|
||
parttool ${root} boot+
|
||
boot
|
||
|
||
|
||
File: grub.info, Node: QNX, Prev: SCO UnixWare, Up: OS-specific notes
|
||
|
||
4.2.5 QNX
|
||
---------
|
||
|
||
QNX seems to use a bigger boot loader, so you need to boot it up, like
|
||
this:
|
||
|
||
set root=(hd1,2)
|
||
chainloader +4
|
||
boot
|
||
|
||
|
||
File: grub.info, Node: Configuration, Next: Network, Prev: Booting, Up: Top
|
||
|
||
5 Writing your own configuration file
|
||
*************************************
|
||
|
||
GRUB is configured using `grub.cfg', usually located under
|
||
`/boot/grub'. This file is quite flexible, but most users will not
|
||
need to write the whole thing by hand.
|
||
|
||
* Menu:
|
||
|
||
* Simple configuration:: Recommended for most users
|
||
* Shell-like scripting:: For power users and developers
|
||
|
||
|
||
File: grub.info, Node: Simple configuration, Next: Shell-like scripting, Up: Configuration
|
||
|
||
5.1 Simple configuration handling
|
||
=================================
|
||
|
||
The program `grub-mkconfig' (*note Invoking grub-mkconfig::) generates
|
||
`grub.cfg' files suitable for most cases. It is suitable for use when
|
||
upgrading a distribution, and will discover available kernels and
|
||
attempt to generate menu entries for them.
|
||
|
||
The file `/etc/default/grub' controls the operation of
|
||
`grub-mkconfig'. It is sourced by a shell script, and so must be valid
|
||
POSIX shell input; normally, it will just be a sequence of `KEY=value'
|
||
lines, but if the value contains spaces or other special characters
|
||
then it must be quoted. For example:
|
||
|
||
GRUB_TERMINAL_INPUT="console serial"
|
||
|
||
Valid keys in `/etc/default/grub' are as follows:
|
||
|
||
`GRUB_DEFAULT'
|
||
The default menu entry. This may be a number, in which case it
|
||
identifies the Nth entry in the generated menu counted from zero,
|
||
or the full name of a menu entry, or the special string `saved'.
|
||
Using the full name may be useful if you want to set a menu entry
|
||
as the default even though there may be a variable number of
|
||
entries before it.
|
||
|
||
If you set this to `saved', then the default menu entry will be
|
||
that saved by `GRUB_SAVEDEFAULT', `grub-set-default', or
|
||
`grub-reboot'.
|
||
|
||
The default is `0'.
|
||
|
||
`GRUB_SAVEDEFAULT'
|
||
If this option is set to `true', then, when an entry is selected,
|
||
save it as a new default entry for use by future runs of GRUB.
|
||
This is only useful if `GRUB_DEFAULT=saved'; it is a separate
|
||
option because `GRUB_DEFAULT=saved' is useful without this option,
|
||
in conjunction with `grub-set-default' or `grub-reboot'. Unset by
|
||
default.
|
||
|
||
`GRUB_TIMEOUT'
|
||
Boot the default entry this many seconds after the menu is
|
||
displayed, unless a key is pressed. The default is `5'. Set to
|
||
`0' to boot immediately without displaying the menu, or to `-1' to
|
||
wait indefinitely.
|
||
|
||
`GRUB_HIDDEN_TIMEOUT'
|
||
Wait this many seconds for a key to be pressed before displaying
|
||
the menu. If no key is pressed during that time, boot
|
||
immediately. Unset by default.
|
||
|
||
`GRUB_HIDDEN_TIMEOUT_QUIET'
|
||
In conjunction with `GRUB_HIDDEN_TIMEOUT', set this to `true' to
|
||
suppress the verbose countdown while waiting for a key to be
|
||
pressed before displaying the menu. Unset by default.
|
||
|
||
`GRUB_DEFAULT_BUTTON'
|
||
`GRUB_TIMEOUT_BUTTON'
|
||
`GRUB_HIDDEN_TIMEOUT_BUTTON'
|
||
`GRUB_BUTTON_CMOS_ADDRESS'
|
||
Variants of the corresponding variables without the `_BUTTON'
|
||
suffix, used to support vendor-specific power buttons. *Note
|
||
Vendor power-on keys::.
|
||
|
||
`GRUB_DISTRIBUTOR'
|
||
Set by distributors of GRUB to their identifying name. This is
|
||
used to generate more informative menu entry titles.
|
||
|
||
`GRUB_TERMINAL_INPUT'
|
||
Select the terminal input device. You may select multiple devices
|
||
here, separated by spaces.
|
||
|
||
Valid terminal input names depend on the platform, but may include
|
||
`console' (PC BIOS and EFI consoles), `serial' (serial terminal),
|
||
`ofconsole' (Open Firmware console), `at_keyboard' (PC AT
|
||
keyboard, mainly useful with Coreboot), or `usb_keyboard' (USB
|
||
keyboard using the HID Boot Protocol, for cases where the firmware
|
||
does not handle this).
|
||
|
||
The default is to use the platform's native terminal input.
|
||
|
||
`GRUB_TERMINAL_OUTPUT'
|
||
Select the terminal output device. You may select multiple
|
||
devices here, separated by spaces.
|
||
|
||
Valid terminal output names depend on the platform, but may include
|
||
`console' (PC BIOS and EFI consoles), `serial' (serial terminal),
|
||
`gfxterm' (graphics-mode output), `ofconsole' (Open Firmware
|
||
console), or `vga_text' (VGA text output, mainly useful with
|
||
Coreboot).
|
||
|
||
The default is to use the platform's native terminal input.
|
||
|
||
`GRUB_TERMINAL'
|
||
If this option is set, it overrides both `GRUB_TERMINAL_INPUT' and
|
||
`GRUB_TERMINAL_OUTPUT' to the same value.
|
||
|
||
`GRUB_SERIAL_COMMAND'
|
||
A command to configure the serial port when using the serial
|
||
console. *Note serial::. Defaults to `serial'.
|
||
|
||
`GRUB_CMDLINE_LINUX'
|
||
Command-line arguments to add to menu entries for the Linux kernel.
|
||
|
||
`GRUB_CMDLINE_LINUX_DEFAULT'
|
||
Unless `GRUB_DISABLE_LINUX_RECOVERY' is set, two menu entries will
|
||
be generated for each Linux kernel: one default entry and one
|
||
entry for recovery mode. This option lists command-line arguments
|
||
to add only to the default menu entry, after those listed in
|
||
`GRUB_CMDLINE_LINUX'.
|
||
|
||
`GRUB_CMDLINE_NETBSD'
|
||
`GRUB_CMDLINE_NETBSD_DEFAULT'
|
||
As `GRUB_CMDLINE_LINUX' and `GRUB_CMDLINE_LINUX_DEFAULT', but for
|
||
NetBSD.
|
||
|
||
`GRUB_DISABLE_LINUX_UUID'
|
||
Normally, `grub-mkconfig' will generate menu entries that use
|
||
universally-unique identifiers (UUIDs) to identify the root
|
||
filesystem to the Linux kernel, using a `root=UUID=...' kernel
|
||
parameter. This is usually more reliable, but in some cases it
|
||
may not be appropriate. To disable the use of UUIDs, set this
|
||
option to `true'.
|
||
|
||
`GRUB_DISABLE_LINUX_RECOVERY'
|
||
Disable the generation of recovery mode menu entries for Linux.
|
||
|
||
`GRUB_DISABLE_NETBSD_RECOVERY'
|
||
Disable the generation of recovery mode menu entries for NetBSD.
|
||
|
||
`GRUB_GFXMODE'
|
||
Set the resolution used on the `gfxterm' graphical terminal. Note
|
||
that you can only use modes which your graphics card supports via
|
||
VESA BIOS Extensions (VBE), so for example native LCD panel
|
||
resolutions may not be available. The default is `640x480'.
|
||
|
||
`GRUB_BACKGROUND'
|
||
Set a background image for use with the `gfxterm' graphical
|
||
terminal. The value of this option must be a file readable by
|
||
GRUB at boot time, and it must end with `.png', `.tga', `.jpg', or
|
||
`.jpeg'. The image will be scaled if necessary to fit the screen.
|
||
|
||
`GRUB_THEME'
|
||
Set a theme for use with the `gfxterm' graphical terminal. *Note
|
||
Themes::.
|
||
|
||
`GRUB_GFXPAYLOAD_LINUX'
|
||
Set to `text' to force the Linux kernel to boot in normal text
|
||
mode, `keep' to preserve the graphics mode set using
|
||
`GRUB_GFXMODE', `WIDTHxHEIGHT'[`xDEPTH'] to set a particular
|
||
graphics mode, or a sequence of these separated by commas or
|
||
semicolons to try several modes in sequence.
|
||
|
||
Depending on your kernel, your distribution, your graphics card,
|
||
and the phase of the moon, note that using this option may cause
|
||
GNU/Linux to suffer from various display problems, particularly
|
||
during the early part of the boot sequence. If you have problems,
|
||
simply unset this option and GRUB will tell Linux to boot in
|
||
normal text mode.
|
||
|
||
`GRUB_DISABLE_OS_PROBER'
|
||
Normally, `grub-mkconfig' will try to use the external `os-prober'
|
||
program, if installed, to discover other operating systems
|
||
installed on the same system and generate appropriate menu entries
|
||
for them. Set this option to `true' to disable this.
|
||
|
||
`GRUB_INIT_TUNE'
|
||
Play a tune on the speaker when GRUB starts. This is particularly
|
||
useful for users unable to see the screen. The value of this
|
||
option is passed directly to *note play::.
|
||
|
||
For more detailed customisation of `grub-mkconfig''s output, you may
|
||
edit the scripts in `/etc/grub.d' directly. `/etc/grub.d/40_custom' is
|
||
particularly useful for adding entire custom menu entries; simply type
|
||
the menu entries you want to add at the end of that file, making sure
|
||
to leave at least the first two lines intact.
|
||
|
||
|
||
File: grub.info, Node: Shell-like scripting, Prev: Simple configuration, Up: Configuration
|
||
|
||
5.2 Writing full configuration files directly
|
||
=============================================
|
||
|
||
|
||
File: grub.info, Node: Serial terminal, Next: Vendor power-on keys, Prev: Network, Up: Top
|
||
|
||
6 Using GRUB via a serial line
|
||
******************************
|
||
|
||
This chapter describes how to use the serial terminal support in GRUB.
|
||
|
||
If you have many computers or computers with no display/keyboard, it
|
||
could be very useful to control the computers through serial
|
||
communications. To connect one computer with another via a serial line,
|
||
you need to prepare a null-modem (cross) serial cable, and you may need
|
||
to have multiport serial boards, if your computer doesn't have extra
|
||
serial ports. In addition, a terminal emulator is also required, such as
|
||
minicom. Refer to a manual of your operating system, for more
|
||
information.
|
||
|
||
As for GRUB, the instruction to set up a serial terminal is quite
|
||
simple. First of all, make sure that you haven't specified the option
|
||
`--disable-serial' to the configure script when you built your GRUB
|
||
images. If you get them in binary form, probably they have serial
|
||
terminal support already.
|
||
|
||
Then, initialize your serial terminal after GRUB starts up. Here is
|
||
an example:
|
||
|
||
grub> serial --unit=0 --speed=9600
|
||
grub> terminal serial
|
||
|
||
The command `serial' initializes the serial unit 0 with the speed
|
||
9600bps. The serial unit 0 is usually called `COM1', so, if you want to
|
||
use COM2, you must specify `--unit=1' instead. This command accepts
|
||
many other options, so please refer to *note serial::, for more details.
|
||
|
||
The command `terminal' (*note terminal::) chooses which type of
|
||
terminal you want to use. In the case above, the terminal will be a
|
||
serial terminal, but you can also pass `console' to the command, as
|
||
`terminal serial console'. In this case, a terminal in which you press
|
||
any key will be selected as a GRUB terminal.
|
||
|
||
However, note that GRUB assumes that your terminal emulator is
|
||
compatible with VT100 by default. This is true for most terminal
|
||
emulators nowadays, but you should pass the option `--dumb' to the
|
||
command if your terminal emulator is not VT100-compatible or implements
|
||
few VT100 escape sequences. If you specify this option then GRUB
|
||
provides you with an alternative menu interface, because the normal
|
||
menu requires several fancy features of your terminal.
|
||
|
||
|
||
File: grub.info, Node: Vendor power-on keys, Next: Preset Menu, Prev: Serial terminal, Up: Top
|
||
|
||
7 Using GRUB with vendor power-on keys
|
||
**************************************
|
||
|
||
Some laptop vendor provide an additional power-on button which boots
|
||
another OS. GRUB supports such buttons with GRUB_TIMEOUT_BUTTON,
|
||
GRUB_DEFAULT_BUTTON, GRUB_HIDDEN_TIMEOUT_BUTTON and
|
||
GRUB_BUTTON_CMOS_ADDRESS variables in default/grub.
|
||
GRUB_TIMEOUT_BUTTON, GRUB_DEFAULT_BUTTON and GRUB_HIDDEN_TIMEOUT_BUTTON
|
||
are used instead of corresponding variables without _BUTTON suffix when
|
||
powered using special button. GRUB_BUTTON_CMOS_ADDRESS is vendor
|
||
specific and partially model-specific. Values known to GRUB team are:
|
||
|
||
<Dell XPS M1530>
|
||
85:3
|
||
|
||
To take full advantage of this function install GRUB into MBR.
|
||
|
||
|
||
File: grub.info, Node: Filesystem, Next: Interface, Prev: Images, Up: Top
|
||
|
||
8 Filesystem syntax and semantics
|
||
*********************************
|
||
|
||
GRUB uses a special syntax for specifying disk drives which can be
|
||
accessed by BIOS. Because of BIOS limitations, GRUB cannot distinguish
|
||
between IDE, ESDI, SCSI, or others. You must know yourself which BIOS
|
||
device is equivalent to which OS device. Normally, that will be clear if
|
||
you see the files in a device or use the command `find' (*note find::).
|
||
|
||
* Menu:
|
||
|
||
* Device syntax:: How to specify devices
|
||
* File name syntax:: How to specify files
|
||
* Block list syntax:: How to specify block lists
|
||
|
||
|
||
File: grub.info, Node: Device syntax, Next: File name syntax, Up: Filesystem
|
||
|
||
8.1 How to specify devices
|
||
==========================
|
||
|
||
The device syntax is like this:
|
||
|
||
`(DEVICE[,PART-NUM][,BSD-SUBPART-LETTER])'
|
||
|
||
`[]' means the parameter is optional. DEVICE should be either `fd'
|
||
or `hd' followed by a digit, like `fd0'. But you can also set DEVICE
|
||
to a hexadecimal or a decimal number which is a BIOS drive number, so
|
||
the following are equivalent:
|
||
|
||
(hd0)
|
||
(0x80)
|
||
(128)
|
||
|
||
PART-NUM represents the partition number of DEVICE, starting from
|
||
one for primary partitions and from five for extended partitions, and
|
||
BSD-SUBPART-LETTER represents the BSD disklabel subpartition, such as
|
||
`a' or `e'.
|
||
|
||
A shortcut for specifying BSD subpartitions is
|
||
`(DEVICE,BSD-SUBPART-LETTER)', in this case, GRUB searches for the
|
||
first PC partition containing a BSD disklabel, then finds the
|
||
subpartition BSD-SUBPART-LETTER. Here is an example:
|
||
|
||
(hd0,a)
|
||
|
||
The syntax `(hd0)' represents using the entire disk (or the MBR when
|
||
installing GRUB), while the syntax `(hd0,1)' represents using the first
|
||
partition of the disk (or the boot sector of the partition when
|
||
installing GRUB).
|
||
|
||
If you enabled the network support, the special drive, `(nd)', is
|
||
also available. Before using the network drive, you must initialize the
|
||
network. *Note Network::, for more information.
|
||
|
||
If you boot GRUB from a CD-ROM, `(cd)' is available. *Note Making a
|
||
GRUB bootable CD-ROM::, for details.
|
||
|
||
|
||
File: grub.info, Node: File name syntax, Next: Block list syntax, Prev: Device syntax, Up: Filesystem
|
||
|
||
8.2 How to specify files
|
||
========================
|
||
|
||
There are two ways to specify files, by "absolute file name" and by
|
||
"block list".
|
||
|
||
An absolute file name resembles a Unix absolute file name, using `/'
|
||
for the directory separator (not `\' as in DOS). One example is
|
||
`(hd0,1)/boot/grub/grub.cfg'. This means the 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 GRUB's "root device"
|
||
implicitly. So if you set the root device to, say, `(hd1,1)' by the
|
||
command `root' (*note root::), then `/boot/kernel' is the same as
|
||
`(hd1,1)/boot/kernel'.
|
||
|
||
|
||
File: grub.info, Node: Block list syntax, Prev: File name syntax, Up: Filesystem
|
||
|
||
8.3 How to specify block lists
|
||
==============================
|
||
|
||
A block list is used for specifying a file that doesn't appear in the
|
||
filesystem, like a chainloader. The syntax is
|
||
`[OFFSET]+LENGTH[,[OFFSET]+LENGTH]...'. Here is an example:
|
||
|
||
`0+100,200+1,300+300'
|
||
|
||
This represents that GRUB should read blocks 0 through 99, block 200,
|
||
and blocks 300 through 599. If you omit an offset, then GRUB assumes
|
||
the offset is zero.
|
||
|
||
Like the file name syntax (*note File name syntax::), if a blocklist
|
||
does not contain a device name, then GRUB uses GRUB's "root device". So
|
||
`(hd0,2)+1' is the same as `+1' when the root device is `(hd0,2)'.
|
||
|
||
|
||
File: grub.info, Node: Interface, Next: Commands, Prev: Filesystem, Up: Top
|
||
|
||
9 GRUB's user interface
|
||
***********************
|
||
|
||
GRUB has both a simple menu interface for choosing preset entries from a
|
||
configuration file, and a highly flexible command-line for performing
|
||
any desired combination of boot commands.
|
||
|
||
GRUB looks for its configuration file as soon as it is loaded. If one
|
||
is found, then the full menu interface is activated using whatever
|
||
entries were found in the file. If you choose the "command-line" menu
|
||
option, or if the configuration file was not found, then GRUB drops to
|
||
the command-line interface.
|
||
|
||
* Menu:
|
||
|
||
* Command-line interface:: The flexible command-line interface
|
||
* Menu interface:: The simple menu interface
|
||
* Menu entry editor:: Editing a menu entry
|
||
|
||
|
||
File: grub.info, Node: Command-line interface, Next: Menu interface, Up: Interface
|
||
|
||
9.1 The flexible command-line interface
|
||
=======================================
|
||
|
||
The command-line interface provides a prompt and after it an editable
|
||
text area much like a command-line in Unix or DOS. Each command is
|
||
immediately executed after it is entered(1) (*note Command-line
|
||
interface-Footnote-1::). The commands (*note Command-line and menu
|
||
entry commands::) are a subset of those available in the configuration
|
||
file, used with exactly the same syntax.
|
||
|
||
Cursor movement and editing of the text on the line can be done via a
|
||
subset of the functions available in the Bash shell:
|
||
|
||
<C-f>
|
||
<PC right key>
|
||
Move forward one character.
|
||
|
||
<C-b>
|
||
<PC left key>
|
||
Move back one character.
|
||
|
||
<C-a>
|
||
<HOME>
|
||
Move to the start of the line.
|
||
|
||
<C-e>
|
||
<END>
|
||
Move the the end of the line.
|
||
|
||
<C-d>
|
||
<DEL>
|
||
Delete the character underneath the cursor.
|
||
|
||
<C-h>
|
||
<BS>
|
||
Delete the character to the left of the cursor.
|
||
|
||
<C-k>
|
||
Kill the text from the current cursor position to the end of the
|
||
line.
|
||
|
||
<C-u>
|
||
Kill backward from the cursor to the beginning of the line.
|
||
|
||
<C-y>
|
||
Yank the killed text back into the buffer at the cursor.
|
||
|
||
<C-p>
|
||
<PC up key>
|
||
Move up through the history list.
|
||
|
||
<C-n>
|
||
<PC down key>
|
||
Move down through the history list.
|
||
|
||
When typing commands interactively, if the cursor is within or before
|
||
the first word in the command-line, pressing the <TAB> key (or <C-i>)
|
||
will display a listing of the available commands, and if the cursor is
|
||
after the first word, the `<TAB>' will provide a completion listing of
|
||
disks, partitions, and file names depending on the context. Note that
|
||
to obtain a list of drives, one must open a parenthesis, as `root ('.
|
||
|
||
Note that you cannot use the completion functionality in the TFTP
|
||
filesystem. This is because TFTP doesn't support file name listing for
|
||
the security.
|
||
|
||
|
||
File: grub.info, Node: Command-line interface-Footnotes, Up: Command-line interface
|
||
|
||
(1) However, this behavior will be changed in the future version, in
|
||
a user-invisible way.
|
||
|
||
|
||
File: grub.info, Node: Menu interface, Next: Menu entry editor, Prev: Command-line interface, Up: Interface
|
||
|
||
9.2 The simple menu interface
|
||
=============================
|
||
|
||
The menu interface is quite easy to use. Its commands are both
|
||
reasonably intuitive and described on screen.
|
||
|
||
Basically, the menu interface provides a list of "boot entries" to
|
||
the user to choose from. Use the arrow keys to select the entry of
|
||
choice, then press <RET> to run it. An optional timeout is available
|
||
to boot the default entry (the first one if not set), which is aborted
|
||
by pressing any key.
|
||
|
||
Commands are available to enter a bare command-line by pressing <c>
|
||
(which operates exactly like the non-config-file version of GRUB, but
|
||
allows one to return to the menu if desired by pressing <ESC>) or to
|
||
edit any of the "boot entries" by pressing <e>.
|
||
|
||
If you protect the menu interface with a password (*note Security::),
|
||
all you can do is choose an entry by pressing <RET>, or press <p> to
|
||
enter the password.
|
||
|
||
|
||
File: grub.info, Node: Menu entry editor, Prev: Menu interface, Up: Interface
|
||
|
||
9.3 Editing a menu entry
|
||
========================
|
||
|
||
The menu entry editor looks much like the main menu interface, but the
|
||
lines in the menu are individual commands in the selected entry instead
|
||
of entry names.
|
||
|
||
If an <ESC> is pressed in the editor, it aborts all the changes made
|
||
to the configuration entry and returns to the main menu interface.
|
||
|
||
When a particular line is selected, the editor places the user in a
|
||
special version of the GRUB command-line to edit that line. When the
|
||
user hits <RET>, GRUB replaces the line in question in the boot entry
|
||
with the changes (unless it was aborted via <ESC>, in which case the
|
||
changes are thrown away).
|
||
|
||
If you want to add a new line to the menu entry, press <o> if adding
|
||
a line after the current line or press <O> if before the current line.
|
||
|
||
To delete a line, hit the key <d>. Although GRUB unfortunately does
|
||
not support "undo", you can do almost the same thing by just returning
|
||
to the main menu.
|
||
|
||
|
||
File: grub.info, Node: Commands, Next: Troubleshooting, Prev: Interface, Up: Top
|
||
|
||
10 The list of available commands
|
||
*********************************
|
||
|
||
In this chapter, we list all commands that are available in GRUB.
|
||
|
||
Commands belong to different groups. A few can only be used in the
|
||
global section of the configuration file (or "menu"); most of them can
|
||
be entered on the command-line and can be used either anywhere in the
|
||
menu or specifically in the menu entries.
|
||
|
||
* Menu:
|
||
|
||
* Menu-specific commands::
|
||
* General commands::
|
||
* Command-line and menu entry commands::
|
||
|
||
|
||
File: grub.info, Node: Menu-specific commands, Next: General commands, Up: Commands
|
||
|
||
10.1 The list of commands for the menu only
|
||
===========================================
|
||
|
||
The semantics used in parsing the configuration file are the following:
|
||
|
||
* The menu-specific commands have to be used before any others.
|
||
|
||
* The files _must_ be in plain-text format.
|
||
|
||
* `#' at the beginning of a line in a configuration file means it is
|
||
only a comment.
|
||
|
||
* Options are separated by spaces.
|
||
|
||
* All numbers can be either decimal or hexadecimal. A hexadecimal
|
||
number must be preceded by `0x', and is case-insensitive.
|
||
|
||
* Extra options or text at the end of the line are ignored unless
|
||
otherwise specified.
|
||
|
||
* Unrecognized commands are added to the current entry, except
|
||
before entries start, where they are ignored.
|
||
|
||
These commands can only be used in the menu:
|
||
|
||
* Menu:
|
||
|
||
* menuentry:: Start a menu entry
|
||
|
||
|
||
File: grub.info, Node: menuentry, Up: Menu-specific commands
|
||
|
||
10.1.1 menuentry
|
||
----------------
|
||
|
||
-- Command: title name ...
|
||
Start a new boot entry, and set its name to the contents of the
|
||
rest of the line, starting with the first non-space character.
|
||
|
||
|
||
File: grub.info, Node: General commands, Next: Command-line and menu entry commands, Prev: Menu-specific commands, Up: Commands
|
||
|
||
10.2 The list of general commands
|
||
=================================
|
||
|
||
Commands usable anywhere in the menu and in the command-line.
|
||
|
||
* Menu:
|
||
|
||
* serial:: Set up a serial device
|
||
* terminfo:: Define terminal type
|
||
|
||
|
||
File: grub.info, Node: serial, Next: terminfo, Up: General commands
|
||
|
||
10.2.1 serial
|
||
-------------
|
||
|
||
-- Command: serial [`--unit=unit'] [`--port=port'] [`--speed=speed']
|
||
[`--word=word'] [`--parity=parity'] [`--stop=stop']
|
||
Initialize a serial device. UNIT is a number in the range 0-3
|
||
specifying which serial port to use; default is 0, which
|
||
corresponds to the port often called COM1. PORT is the I/O port
|
||
where the UART is to be found; if specified it takes precedence
|
||
over UNIT. SPEED is the transmission speed; default is 9600. WORD
|
||
and STOP are the number of data bits and stop bits. Data bits must
|
||
be in the range 5-8 and stop bits must be 1 or 2. Default is 8 data
|
||
bits and one stop bit. PARITY is one of `no', `odd', `even' and
|
||
defaults to `no'.
|
||
|
||
The serial port is not used as a communication channel unless the
|
||
`terminal' command is used (*note terminal::).
|
||
|
||
This command is only available if GRUB is compiled with serial
|
||
support. See also *note Serial terminal::.
|
||
|
||
|
||
File: grub.info, Node: terminfo, Prev: serial, Up: General commands
|
||
|
||
10.2.2 terminfo
|
||
---------------
|
||
|
||
-- Command: terminfo [term]
|
||
Define the capabilities of your terminal by giving the name of an
|
||
entry in the terminfo database, which should correspond roughly to
|
||
a `TERM' environment variable in Unix.
|
||
|
||
At the moment, only `vt100' is supported in GRUB 2. If you need
|
||
other terminal types, please contact us to discuss the best way to
|
||
include support for these in GRUB.
|
||
|
||
If no option is specified, the current terminal type is printed.
|
||
|
||
|
||
File: grub.info, Node: Command-line and menu entry commands, Prev: General commands, Up: Commands
|
||
|
||
10.3 The list of command-line and menu entry commands
|
||
=====================================================
|
||
|
||
These commands are usable in the command-line and in menu entries. If
|
||
you forget a command, you can run the command `help' (*note help::).
|
||
|
||
* Menu:
|
||
|
||
* acpi:: Load ACPI tables
|
||
* blocklist:: Print a block list
|
||
* boot:: Start up your operating system
|
||
* cat:: Show the contents of a file
|
||
* chainloader:: Chain-load another boot loader
|
||
* cmp:: Compare two files
|
||
* configfile:: Load a configuration file
|
||
* crc:: Calculate CRC32 checksums
|
||
* date:: Display or set current date and time
|
||
* drivemap:: Map a drive to another
|
||
* echo:: Display a line of text
|
||
* export:: Export an environment variable
|
||
* gettext:: Translate a string
|
||
* gptsync:: Fill an MBR based on GPT entries
|
||
* halt:: Shut down your computer
|
||
* help:: Show help messages
|
||
* insmod:: Insert a module
|
||
* keystatus:: Check key modifier status
|
||
* ls:: List devices or files
|
||
* parttool:: Modify partition table entries
|
||
* play:: Play a tune
|
||
* reboot:: Reboot your computer
|
||
* set:: Set an environment variable
|
||
* unset:: Unset an environment variable
|
||
|
||
|
||
File: grub.info, Node: acpi, Next: blocklist, Up: Command-line and menu entry commands
|
||
|
||
10.3.1 acpi
|
||
-----------
|
||
|
||
-- Command: acpi [`-1'|`-2']
|
||
[`--exclude=table1,...'|`--load-only=table1,...']
|
||
[`--oemid=id'] [`--oemtable=table'] [`--oemtablerev=rev']
|
||
[`--oemtablecreator=creator'] [`--oemtablecreatorrev=rev']
|
||
[`--no-ebda'] filename ...
|
||
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 `--no-ebda' option is used, the new tables will be
|
||
known only to GRUB, but may be used by GRUB's EFI emulation.
|
||
|
||
|
||
File: grub.info, Node: blocklist, Next: boot, Prev: acpi, Up: Command-line and menu entry commands
|
||
|
||
10.3.2 blocklist
|
||
----------------
|
||
|
||
-- Command: blocklist file
|
||
Print a block list (*note Block list syntax::) for FILE.
|
||
|
||
|
||
File: grub.info, Node: boot, Next: cat, Prev: blocklist, Up: Command-line and menu entry commands
|
||
|
||
10.3.3 boot
|
||
-----------
|
||
|
||
-- Command: boot
|
||
Boot the OS or chain-loader which has been loaded. Only necessary
|
||
if running the fully interactive command-line (it is implicit at
|
||
the end of a menu entry).
|
||
|
||
|
||
File: grub.info, Node: cat, Next: chainloader, Prev: boot, Up: Command-line and menu entry commands
|
||
|
||
10.3.4 cat
|
||
----------
|
||
|
||
-- Command: cat file
|
||
Display the contents of the file FILE. This command may be useful
|
||
to remind you of your OS's root partition:
|
||
|
||
grub> cat /etc/fstab
|
||
|
||
|
||
File: grub.info, Node: chainloader, Next: cmp, Prev: cat, Up: Command-line and menu entry commands
|
||
|
||
10.3.5 chainloader
|
||
------------------
|
||
|
||
-- Command: chainloader [`--force'] file
|
||
Load FILE as a chain-loader. Like any other file loaded by the
|
||
filesystem code, it can use the blocklist notation (*note Block
|
||
list syntax::) to grab the first sector of the current partition
|
||
with `+1'. If you specify the option `--force', then load FILE
|
||
forcibly, whether it has a correct signature or not. This is
|
||
required when you want to load a defective boot loader, such as
|
||
SCO UnixWare 7.1 (*note SCO UnixWare::).
|
||
|
||
|
||
File: grub.info, Node: cmp, Next: configfile, Prev: chainloader, Up: Command-line and menu entry commands
|
||
|
||
10.3.6 cmp
|
||
----------
|
||
|
||
-- Command: cmp file1 file2
|
||
Compare the file FILE1 with the file FILE2. If they differ in
|
||
size, print the sizes like this:
|
||
|
||
Differ in size: 0x1234 [foo], 0x4321 [bar]
|
||
|
||
If the sizes are equal but the bytes at an offset differ, then
|
||
print the bytes like this:
|
||
|
||
Differ at the offset 777: 0xbe [foo], 0xef [bar]
|
||
|
||
If they are completely identical, nothing will be printed.
|
||
|
||
|
||
File: grub.info, Node: configfile, Next: crc, Prev: cmp, Up: Command-line and menu entry commands
|
||
|
||
10.3.7 configfile
|
||
-----------------
|
||
|
||
-- Command: configfile file
|
||
Load FILE as a configuration file.
|
||
|
||
|
||
File: grub.info, Node: crc, Next: date, Prev: configfile, Up: Command-line and menu entry commands
|
||
|
||
10.3.8 crc
|
||
----------
|
||
|
||
-- Command: crc file
|
||
Display the CRC32 checksum of FILE.
|
||
|
||
|
||
File: grub.info, Node: date, Next: drivemap, Prev: crc, Up: Command-line and menu entry commands
|
||
|
||
10.3.9 date
|
||
-----------
|
||
|
||
-- Command: date [[year-]month-day] [hour:minute[:second]]
|
||
With no arguments, print the current date and time.
|
||
|
||
Otherwise, take the current date and time, change any elements
|
||
specified as arguments, and set the result as the new date and
|
||
time. For example, `date 01-01' will set the current month and
|
||
day to January 1, but leave the year, hour, minute, and second
|
||
unchanged.
|
||
|
||
|
||
File: grub.info, Node: drivemap, Next: echo, Prev: date, Up: Command-line and menu entry commands
|
||
|
||
10.3.10 drivemap
|
||
----------------
|
||
|
||
-- Command: drivemap `-l'|`-r'|[`-s'] from_drive to_drive
|
||
Without options, map the drive FROM_DRIVE to the drive TO_DRIVE.
|
||
This is necessary when you chain-load some operating systems, such
|
||
as DOS, if such an OS resides at a non-first drive. For
|
||
convenience, any partition suffix on the drive is ignored, so you
|
||
can safely use ${root} as a drive specification.
|
||
|
||
With the `-s' option, perform the reverse mapping as well, swapping
|
||
the two drives.
|
||
|
||
With the `-l' option, list the current mappings.
|
||
|
||
With the `-r' option, reset all mappings to the default values.
|
||
|
||
For example:
|
||
|
||
drivemap -s (hd0) (hd1)
|
||
|
||
|
||
File: grub.info, Node: echo, Next: export, Prev: drivemap, Up: Command-line and menu entry commands
|
||
|
||
10.3.11 echo
|
||
------------
|
||
|
||
-- Command: echo [`-n'] [`-e'] string ...
|
||
Display the requested text and, unless the `-n' option is used, a
|
||
trailing new line. If there is more than one string, they are
|
||
separated by spaces in the output. As usual in GRUB commands,
|
||
variables may be substituted using `${var}'.
|
||
|
||
The `-e' option enables interpretation of backslash escapes. The
|
||
following sequences are recognised:
|
||
|
||
`\\'
|
||
backslash
|
||
|
||
`\a'
|
||
alert (BEL)
|
||
|
||
`\c'
|
||
suppress trailing new line
|
||
|
||
`\f'
|
||
form feed
|
||
|
||
`\n'
|
||
new line
|
||
|
||
`\r'
|
||
carriage return
|
||
|
||
`\t'
|
||
horizontal tab
|
||
|
||
`\v'
|
||
vertical tab
|
||
|
||
When interpreting backslash escapes, backslash followed by any
|
||
other character will print that character.
|
||
|
||
|
||
File: grub.info, Node: export, Next: gettext, Prev: echo, Up: Command-line and menu entry commands
|
||
|
||
10.3.12 export
|
||
--------------
|
||
|
||
-- Command: export envvar
|
||
Export the environment variable ENVVAR. Exported variables are
|
||
visible to subsidiary configuration files loaded using
|
||
`configfile'.
|
||
|
||
|
||
File: grub.info, Node: gettext, Next: gptsync, Prev: export, Up: Command-line and menu entry commands
|
||
|
||
10.3.13 gettext
|
||
---------------
|
||
|
||
-- Command: gettext string
|
||
Translate STRING into the current language.
|
||
|
||
The current language code is stored in the `lang' variable in
|
||
GRUB's environment. Translation files in MO format are read from
|
||
`locale_dir', usually `/boot/grub/locale'.
|
||
|
||
|
||
File: grub.info, Node: gptsync, Next: halt, Prev: gettext, Up: Command-line and menu entry commands
|
||
|
||
10.3.14 gptsync
|
||
---------------
|
||
|
||
-- Command: gptsync device [partition[+/-[type]]] ...
|
||
Disks using the GUID Partition Table (GPT) also have a legacy
|
||
Master Boot Record (MBR) partition table for compatibility with
|
||
the BIOS and with older operating systems. The legacy MBR can
|
||
only represent a limited subset of GPT partition entries.
|
||
|
||
This command populates the legacy MBR with the specified PARTITION
|
||
entries on DEVICE. Up to three partitions may be used.
|
||
|
||
TYPE is an MBR partition type code; prefix with `0x' if you want
|
||
to enter this in hexadecimal. The separator between PARTITION and
|
||
TYPE may be `+' to make the partition active, or `-' to make it
|
||
inactive; only one partition may be active. If both the separator
|
||
and type are omitted, then the partition will be inactive.
|
||
|
||
|
||
File: grub.info, Node: halt, Next: help, Prev: gptsync, Up: Command-line and menu entry commands
|
||
|
||
10.3.15 halt
|
||
------------
|
||
|
||
-- Command: halt `--no-apm'
|
||
The command halts the computer. If the `--no-apm' option is
|
||
specified, no APM BIOS call is performed. Otherwise, the computer
|
||
is shut down using APM.
|
||
|
||
|
||
File: grub.info, Node: help, Next: insmod, Prev: halt, Up: Command-line and menu entry commands
|
||
|
||
10.3.16 help
|
||
------------
|
||
|
||
-- Command: help `--all' [pattern ...]
|
||
Display helpful information about builtin commands. If you do not
|
||
specify PATTERN, this command shows short descriptions of most of
|
||
available commands. If you specify the option `--all' to this
|
||
command, short descriptions of rarely used commands (such as *note
|
||
testload::) are displayed as well.
|
||
|
||
If you specify any PATTERNS, it displays longer information about
|
||
each of the commands which match those PATTERNS.
|
||
|
||
|
||
File: grub.info, Node: insmod, Next: keystatus, Prev: help, Up: Command-line and menu entry commands
|
||
|
||
10.3.17 insmod
|
||
--------------
|
||
|
||
-- Command: insmod module
|
||
Insert the dynamic GRUB module called MODULE.
|
||
|
||
|
||
File: grub.info, Node: keystatus, Next: ls, Prev: insmod, Up: Command-line and menu entry commands
|
||
|
||
10.3.18 keystatus
|
||
-----------------
|
||
|
||
-- Command: keystatus [`--shift'] [`--ctrl'] [`--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 `keystatus' command returns
|
||
true if and only if checking key modifier status is supported.
|
||
|
||
|
||
File: grub.info, Node: ls, Next: parttool, Prev: keystatus, Up: Command-line and menu entry commands
|
||
|
||
10.3.19 ls
|
||
----------
|
||
|
||
-- 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 (*note
|
||
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
|
||
(*note File name syntax::), then list the contents of that
|
||
directory.
|
||
|
||
|
||
File: grub.info, Node: parttool, Next: play, Prev: ls, Up: Command-line and menu entry commands
|
||
|
||
10.3.20 parttool
|
||
----------------
|
||
|
||
-- Command: parttool partition commands
|
||
Make various modifications to partition table entries.
|
||
|
||
Each COMMAND is either a boolean option, in which case it must be
|
||
followed with `+' or `-' (with no intervening space) to enable or
|
||
disable that option, or else it takes a value in the form
|
||
`COMMAND=VALUE'.
|
||
|
||
Currently, `parttool' is only useful on DOS partition tables (also
|
||
known as Master Boot Record, or MBR). On these partition tables,
|
||
the following commands are available:
|
||
|
||
`boot' (boolean)
|
||
When enabled, this makes the selected partition be the active
|
||
(bootable) partition on its disk, clearing the active flag on
|
||
all other partitions. This command is limited to _primary_
|
||
partitions.
|
||
|
||
`type' (value)
|
||
Change the type of an existing partition. The value must be
|
||
a number in the range 0-0xFF (prefix with `0x' to enter it in
|
||
hexadecimal).
|
||
|
||
`hidden' (boolean)
|
||
When enabled, this hides the selected partition by setting
|
||
the "hidden" bit in its partition type code; when disabled,
|
||
unhides the selected partition by clearing this bit. This is
|
||
useful only when booting DOS or Wwindows and multiple primary
|
||
FAT partitions exist in one disk. See also *note
|
||
DOS/Windows::.
|
||
|
||
|
||
File: grub.info, Node: play, Next: reboot, Prev: parttool, Up: Command-line and menu entry commands
|
||
|
||
10.3.21 play
|
||
------------
|
||
|
||
-- Command: play file | tempo [pitch1 duration1] [pitch2 duration2] ...
|
||
Plays a tune
|
||
|
||
If the argument is a file name (*note File name syntax::), play
|
||
the tune recorded in it. The file format is first the tempo as an
|
||
unsigned 32bit little-endian number, then pairs of unsigned 16bit
|
||
little-endian numbers for pitch and duration pairs.
|
||
|
||
If the arguments are a series of numbers, play the inline tune.
|
||
|
||
The tempo is the base for all note durations. 60 gives a 1-second
|
||
base, 120 gives a half-second base, etc. Pitches are Hz. Set
|
||
pitch to 0 to produce a rest.
|
||
|
||
|
||
File: grub.info, Node: reboot, Next: set, Prev: play, Up: Command-line and menu entry commands
|
||
|
||
10.3.22 reboot
|
||
--------------
|
||
|
||
-- Command: reboot
|
||
Reboot the computer.
|
||
|
||
|
||
File: grub.info, Node: set, Next: unset, Prev: reboot, Up: Command-line and menu entry commands
|
||
|
||
10.3.23 set
|
||
-----------
|
||
|
||
-- Command: set [envvar=value]
|
||
Set the environment variable ENVVAR to VALUE. If invoked with no
|
||
arguments, print all environment variables with their values.
|
||
|
||
|
||
File: grub.info, Node: unset, Prev: set, Up: Command-line and menu entry commands
|
||
|
||
10.3.24 unset
|
||
-------------
|
||
|
||
-- Command: unset envvar
|
||
Unset the environment variable ENVVAR.
|
||
|
||
|
||
File: grub.info, Node: Invoking grub-install, Next: Invoking grub-mkconfig, Prev: Troubleshooting, Up: Top
|
||
|
||
11 Invoking grub-install
|
||
************************
|
||
|
||
The program `grub-install' installs GRUB on your drive using
|
||
`grub-mkimage' and (on some platforms) `grub-setup'. You must specify
|
||
the device name on which you want to install GRUB, like this:
|
||
|
||
grub-install INSTALL_DEVICE
|
||
|
||
The device name INSTALL_DEVICE is an OS device name or a GRUB device
|
||
name.
|
||
|
||
`grub-install' accepts the following options:
|
||
|
||
`--help'
|
||
Print a summary of the command-line options and exit.
|
||
|
||
`--version'
|
||
Print the version number of GRUB and exit.
|
||
|
||
`--root-directory=DIR'
|
||
Install GRUB images under the directory DIR instead of the root
|
||
directory. This option is useful when you want to install GRUB
|
||
into a separate partition or a removable disk. Here is an example
|
||
in which you have a separate "boot" partition which is mounted on
|
||
`/boot':
|
||
|
||
grub-install --root-directory=/boot hd0
|
||
|
||
`--recheck'
|
||
Recheck the device map, even if `/boot/grub/device.map' already
|
||
exists. You should use this option whenever you add/remove a disk
|
||
into/from your computer.
|
||
|
||
|
||
File: grub.info, Node: Invoking grub-mkconfig, Next: Obtaining and Building GRUB, Prev: Invoking grub-install, Up: Top
|
||
|
||
12 Invoking grub-mkconfig
|
||
*************************
|
||
|
||
The program `grub-mkconfig' generates a configuration file for GRUB
|
||
(*note Simple configuration::).
|
||
|
||
grub-mkconfig -o /boot/grub/grub.cfg
|
||
|
||
`grub-mkconfig' accepts the following options:
|
||
|
||
`--help'
|
||
Print a summary of the command-line options and exit.
|
||
|
||
`--version'
|
||
Print the version number of GRUB and exit.
|
||
|
||
`-o FILE'
|
||
`--output=FILE'
|
||
Send the generated configuration file to FILE. The default is to
|
||
send it to standard output.
|
||
|
||
|
||
File: grub.info, Node: Obtaining and Building GRUB, Next: Reporting bugs, Prev: Invoking grub-mkconfig, Up: Top
|
||
|
||
Appendix A How to obtain and build GRUB
|
||
***************************************
|
||
|
||
*Caution:* GRUB requires binutils-2.9.1.0.23 or later because the
|
||
GNU assembler has been changed so that it can produce real 16bits
|
||
machine code between 2.9.1 and 2.9.1.0.x. See
|
||
`http://sources.redhat.com/binutils/', to obtain information on
|
||
how to get the latest version.
|
||
|
||
GRUB is available from the GNU alpha archive site
|
||
`ftp://alpha.gnu.org/gnu/grub' or any of its mirrors. The file will be
|
||
named grub-version.tar.gz. The current version is 1.98, so the file you
|
||
should grab is:
|
||
|
||
`ftp://alpha.gnu.org/gnu/grub/grub-1.98.tar.gz'
|
||
|
||
To unbundle GRUB use the instruction:
|
||
|
||
zcat grub-1.98.tar.gz | tar xvf -
|
||
|
||
which will create a directory called `grub-1.98' with all the
|
||
sources. You can look at the file `INSTALL' for detailed instructions
|
||
on how to build and install GRUB, but you should be able to just do:
|
||
|
||
cd grub-1.98
|
||
./configure
|
||
make install
|
||
|
||
Also, the latest version is available from the SVN. See
|
||
`http://savannah.gnu.org/svn/?group=grub' for more information.
|
||
|
||
|
||
File: grub.info, Node: Reporting bugs, Next: Future, Prev: Obtaining and Building GRUB, Up: Top
|
||
|
||
Appendix B Reporting bugs
|
||
*************************
|
||
|
||
These are the guideline for how to report bugs. Take a look at this
|
||
list below before you submit bugs:
|
||
|
||
1. Before getting unsettled, read this manual through and through.
|
||
Also, see the GNU GRUB FAQ
|
||
(http://www.gnu.org/software/grub/grub-faq.html).
|
||
|
||
2. Always mention the information on your GRUB. The version number
|
||
and the configuration are quite important. If you build it
|
||
yourself, write the options specified to the configure script and
|
||
your operating system, including the versions of gcc and binutils.
|
||
|
||
3. If you have trouble with the installation, inform us of how you
|
||
installed GRUB. Don't omit error messages, if any. Just `GRUB hangs
|
||
up when it boots' is not enough.
|
||
|
||
The information on your hardware is also essential. These are
|
||
especially important: the geometries and the partition tables of
|
||
your hard disk drives and your BIOS.
|
||
|
||
4. If GRUB cannot boot your operating system, write down _everything_
|
||
you see on the screen. Don't paraphrase them, like `The foo OS
|
||
crashes with GRUB, even though it can boot with the bar boot
|
||
loader just fine'. Mention the commands you executed, the messages
|
||
printed by them, and information on your operating system
|
||
including the version number.
|
||
|
||
5. Explain what you wanted to do. It is very useful to know your
|
||
purpose and your wish, and how GRUB didn't satisfy you.
|
||
|
||
6. If you can investigate the problem yourself, please do. That will
|
||
give you and us much more information on the problem. Attaching a
|
||
patch is even better.
|
||
|
||
When you attach a patch, make the patch in unified diff format, and
|
||
write ChangeLog entries. But, even when you make a patch, don't
|
||
forget to explain the problem, so that we can understand what your
|
||
patch is for.
|
||
|
||
7. Write down anything that you think might be related. Please
|
||
understand that we often need to reproduce the same problem you
|
||
encounterred in our environment. So your information should be
|
||
sufficient for us to do the same thing--Don't forget that we
|
||
cannot see your computer directly. If you are not sure whether to
|
||
state a fact or leave it out, state it! Reporting too many things
|
||
is much better than omitting something important.
|
||
|
||
If you follow the guideline above, submit a report to the Bug
|
||
Tracking System (http://savannah.gnu.org/bugs/?group=grub).
|
||
Alternatively, you can submit a report via electronic mail to
|
||
<bug-grub@gnu.org>, but we strongly recommend that you use the Bug
|
||
Tracking System, because e-mail can be passed over easily.
|
||
|
||
Once we get your report, we will try to fix the bugs.
|
||
|
||
|
||
File: grub.info, Node: Future, Next: Internals, Prev: Reporting bugs, Up: Top
|
||
|
||
Appendix C Where GRUB will go
|
||
*****************************
|
||
|
||
We started the next generation of GRUB, GRUB 2. GRUB 2 includes
|
||
internationalization, dynamic module loading, real memory management,
|
||
multiple architecture support, a scripting language, and many other
|
||
nice feature. If you are interested in the development of GRUB 2, take
|
||
a look at the homepage (http://www.gnu.org/software/grub/grub.html).
|
||
|
||
|
||
File: grub.info, Node: Copying This Manual, Next: Index, Prev: Internals, Up: Top
|
||
|
||
Appendix D Copying This Manual
|
||
******************************
|
||
|
||
* Menu:
|
||
|
||
* GNU Free Documentation License:: License for copying this manual.
|
||
|
||
|
||
File: grub.info, Node: GNU Free Documentation License, Up: Copying This Manual
|
||
|
||
D.1 GNU Free Documentation License
|
||
==================================
|
||
|
||
Version 1.2, November 2002
|
||
|
||
Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
|
||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||
|
||
Everyone is permitted to copy and distribute verbatim copies
|
||
of this license document, but changing it is not allowed.
|
||
|
||
0. PREAMBLE
|
||
|
||
The purpose of this License is to make a manual, textbook, or other
|
||
functional and useful document "free" in the sense of freedom: to
|
||
assure everyone the effective freedom to copy and redistribute it,
|
||
with or without modifying it, either commercially or
|
||
noncommercially. Secondarily, this License preserves for the
|
||
author and publisher a way to get credit for their work, while not
|
||
being considered responsible for modifications made by others.
|
||
|
||
This License is a kind of "copyleft", which means that derivative
|
||
works of the document must themselves be free in the same sense.
|
||
It complements the GNU General Public License, which is a copyleft
|
||
license designed for free software.
|
||
|
||
We have designed this License in order to use it for manuals for
|
||
free software, because free software needs free documentation: a
|
||
free program should come with manuals providing the same freedoms
|
||
that the software does. But this License is not limited to
|
||
software manuals; it can be used for any textual work, regardless
|
||
of subject matter or whether it is published as a printed book.
|
||
We recommend this License principally for works whose purpose is
|
||
instruction or reference.
|
||
|
||
1. APPLICABILITY AND DEFINITIONS
|
||
|
||
This License applies to any manual or other work, in any medium,
|
||
that contains a notice placed by the copyright holder saying it
|
||
can be distributed under the terms of this License. Such a notice
|
||
grants a world-wide, royalty-free license, unlimited in duration,
|
||
to use that work under the conditions stated herein. The
|
||
"Document", below, refers to any such manual or work. Any member
|
||
of the public is a licensee, and is addressed as "you". You
|
||
accept the license if you copy, modify or distribute the work in a
|
||
way requiring permission under copyright law.
|
||
|
||
A "Modified Version" of the Document means any work containing the
|
||
Document or a portion of it, either copied verbatim, or with
|
||
modifications and/or translated into another language.
|
||
|
||
A "Secondary Section" is a named appendix or a front-matter section
|
||
of the Document that deals exclusively with the relationship of the
|
||
publishers or authors of the Document to the Document's overall
|
||
subject (or to related matters) and contains nothing that could
|
||
fall directly within that overall subject. (Thus, if the Document
|
||
is in part a textbook of mathematics, a Secondary Section may not
|
||
explain any mathematics.) The relationship could be a matter of
|
||
historical connection with the subject or with related matters, or
|
||
of legal, commercial, philosophical, ethical or political position
|
||
regarding them.
|
||
|
||
The "Invariant Sections" are certain Secondary Sections whose
|
||
titles are designated, as being those of Invariant Sections, in
|
||
the notice that says that the Document is released under this
|
||
License. If a section does not fit the above definition of
|
||
Secondary then it is not allowed to be designated as Invariant.
|
||
The Document may contain zero Invariant Sections. If the Document
|
||
does not identify any Invariant Sections then there are none.
|
||
|
||
The "Cover Texts" are certain short passages of text that are
|
||
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
|
||
that says that the Document is released under this License. A
|
||
Front-Cover Text may be at most 5 words, and a Back-Cover Text may
|
||
be at most 25 words.
|
||
|
||
A "Transparent" copy of the Document means a machine-readable copy,
|
||
represented in a format whose specification is available to the
|
||
general public, that is suitable for revising the document
|
||
straightforwardly with generic text editors or (for images
|
||
composed of pixels) generic paint programs or (for drawings) some
|
||
widely available drawing editor, and that is suitable for input to
|
||
text formatters or for automatic translation to a variety of
|
||
formats suitable for input to text formatters. A copy made in an
|
||
otherwise Transparent file format whose markup, or absence of
|
||
markup, has been arranged to thwart or discourage subsequent
|
||
modification by readers is not Transparent. An image format is
|
||
not Transparent if used for any substantial amount of text. A
|
||
copy that is not "Transparent" is called "Opaque".
|
||
|
||
Examples of suitable formats for Transparent copies include plain
|
||
ASCII without markup, Texinfo input format, LaTeX input format,
|
||
SGML or XML using a publicly available DTD, and
|
||
standard-conforming simple HTML, PostScript or PDF designed for
|
||
human modification. Examples of transparent image formats include
|
||
PNG, XCF and JPG. Opaque formats include proprietary formats that
|
||
can be read and edited only by proprietary word processors, SGML or
|
||
XML for which the DTD and/or processing tools are not generally
|
||
available, and the machine-generated HTML, PostScript or PDF
|
||
produced by some word processors for output purposes only.
|
||
|
||
The "Title Page" means, for a printed book, the title page itself,
|
||
plus such following pages as are needed to hold, legibly, the
|
||
material this License requires to appear in the title page. For
|
||
works in formats which do not have any title page as such, "Title
|
||
Page" means the text near the most prominent appearance of the
|
||
work's title, preceding the beginning of the body of the text.
|
||
|
||
A section "Entitled XYZ" means a named subunit of the Document
|
||
whose title either is precisely XYZ or contains XYZ in parentheses
|
||
following text that translates XYZ in another language. (Here XYZ
|
||
stands for a specific section name mentioned below, such as
|
||
"Acknowledgements", "Dedications", "Endorsements", or "History".)
|
||
To "Preserve the Title" of such a section when you modify the
|
||
Document means that it remains a section "Entitled XYZ" according
|
||
to this definition.
|
||
|
||
The Document may include Warranty Disclaimers next to the notice
|
||
which states that this License applies to the Document. These
|
||
Warranty Disclaimers are considered to be included by reference in
|
||
this License, but only as regards disclaiming warranties: any other
|
||
implication that these Warranty Disclaimers may have is void and
|
||
has no effect on the meaning of this License.
|
||
|
||
2. VERBATIM COPYING
|
||
|
||
You may copy and distribute the Document in any medium, either
|
||
commercially or noncommercially, provided that this License, the
|
||
copyright notices, and the license notice saying this License
|
||
applies to the Document are reproduced in all copies, and that you
|
||
add no other conditions whatsoever to those of this License. You
|
||
may not use technical measures to obstruct or control the reading
|
||
or further copying of the copies you make or distribute. However,
|
||
you may accept compensation in exchange for copies. If you
|
||
distribute a large enough number of copies you must also follow
|
||
the conditions in section 3.
|
||
|
||
You may also lend copies, under the same conditions stated above,
|
||
and you may publicly display copies.
|
||
|
||
3. COPYING IN QUANTITY
|
||
|
||
If you publish printed copies (or copies in media that commonly
|
||
have printed covers) of the Document, numbering more than 100, and
|
||
the Document's license notice requires Cover Texts, you must
|
||
enclose the copies in covers that carry, clearly and legibly, all
|
||
these Cover Texts: Front-Cover Texts on the front cover, and
|
||
Back-Cover Texts on the back cover. Both covers must also clearly
|
||
and legibly identify you as the publisher of these copies. The
|
||
front cover must present the full title with all words of the
|
||
title equally prominent and visible. You may add other material
|
||
on the covers in addition. Copying with changes limited to the
|
||
covers, as long as they preserve the title of the Document and
|
||
satisfy these conditions, can be treated as verbatim copying in
|
||
other respects.
|
||
|
||
If the required texts for either cover are too voluminous to fit
|
||
legibly, you should put the first ones listed (as many as fit
|
||
reasonably) on the actual cover, and continue the rest onto
|
||
adjacent pages.
|
||
|
||
If you publish or distribute Opaque copies of the Document
|
||
numbering more than 100, you must either include a
|
||
machine-readable Transparent copy along with each Opaque copy, or
|
||
state in or with each Opaque copy a computer-network location from
|
||
which the general network-using public has access to download
|
||
using public-standard network protocols a complete Transparent
|
||
copy of the Document, free of added material. If you use the
|
||
latter option, you must take reasonably prudent steps, when you
|
||
begin distribution of Opaque copies in quantity, to ensure that
|
||
this Transparent copy will remain thus accessible at the stated
|
||
location until at least one year after the last time you
|
||
distribute an Opaque copy (directly or through your agents or
|
||
retailers) of that edition to the public.
|
||
|
||
It is requested, but not required, that you contact the authors of
|
||
the Document well before redistributing any large number of
|
||
copies, to give them a chance to provide you with an updated
|
||
version of the Document.
|
||
|
||
4. MODIFICATIONS
|
||
|
||
You may copy and distribute a Modified Version of the Document
|
||
under the conditions of sections 2 and 3 above, provided that you
|
||
release the Modified Version under precisely this License, with
|
||
the Modified Version filling the role of the Document, thus
|
||
licensing distribution and modification of the Modified Version to
|
||
whoever possesses a copy of it. In addition, you must do these
|
||
things in the Modified Version:
|
||
|
||
A. Use in the Title Page (and on the covers, if any) a title
|
||
distinct from that of the Document, and from those of
|
||
previous versions (which should, if there were any, be listed
|
||
in the History section of the Document). You may use the
|
||
same title as a previous version if the original publisher of
|
||
that version gives permission.
|
||
|
||
B. List on the Title Page, as authors, one or more persons or
|
||
entities responsible for authorship of the modifications in
|
||
the Modified Version, together with at least five of the
|
||
principal authors of the Document (all of its principal
|
||
authors, if it has fewer than five), unless they release you
|
||
from this requirement.
|
||
|
||
C. State on the Title page the name of the publisher of the
|
||
Modified Version, as the publisher.
|
||
|
||
D. Preserve all the copyright notices of the Document.
|
||
|
||
E. Add an appropriate copyright notice for your modifications
|
||
adjacent to the other copyright notices.
|
||
|
||
F. Include, immediately after the copyright notices, a license
|
||
notice giving the public permission to use the Modified
|
||
Version under the terms of this License, in the form shown in
|
||
the Addendum below.
|
||
|
||
G. Preserve in that license notice the full lists of Invariant
|
||
Sections and required Cover Texts given in the Document's
|
||
license notice.
|
||
|
||
H. Include an unaltered copy of this License.
|
||
|
||
I. Preserve the section Entitled "History", Preserve its Title,
|
||
and add to it an item stating at least the title, year, new
|
||
authors, and publisher of the Modified Version as given on
|
||
the Title Page. If there is no section Entitled "History" in
|
||
the Document, create one stating the title, year, authors,
|
||
and publisher of the Document as given on its Title Page,
|
||
then add an item describing the Modified Version as stated in
|
||
the previous sentence.
|
||
|
||
J. Preserve the network location, if any, given in the Document
|
||
for public access to a Transparent copy of the Document, and
|
||
likewise the network locations given in the Document for
|
||
previous versions it was based on. These may be placed in
|
||
the "History" section. You may omit a network location for a
|
||
work that was published at least four years before the
|
||
Document itself, or if the original publisher of the version
|
||
it refers to gives permission.
|
||
|
||
K. For any section Entitled "Acknowledgements" or "Dedications",
|
||
Preserve the Title of the section, and preserve in the
|
||
section all the substance and tone of each of the contributor
|
||
acknowledgements and/or dedications given therein.
|
||
|
||
L. Preserve all the Invariant Sections of the Document,
|
||
unaltered in their text and in their titles. Section numbers
|
||
or the equivalent are not considered part of the section
|
||
titles.
|
||
|
||
M. Delete any section Entitled "Endorsements". Such a section
|
||
may not be included in the Modified Version.
|
||
|
||
N. Do not retitle any existing section to be Entitled
|
||
"Endorsements" or to conflict in title with any Invariant
|
||
Section.
|
||
|
||
O. Preserve any Warranty Disclaimers.
|
||
|
||
If the Modified Version includes new front-matter sections or
|
||
appendices that qualify as Secondary Sections and contain no
|
||
material copied from the Document, you may at your option
|
||
designate some or all of these sections as invariant. To do this,
|
||
add their titles to the list of Invariant Sections in the Modified
|
||
Version's license notice. These titles must be distinct from any
|
||
other section titles.
|
||
|
||
You may add a section Entitled "Endorsements", provided it contains
|
||
nothing but endorsements of your Modified Version by various
|
||
parties--for example, statements of peer review or that the text
|
||
has been approved by an organization as the authoritative
|
||
definition of a standard.
|
||
|
||
You may add a passage of up to five words as a Front-Cover Text,
|
||
and a passage of up to 25 words as a Back-Cover Text, to the end
|
||
of the list of Cover Texts in the Modified Version. Only one
|
||
passage of Front-Cover Text and one of Back-Cover Text may be
|
||
added by (or through arrangements made by) any one entity. If the
|
||
Document already includes a cover text for the same cover,
|
||
previously added by you or by arrangement made by the same entity
|
||
you are acting on behalf of, you may not add another; but you may
|
||
replace the old one, on explicit permission from the previous
|
||
publisher that added the old one.
|
||
|
||
The author(s) and publisher(s) of the Document do not by this
|
||
License give permission to use their names for publicity for or to
|
||
assert or imply endorsement of any Modified Version.
|
||
|
||
5. COMBINING DOCUMENTS
|
||
|
||
You may combine the Document with other documents released under
|
||
this License, under the terms defined in section 4 above for
|
||
modified versions, provided that you include in the combination
|
||
all of the Invariant Sections of all of the original documents,
|
||
unmodified, and list them all as Invariant Sections of your
|
||
combined work in its license notice, and that you preserve all
|
||
their Warranty Disclaimers.
|
||
|
||
The combined work need only contain one copy of this License, and
|
||
multiple identical Invariant Sections may be replaced with a single
|
||
copy. If there are multiple Invariant Sections with the same name
|
||
but different contents, make the title of each such section unique
|
||
by adding at the end of it, in parentheses, the name of the
|
||
original author or publisher of that section if known, or else a
|
||
unique number. Make the same adjustment to the section titles in
|
||
the list of Invariant Sections in the license notice of the
|
||
combined work.
|
||
|
||
In the combination, you must combine any sections Entitled
|
||
"History" in the various original documents, forming one section
|
||
Entitled "History"; likewise combine any sections Entitled
|
||
"Acknowledgements", and any sections Entitled "Dedications". You
|
||
must delete all sections Entitled "Endorsements."
|
||
|
||
6. COLLECTIONS OF DOCUMENTS
|
||
|
||
You may make a collection consisting of the Document and other
|
||
documents released under this License, and replace the individual
|
||
copies of this License in the various documents with a single copy
|
||
that is included in the collection, provided that you follow the
|
||
rules of this License for verbatim copying of each of the
|
||
documents in all other respects.
|
||
|
||
You may extract a single document from such a collection, and
|
||
distribute it individually under this License, provided you insert
|
||
a copy of this License into the extracted document, and follow
|
||
this License in all other respects regarding verbatim copying of
|
||
that document.
|
||
|
||
7. AGGREGATION WITH INDEPENDENT WORKS
|
||
|
||
A compilation of the Document or its derivatives with other
|
||
separate and independent documents or works, in or on a volume of
|
||
a storage or distribution medium, is called an "aggregate" if the
|
||
copyright resulting from the compilation is not used to limit the
|
||
legal rights of the compilation's users beyond what the individual
|
||
works permit. When the Document is included in an aggregate, this
|
||
License does not apply to the other works in the aggregate which
|
||
are not themselves derivative works of the Document.
|
||
|
||
If the Cover Text requirement of section 3 is applicable to these
|
||
copies of the Document, then if the Document is less than one half
|
||
of the entire aggregate, the Document's Cover Texts may be placed
|
||
on covers that bracket the Document within the aggregate, or the
|
||
electronic equivalent of covers if the Document is in electronic
|
||
form. Otherwise they must appear on printed covers that bracket
|
||
the whole aggregate.
|
||
|
||
8. TRANSLATION
|
||
|
||
Translation is considered a kind of modification, so you may
|
||
distribute translations of the Document under the terms of section
|
||
4. Replacing Invariant Sections with translations requires special
|
||
permission from their copyright holders, but you may include
|
||
translations of some or all Invariant Sections in addition to the
|
||
original versions of these Invariant Sections. You may include a
|
||
translation of this License, and all the license notices in the
|
||
Document, and any Warranty Disclaimers, provided that you also
|
||
include the original English version of this License and the
|
||
original versions of those notices and disclaimers. In case of a
|
||
disagreement between the translation and the original version of
|
||
this License or a notice or disclaimer, the original version will
|
||
prevail.
|
||
|
||
If a section in the Document is Entitled "Acknowledgements",
|
||
"Dedications", or "History", the requirement (section 4) to
|
||
Preserve its Title (section 1) will typically require changing the
|
||
actual title.
|
||
|
||
9. TERMINATION
|
||
|
||
You may not copy, modify, sublicense, or distribute the Document
|
||
except as expressly provided for under this License. Any other
|
||
attempt to copy, modify, sublicense or distribute the Document is
|
||
void, and will automatically terminate your rights under this
|
||
License. However, parties who have received copies, or rights,
|
||
from you under this License will not have their licenses
|
||
terminated so long as such parties remain in full compliance.
|
||
|
||
10. FUTURE REVISIONS OF THIS LICENSE
|
||
|
||
The Free Software Foundation may publish new, revised versions of
|
||
the GNU Free Documentation License from time to time. Such new
|
||
versions will be similar in spirit to the present version, but may
|
||
differ in detail to address new problems or concerns. See
|
||
`http://www.gnu.org/copyleft/'.
|
||
|
||
Each version of the License is given a distinguishing version
|
||
number. If the Document specifies that a particular numbered
|
||
version of this License "or any later version" applies to it, you
|
||
have the option of following the terms and conditions either of
|
||
that specified version or of any later version that has been
|
||
published (not as a draft) by the Free Software Foundation. If
|
||
the Document does not specify a version number of this License,
|
||
you may choose any version ever published (not as a draft) by the
|
||
Free Software Foundation.
|
||
|
||
D.1.1 ADDENDUM: How to use this License for your documents
|
||
----------------------------------------------------------
|
||
|
||
To use this License in a document you have written, include a copy of
|
||
the License in the document and put the following copyright and license
|
||
notices just after the title page:
|
||
|
||
Copyright (C) YEAR YOUR NAME.
|
||
Permission is granted to copy, distribute and/or modify this document
|
||
under the terms of the GNU Free Documentation License, Version 1.2
|
||
or any later version published by the Free Software Foundation;
|
||
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||
Texts. A copy of the license is included in the section entitled ``GNU
|
||
Free Documentation License''.
|
||
|
||
If you have Invariant Sections, Front-Cover Texts and Back-Cover
|
||
Texts, replace the "with...Texts." line with this:
|
||
|
||
with the Invariant Sections being LIST THEIR TITLES, with
|
||
the Front-Cover Texts being LIST, and with the Back-Cover Texts
|
||
being LIST.
|
||
|
||
If you have Invariant Sections without Cover Texts, or some other
|
||
combination of the three, merge those two alternatives to suit the
|
||
situation.
|
||
|
||
If your document contains nontrivial examples of program code, we
|
||
recommend releasing these examples in parallel under your choice of
|
||
free software license, such as the GNU General Public License, to
|
||
permit their use in free software.
|
||
|
||
|
||
File: grub.info, Node: Index, Prev: Copying This Manual, Up: Top
|
||
|
||
Index
|
||
*****
|
||
|
||
|