diff --git a/ChangeLog b/ChangeLog index ff3c79041..3a155541b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +1999-12-31 OKUJI Yoshinori + + * stage2/builtins.c (setup_func) [!NO_BUGGY_BIOS_IN_THE_WORLD]: + Specify the option `d', whether INSTALL_DRIVE is identical with + IMAGE_DRIVE or not. + * docs/user-ref.texi (Command-line-specific commands): Added a + caution about buggy BIOSes which don't pass a booting drive + properly. + + * docs/src2texi: Added an extra space into the first line, for + the portability issue. + + * docs/appendices.texi (Obtaining and Building GRUB): Update the + information on the ftp site and the CVS repository. + 1999-12-30 OKUJI Yoshinori * stage2/builtins.c (blocklist_func): New function. diff --git a/docs/appendices.texi b/docs/appendices.texi index fd5f546c0..344085628 100644 --- a/docs/appendices.texi +++ b/docs/appendices.texi @@ -130,14 +130,14 @@ 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 Do not change alpha.gnu.org:/gnu/grub 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 +@url{alpha.gnu.org:/gnu/grub} 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} +@url{ftp://alpha.gnu.org/gnu/grub/grub-@value{VERSION}.tar.gz} To unbundle GRUB use the instruction: @@ -164,7 +164,7 @@ 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} +@code{:pserver:anoncvs@@subversions.gnu.org:/home/cvs} and the module is: @@ -174,11 +174,11 @@ The password for anoncvs is empty. So the instruction is: @example @group -$ cvs -d :pserver:anoncvs@@anoncvs.gnu.org:/gd/gnu/anoncvsroot \ +$ cvs -d :pserver:anoncvs@@subversions.gnu.org:/home/cvs \ login Password: @key{ENTER} -$ cvs -d :pserver:anoncvs@@anoncvs.gnu.org:/gd/gnu/anoncvsroot \ - co grub +$ cvs -d :pserver:anoncvs@@subversions.gnu.org:/home/cvs \ + checkout grub @end group @end example diff --git a/docs/src2texi b/docs/src2texi index 9c58c6ecf..10786d971 100644 --- a/docs/src2texi +++ b/docs/src2texi @@ -1,4 +1,4 @@ -#!/bin/sh +#! /bin/sh # # Convert a source file to a TeXinfo file. Stolen from glibc. # diff --git a/docs/user-ref.texi b/docs/user-ref.texi index cc7452d78..b0b82fbb4 100644 --- a/docs/user-ref.texi +++ b/docs/user-ref.texi @@ -861,6 +861,20 @@ time. Likewise, if @var{real_config_file} is present and patched with the configuration filename @var{real_config_file}. This command preserves the DOS BPB (and for hard disks, the partition table) of the sector the Stage 1 is to be installed into. + +@strong{Caution:} Several buggy BIOSes don't pass a booting drive +properly when booting from a hard disk drive. Therefore, you will have +to specify the option @option{d}, whether your Stage2 resides at the +booting drive or not, if you have such a BIOS unfortunately. We know +these are defective in that: + +@table @asis +@item +Fujitsu LifeBook 400 BIOS version 31J0103A + +@item +HP Vectra XU 6/200 BIOS version GG.06.11 +@end table @end deffn @deffn Command ioprobe drive diff --git a/stage2/builtins.c b/stage2/builtins.c index 79591e07c..6280c0aff 100644 --- a/stage2/builtins.c +++ b/stage2/builtins.c @@ -2451,12 +2451,26 @@ setup_func (char *arg, int flags) /* Construct a string that is used by the command "install" as its arguments. */ sprint_device (install_drive, install_partition); + +#ifdef NO_BUGGY_BIOS_IN_THE_WORLD + /* I prefer this, but... */ grub_sprintf (cmd_arg, "%s %s%s %s p %s", stage1, (install_drive != image_drive) ? "d " : "", device, stage2, config_file); +#else /* ! NO_BUGGY_BIOS_IN_THE_WORLD */ + /* Actually, there are several buggy BIOSes in the world, so we + may not expect that your BIOS will pass a booting drive to stage1 + correctly. Thus, always specify the option `d', whether + INSTALL_DRIVE is identical with IMAGE_DRIVE or not. *sigh* */ + grub_sprintf (cmd_arg, "%s d %s %s p %s", + stage1, + device, + stage2, + config_file); +#endif /* ! NO_BUGGY_BIOS_IN_THE_WORLD */ /* Notify what will be run. */ grub_printf (" Run \"install %s\"\n", cmd_arg);