Commit Graph
100 Commits
Author SHA1 Message Date
okuji da7278fc6d 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.
2003-01-29 09:13:56 +00:00
okuji 3e41ca492a 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.
2003-01-24 16:28:41 +00:00
okuji 756934392a 2003-01-25 Yoshinori K. Okuji <okuji@enbug.org>
From Karsten Scheibler <karsten.scheibler@student.uni-halle.de>:
        * stage2/terminfo.c (term): Don't use a C99-style initializer.
2003-01-24 16:21:35 +00:00
okuji 47bd75581e 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.
2003-01-15 21:44:19 +00:00
okuji f91040a45f Oops! I've checked in a temporary change to fsys_fat.c. So revert the
change.
2003-01-04 23:26:16 +00:00
okuji e60b85f661 2003-01-05 Yoshinori K. Okuji <okuji@enbug.org>
* configure.in (CFLAGS): When the default CFLAGS is used,
	eliminate -O2 and -g from CFLAGS, because Autoconf may
	automatically set CFLAGS to them.
2003-01-04 23:22:42 +00:00
okuji 53673d9532 Update NEWS. 2003-01-02 14:54:46 +00:00
okuji 7c1993fc4c 2003-01-02 Yoshinori K. Okuji <okuji@enbug.org>
From Jeremy Katz:
	* configure.in: Support building on x86_64 with gcc -m32.
2003-01-02 14:51:37 +00:00
okuji 6ced081a2d 2003-01-02 Yoshinori K. Okuji <okuji@enbug.org>
From Jeremy Katz:
	* stage2/fsys_ext2fs.c (ext2fs_dir): Initialize STR_CHK to shut
	up GCC.
	* stage2/fsys_minix.c (minix_dir): Likewise.
2003-01-01 15:13:13 +00:00
okuji ee9202997b 2002-12-21 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/asm.S (gateA20): First, try a BIOS call (INT 15H,
	AX=2400/2401). Use the keyboard controller, only if that failed.
2002-12-21 00:34:33 +00:00
okuji f8111d3b54 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.
2002-12-10 17:30:29 +00:00
okuji 631d47d206 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>.
2002-12-09 06:27:05 +00:00
okuji b27b4d206d Update NEWS. 2002-12-08 03:32:59 +00:00
okuji 3ca7f4621f Add a note about a drive completion bug. 2002-12-04 22:56:32 +00:00
okuji 3217288404 2002-12-04 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/builtins.c (embed_func): When checking if the disk can
	store Stage 1.5, check every partition, if it isn't empty.
2002-12-04 04:43:23 +00:00
okuji ad2df4cd66 2002-12-04 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/stage2.c (print_entry): Put a right arrow, if the entry
	is longer than 71 characters. Reported by Pavel Roskin.
2002-12-04 00:55:45 +00:00
okuji 772e28b8c2 2002-12-04 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/disk_io.c (set_device): If '(n' is given, add 'd' into
	DEVICE. Reported by Pavel Roskin.
2002-12-04 00:45:13 +00:00
okuji c18257ea65 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.

	* grub/asmstub.c (console_setcursor): New function.
	(hercules_setcursor): Likewise.
	(console_nocursor): Removed.
	(hercules_nocursor): Likewise.
2002-12-03 00:02:53 +00:00
okuji 58b292f419 2002-12-03 Yoshinori K. Okuji <okuji@enbug.org>
* docs/grub.texi (terminfo): Fix a misleading English sentence.
	Reported by Pavel Roskin.
	* stage2/builtins.c (builtin_terminfo): Likewise.
2002-12-02 22:37:52 +00:00
okuji 3201624b93 2002-12-01 Yoshinori K. Okuji <okuji@enbug.org>
From Alexander Langer <alex@big.endian.de>:
	* stage2/freebsd.h (RB_GDB): New macro.
	(RB_MUTE): Likewise.
	(RB_MULTIPLE): Likewise.

	* stage2/boot.c (bsd_boot): Set the bits of RB_MULTIPLE, RB_GDB
	and RB_MUTE when "-D", "-g" and "-m" are specified,
	respectively.
2002-11-30 17:33:06 +00:00
okuji 3ff3b071ea 2002-12-01 Yoshinori K. Okuji <okuji@enbug.org>
* docs/grub.texi (Reporting bugs): Specify the project page of
	the BTS instead of the BTS itself.
2002-11-30 17:13:15 +00:00
okuji bf88d91883 2002-11-30 Yoshinori K. Okuji <okuji@enbug.org>
* docs/Makefile.am (man_MANS): Added grub-terminfo.8.
	($(srcdir)/grub_terminfo.8): New target.
	* utils/grub-terminfo.in: New file.
	* util/Makefile.am (sbin_SCRIPTS): Added grub-terminfo.
	* configure.in (AC_OUTPUT): Added util/grub-terminfo.

	* 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.
2002-11-29 20:39:24 +00:00
okuji f5bc93e4de 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.
2002-11-29 17:56:38 +00:00
okuji a44e6361bc 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.
2002-11-28 07:40:37 +00:00
okuji 6ebab1bf0b 2002-11-15 Yoshinori K. Okuji <okuji@enbug.org>
* docs/grub.texi (QNX): New subsection. Reported by
	Marian-Nicolae V. ION <marian_ion@noos.fr>.
2002-11-14 22:22:40 +00:00
okuji 76deb4cec4 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>.
2002-10-27 23:59:53 +00:00
okuji 2c48c7472d 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>.
2002-10-05 23:36:25 +00:00
okuji f891c6f7e4 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.
2002-10-05 23:20:15 +00:00
okuji cba84c4d9c Fold too long lines. 2002-09-13 11:49:56 +00:00
okuji 36ae96d649 2002-09-13 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/serial.c (fill_input_buf): Take a new argument NOWAIT.
	If NOWAIT is true, don't loop.
	All callers are changed.
2002-09-13 11:27:41 +00:00
okuji c97b7d2098 2002-09-08 Yoshinori K. Okuji <okuji@enbug.org>
* configure.in (--disable-serial): Fix a typo in the
	description.
2002-09-08 02:01:14 +00:00
okuji 7c16231fec Update what Jason Thomas did. 2002-09-03 19:05:48 +00:00
okuji 51955d52d8 2002-07-12 Yoshinori K. Okuji <okuji@enbug.org>
* 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.
2002-07-12 09:55:55 +00:00
okuji f8b4503f1b 2002-07-09 Yoshinori K. Okuji <okuji@enbug.org>
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.
2002-07-09 13:24:21 +00:00
okuji 80d0f93b30 2002-07-06 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/shared.h (boot_part_offset): Removed.

	* 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.
2002-07-05 22:15:57 +00:00
okuji 1548282786 2002-07-04 Yoshinori K. Okuji <okuji@enbug.org>
* docs/grub.texi (Reporting bugs): Use the group name (i.e.
	grub) instead of the group id (i.e. 68) for the URL of the BTS.
2002-07-03 20:27:47 +00:00
okuji 4fcd549f56 2002-07-03 Yoshinori K. Okuji <okuji@enbug.org>
* 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.
2002-07-02 23:39:14 +00:00
okuji 321b3d6a1d 2002-07-03 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed a typo.
	Reported by Ilguiz Latypov.
2002-07-02 21:23:28 +00:00
okuji 1e42fdd201 2002-07-01 Yoshinori K. Okuji <okuji@enbug.org>
* Makefile.am (AUTOMAKE_OPTIONS): New variable. Specify the
	required Automake version explicitly.
2002-07-01 14:28:53 +00:00
okuji 05202f5eb0 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.
2002-06-29 20:48:42 +00:00
okuji d53e46f0a9 2002-06-30 Yoshinori K. Okuji <okuji@alien>
* stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed the
	conditional statement. Reported by Ilguiz Latypov.
2002-06-29 20:35:27 +00:00
okuji f711a2453a Write several notes for maintainers. 2002-06-24 12:17:41 +00:00
okuji fada891e5c Rewrite the sections "Header graphics fields" and "Machine state". 2002-06-16 03:12:58 +00:00
okuji 52c5e2e399 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.
2002-06-15 01:04:59 +00:00
okuji e2a3acbed0 2002-06-15 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/fsys_xfs.c (le32): Don't use bswap, but use xchgb and
	roll, because 386 doesn't have bswap. Reported by Frode Vatvedt
	Fjeld <frodef@acm.org>.
2002-06-15 00:47:08 +00:00
okuji c628bca2ae Fix some typos in the Multiboot Specification. 2002-06-14 23:53:54 +00:00
okuji 86dbc3fcbc 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>.
2002-06-12 08:58:21 +00:00
okuji 24bd9d82c1 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.
2002-06-12 08:39:50 +00:00
okuji eaf934e523 I forgot to add console.c and term.h. 2002-06-11 20:08:17 +00:00
okuji 2369202e83 2002-06-12 Yoshinori K. Okuji <okuji@enbug.org>
The terminal handling code is rewritten radically.

	* stage2/console.c: New file.
	* stage2/term.h: Likewise.

	* stage2/Makefile.am (noinst_HEADERS): Added term.h.
	(libgrub_a_SOURCES): Added serial.c.
	(pre_stage2_exec_SOURCES): Added console.c.

	* 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.

	* grub/Makefile.am (AM_CFLAGS): Added -DSUPPORT_HERCULES=1.

	* grub/asmstub.c: Don't include hercules.h. Include term.h.
	(console_current_color): New variable.
	(console_translate_key): New function.
	(console_checkkey): Rewritten from scratch.
	(console_getkey): Likewise.
	(console_putchar): Likewise.
	(console_set_attrib): Removed.
	(console_highlight): New function.
	(console_setcolor): Likewise.
	(console_nocursor): Likewise.
	(serial_getkey): Removed.
	(serial_checkkey): Likewise.
	(serial_putchar): Likewise.
	(serial_exists): Likewise.
	(serial_get_port): Likewise.
	(serial_init): Likewise.
	(serial_hw_fetch): New function.
	(serial_hw_put): Likewise.
	(serial_hw_delay): Likewise.
	(serial_hw_get_port): Likewise.
	(serial_hw_init): Likewise.
	(set_serial_device): Renamed to ...
	(serial_set_device): ... this.
	(herc_putchar): Renamed to ...
	(hercules_putchar): ... this.
	(herc_cls): Renamed to ...
	(hercules_cls): ... this.
	(herc_getxy): Renamed to ...
	(hercules_getxy): ... this.
	(herc_gotoxy): Renamed to ...
	(hercules_gotoxy): ... this.
	(hercules_highlight): New function.
	(hercules_setcolor): Likewise.
	(hercules_nocursor): Likewise.
	(herc_set_attrib): Removed.

	* grub/main.c: Include term.h.
	(main): If USE_CURSES is false, set CURRENT_TERM->FLAGS to
	TERM_NO_EDIT | TERM_DUMB. TERMINAL is not used any longer.
2002-06-11 16:36:54 +00:00
okuji 9ab2360b15 2002-06-01 Yoshinori K. Okuji <okuji@enbug.org>
* docs/grub.texi (FAQ): Removed. See the GNU GRUB FAQ on the web
	instead.
2002-06-01 00:00:27 +00:00
okuji afbae72a33 2002-05-31 Yoshinori K. Okuji <okuji@enbug.org>
* docs/grub.texi (Reporting bugs): Recommend using the BTS on
	Savannah rather than the list bug-grub.
2002-05-30 22:56:49 +00:00
okuji 970554010c Simplify the file README, and update NEWS. 2002-05-30 20:21:30 +00:00
okuji db6d85e1ff BUGS doesn't have information any longer, because we use the BTS on
Savannah instead.
2002-05-28 22:23:03 +00:00
okuji c65ae440c8 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.
2002-05-25 11:33:47 +00:00
okuji 4339b22d7a 2002-05-24 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/builtins.c (real_root_func): New function.
	(root_func): Just call real_root_func.
	(rootnoverify_func): Likewise.
2002-05-24 13:53:57 +00:00
okuji 58a5878421 2002-05-23 Yoshinori K. Okuji <okuji@enbug.org>
* configure.in (AM_INIT_AUTOMAKE): Changed the version number to
	0.93.
2002-05-22 17:12:45 +00:00
okuji fe3f7e4580 Oops! I forgot to add Yuri into THANKS. 2002-05-22 17:09:30 +00:00
okuji b225b42f05 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.
2002-05-22 17:08:37 +00:00
okuji f90c3eaf90 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.
2002-05-22 06:58:23 +00:00
okuji 58703b663c 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.
2002-05-20 11:48:03 +00:00
okuji 2364cf3673 2002-05-20 Yoshinori K. Okuji <okuji@enbug.org>
* lib/device.c: Don't include linux/hdreg.h, linux/major.h,
	or linux/kdev_t.h.
	[__linux__] (HDIO_GETGEO): Defined.
	[__linux__] (hd_geometry): Likewise.
	[__linux__] (FLOPPY_MAJOR): Likewise.
	[__linux__] (MINORBITS): Likewise.
	[__linux__] (MAJOR): Likewise.
2002-05-20 09:45:33 +00:00
okuji 1ed089ed1a 2002-05-08 Yoshinori K. Okuji <okuji@enbug.org>
* netboot/fsys_tftp.c (tftp_read): Don't call buf_fill unless
	SIZE is positive.
2002-05-08 07:12:29 +00:00
okuji 522de743e8 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.
2002-05-08 05:49:33 +00:00
okuji 20ac296c28 2002-04-30 Yoshinori K. Okuji <okuji@enbug.org>
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.
2002-04-30 14:10:03 +00:00
okuji 73d5c0f09c Added a released date into NEWS. 2002-04-29 22:49:40 +00:00
okuji 6d4bf545d3 2002-04-30 Yoshinori K. Okuji <okuji@enbug.org>
* 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.
2002-04-29 18:52:16 +00:00
okuji bd9abb21c5 2002-04-29 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Added a
	new option ``--silent''. This suppresses messages, if specified.
2002-04-29 00:35:30 +00:00
okuji cc7647f7d5 2002-04-29 Yoshinori K. Okuji <okuji@enbug.org>
* config.guess: New upstream version.
	* config.sub: Likewise.
2002-04-29 00:19:34 +00:00
okuji b687a97ef2 2002-04-20 Yoshinori K. Okuji <okuji@enbug.org>
* netboot/config.c (PCI_NIC) [INCLUDE_DAVICOM]: Fix typos.
	Reported by Julien Perrot <julien.perrot@iie.cnam.fr>.
2002-04-20 00:43:10 +00:00
okuji e6e09deced 2002-04-17 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Set
	COUNT_LINES to -1, to disable the pager.
2002-04-17 09:41:54 +00:00
okuji 204a870ff7 Update the link to binutils. 2002-04-15 22:09:16 +00:00
okuji 86d5582ec2 2002-04-06 Yoshinori K. Okuji <okuji@enbug.org>
* 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.
2002-04-06 12:15:13 +00:00
okuji cfce0b1fae 2002-04-04 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/builtins.c (setup_func): Don't embed a drive number, if
	unnecessary.
2002-04-04 14:52:21 +00:00
okuji 4c73310092 Miscellaneous doc updates. 2002-04-04 14:22:35 +00:00
okuji a5ef4c14d6 Fix terminology and add more comments about automake. 2002-04-04 00:35:40 +00:00
okuji 0c8552cfae 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.
2002-03-29 10:24:17 +00:00
okuji b7f9f38e29 2002-03-26 Yoshinori K. Okuji <okuji@enbug.org>
* netboot/eepro100.c (eepro100_probe): Increase the delay at the
	initialization.
2002-03-25 22:02:10 +00:00
okuji dde92f1985 *** empty log message *** 2002-03-25 22:01:17 +00:00
okuji 30ec0405c4 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.
2002-03-25 21:43:55 +00:00
okuji 3c5148ff24 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.
2002-03-24 12:28:54 +00:00
okuji dfccfe6d92 Update the FAQ. 2002-02-11 16:44:54 +00:00
okuji c34bb04818 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.
2002-02-08 01:28:39 +00:00
okuji 479bc51947 2002-02-08 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/builtins.c (help_func): Show all the commands runnable
	with the command-line interface, if "--all" is specified.
2002-02-08 01:22:36 +00:00
okuji b0c95fd0d4 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.
2002-02-08 01:14:01 +00:00
okuji 9f4689e21d 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.
2002-02-07 23:28:47 +00:00
okuji 93718b5a41 2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/builtins.c (setup_func): Add a VSTa fs entry into
	STAGE1_5_MAP.
2002-02-05 05:00:03 +00:00
okuji 2a06ebce5c 2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/shared.h (BUILTIN_HELP_LIST): New macro. Used for
	commands whose help messages are listed when no argument is
	specified to the command "help".
	* stage2/builtins.c (builtin_blocklist): Added the attribute
	BUILTIN_HELP_LIST.
	(builtin_boot): Likewise.
	(builtin_bootp): Likewise.
	(builtin_cat): Likewise.
	(builtin_chainloader): Likewise.
	(builtin_color): Likewise.
	(builtin_configfile): Likewise.
	(builtin_device): Likewise.
	(builtin_dhcp): Likewise.
	(builtin_displayapm): Likewise.
	(builtin_displaymem): Likewise.
	(builtin_find): Likewise.
	(builtin_geometry): Likewise.
	(builtin_halt): Likewise.
	(builtin_help): Likewise.
	(builtin_hide): Likewise.
	(builtin_ifconfig): Likewise.
	(builtin_initrd): Likewise.
	(builtin_kernel): Likewise.
	(builtin_makeactive): Likewise.
	(builtin_map): Likewise.
	(builtin_md5crypt): Likewise.
	(builtin_module): Likewise.
	(builtin_modulenounzip): Likewise.
	(builtin_partnew): Likewise.
	(builtin_parttype): Likewise.
	(builtin_quit): Likewise.
	(builtin_rarp): Likewise.
	(builtin_reboot): Likewise.
	(builtin_root): Likewise.
	(builtin_rootnoverify): Likewise.
	(builtin_serial): Likewise.
	(builtin_setkey): Likewise.
	(builtin_setup): Likewise.
	(builtin_terminal): Likewise.
	(builtin_testvbe): Likewise.
	(builtin_tftpserver): Likewise.
	(builtin_unhide): Likewise.
	(builtin_uppermem): Likewise.
	(builtin_vbeprobe): Likewise.

	(help_func): When no argument is specified, if the last entry
	was at the left column, print an extra newline.
2002-02-05 04:56:42 +00:00
okuji bff4f998b4 2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/shared.h (BUILTIN_HIDDEN): Renamed to ...
	(BUILTIN_NO_ECHO): ... this. The old name was too difficult to
	see _what_ was hidden.
2002-02-05 04:15:22 +00:00
okuji 30817e1ce8 2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
* netboot/misc.c (twiddle): Go back to the bar progress, copied
	from etherboot-5.0.5/src/misc.c. Execute the code only if DEBUG
	is true.
2002-02-04 23:01:38 +00:00
okuji 205b46d5bc Add 2002 into the copyright note. 2002-02-04 22:48:59 +00:00
okuji 68ef83eeae 2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/builtins.c (displaymem_func): Use hex digits to display
	for consistency.
2002-02-04 22:47:51 +00:00
okuji 7cb0e801d5 Specify the release date of 0.91. 2002-01-21 12:29:03 +00:00
okuji 2fa19ba691 Add known problems about the serial support. 2002-01-21 12:16:08 +00:00
okuji f66b84f480 2002-01-20 Yoshinori K. Okuji <okuji@gnu.org>
* util/grub-image.in: Check stage2 instead of stage2.c to
	determine where the script is invoked, because srcdir may not
	be used for the compilation.
2002-01-19 20:27:49 +00:00
okuji 278681dc7b 2002-01-20 Yoshinori K. Okuji <okuji@gnu.org>
* grub/asmstub.c (console_putchar): When not using curses,
	ignore a carriage return, because a newline in Unix is only a
	line feed.
2002-01-19 19:05:43 +00:00
okuji f7eda1235f It seems that I forgot to add natsemi.c to the CVS... 2002-01-15 10:32:22 +00:00
okuji 70b173af35 2002-01-15 Yoshinori K. Okuji <okuji@gnu.org>
* docs/grub.texi (Preset Menu): New chapter.
2002-01-15 10:28:18 +00:00
okuji a4dea0d17f Update the documentation about configure options. 2002-01-15 09:42:54 +00:00
okuji 5ca9541403 2002-01-15 Yoshinori K. Okuji <okuji@gnu.org>
* docs/grub.texi: Added some text about JFS and XFS.
2002-01-15 09:37:15 +00:00