| @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 |