Commit Graph
100 Commits
Author SHA1 Message Date
okuji 54566a13ae 2004-02-18 Yoshinori K. Okuji <okuji@enbug.org>
From Yury V. Umanets <umka@namesys.com>:
	* stage2/fsys_reiserfs.c (REISER3FS_SUPER_MAGIC_STRING): New
	macro.
	(reiserfs_mount): Added checks for ReiserFS 3.
	(reiserfs_embed): Likewise.

2004-01-25  Yoshinori K. Okuji  <okuji@enbug.org>

	* docs/grub.texi (Obtaining and Building GRUB): Instead of
	describing how to use the anoncvs method, specify the URL of
	the description page on Savannah.
	Reported by Bernhard Treutwein.
2004-02-18 22:10:00 +00:00
okuji 36caa9beb0 Add the release date of 0.94. 2004-01-25 15:54:11 +00:00
okuji 2524288202 Add some entries. 2004-01-18 20:03:05 +00:00
okuji dcf4389bde 2004-01-18 Yoshinori K. Okuji <okuji@enbug.org>
From Thomas Schwinge <kischde@gmx.net>:
	* grub/Makefile.am (AM_CPPFLAGS): New variable.
	(AM_CFLAGS): Removed all cpp flags.

	* stage2/xfs.h (__int8_t): Renamed to ...
	(xfs_int8_t): ... this.
	(__uint8_t): Renamed to ...
	(xfs_uint8_t): ... this.
	(__int16_t): Renamed to ...
	(xfs_int16_t): ... this.
	(__uint16_t): Renamed to ...
	(xfs_uint16_t): ... this.
	(__int32_t): Renamed to ...
	(xfs_int32_t): ... this.
	(__uint32_t): Renamed to ...
	(xfs_uint32_t): ... this.
	(__int64_t): Renamed to ...
	(xfs_int64_t): ... this.
	(__uint64_t): Renamed to ...
	(xfs_uint64_t): ... this.
	All callers are changed.x

	From Egmont Koblinger <egmont@uhulinux.hu>:
	* util/grub-install.in: Support an install devices in GRUB's
	notation without parentheses.

	* docs/grub.texi (Installing GRUB using grub-install): Added an
	example of using grub-install without parentheses.
2004-01-18 19:47:18 +00:00
okuji 469abceb70 2004-01-18 Yoshinori K. Okuji <okuji@enbug.org>
* util/grub-install.in: Use the first word of GRUB_SHELL when
	checking if the grub shell is present. This is necessary to
	support options to the grub shell (e.g. grub --read-only).

	From Eric Kvaalen <E_Kvaalen.Arnesen@noos.fr>:
	* docs/grub.texi: Many bug fixes.
2004-01-18 18:33:30 +00:00
okuji 7b7b9a3f1b 2004-01-17 Yoshinori K. Okuji <okuji@enbug.org>
* lib/device.c [__linux__] (MAJOR): Support 32 bit and 64 bit
	dev_t. This code is stolen from glibc.
	Suggested by Shen Feng <shen@nanjing-fnst.com>.
2004-01-17 16:00:03 +00:00
okuji a756a4a485 Updated. 2004-01-12 10:43:41 +00:00
okuji 19f1b8c40b Added an entry for initrd max address. 2004-01-11 09:51:19 +00:00
okuji d58ebbc94c Added a notice in the beginning. 2004-01-11 09:40:49 +00:00
okuji 2269fa15f8 2004-01-11 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/terminfo.c (ti_set_term): Use a pointer to struct
	terminfo instead to avoid GCC's bug, which inserts a reference
	to memcpy implicitly.
	(ti_get_term): Likewise.
	All callers are fixed.

	* stage2/terminfo.h (ti_set_term): Updated.
	(ti_get_term): Likewise.

	* stage2/shared.h (struct linux_kernel_header): New member,
	initrd_max_address. Defined in the boot protocol 2.03 or higher.

	* stage2/boot.c (load_initrd): If the boot protocol is greater
	than or equal to 2.03, use the field ``initrd_max_address''
	instead of LINUX_INITRD_MAX_ADDRESS.
2004-01-11 09:38:04 +00:00
okuji 36ccd040ac Revert all changes made by Rick van Rein. His patch is not approved at all, and the reason why he checked them in was a bug in Savannah. *sigh* 2004-01-11 09:35:15 +00:00
okuji d1d9022b1f 2003-12-30 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/fsys_ext2fs.c (ext2_is_fast_symlink): New function.
	(ext2fs_dir): Use ext2_is_fast_symlink to check if the current
	inode is a fast or slow symlink. This change was required
	because Linux now uses acl seriously (i.e. incompatibility).
	Reported by Chris PeBenito <pebenito@gentoo.org> and Seemant
	Kulleen <seemant@gentoo.org>
2003-12-30 12:36:13 +00:00
okuji 3b2816320b 2003-11-30 Yoshinori K. Okuji <okuji@enbug.org>
* lib/device.c (read_device_map) (sho_warning): New internal
	function.
	(read_device_map): If DRIVE is greater than 8, emit a warning
	and ignore the drive, rather than exiting abnormally.
	Reported by Greg Newby <newby@arsc.edu>.
2003-11-30 17:13:12 +00:00
okuji 49597fd5cb I forgot to remove configure.in and add configure.ac. 2003-10-19 17:38:43 +00:00
okuji 7899a91337 2003-10-19 Yoshinori K. Okuji <okuji@enbug.org>
Migrated to newer autotools. Also, don't install mkbimage
	because its name is too general and it does not conform to the
	GNU Coding Standards in some points.

	* util/Makefile.am (EXTRA_DIST): New variable.
	(sbin_SCRIPTS): Removed mkbimage.
	(noinst_SCRIPTS): Added mkbimage.

	* stage1/Makefile.am (AM_ASFLAGS): Renamed to ...
	(AM_CCASFLAGS): ... this.

	* stage2/Makefile.am (pre_stage2_exec_ASFLAGS): Renamed to ...
	(pre_stage2_exec_CCASFLAGS): ... this.
	(start_exec_ASFLAGS): Renamed to ...
	(start_exec_CCASFLAGS): ... this.
	(e2fs_stage1_5_exec_ASFLAGS): Renamed to ...
	(e2fs_stage1_5_exec_CCASFLAGS): ... this.
	(fat_stage1_5_exec_ASFLAGS): Renamed to ...
	(fat_stage1_5_exec_CCASFLAGS): ... this.
	(ffs_stage1_5_exec_ASFLAGS): Renamed to ...
	(ffs_stage1_5_exec_CCASFLAGS): ... this.
	(minix_stage1_5_exec_ASFLAGS): Renamed to ...
	(minix_stage1_5_exec_CCASFLAGS): ... this.
	(reiserfs_stage1_5_exec_ASFLAGS): Renamed to ...
	(reiserfs_stage1_5_exec_CCASFLAGS): ... this.
	(vstafs_stage1_5_exec_ASFLAGS): Renamed to ...
	(vstafs_stage1_5_exec_CCASFLAGS): ... this.
	(jfs_stage1_5_exec_ASFLAGS): Renamed to ...
	(jfs_stage1_5_exec_CCASFLAGS): ... this.
	(xfs_stage1_5_exec_ASFLAGS): Renamed to ...
	(xfs_stage1_5_exec_CCASFLAGS): ... this.
	(diskless_exec_ASFLAGS): Renamed to ...
	(diskless_exec_CCASFLAGS): ... this.
	(nbloader_exec_ASFLAGS): Renamed to ...
	(nbloader_exec_CCASFLAGS): ... this.
	(pxeloader_exec_ASFLAGS): Renamed to ...
	(pxeloader_exec_CCASFLAGS): ... this.

	* configure.in: Removed.
	* configure.ac: New file. Mostly derived from configure.in.
2003-10-19 17:36:30 +00:00
okuji e8911332da 2003-10-19 Yoshinori OKUJI <okuji@enbug.org>
From KB Sriram <mail_kb@yahoo.com>:
	* stage2/disk_io.c (set_device) [SUPPORT_NETBOOT]: Added support
	for a completion of a network device.
	(print_completions): Likewise.
2003-10-19 16:06:24 +00:00
okuji 90537aaed7 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>.
2003-05-03 19:52:32 +00:00
okuji 5eebfaf282 2003-03-19 Yoshinori K. Okuji <okuji@enbug.org>
From Adam Lackorzynski <adam@os.inf.tu-dresden.de>:
	* stage2/shared.h (KEY_NPAGE): Changed to 0x5100.
	(KEY_PPAGE): Changed to 0x4900.
2003-03-18 23:51:59 +00:00
okuji 0151ef5e78 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>.
2003-03-18 21:07:35 +00:00
okuji 703e8d6852 2003-03-10 Yoshinori K. Okuji <okuji@enbug.org>
From Andrew Walrond <andrew@walrond.org>:
	* stage2/fsys_reiserfs.c (struct reiserfs_journal_header):
	Remove an unnecessary ``long''.
2003-03-10 01:15:15 +00:00
okuji cf4f0a7199 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.
2003-03-10 01:12:26 +00:00
okuji df002327f6 2003-02-20 Yoshinori K. Okuji <okuji@enbug.org>
* util/grub-install.in (find_device): Fix the sed script.
2003-02-19 23:26:46 +00:00
okuji cd23d85031 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.
2003-02-17 12:35:30 +00:00
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