diff --git a/ChangeLog b/ChangeLog index d39560249..27ad4aeec 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +1999-10-22 OKUJI Yoshinori + + * 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 * docs/user-ref.texi: New file. diff --git a/docs/Makefile.am b/docs/Makefile.am index ff59a5713..d30520c8c 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -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) diff --git a/docs/Makefile.in b/docs/Makefile.in index 7d13f0c67..f2d7de0da 100644 --- a/docs/Makefile.in +++ b/docs/Makefile.in @@ -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) diff --git a/docs/appendices.texi b/docs/appendices.texi new file mode 100644 index 000000000..8f12bb310 --- /dev/null +++ b/docs/appendices.texi @@ -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 <&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 diff --git a/docs/new-grub.texi b/docs/new-grub.texi index 8385cddd9..05aa0b13d 100644 --- a/docs/new-grub.texi +++ b/docs/new-grub.texi @@ -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 diff --git a/docs/prog-ref.texi b/docs/prog-ref.texi new file mode 100644 index 000000000..1132663a2 --- /dev/null +++ b/docs/prog-ref.texi @@ -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 diff --git a/docs/tutorial.texi b/docs/tutorial.texi index 6bf1184a3..61dd6c94c 100644 --- a/docs/tutorial.texi +++ b/docs/tutorial.texi @@ -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 diff --git a/docs/user-ref.texi b/docs/user-ref.texi index 5228b1d12..de6f0bcd6 100644 --- a/docs/user-ref.texi +++ b/docs/user-ref.texi @@ -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