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>
|
||||
|
||||
* docs/user-ref.texi: New 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)
|
||||
|
|
|
@ -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
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
|
||||
@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
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)
|
||||
@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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue