|  | @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 @kbd{@key{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}. Only @file{stage1}, | 
|  | @file{stage2} and @file{menu.lst} are necessary. You may not copy | 
|  | @dfn{stage1.5}s. | 
|  |  | 
|  | @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 @samp{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 @samp{0x83} if the partition contains ext2fs | 
|  | filesystem, and use @samp{0xA5} if the partition contains ffs | 
|  | filesystem, whether the partition owner is Hurd or not. We will use | 
|  | @samp{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 (@pxref{Top, Multiboot Specification, Motivation, | 
|  | multiboot, The Multiboot Specification}), the world would be an | 
|  | utopia@dots{} | 
|  | @end table | 
|  |  | 
|  |  | 
|  | @node Obtaining and Building GRUB | 
|  | @appendix How to obtain and build 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 | 
|  |  | 
|  | @c Do not change alpha.gnu.org:/gnu/hurd/src to the URI, since TeX does | 
|  | @c not format it well. | 
|  | GRUB is available from the GNU alpha archive site | 
|  | @url{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 | 
|  | @group | 
|  | $ cd grub-@value{VERSION} | 
|  | $ ./configure | 
|  | $ make install | 
|  | @end group | 
|  | @end example | 
|  |  | 
|  | This will install the grub shell @file{grub} (@pxref{Invoking the grub | 
|  | shell}), the Multiboot checker @file{mbchk} (@pxref{Invoking mbchk}), | 
|  | and the GRUB images It will also install the GRUB manual. | 
|  |  | 
|  | Also, the latest version is available from the CVS. The repository is: | 
|  |  | 
|  | @code{:pserver:anoncvs@@anoncvs.gnu.org:/gd/gnu/anoncvsroot} | 
|  |  | 
|  | and the module is: | 
|  |  | 
|  | @code{grub} | 
|  |  | 
|  | The password for anoncvs is empty. So the instruction is: | 
|  |  | 
|  | @example | 
|  | @group | 
|  | $ 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 group | 
|  | @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 |