add appendices.texi and prog-ref.texi.

This commit is contained in:
okuji 1999-10-21 20:04:07 +00:00
parent c14ac03919
commit f4c8bacd5a
8 changed files with 243 additions and 10 deletions

View file

@ -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>
* docs/user-ref.texi: New file.

View file

@ -7,7 +7,8 @@ SRC2TEXI = src2texi
noinst_SCRIPTS = $(HELP2MAN) $(SRC2TEXI)
# 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) \
$(EXAMPLES) $(multiboot_TEXINFOS) $(UNFINISHED_MANUALS)

View file

@ -91,7 +91,9 @@ SRC2TEXI = src2texi
noinst_SCRIPTS = $(HELP2MAN) $(SRC2TEXI)
# 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) \
$(EXAMPLES) $(multiboot_TEXINFOS) $(UNFINISHED_MANUALS)

184
docs/appendices.texi Normal file
View 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

View file

@ -1,7 +1,7 @@
\input texinfo
@c -*-texinfo-*-
@c %**start of header
@setfilename grub.info
@c @setfilename grub.info
@settitle GRUB Manual
@c %**end of header
@ -20,12 +20,14 @@
@dircategory Kernel
@direntry
* GRUB: (grub). The GRand Unified Bootloader.
* GRUB: (grub). The GRand Unified Bootloader
@end direntry
@dircategory Kernel
@direntry
* mbchk: (grub)Invoking mbchk. Check for the format of a Multiboot kernel
@end direntry
@setchapternewpage off
@ifinfo
@ -126,7 +128,7 @@ Appendices and Indices
* FAQ::
* Obtaining and Building GRUB::
* Reporting Bugs::
* Reporting bugs::
* Index::
@end menu

30
docs/prog-ref.texi Normal file
View 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

View file

@ -323,7 +323,14 @@ First, set GRUB's root device to the partition by the command
grub> rootnoverify (hd0,0)
@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
grub> chainloader +1

View file

@ -106,7 +106,7 @@ partitions, and files in a directory depending on context.
Supports multiple filesystem types transparently, plus a useful explicit
blocklist notation. The currently supported filesystem types are
@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
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.
@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.
@item read @var{addr}
@ -917,7 +917,7 @@ provide.
@item 11 : Device string unrecognizable
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
This error is returned if a device string is recognizable but does not
@ -1059,7 +1059,7 @@ this option.
@item --config-file=@var{file}
Read the configuration file @var{file} instead of
@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}
Set the stage2 @var{boot_drive} to @var{drive}. This argument should be