jochen [Tue, 17 Jun 2003 08:08:03 +0000 (08:08 +0000)]
* stage2/fsys_reiserfs.c (reiserfs_mount): Clear the node cache.
This fixes a problem where files from other partitions appear at
the wrong partition. Problem reported by Johan Regin.
jthomas [Fri, 23 May 2003 00:31:26 +0000 (00:31 +0000)]
* docs/grub.texi (Configuration): The documentation had the wrong
directory for the menu.lst file, so I corrected this to /boot/grub or
/boot/boot/grub with a comment in parenthesises about /boot being a
serperate partition.
Reported by <bigtoe416@yahoo.co>
okuji [Sat, 3 May 2003 19:52:32 +0000 (19:52 +0000)]
2003-05-04 Yoshinori K. Okuji <okuji@enbug.org>
* docs/grub.texi (partnew): Fixed the inconsistency between the
implementation and the documentation. The last argument is the
length instead of the ending address.
Reported by Daniel Farrell <s2108287@student.rmit.edu.au>.
okuji [Tue, 18 Mar 2003 21:07:35 +0000 (21:07 +0000)]
2003-03-19 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/boot.c (load_image): Check if DATA_LEN plus SECTOR_SIZE
is less than or equal to MULTIBOOT_SEARCH, instead of if
DATA_LEN is less than or equal to MULTIBOOT_SEARCH.
Reported by Neelkanth Natu <neelnatu@yahoo.com>.
okuji [Mon, 10 Mar 2003 01:12:26 +0000 (01:12 +0000)]
2003-03-10 Yoshinori K. Okuji <okuji@enbug.org>
From Tilmann Bubeck:
* stage2/builtins.c [SUPPORT_SERIAL] (terminfo_func): Unescape
arguments before copying them, and escape sequences before
printing them.
* stage2/terminfo.h (TERMINFO_LEN): Changed to 40.
okuji [Mon, 17 Feb 2003 12:35:30 +0000 (12:35 +0000)]
2003-02-17 Yoshinori K. Okuji <okuji@enbug.org>
* lib/device.c (check_device): If DEVICE is empty, just return
1.
(get_scsi_disk_name) [__QNXNTO__]: Make NAME empty, because SCSI
disks are detected as IDE disks on QNX RTP.
From Taketo Kabe <kabe@sra-tohoku.co.jp>:
* lib/device.c (get_ide_disk_name) [__QNXNTO__]: Set NAME to
"/dev/hdX".
(get_floppy_disk_name) [__QNXNTO__]: Set NAME to "/dev/fdX".
* stage2/mb_info.h (struct AddrRangeDesc): Specified with the
attribute packed.
* stage2/shared.h (struct mmar_desc): Likewise.
okuji [Wed, 29 Jan 2003 09:13:56 +0000 (09:13 +0000)]
2003-01-29 Yoshinori K. Okuji <okuji@enbug.org>
From Ilguiz Latypov:
* configure.in: Fix a syntax error in a sed script.
* stage2/bios.c (get_diskinfo): PhoenixBIOS 4.0 Revision 6.0
for ZF Micro might understand the greater buffer size for the
"get drive parameters" int 0x13 call in its own way.
Supposedly the BIOS assumes even bigger space is available and
thus corrupts the stack. This is why we specify the exactly
necessary size of 0x42 bytes.
okuji [Fri, 24 Jan 2003 16:28:41 +0000 (16:28 +0000)]
2003-01-25 Yoshinori K. Okuji <okuji@enbug.org>
From Steven Dick <ssd.gnu@mmae.ucf.edu>:
* stage2/pc_slice.h (PC_SLICE_TYPE_DELL_UTIL): New macro.
(IS_PC_SLICE_TYPE_FAT): Recognize PC_SLIDE_TYPE_DELL_UTIL as
well.
okuji [Wed, 15 Jan 2003 21:44:19 +0000 (21:44 +0000)]
2003-01-16 Yoshinori K. Okuji <okuji@enbug.org>
From H.J. Lu <hjl@gnu.org>:
* stage2/disk_io.c (part_start): Use unsigned long to support
large disks.
(part_length): Likewise.
* stage2/shared.h (part_start): Likewise.
(part_length): Likewise.
okuji [Tue, 10 Dec 2002 17:30:29 +0000 (17:30 +0000)]
2002-12-11 Yoshinori K. Okuji <okuji@enbug.org>
Add a workaround for buggy BIOSes which don't pass boot drive
correctly. The idea is that GRUB forces the fixed disk flag
when booted from a hard disk. When BIOS loads GRUB directly,
the boot drive must be either of 0x00 and 0x80, so this should
work, if those BIOSes always pass zero to %dl. AFAIK, this
assumption is always correct.
* stage2/builtins.c (install_func): Store the fixed disk flag of
the destination drive in BOOT_DRIVE_MASK in Stage 1.
* stage1/stage1.h (STAGE1_BOOT_DRIVE_MASK): New macro.
* stage1/stage1.S (boot_drive_mask): New variable. It is or'ed
to %dl.
okuji [Mon, 9 Dec 2002 06:27:05 +0000 (06:27 +0000)]
2002-12-09 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/char_io.c (init_page): Change the software name from
"GRUB" to "GNU GRUB". This was inaccurate. Reported by Ciaran
O'Riordan <coriordan@compsoc.com>.
okuji [Tue, 3 Dec 2002 00:02:53 +0000 (00:02 +0000)]
2002-12-03 Yoshinori K. Okuji <okuji@enbug.org>
Change the terminal structure a bit, to turn the cursor state
explicitly. Suggested by Pavel Roskin.
* stage2/term.h (struct term_entry): Remove the member
`nocursor' and add `setcursor'.
[!STAGE1_5] (console_setcursor): New prototype.
[SUPPORT_HERCULES] (hercules_setcursor): Likewise.
[!STAGE1_5] (console_nocursor): Removed.
[SUPPORT_HERCULES] (hercules_nocursor): Likewise.
* stage2/stage2.c (run_menu): Call setcursor instead of
nocursor.
Call setcursor with 1 before starting a boot entry.
* stage2/shared.h (nocursor): Removed.
(setcursor): New prototype.
* stage2/hercules.c (herc_cursor_state): New variable.
(herc_turn_cursor): Removed.
(hercules_nocursor): Likewise.
(hercules_setcursor): New function.
* stage2/char_io.c (get_cmdline): Turn on the cursor at the
beginning, and restore it before returning.
(nocursor): Removed.
(setcursor): New function.
* stage2/asm.S (console_cursor_state): New variable.
(console_cursor_shape): Likewise.
(console_setcursor): New function.
(console_nocursor): Removed.
* docs/grub.texi (terminfo): New subsection.
(Invoking grub-terminfo): New chapter.
From Tilmann Bubeck <t.bubeck@reinform.de>:
* stage2/Makefile.am (noinst_HEADERS): Added terminfo.h and
tparm.h.
(libgrub_a_SOURCES): Added terminfo.c and tparm.c.
(pre_stage2_exe_SOURCES): Likewise.
* stage2/terminfo.c: New file.
* stage2/terminfo.h: Likewise.
* stage2/tparm.c: Likewise.
* stage2/tparm.h: Likewise.
* stage2/stage2.c (get_line_from_config): Fix handling of
backslashes.
* stage2/char_io.c (grub_putstr): New function.
(grub_printf): Use grub_putstr.
(substring): Add const into both arguments.
* stage2/builtins.c [SUPPORT_SERIAL]: Include terminfo.h.
[SUPPORT_SERIAL] (terminfo_func): New function.
[SUPPORT_SERIAL] (builtin_terminfo): New variable.
(builtin_table) [SUPPORT_SERIAL]: Added a pointer to
BUILTIN_TERMINFO.
* stage2/serial.c (serial_gotoxy): Use ti_cursor_address.
(serial_cls): Use ti_clear_screen.
(serial_highlight): use ti_enter_standout_mode and
ti_exit_standout_mode.
okuji [Fri, 29 Nov 2002 17:56:38 +0000 (17:56 +0000)]
2002-11-30 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/disk_io.c (rawread): Make sure that SECTOR is valid.
If not, set ERRNUM to ERR_GEOM and return zero. This check is
critical when a partition table is corrupted.
okuji [Thu, 28 Nov 2002 07:40:37 +0000 (07:40 +0000)]
2002-11-28 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/asm.S (console_cls): Write spaces to the entire screen
instead of getting/setting the video mode, because this flickers
the screen and is quite annoying, if using a LCD.
okuji [Sun, 27 Oct 2002 23:59:53 +0000 (23:59 +0000)]
2002-10-28 Yoshinori K. Okuji <okuji@enbug.org>
* grub/asmstub.c (console_translate_key): Deal with KEY_PPAGE
and KEY_NPAGE.
* stage2/serial.c (serial_translate_key_sequence): Added two new
codes for Page Up and Page Down.
* stage2/asm.S (translation_table): Added entries for KEY_PPAGE
and KEY_NPAGE.
* stage2/stage2.c (run_menu): Deal with Page Up and Page Down.
Also recognize the right key for the selection of a boot entry.
Suggested by Adam Lackorzynski <adam@os.inf.tu-dresden.de>.
okuji [Sat, 5 Oct 2002 23:36:25 +0000 (23:36 +0000)]
2002-10-06 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/asm.S (gateA20): Output a dummy command (0xff), as a
workaround for USB keyboard hanging problem. Suggested by
Hidetoshi Nishimaki <nishimaki@mxs.nes.nec.co.jp>.
okuji [Sat, 5 Oct 2002 23:20:15 +0000 (23:20 +0000)]
2002-10-06 Yoshinori K. Okuji <okuji@enbug.org>
* configure.in (falign_loop_flag): New variable. Set to if GCC
supports `-falign-*'. If true, use `-falign-jumps',
`-falign-loops' and `-falign-functions' instead of
`-malign-jumps', `-malign-loops' and `-malign-functions',
because `-malign-*' are obsolete in GCC 3.x. Reported by Jeremy
Katz.
jthomas [Thu, 22 Aug 2002 05:59:55 +0000 (05:59 +0000)]
Changed highlight state code for hercules, console and serial.
The state was 0 - normal or 1 - highlight.
The state is now defined using an enum called color_state.
* stage2/term.h (color_state): New enum.
(COLOR_STATE_STANDARD): Standard color to use when not using user defined.
(COLOR_STATE_NORMAL): User defined normal color.
(COLOR_STATE_HIGHLIGHT): User defined highlight color.
(console_highlight): Renamed to console_setcolorstate.
(serial_highlight): Renamed to serial_setcolorstate.
(hercules_highlight): Renamed to hercules_setcolorstate.
* stage2/hercules.c (herc_highlight_state): Removed.
(herc_standard_color): New variable.
(herc_color_state): Likewise.
(herc_highlight): Renamed to herc_setcolorstate.
(herc_setcolorstate): Added switch to handle new states.
* stage2/console.c (console_highlight_state): Removed.
(console_standard_color): New variable.
(console_color_state): Likewise.
(console_highlight): Renamed to console_setcolorstate.
(console_setcolorstate): Added switch to handle new states.
* stage2/serial.c (serial_highlight): Renamed to serial_setcolorstate.
(serial_setcolorstate): Adjusted 'if' to suit new states.
* grub/asmstub.c (console_highlight): Renamed to console_setcolorstate.
(console_setcolorstate): Adjusted 'if' to suit new states.
* stage2/stage2.c (print_entry): Set color states using new states.
(print_border): Likewise.
* stage2/stage2.c (run_menu): Reverse if (!) to if () for uniformitty.
* stage2/boot.c (load_image): Rewrite the Linux booting support
radically. Now it should work even on a machine having, say,
only 128KB, theoretically. Of course, GRUB itself doesn't work
on such a system, though.
(load_initrd): Initialize LH based on CUR_ADDR, because the
location becomes dynamic.
* stage2/shared.h (LINUX_MAX_SETUP_SECTS): Set to 64.
(LINUX_HEAP_END_OFFSET): Set to (0x9000 - 0x200).
(LINUX_STAGING_AREA): Removed.
(LINUX_SETUP): Likewise.
(LINUX_KERNEL): Likewise.
(LINUX_KERNEL_MAXLEN): Likewise.
(LINUX_SETUP_SEG): Likewise.
(LINUX_INIT_SEG): Likewise.
(LINUX_SETUP_STACK): Set to 0x9000.
(LINUX_BZIMAGE_ADDR): New macro.
(LINUX_ZIMAGE_ADDR): Likewise.
(LINUX_OLD_REAL_MODE_ADDR): Likewise.
(CL_MY_LOCATION): Removed.
(CL_MY_END_ADDR): Likewise.
(CL_BASE_ADDR): Likewise.
(CL_MAGIC): Renamed to ...
(LINUX_CL_MAGIC): ... this.
(LINUX_CL_OFFSET): New macro.
(LINUX_CL_END_OFFSET): Likewise.
(LINUX_SETUP_MOVE_SIZE): Likewise.
(struct linux_kernel_header): Change the type of the member
"cmd_line_ptr" to char *.
(linux_data_tmp_addr): Declared.
(linux_data_real_addr): Likewise.
* stage2/asm.S [!STAGE1_5] (linux_data_tmp_addr): New variable.
[!STAGE1_5] (linux_data_real_addr): Likewise.
[!STAGE1_5] (big_linux_boot): Copy the real mode part from
LINUX_DATA_TMP_ADDR to LINUX_DATA_REAL_ADDR.
* grub/asmstub.c (linux_data_tmp_addr): New variable.
(linux_data_real_addr): Likewise.
From Mark Kettenis <kettenis@chello.nl>:
* stage2/boot.c (load_image): Recognize newer FreeBSD kernels.
* stage2/i386-elf.h (EI_OSABI): New macro.
(EI_ABIVERSION): Likewise.
(ELFOSABI_FREEBSD): Likewise.
(EI_PAD): Set to 9.
* stage2/disk_io.c (set_bootdev): Copy the partition information
here. Now this function can call rawread, so it can fail.
(boot_part_offset): Removed.
* stage2/builtins.c (boot_func): Don't copy the partition
information here.
(real_root_func): Check ERRNUM after calling set_bootdev.
* stage2/serial.c [!GRUB_UTIL] (inb): Added a delay into this
function itself.
[!GRUB_UTIL] (outb): Likewise.
[!GRUB_UTIL] (serial_hw_put): Increase the timeout value, and
don't call serial_hw_delay explicitly any longer.
(fill_input_buf): Increase the maximum number of retries, reset
the counter to zero after getting a valid character, and don't
call serial_hw_delay explicitly any longer.
okuji [Sat, 29 Jun 2002 20:48:42 +0000 (20:48 +0000)]
2002-06-30 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/builtins.c [SUPPORT_SERIAL || SUPPORT_HERCULES]
(terminal_func): Set CURRENT_TERM to each of selected terminals
before calling grub_printf, and restore CURRENT_TERM after it.
Reported by Ilguiz Latypov.
Prepend a carriage return to the prompting message, because it
is ugly that the same messages fulfill the whole screen.
okuji [Sat, 15 Jun 2002 01:04:59 +0000 (01:04 +0000)]
2002-06-15 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/disk_io.c [SUPPORT_NETBOOT] (GRUB): Defined.
[SUPPORT_NETBOOT]: Include etherboot.h.
[!STAGE1_5] (print_completions) [SUPPORT_NETBOOT]: When
completing a disk name, if NETWORK_READY is true, add "nd" as a
completion.
okuji [Wed, 12 Jun 2002 08:58:21 +0000 (08:58 +0000)]
2002-06-12 Yoshinori K. Okuji <okuji@enbug.org>
* netboot/main.c (ifconfig): If GW is specified, clear out the
ARP entry for the gateway. If SVR is specified, clear out the
ARP entry for the server. Reported by Uwe Dannowski
<ud3@ira.uka.de>.
okuji [Wed, 12 Jun 2002 08:39:50 +0000 (08:39 +0000)]
2002-06-12 Yoshinori K. Okuji <okuji@enbug.org>
* util/grub-md5-crypt.in: Prompt to retype a password, and check
if the passwords matches. Suggested by Matt Perry
<matt@primefactor.com>.
Also, don't use Perl any longer, because *BSD's sh and GNU
support ``read -r'', and GRUB doesn't support any other
operating system anyway.
* stage2/asm.S (console_putchar): Rewritten from scratch.
[!STAGE1_5] (translation_table): New variable.
[!STAGE1_5] (translate_keycode): New function.
[!STAGE1_5] (console_getkey): Call translate_keycode.
[!STAGE1_5] (console_checkkey): Likewise.
[!STAGE1_5] (nocursor): Renamed to ...
[!STAGE1_5] (console_nocursor): ... this.
[!STAGE1_5] (console_set_attrib): Removed.
* stage2/builtins.c: Include term.h.
(terminal): Removed.
(normal_color): Likewise.
(highlight_color): Likewise.
(cat_func): Display a question mark when a non-printable
character was read.
(terminal_func): Rewritten almost from scratch.
* stage2/char_io.c: Include term.h.
[!STAGE1_5] (auto_fill): Removed.
[!STAGE1_5] (term_table): New variable.
[!STAGE1_5] (current_term): Likewise.
[!STAGE1_5] (real_get_cmdline): New function. The code was
stolen from the previous version of get_cmdline.
[!STAGE1_5] (get_cmdline): Rewritten from scratch.
[!STAGE1_5] (translate_keycode): Removed.
[!STAGE1_5] (getkey): Rewritten from scratch.
[!STAGE1_5] (checkkey): Likewise.
(grub_putchar): Likewise.
[!STAGE1_5] (gotoxy): Likewise.
[!STAGE1_5] (getxy): Likewise.
[!STAGE1_5] (cls): Likewise.
[!STAGE1_5] (nocursor): New function.
[SUPPORT_SERIAL] (serial_getxy): Removed.
[SUPPORT_SERIAL] (serial_gotoxy): Likewise.
[SUPPORT_SERIAL] (serial_cls): Likewise.
[SUPPORT_SERIAL] (serial_getxy): Likewise.
[!STAGE1_5] (set_attrib): Likewise.
* stage2/cmdline.c (init_cmdline): Set COUNT_LINES to -1.
* stage2/common.c [!STAGE1_5] (err_list): Removed
ERR_NEED_SERIAL and added ERR_DEV_NEED_INIT.
* stage2/hercules.c: Rewritten almost from scratch.
* stage2/hercules.h (herc_putchar): Removed.
(herc_cls): Likewise.
(herc_getxy): Likewise.
(herc_gotoxy): Likewise.
(herc_set_attrib): Likewise.
* stage2/serial.c: Rewritten almost from scratch.
* stage2/serial.h: Likewise.
* stage2/shared.h [GRUB_UTIL] (DISP_UL): Set to the same value
as VGA's.
[GRUB_UTIL] (DISP_UR): Likewise.
[GRUB_UTIL] (DISP_LL): Likewise.
[GRUB_UTIL] (DISP_LR): Likewise.
[GRUB_UTIL] (DISP_HORIZ): Likewise.
[GRUB_UTIL] (DISP_VERT): Likewise.
[GRUB_UTIL] (DISP_LEFT): Likewise.
[GRUB_UTIL] (DISP_RIGHT): Likewise.
[GRUB_UTIL] (DISP_UP): Likewise.
[GRUB_UTIL] (DISP_DOWN): Likewise.
(grub_error_t): Removed ERR_NEED_SERIAL.
Added ERR_DEV_NEED_INIT.
(normal_color): Removed.
(highlight_color): Likewise.
(console_cls): Removed, because this is declared in term.h.
(console_getxy): Likewise.
(console_gotoxy): Likewise.
(console_putchar): Likewise.
(console_getkey): Likewise.
(console_checkkey): Likewise.
(console_set_attrib): Removed.
(set_attrib): Likewise.
[GRUB_UTIL] (nocursor): Declared.
(auto_fill): Removed.
(terminal): Likewise.
(TERMINAL_CONSOLE): Likewise.
(TERMINAL_SERIAL): Likewise.
(TERMINAL_HERCULES): Likewise.
(TERMINAL_DUMB): Likewise.
(translate_keycode): Likewise.
* stage2/stage2.c: Include term.h.
(print_entry): Rewritten from scratch.
(print_entries): Likewise.
(print_border): Likewise.
(set_line): Removed.
(set_line_normal): Likewise.
(set_line_highlight): Likewise.
okuji [Sat, 25 May 2002 11:33:47 +0000 (11:33 +0000)]
2002-05-25 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/builtins.c (boot_func): Load the boot partition
information, only if the address of the boot partition entry is
set appropriately.
(real_root_func): If ATTEMPT_MOUNT is false, call open_partition
and if successful, call set_bootdev, to set the offset of the
boot partition and the address of the boot paetition entry.
IF ATTEMPT_MOUNT is false, don't set BOOTDEV. The BSD evil hack
is useless with the command "rootnoverify" anyway.
* stage2/disk_io.c (boot_part_addr): Initialized with zero
explicitly, to emphasize that it is invalid.
okuji [Wed, 22 May 2002 17:08:37 +0000 (17:08 +0000)]
2002-05-23 Yoshinori K. Okuji <okuji@enbug.org>
Define the behavior of the boot loader when the load end address
and the bss end address are zero in the Multiboot Specification,
and add the support into GRUB. I've modified a patch from Yuri
Zaporogets <yuriz@ukr.net>.
* stage2/boot.c (load_image): In the case of Multiboot a.out
kludge, set the load end address to the load address plus the
size of the OS image file, if it is zero. Similarly, set the bss
end address to the load end address, if it is zero.
* util/mbchk.c (check_multiboot): Don't check if the load
address is greater than or equal to the load end address, if the
load end address is zero. Don't check if the load end address is
greater than the bss end address, if the bss end address is
zero. And, don't check if the load end address is less than or
equal to the entry address, if the load end address is zero.
* docs/multiboot.texi (The address fields of Multiboot header):
Added descriptions about the behavior of the boot loader when
LOAD_END_ADDR is zero and BSS_END_ADDR is zero.
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.