okuji [Wed, 22 May 2002 06:58:23 +0000 (06:58 +0000)]
2002-05-22 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/builtins.c (boot_func): If DEBUG is true, print
BOOT_DRIVE and BOOT_PART_OFFSET.
Don't set ERRNUM after rawread failed, because rawread should
set ERRNUM itself.
okuji [Mon, 20 May 2002 11:48:03 +0000 (11:48 +0000)]
2002-05-20 Yoshinori K. Okuji <okuji@enbug.org>
* lib/device.c (read_device_map): Show an error message and exit
abnormally, if MAP[DRIVE] has already been filled.
* util/grub-install.in: If there is any dulicated entry, print
an error message and exit abnormally.
okuji [Wed, 8 May 2002 05:49:33 +0000 (05:49 +0000)]
2002-05-08 Yoshinori K. Okuji <okuji@enbug.org>
* netboot/etherboot.h (ETH_MAX_MTU): Because some DHCP/BOOTP
servers don't treat the maximum length the same as Etherboot,
subtract the size of an IP header and that of an UDP header.
From Jean-Jacques Michel <jjmichel@linbox.com>:
* stage2/boot.c (load_image): For Linux, check if DATA_LEN is
greater than MULTIBOOT_SEARCH. If that's true, read the rest
after copying data already read in BUFFER.
* stage2/boot.c (load_image): For Linux, don't check if the
length of protected mode code is greater than or equal to the
expected length minus 16. Instead, just check if no error
occurred. That was problematic, because memdisk has no protected
mode code. Also, I don't see what the magic number 16 was for.
* stage2/builtins.c [GRUB_UTIL] (dump_func): New function.
[GRUB_UTIL] (builtin_dump): New variable.
(builtin_table) [GRUB_UTIL]: Added a pointer to BUILTIN_DUMP.
* util/grub-install.in: Make sure that GRUB reads the same
images as the host operating system by comparing the result of
running the command "dump" with the contents of the OS file.
okuji [Fri, 29 Mar 2002 10:24:17 +0000 (10:24 +0000)]
2002-03-29 Yoshinori K. Okuji <okuji@enbug.org>
* docs/grub.texi (General commands): Added ``pager'' into the
menu.
(pager): New subsection.
(terminal): Added a description about the option
``--lines=LINES''.
* configure.in (AC_INIT_AUTOMAKE): Set the version number to
0.92.
okuji [Mon, 25 Mar 2002 21:43:55 +0000 (21:43 +0000)]
2002-03-26 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/boot.c (linux_mem_size): New variable.
(load_image): Check a mem= option and set LINUX_MEM_SIZE to the
specified memory size, if any. Otherwise, to zero. When an
overflow is detected, use LINUX_INITRD_MAX_ADDRESS instead.
(load_initrd): If LINUX_MEM_SIZE is non-zero, use it instead of
the actual memory size.
* stage2/char_io.c (safe_parse_maxint): Use ERR_NUMBER_OVERFLOW
instead of ERR_NUMBER_PARSING, when an overflow occurs.
* stage2/common.c [!STAGE1_5] (err_list): Added
ERR_NUMBER_OVERFLOW.
* stage2/shared.h (ERR_NUMBER_OVERFLOW): New constant.
okuji [Sun, 24 Mar 2002 12:28:54 +0000 (12:28 +0000)]
2002-03-24 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/stage2.c (run_menu): Call cls outside the loop to run
scripts.
* stage2/cmdline.c (run_script): Prompt a user's intervention,
only when FALLBACK_ENTRY is negative.
proski [Mon, 11 Feb 2002 08:10:57 +0000 (08:10 +0000)]
* util/grub-install.in (find_device): New function - find block
device for given file or directory. Resolve symlinks to fix
problem on Linux with devfs and old device names in /etc/fstab.
Use find_device() for root_device, bootdir_device and
grubdir_device.
okuji [Fri, 8 Feb 2002 01:28:39 +0000 (01:28 +0000)]
2002-02-08 Yoshinori K. Okuji <okuji@enbug.org>
* grub/main.c (OPT_NO_PAGER): New macro.
(longopts): Added an entry for "--no-pager".
(usage): Added a description about "--no-pager".
(main): In case of OPT_NO_PAGER, set USE_PAGER to zero. The same
thing is done with OPT_BATCH, because the pager is just harmful
in batch mode.
okuji [Fri, 8 Feb 2002 01:14:01 +0000 (01:14 +0000)]
2002-02-08 Yoshinori K. Okuji <okuji@enbug.org>
An internal pager is implemented.
* stage2/builtins.c (pager_func): New function.
(builtin_pager): New variable.
(terminal_func): New option, "--lines=LINES" is added. If this
option is specified, set MAX_LINES to the value. Otherwise, set
MAX_LINES to 24.
(vbeprobe_func): Remove the pager code specific to this
function.
(builtin_table): Added a pointer to BUILTIN_PAGER.
* stage2/char_io.c (max_lines) [!STAGE1_5]: New variable.
(count_lines) [!STAGE1_5]: Likewise.
(use_pager) [!STAGE1_5]: Likewise.
(grub_putchar) [!STAGE1_5]: if C is a newline and COUNT_LINES is
not -1, count up the number of lines. If it exceeds the maximum
number of lines minus 2, show a message and wait for input of
return key. "minus 2" is to reserve space for the message
printed by this internal pager.
* stage2/cmdline.c (enter_cmdline): If USE_PAGER is true, set
COUNT_LINES to zero, before running a command, and reset
COUNT_LINES to -1 after that.
* stage2/shared.h (max_lines) [!STAGE1_5]: Declared.
(count_lines) [!STAGE1_5]: Likewise.
(use_pager) [!STAGE1_5]: Likewise.
okuji [Thu, 7 Feb 2002 23:28:47 +0000 (23:28 +0000)]
2002-02-08 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/fsys_jfs.c (jfs_read) [STAGE1_5]: Set and reset
DISK_READ_FUNC even in Stage 1.5.
* stage2/fsys_xfs.c (xfs_read) [STAGE1_5]: Likewise.
* stage2/stage1_5.c (saved_sector): Initialized with -1.
(cmain): Check if SAVED_SECTOR was set appropriately after
reading the second sector of Stage 2. If SAVED_SECTOR is not
set (i.e. it is equal to -1), print an error and stop.
kr [Fri, 18 Jan 2002 17:16:10 +0000 (17:16 +0000)]
(use_curses): Initialize to 0 if !HAVE_LIBCURSES
(main): Check for curses use and set terminal to dumb if we don't
use it (helps for --batch and variants of non-curses setup).
okuji [Tue, 8 Jan 2002 03:19:23 +0000 (03:19 +0000)]
2002-01-08 Yoshinori K. Okuji <okuji@gnu.org>
* grub/main.c (use_preset_menu): New variable.
(OPT_PRESET_MENU): New macro.
(longopts): Added an entry for "--preset-menu".
(usage): Added a description for "--preset-menu". Also, change
the first character of the description for "--device-map" to
lower case for consistency.
(main): Set USE_PRESET_MENU to 1 in the case of OPT_PRESET_MENU.
* stage2/shared.h (use_preset_menu): Declared.
* stage2/stage2.c [PRESET_MENU_STRING || SUPPORT_DISKLESS]
(open_preset_menu) [GRUB_UTIL]: If USE_PRESET_MENU is false,
return zero immediately.
okuji [Tue, 8 Jan 2002 02:48:44 +0000 (02:48 +0000)]
2002-01-08 Yoshinori K. Okuji <okuji@gnu.org>
* stage2/common.c [SUPPORT_DISKLESS]
(setup_diskless_environment): Removed. The feature is moved to
the preset menu.
* stage2/stage2.c [SUPPORT_DISKLESS] (preset_menu): Set to the
string "bootp\n".
[SUPPORT_DISKLESS] (preset_menu_offset): Defined, as if
PRESET_MENU_STRING is defined.
[SUPPORT_DISKLESS] (open_preset_menu): Likewise.
[SUPPORT_DISKLESS] (read_from_preset_menu): Likewise.
[SUPPORT_DISKLESS] (close_preset_menu): Likewise.
okuji [Sat, 5 Jan 2002 19:59:29 +0000 (19:59 +0000)]
2002-01-06 Yoshinori K. Okuji <okuji@gnu.org>
The preset menu has a priority over the configuration file.
Suggested by Christoph Plattner.
* stage2/stage2.c [PRESET_MENU_STRING] (open_preset_menu):
Check if PRESET_MENU is not NULL.
[PRESET_MENU_STRING] (close_preset_menu): Set PRESET_MENU to
NULL.
(cmain): New internal function, reset. This function resets
AUTO_FILL, CONFIG_LEN, MENU_LEN, NUM_ENTRIES, CONFIG_ENTRIES,
MENU_ENTRIES and call init_config.
Try to open the preset menu first, and try to open the
configuration file, only if that failed.
Even if the preset menu was read, try to open the configuration
file. This time, opening the preset menu never succeed, because
close_preset_menu ensures that the preset menu is available at
most once.
* netboot/config.c: Applied a diff between Etherboot-4.6.18 and
Etherboot-5.0.5 manually.
* netboot/main.c: Likewise.
* netboot/pci.c: Likewise.
* netboot/etherboot.h: Rewritten mostly from scratch, based on
the same file in Etherboot-5.0.5.
* netboot/misc.c: Likewise.
* netboot/osdep.h: Likewise.
* netboot/fsys_tftp.c (GRUB): Defined.
(buf_fill): Use rfc2131_sleep_interval instead of rfc951_sleep.
okuji [Sun, 30 Dec 2001 08:23:16 +0000 (08:23 +0000)]
2001-12-30 Yoshinori K. Okuji <okuji@gnu.org>
* stage1/stage1.S: Don't call INT 13, AH=48H, because it is
difficult to call this function with the workaround implemented
in the previous change due to the size limit of Stage 1.
(lba_mode) [NO_BUGGY_BIOS_IN_THE_WORLD]: Don't check the
geometry explicitly. This shouldn't be harmful, as INT 13,
AH=42H should take care of it, and if you cannot read Stage 2
even with LBA because of a geometry problem, you can never read
it.
okuji [Sun, 30 Dec 2001 07:33:23 +0000 (07:33 +0000)]
2001-12-30 Yoshinori K. Okuji <okuji@gnu.org>
* stage2/bios.c (get_diskinfo): Clear out the structure DRP
before calling get_diskinfo_int13_extensions, because the Ralf
Brown's Interrupt List says that Dell machines using PhoenixBIOS
4.0 Release 6.0 fail, if DRP.FLAGS is not zero. Setting the
entire structure to zero may be overkill, but it should be safe.
okuji [Mon, 12 Nov 2001 06:57:29 +0000 (06:57 +0000)]
Reorganize the file `AUTHOR', according to the current status of copyright
assignments received by the FSF.
Jason Thomas was added.
Erich Stefan Boleyn was moved into those who assigned their copyrights.
Gordon Matzigkeit was moved into the others, because he still wasn't listed
in fencepost.gnu.org:/gd/gnuorg/copyright.list.
The remaining problem is that we haven't had copyright assignments of
VaX#8, Heiko Schroeder and Gordon Matzigkeit. As for the first two, Erich
is now trying to contact them by proxy. So I'm just waiting.
As for Gordon.... oh, what are you doing, Gordon?! Hurry up, please!
jochen [Thu, 11 Oct 2001 11:14:29 +0000 (11:14 +0000)]
* stage2/fsys_reiserfs.c (reiserfs_super_block): Updated
to better match recent reiserfs versions.
(reiserfs_mount): Handle cases where journal can't be found,
e.g. journal on another disk or unexpected journal parameters.
In that case the journal isn't used.
jochen [Wed, 10 Oct 2001 09:23:57 +0000 (09:23 +0000)]
* stage2/fsys_reiserfs.c (reiserfs_mount): Don't look at
the superblock field s_journal_block_count anymore. It used
to contain 0, it never contained a valid value, and now I
have a report that it can contain an invalid value.
* stage2/Makefile.am (libgrub_a_CFLAGS): Enable USE_MD5_PASSWORDS
for libgrub. Previously that was implicitly done by configure.in
until the patch from 2001-07-04, which moved that flag from CFLAGS
to FSYS_CFLAGS. Reported by YAMAGUCHI Shingo
<shingo@kip.iis.toyama-u.ac.jp>