add appendices.texi and prog-ref.texi.
This commit is contained in:
parent
c14ac03919
commit
f4c8bacd5a
8 changed files with 243 additions and 10 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
1999-10-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
||||||
|
|
||||||
|
* docs/prog-ref.texi: New file.
|
||||||
|
* docs/appendices.texi: Likewise.
|
||||||
|
* docs/Makefile.am (UNFINISHED_MANUALS): Added prog-ref.texi and
|
||||||
|
appendices.texi.
|
||||||
|
|
||||||
1999-10-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
1999-10-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
||||||
|
|
||||||
* docs/user-ref.texi: New file.
|
* docs/user-ref.texi: New file.
|
||||||
|
|
|
@ -7,7 +7,8 @@ SRC2TEXI = src2texi
|
||||||
noinst_SCRIPTS = $(HELP2MAN) $(SRC2TEXI)
|
noinst_SCRIPTS = $(HELP2MAN) $(SRC2TEXI)
|
||||||
|
|
||||||
# The unfinished manuals.
|
# The unfinished manuals.
|
||||||
UNFINISHED_MANUALS = new-grub.texi tutorial.texi user-ref.texi
|
UNFINISHED_MANUALS = new-grub.texi tutorial.texi user-ref.texi \
|
||||||
|
prog-ref.texi appendices.texi
|
||||||
|
|
||||||
EXTRA_DIST = menu.lst $(man_MANS) $(noinst_SCRIPTS) \
|
EXTRA_DIST = menu.lst $(man_MANS) $(noinst_SCRIPTS) \
|
||||||
$(EXAMPLES) $(multiboot_TEXINFOS) $(UNFINISHED_MANUALS)
|
$(EXAMPLES) $(multiboot_TEXINFOS) $(UNFINISHED_MANUALS)
|
||||||
|
|
|
@ -91,7 +91,9 @@ SRC2TEXI = src2texi
|
||||||
noinst_SCRIPTS = $(HELP2MAN) $(SRC2TEXI)
|
noinst_SCRIPTS = $(HELP2MAN) $(SRC2TEXI)
|
||||||
|
|
||||||
# The unfinished manuals.
|
# The unfinished manuals.
|
||||||
UNFINISHED_MANUALS = new-grub.texi tutorial.texi user-ref.texi
|
UNFINISHED_MANUALS = new-grub.texi tutorial.texi user-ref.texi \
|
||||||
|
prog-ref.texi appendices.texi
|
||||||
|
|
||||||
|
|
||||||
EXTRA_DIST = menu.lst $(man_MANS) $(noinst_SCRIPTS) \
|
EXTRA_DIST = menu.lst $(man_MANS) $(noinst_SCRIPTS) \
|
||||||
$(EXAMPLES) $(multiboot_TEXINFOS) $(UNFINISHED_MANUALS)
|
$(EXAMPLES) $(multiboot_TEXINFOS) $(UNFINISHED_MANUALS)
|
||||||
|
|
184
docs/appendices.texi
Normal file
184
docs/appendices.texi
Normal file
|
@ -0,0 +1,184 @@
|
||||||
|
@node FAQ
|
||||||
|
@appendix Frequently asked questions
|
||||||
|
|
||||||
|
@table @asis
|
||||||
|
@item How does GNU GRUB differ from Erich's original GRUB?
|
||||||
|
|
||||||
|
GNU GRUB is the successor of Erich's great GRUB. He couldn't work on
|
||||||
|
GRUB because of some other tasks, so the current maintainer Gordon
|
||||||
|
Matzigkeit took over the maintainership, and opened the development in
|
||||||
|
order for everybody to participate it.
|
||||||
|
|
||||||
|
Technically speaking, GNU GRUB has many features that are not
|
||||||
|
seen in the original GRUB. For example, GNU GRUB can be installed on
|
||||||
|
UNIX-like operating system (i.e. GNU/Linux) via the grub shell
|
||||||
|
@file{/sbin/grub}, it supports Logical Block Address (LBA) mode that
|
||||||
|
solves the 1024 cylinders problem, and TAB completes a filename when
|
||||||
|
it's unique. Of course, many bug fixes are done as well, so it is
|
||||||
|
recommended to use GNU GRUB.
|
||||||
|
|
||||||
|
@item Can GRUB boot my operating system from over 8GB hard disks?
|
||||||
|
|
||||||
|
That depends on your BIOS and your operating system. You must make
|
||||||
|
sure that your drive is accessible in LBA mode. Generally, that is
|
||||||
|
configurable in BIOS setting utility. Read the manual for your BIOS
|
||||||
|
for more information.
|
||||||
|
|
||||||
|
Furthermore, some operating systems (i.e. DOS) cannot access any large
|
||||||
|
disk, so the problem is not solved by any kind of boot loader. As long
|
||||||
|
as I know, at least GNU/Hurd and GNU/Linux can boot from such a large
|
||||||
|
disk.
|
||||||
|
|
||||||
|
@item Can I put Stage2 into a partition which is over 1024 cylinders?
|
||||||
|
|
||||||
|
Yes, if your BIOS supports the LBA mode.
|
||||||
|
|
||||||
|
@item How to create a GRUB boot floppy with the menu interface?
|
||||||
|
|
||||||
|
The easiest way is:
|
||||||
|
|
||||||
|
@enumerate
|
||||||
|
@item
|
||||||
|
Create filesystem in your floppy disk. For example:
|
||||||
|
|
||||||
|
@example
|
||||||
|
$ mke2fs /dev/fd0
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@item
|
||||||
|
Mount it on somewhere, say, @file{/mnt}.
|
||||||
|
|
||||||
|
@item
|
||||||
|
Copy the GRUB images to @file{/mnt/boot/grub}.
|
||||||
|
|
||||||
|
@item
|
||||||
|
Run the following command:
|
||||||
|
|
||||||
|
@example
|
||||||
|
$ /sbin/grub --batch <<EOT
|
||||||
|
root (fd0)
|
||||||
|
setup (fd0)
|
||||||
|
quit
|
||||||
|
EOT
|
||||||
|
@end example
|
||||||
|
@end enumerate
|
||||||
|
|
||||||
|
@item How to specify a partition?
|
||||||
|
|
||||||
|
@xref{Device syntax}.
|
||||||
|
|
||||||
|
@item GRUB does not recognize my GNU/Hurd partition.
|
||||||
|
|
||||||
|
I don't know why, but the authors of FDISK programs have assigned the
|
||||||
|
partition type 0x63 to GNU Hurd incorrectly. A partition type should
|
||||||
|
mean what format is used in the partition, such as filesystem and BSD
|
||||||
|
slices, and should not be used to represent what operating system owns
|
||||||
|
the partition. So use 0x83 if the partition contains ext2fs
|
||||||
|
filesystem, and use 0xA5 if the partition contains ffs fielsystem,
|
||||||
|
whether the partition owner is Hurd or not. We will use 0x63 for GNU
|
||||||
|
Hurd filesystem that has not been implemented yet.
|
||||||
|
|
||||||
|
@item I've installed a recent version of binutils, but GRUB still crashes.
|
||||||
|
|
||||||
|
Please check for the version of your binutils by this command:
|
||||||
|
|
||||||
|
@example
|
||||||
|
$ ld -v
|
||||||
|
@end example
|
||||||
|
|
||||||
|
This will show two versions, but only the latter is important. If the
|
||||||
|
version is identical with what you have installed, the installation was
|
||||||
|
not bad.
|
||||||
|
|
||||||
|
Well, please try:
|
||||||
|
|
||||||
|
@example
|
||||||
|
$ gcc -Wl,-v 2>&1 | grep "GNU ld"
|
||||||
|
@end example
|
||||||
|
|
||||||
|
If this is not identical with the result above, you should specify the
|
||||||
|
directory where you have installed binutils for the script configure,
|
||||||
|
like this:
|
||||||
|
|
||||||
|
@example
|
||||||
|
$ ./configure --with-binutils=/usr/local/bin
|
||||||
|
@end example
|
||||||
|
|
||||||
|
If you follow the instructions above but GRUB still crashes, probably
|
||||||
|
there is a serious bug in GRUB. @xref{Reporting bugs}.
|
||||||
|
|
||||||
|
@item Why doesn't Linux (FreeBSD, NetBSD, etc.) become Multiboot-compliant?
|
||||||
|
|
||||||
|
Please ask the maintainers. If all free kernels were
|
||||||
|
Multiboot-compliant, the world would be an utopia@dots{}
|
||||||
|
@end table
|
||||||
|
|
||||||
|
|
||||||
|
@node Obtaining and Building GRUB
|
||||||
|
@appendix Obtaining and Building GRUB
|
||||||
|
|
||||||
|
@quotation
|
||||||
|
@strong{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. The latest version can be
|
||||||
|
obtained from @url{ftp://ftp.varesearch.com/pub/support/hjl/binutils/}.
|
||||||
|
@end quotation
|
||||||
|
|
||||||
|
GRUB can be obtained from the GNU alpha archive site
|
||||||
|
@url{ftp://alpha.gnu.org/gnu/hurd/src} or any of its mirrors. The file
|
||||||
|
will be named grub-version.tar.gz. The current version is
|
||||||
|
@value{VERSION}, so the file you should grab is:
|
||||||
|
|
||||||
|
@url{ftp://alpha.gnu.org/gnu/hurd/src/grub-@value{VERSION}.tar.gz}
|
||||||
|
|
||||||
|
To unbundle GRUB use the instruction:
|
||||||
|
|
||||||
|
@example
|
||||||
|
zcat grub-@value{VERSION}.tar.gz | tar xvf -
|
||||||
|
@end example
|
||||||
|
|
||||||
|
which will create a directory called @file{guile-@value{VERSION}} with
|
||||||
|
all the sources. You can look at the file @file{INSTALL} for detailed
|
||||||
|
instructions on how to build and install GRUB, but you should be able to
|
||||||
|
just do:
|
||||||
|
|
||||||
|
@example
|
||||||
|
$ cd grub-@value{VERSION}
|
||||||
|
$ ./configure
|
||||||
|
$ make install
|
||||||
|
@end example
|
||||||
|
|
||||||
|
This will install the grub shell @file{grub}, the Multiboot checker
|
||||||
|
@file{mbchk}, and the GRUB images It will also install the GRUB manual.
|
||||||
|
|
||||||
|
Also, you can obtain the latest version from the CVS. Use the repository
|
||||||
|
@code{:pserver:anoncvs@@anoncvs.gnu.org:/gd/gnu/anoncvsroot} and the
|
||||||
|
module @code{grub}. The password for anoncvs is empty. So the
|
||||||
|
instruction is:
|
||||||
|
|
||||||
|
@example
|
||||||
|
$ cvs -d :pserver:anoncvs@@anoncvs.gnu.org:/gd/gnu/anoncvsroot login
|
||||||
|
Password: @key{ENTER}
|
||||||
|
$ cvs -d :pserver:anoncvs@@anoncvs.gnu.org:/gd/gnu/anoncvsroot co grub
|
||||||
|
@end example
|
||||||
|
|
||||||
|
Get the recent version of GNU Automake from the CVS to regenerate
|
||||||
|
@file{Makefile.in}s. See @url{http://sourceware.cygnus.com/automake/},
|
||||||
|
for more information.
|
||||||
|
|
||||||
|
|
||||||
|
@node Reporting bugs
|
||||||
|
@appendix Reporting bugs
|
||||||
|
|
||||||
|
When you encounter any problem or bug, please submit it to
|
||||||
|
@email{bug-grub@@gnu.org} with information about your computer and what
|
||||||
|
you did @emph{as much as possible}. For example, your operating system,
|
||||||
|
the geometries of your drives and the version of GRUB are very
|
||||||
|
important.
|
||||||
|
|
||||||
|
|
||||||
|
@node Index
|
||||||
|
@unnumbered Index
|
||||||
|
|
||||||
|
@c Currently, we use only the Concept Index.
|
||||||
|
@printindex cp
|
|
@ -1,7 +1,7 @@
|
||||||
\input texinfo
|
\input texinfo
|
||||||
@c -*-texinfo-*-
|
@c -*-texinfo-*-
|
||||||
@c %**start of header
|
@c %**start of header
|
||||||
@setfilename grub.info
|
@c @setfilename grub.info
|
||||||
@settitle GRUB Manual
|
@settitle GRUB Manual
|
||||||
@c %**end of header
|
@c %**end of header
|
||||||
|
|
||||||
|
@ -20,12 +20,14 @@
|
||||||
|
|
||||||
@dircategory Kernel
|
@dircategory Kernel
|
||||||
@direntry
|
@direntry
|
||||||
* GRUB: (grub). The GRand Unified Bootloader.
|
* GRUB: (grub). The GRand Unified Bootloader
|
||||||
@end direntry
|
@end direntry
|
||||||
|
|
||||||
@dircategory Kernel
|
@dircategory Kernel
|
||||||
@direntry
|
@direntry
|
||||||
* mbchk: (grub)Invoking mbchk. Check for the format of a Multiboot kernel
|
* mbchk: (grub)Invoking mbchk. Check for the format of a Multiboot kernel
|
||||||
|
@end direntry
|
||||||
|
|
||||||
@setchapternewpage off
|
@setchapternewpage off
|
||||||
|
|
||||||
@ifinfo
|
@ifinfo
|
||||||
|
@ -126,7 +128,7 @@ Appendices and Indices
|
||||||
|
|
||||||
* FAQ::
|
* FAQ::
|
||||||
* Obtaining and Building GRUB::
|
* Obtaining and Building GRUB::
|
||||||
* Reporting Bugs::
|
* Reporting bugs::
|
||||||
* Index::
|
* Index::
|
||||||
|
|
||||||
@end menu
|
@end menu
|
||||||
|
|
30
docs/prog-ref.texi
Normal file
30
docs/prog-ref.texi
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
@node Memory map
|
||||||
|
@chapter Memory map
|
||||||
|
|
||||||
|
|
||||||
|
@node Embedded data
|
||||||
|
@chapter Embedded data
|
||||||
|
|
||||||
|
|
||||||
|
@node Filesystem interface
|
||||||
|
@chapter Filesystem interface
|
||||||
|
|
||||||
|
|
||||||
|
@node Bootstrap tricks
|
||||||
|
@chapter Bootstrap tricks
|
||||||
|
|
||||||
|
|
||||||
|
@node Memory detection
|
||||||
|
@chapter Memory detection
|
||||||
|
|
||||||
|
|
||||||
|
@node Low-level disk I/O
|
||||||
|
@chapter Low-level disk I/O
|
||||||
|
|
||||||
|
|
||||||
|
@node MBR
|
||||||
|
@chapter MBR
|
||||||
|
|
||||||
|
|
||||||
|
@node Partition table
|
||||||
|
@chapter Partition table
|
|
@ -323,7 +323,14 @@ First, set GRUB's root device to the partition by the command
|
||||||
grub> rootnoverify (hd0,0)
|
grub> rootnoverify (hd0,0)
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
Second, load the boot loader by the command @command{chainloader}:
|
Second, set the @dfn{active} flags in the partition by the command
|
||||||
|
@command{makeactive}:
|
||||||
|
|
||||||
|
@example
|
||||||
|
grub> makeactive
|
||||||
|
@end example
|
||||||
|
|
||||||
|
Third, load the boot loader by the command @command{chainloader}:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
grub> chainloader +1
|
grub> chainloader +1
|
||||||
|
|
|
@ -106,7 +106,7 @@ partitions, and files in a directory depending on context.
|
||||||
Supports multiple filesystem types transparently, plus a useful explicit
|
Supports multiple filesystem types transparently, plus a useful explicit
|
||||||
blocklist notation. The currently supported filesystem types are
|
blocklist notation. The currently supported filesystem types are
|
||||||
@dfn{BSD FFS}, @dfn{DOS FAT16 and FAT32}, @dfn{Minix fs}, and
|
@dfn{BSD FFS}, @dfn{DOS FAT16 and FAT32}, @dfn{Minix fs}, and
|
||||||
@dfn{Linux ext2fs}. @xref{Filesystems}, for more information.
|
@dfn{Linux ext2fs}. @xref{Filesystem}, for more information.
|
||||||
|
|
||||||
@item Decompression Support
|
@item Decompression Support
|
||||||
Can decompress files which were compressed by @command{gzip}. This
|
Can decompress files which were compressed by @command{gzip}. This
|
||||||
|
@ -743,7 +743,7 @@ emit the standard beep sound, which is useful when prompting the user to
|
||||||
change floppies.
|
change floppies.
|
||||||
|
|
||||||
@item quit
|
@item quit
|
||||||
Exit from the GRUB shell @command{grub} (@pxref{Invoking The grub
|
Exit from the GRUB shell @command{grub} (@pxref{Invoking the grub
|
||||||
shell}). This command is ignored in the native Stage 2.
|
shell}). This command is ignored in the native Stage 2.
|
||||||
|
|
||||||
@item read @var{addr}
|
@item read @var{addr}
|
||||||
|
@ -917,7 +917,7 @@ provide.
|
||||||
|
|
||||||
@item 11 : Device string unrecognizable
|
@item 11 : Device string unrecognizable
|
||||||
This error is returned if a device string was expected, and the string
|
This error is returned if a device string was expected, and the string
|
||||||
encountered didn't fit the syntax/rules listed in the @ref{Filesystems}.
|
encountered didn't fit the syntax/rules listed in the @ref{Filesystem}.
|
||||||
|
|
||||||
@item 12 : Invalid device requested
|
@item 12 : Invalid device requested
|
||||||
This error is returned if a device string is recognizable but does not
|
This error is returned if a device string is recognizable but does not
|
||||||
|
@ -1059,7 +1059,7 @@ this option.
|
||||||
@item --config-file=@var{file}
|
@item --config-file=@var{file}
|
||||||
Read the configuration file @var{file} instead of
|
Read the configuration file @var{file} instead of
|
||||||
@file{/boot/grub/menu.lst}. The format is the same as the normal GRUB
|
@file{/boot/grub/menu.lst}. The format is the same as the normal GRUB
|
||||||
syntax. See @ref{Filesystems}, for more information.
|
syntax. See @ref{Filesystem}, for more information.
|
||||||
|
|
||||||
@item --boot-drive=@var{drive}
|
@item --boot-drive=@var{drive}
|
||||||
Set the stage2 @var{boot_drive} to @var{drive}. This argument should be
|
Set the stage2 @var{boot_drive} to @var{drive}. This argument should be
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue