Commit Graph
643 Commits
Author SHA1 Message Date
jeroen 50396703ad 2004-04-29 Jeroen Dekkers <jeroen@dekkers.cx>
* stage2/char_io.c (grub_memcmp): Define for stage1.5 too.

	* stage2/fsys_iso9660.c (iso9660_mount): Use memcmp() instead of
	__builtin_memcmp().
	(iso9660_dir): Likewise.
2004-04-29 09:57:09 +00:00
okuji fcac0d870d 2004-04-26 Christian Jones <chjones@aleph0.com>
* docs/grub.texi (Making a GRUB bootable CD-ROM): minor edits,
        including a few compatibility notes and a change to
        -boot-load-size 4 for the mkisofs command.
2004-04-27 20:47:43 +00:00
jeroen b9d0cc9dcf 2004-04-22 Jeroen Dekkers <jeroen@dekkers.cx>
* Makefile.am (AUTOMAKE_OPTIONS): Add "gnu".
	* configure.ac: Update to work with automake 1.8, quote all
	AC_DEFUN's correctly and provide descriptions for AC_DEFINE's.
	* acinclude.m4: Likewise.
	* acconfig.h: Removed.

	* stage1/Makefile.am (.exec): Use suffix rules instead of pattern
	rules.
	* stage2/Makefile.am (.exec): Likewise.
2004-04-23 13:43:40 +00:00
okuji de89ab8289 2004-04-18 Yoshinori K. Okuji <okuji@enbug.org>
* docs/grub.texi (Making a GRUB bootable CD-ROM): New section.

	* stage2/disk_io.c (set_device): Use CH instead of *DEVICE to
	test the first character of DEVICE, because DEVICE is
	incremented.
	Reported by Bernhard Treutwein.
2004-04-18 12:39:39 +00:00
okuji 4e69adb6ab 2004-04-15 Yoshinori K. Okuji <okuji@enbug.org>
* netboot/fsys_tftp.c (buf_fill): Cast 1 to unsigned short
	explicitly so that the constant doesn't extend unsigned short
	to int automatically.
	Reported by Eduard Guzovsky <eguzovsk@enterasys.com>.

	* docs/grub.texi (Invoking grub-md5-crypt): Fixed the chapter
	name.
	Reported by Martin Pool <mbp@sourcefrog.net>.
2004-04-15 11:50:29 +00:00
okuji 0accb2cab8 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
* configure.ac (STAGE2_CFLAGS): Check if -fno-stack-protector is
	supported by GCC. If yes, added the option. This is necessary
	for OpenBSD, because the stack protector defines additional
	symbols. Reported by uc.sheda <uc.sheda@laposte.net>.
2004-04-04 09:15:43 +00:00
proski 065f6e0a20 * stage2/boot.c: Imply --no-mem-option for Linux kernels with
protocol version 2.03 and above (Linux 2.4.18 and newer).
2004-03-29 14:54:30 +00:00
okuji 4f29a8af45 2004-03-27 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/char_io.c [!GRUB_UTIL] (memcpy): New function. It is
	defined as an alias of grub_memmove. This is copied from GRUB 2.

	* stage2/disk_io.c (print_completions): Simplified conditionals
	to make it easier to edit the file with Emacs.
	Added support for (cd).
	(set_device): Likewise.

	* stage2/common.c (init_bios_info): Check if BOOT_DRIVE is a
	CDROM drive. If it is true, set CDROM_DRIVE to BOOT_DRIVE.
	(cdrom_drive): New variable.

	From Leonid Lisovskiy <lly@pisem.net>:
	* stage2/start_eltorito.S: New file.

	* stage2/stage2.c (run_menu): Use GRUB_INVALID_DRIVE instead of
	0xFF.

	* stage2/shared.h (STAGE2_ID_ISO9660_STAGE1_5): New macro.
	[FSYS_ISO9660] (STAGE2_ID): Set to STAGE2_ID_ISO9660_STAGE1_5.
	(struct geometry): Added a new member ``sector_size''.
	(BIOSDISK_FLAG_CDROM): New macro.
	(cdrom_drive): Declared.

	* stage2/fsys_iso9660.c: New file.
	* stage2/iso9660.h: Likewise.

	* stage2/filesys.h (FSYS_ISO9660_NUM): New macro.
	[FSYS_ISO9660] (iso9660_mount): Declared.
	[FSYS_ISO9660] (iso9660_read): Likewise.
	[FSYS_ISO9660] (iso9660_dir): Likewise.
	(NUM_FSYS): Added FSYS_ISO9660_NUM.

	* stage2/disk_io.c (fsys_table) [FSYS_ISO9660]: Added iso9660.
	(current_drive): Use GRUB_INVALID_DRIVE.
	(log2): New function.
	(rawread): Use BUF_GEOM.SECTOR_SIZE instead of SECTOR_SIZE.
	Change the type of BUFADDR from int to char *.
	Use a virtual track to make sure that one track fits in the
	buffer.
	(sane_partition): Allow CURRENT_DRIVE to be CDROM_DRIVE, because
	a bios drive for a CD-ROM is often assigned to greater than
	0x88.
	(set_device): Use GRUB_INVALID_DRIVE instead of 0xFF.
	(setup_part): Likewise.

	* stage2/cmdline.c (init_cmdline): Use GRUB_INVALID_DRIVE.

	* stage2/builtins.c (install_func): Use GRUB_INVALID_DRIVE.
	(setup_func): Added iso9660_stage1_5.

	* stage2/bios.c (biosdisk): Don't fall back to the CHS mode
	if the drive is a CDROM.
	(get_cdinfo): New function.
	(get_diskinfo): Call get_cdinfo if the drive is greater than or
	equal to 0x88 or the drive supports LBA.
	Set the sector size to SECTOR_SIZE if it is not a CD-ROM.

	* stage2/asm.S (biosdisk_int13_extensions): Take a word
	argument AX instead of a byte argument AH.
	(get_diskinfo_int13_extensions): Removed.

	* stage2/Makefile.am (noinst_HEADERS): Added iso9660.h.
	(libgrub_a_SOURCES): Added fsys_iso9660.c.
	(libgrub_a_CFLAGS): Added -DFSYS_ISO9660=1.
	(pkgdata_DATA): Added iso9660_stage1_5 and stage2_eltorito.
	(noinst_PROGRAMS): Added iso9660_stage1_5.exec and
	start_eltorito.exec.
	(noinst_DATA): Added start_eltorito.
	(pre_stage2_exec_SOURCES): Added fsys_iso9660.c.
	(START_ELTORITO_LINK): New variable.
	(start_eltorito_exec_SOURCES): Likewise.
	(start_eltorito_exec_CCASFLAGS): Likewise.
	(start_eltorito_exec_LDFLAGS): Likewise.
	(start_eltorito_exec-start.$(OBJEXT)): New dependency.
	(stage2_eltorito): New target.
	(iso9660_stage1_5_exec_SOURCES): New variable.
	(iso9660_stage1_5_exec_CFLAGS): Likewise.
	(iso9660_stage1_5_exec_CCASFLAGS): Likewise.
	(iso9660_stage1_5_exec_LDFLAGS): Likewise.

	* stage1/stage1.h (GRUB_INVALID_DRIVE): New macro.

	* stage1/stage1.S (boot_drive): Use the macro GRUB_INVALID_DRIVE.
	(real_start): Likewise.

	* lib/device.c (get_drive_geometry): Set GEOM->SECTOR_SIZE to
	SECTOR_SIZE by default.

	* configure.ac (--disable-iso9660): New option.
2004-03-27 17:02:54 +00:00
okuji a1d48b992f 2004-03-13 Yoshinori K. Okuji <okuji@enbug.org>
From Daniele Zelante <zeldan@email.it>:
	* stage2/asm.S (stop_floppy): Use INT 13, AH=00h to stop the
	floppy controller instead of a direct I/O.
2004-03-13 10:28:46 +00:00
okuji 7b43bbe40e 2004-03-12 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/serial.c (serial_putchar): Handle the character code
	127 as a backspace. Reported by Florian Engelhardt
	<f.engelhardt@gmx.net>.
2004-03-12 18:27:23 +00:00
okuji b42b9b7e22 2004-03-12 Yoshinori K. Okuji <okuji@enbug.org>
From Boji Tony Kannanthanam <boji.t.kannanthanam@intel.com>:
	* util/grub-install.in (convert): Add support for ATARAID
	device names.
	* lib/device.c (get_ataraid_disk_name) [__linux__]: New
	function.
	(init_device_map) [__linux__]: Probe ATARAID disks.

	* stage2/size_test (check): Don't use the local statement any
	longer. It was unneeded actually. Reported by Paul Jarc.
2004-03-12 18:16:40 +00:00
okuji 9b1392428c 2004-03-12 Yoshinori K. Okuji <okuji@enbug.org>
From Sergey Matveychuk <sem@ciam.ru>:
	* lib/device.c (get_drive_geometry): Do not open the same device
	more than once unnecessarily.
	(get_drive_geometry) [__FreeBSD_version >= 500040]: Use new
	ioctl methods.
	(get_floppy_disk_name) [__FreeBSD__ >= 4]: Use /dev/fd%d rather
	than /dev/rfd%d.
	(get_ide_disk_name) [__FreeBSD__ >= 4]: Use /dev/ad%d rather
	than /dev/rad%d.
	(get_scsi_disk_name) [__FreeBSD__ >= 4]: Use /dev/da%d rather
	than /dev/rda%d.
	* grub/asmstub.c (get_diskinfo): Check if ERRNO is EPERM as
	well.
2004-03-12 17:31:51 +00:00
jeroen 8f31d2ff88 2004-02-28 Jeroen Dekkers <jeroen@dekkers.cx>
* docs/grub.texi (partnew): Change @var{to} to @var{len}.
2004-03-01 10:52:31 +00:00
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 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 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
vanrein 6e7a81f3aa Added support for remote booting: commands "expires" and "fallback" 2004-01-05 18:03:11 +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 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
robertmh 4db8e630b4 * config.{guess,sub}: Update from official source (CVS). 2003-10-10 09:56:02 +00:00
robertmh e4dc4ce8a5 * docs/texinfo.tex: Update from ftp.gnu.org. 2003-09-18 16:42:47 +00:00
robertmh 3c9fc981a2 * stage2/fsys_fat.c: Fix missdetection of ext2fs as fatfs. 2003-09-05 01:36:58 +00:00
robertmh 2e08dad5a8 * docs/menu.lst (GNU/Linux): Add commented initrd command, which is consistent with documentation. 2003-09-04 23:33:09 +00:00
robertmh cc1da3b822 * docs/menu.lst: Add NetBSD, OpenBSD, GNU/KFreeBSD and GNU/KNetBSD. 2003-09-01 15:07:32 +00:00
jochen 0c05e9955d Fixed date of changelog entry 2003-08-14 08:27:35 +00:00
jthomas bbed85e657 forgot to mention who found it 2003-08-13 04:19:47 +00:00
jthomas 25fee2345c the sense of an error in mbchk was inverted 2003-08-13 04:16:44 +00:00
jthomas fc2a2dc3d7 added new function to resolve_symlink to grub-install.in
moved code from find_device to this function
install_device is now run through the new function
2003-08-13 02:14:46 +00:00
jochen 7c7f8f73ea * stage2/fsys_reiserfs.c (read_tree_node): Fixed a typo; only
matters for very large fs when tree doesn't fit in cache.
(IH_KEY_OFFSET): Don't check for INFO->version.  There are
actually old version file systems that use new version items.
(IH_KEY_ISTYPE): Likewise.
(reiserfs_dir): Likewise.
2003-08-12 10:20:27 +00:00
tlaronde 6194afc326 Modified Files:
ChangeLog util/Makefile.am: added `mkbimage' in sbin_SCRIPTS
2003-08-09 12:23:05 +00:00
jthomas 00cdabfa51 added --no-floppy option to grub-install 2003-08-01 01:26:49 +00:00
jochen 61b109a5ca * 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.
2003-06-17 08:08:03 +00:00
jthomas d8544dae43 - revert incorrect change to grub.texi 2003-06-09 22:22:36 +00:00
jthomas 7dd44efcfa * 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>
2003-05-23 00:31:26 +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