Commit Graph
697 Commits
Author SHA1 Message Date
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 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
proski d6f4c1c620 * util/grub-install.in: Fix hardcoded /dev/hda1. 2002-04-06 22:30:18 +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 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 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
proski a751da838c * 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.
2002-02-11 08:10:57 +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 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
jthomas 60ea787e84 Fixed typo in Makefile.am which left out xfs, md5cyrpt, serial support and hercules support 2002-02-04 04:55:48 +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
kr 4388810ef9 Changes. 2002-01-18 17:17:11 +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 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
okuji 4ea83d7811 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.
2002-01-08 03:19:23 +00:00
okuji 843ddd9712 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.
2002-01-08 02:48:44 +00:00
okuji 686f75d678 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.
2002-01-05 19:59:29 +00:00
okuji 41e19993b5 2002-01-06 Yoshinori K. Okuji <okuji@gnu.org>
* netboot/misc.c (inet_aton): Don't check if *P is an asterisk,
	if I is 3. Reported by Rick (his real name and address are
	unknown).
2002-01-05 18:41:34 +00:00
okuji a0c6c8b9af Fix a wrong version in ChangeLog and add a new entry to NEWS. 2002-01-02 23:23:32 +00:00
okuji 973e6f4129 2002-01-03 Yoshinori K. Okuji <okuji@gnu.org>
Update the netboot stuff to Etherboot-5.0.5.

	* configure.in (--enable-3c590): Removed. This was a mistake.
	(--enable-davicom): New option.
	(--enable-eepro): Likewise.
	(--enable-natsemi): Likewise.
	(--enable-ni5010): Likewise.
	(--enable-sis900): Likewise.
	(--enable-w89c840): Likewise.
	(--enable-3c509-hack): Removed.
	(--enable-ns8390-force-16bit): Likewise.

	* netboot/Makefile.am (libdrivers_a_SOURCES): Added timer.c and
	timer.h.
	(EXTRA_libdrivers_a_SOURCES): Added davicom.c, eepro.c, fa311.c,
	natsemi.c, ni5010.c, sis900.c, sis900.h, tlan.c and w89c840.c.
	(EXTRA_DIST): Added sis900.txt.
	(3c595_drivers): Remove 3c590.o from this.
	(davicom_drivers): New variable.
	(eepro_drivers): Likewise.
	(natsemi_drivers): Likewise.
	(ni5010_drivers): Likewise.
	(sis900_drivers): Likewise.
	(w89c840_drivers): Likewise.
	(3c590_o_CFLAGS): Removed.
	(davicom_o_CFLAGS): New variable.
	(eepro_o_CFLAGS): Likewise.
	(natsemi_o_CFLAGS): Likewise.
	(ni5010_o_CFLAGS): Likewise.
	(sis900_o_CFLAGS): Likewise.
	(w89c840_o_CFLAGS): Likewise.

	* netboot/davicom.c: New file, from Etherboot-5.0.5.
	* netboot/eepro.c: Likewise.
	* netboot/natsemi.c: Likewise.
	* netboot/ni5010.c: Likewise.
	* netboot/sis900.c: Likewise.
	* netboot/sis900.h: Likewise.
	* netboot/sis900.txt: Likewise.
	* netboot/timer.c: Likewise.
	* netboot/timer.h: Likewise.
	* netboot/w89c840.c: Likewise.
	* netboot/fa311.c: Likewise.
	* netboot/tlan.c: Likewise.

	* netboot/3c509.c: Copied from Etherboot-5.0.5.
	* netboot/3c509.h: Likewise.
	* netboot/3c595.c: Likewise.
	* netboot/3c90x.c: Likewise.
	* netboot/3c90x.txt: Likewise.
	* netboot/cards.h: Likewise.
	* netboot/cs89x0.c: Likewise.
	* netboot/depca.c: Likewise.
	* netboot/eepro100.c: Likewise.
	* netboot/epic100.c: Likewise.
	* netboot/i82586.c: Likewise.
	* netboot/lance.c: Likewise.
	* netboot/linux-asm-string.h: Likewise.
	* netboot/nic.h: Likewise.
	* netboot/ns8390.c: Likewise.
	* netboot/ns8390.h: Likewise.
	* netboot/otulip.c: Likewise.
	* netboot/pci.h: Likewise.
	* netboot/rtl8139.c: Likewise.
	* netboot/sk_g16.c: Likewise.
	* netboot/smc9000.c: Likewise.
	* netboot/tiara.c: Likewise.
	* netboot/tulip.c: Likewise.
	* netboot/via-rhine.c: Likewise.

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

	* stage2/builtins.c [SUPPORT_NETBOOT] (GRUB): Defined.
	(boot_func) [SUPPORT_NETBOOT]: Call cleanup_net.
	* stage2/cmdline.c [SUPPORT_DISKLESS] (GRUB): Defined.
	* stage2/common.c [SUPPORT_DISKLESS] (GRUB): Likewise.
2002-01-02 21:56:40 +00:00
okuji daa965eccc 2002-01-02 Jeremy Katz <katzj@redhat.com>
* util/grub-install.in: Support using mktemp as well as tempfile
	for secure temporary file creation.
2002-01-02 18:46:31 +00:00
okuji 6e8c6154fb 2002-01-02 Jeremy Katz <katzj@redhat.com>
* stage2/md5.c (md5_password): Ensure the password exists before
	trying to check against the md5 crypted version.
2002-01-02 17:48:41 +00:00
okuji 59d735d43f 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.

	* stage2/start.S (lba_mode) [NO_BUGGY_BIOS_IN_THE_WORLD]:
	Likewise.
2001-12-30 08:23:16 +00:00
okuji 4cd09c4b6a 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.

	* stage2/char_io.c [STAGE1_5] (grub_memset): Defined.
2001-12-30 07:33:23 +00:00
okuji aaccdfc4ba Add NetBSD support into grub-install. 2001-12-29 18:53:30 +00:00
okuji f70e5d2409 Use /boot/grub in NetBSD. 2001-12-29 18:33:39 +00:00
okuji 6ff5668ee4 Add extra space characters into help messages. 2001-12-29 18:10:50 +00:00