Commit Graph
58 Commits
Author SHA1 Message Date
okuji e43909c66d 2004-05-23 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/char_io.c (grub_isspace): Use a switch sentense instead
	of an if sentense, because that reduces the size.

	* lib/device.c (read_device_map): Change the max number of DRIVE
	to 127 from 8. This was too strict.

	* stage2/asm.S (stop_floppy): Call pusha and popa outside the
	block of real mode code. Reported by Guillem Jover
	<guillem@debian.org>.
2004-05-23 16:45:45 +00:00
okuji dc8bf1d248 2004-05-14 Yoshinori K. Okuji <okuji@enbug.org>
From Sergey Matveychuk <sem@ciam.ru>:
	* stage2/size_test: Added a check for ufs2_stage1_5.

	* stage2/shared.h (STAGE2_ID_UFS2_STAGE1_5): New macro.
	[FSYS_UFS2] (STAGE2_ID): Set to STAGE2_ID_UFS2_STAGE1_5.

	* stage2/filesys.h (FSYS_UFS2_NUM): New macro.
	[FSYS_UFS2] (ufs2_mount): New prototype.
	[FSYS_UFS2] (ufs2_read): Likewise.
	[FSYS_UFS2] (ufs2_dir): Likewise.
	[FSYS_UFS2] (ufs2_embed): Likewise.
	(NUM_FSYS): Added FSYS_UFS2_NUM.

	* stage2/disk_io.c (fsys_table): Added an ufs2 entry.

	* stage2/builtins.c (setup_func): Added ufs2 into the
	STAGE1_5_MAP.

	* stage2/Makefile.am (libgrub_a_SOURCES): Added fsys_ufs2.c.
	(libgrub_a_CFLAGS): Added -DFSYS_UFS2=1.
	(pkgdata_DATA): Added ufs2_stage1_5.
	(noinst_PROGRAMS): Added ufs2_stage1_5.exec.
	(ufs2_stage1_5_exec_SOURCES): New variable.
	(ufs2_stage1_5_exec_CFLAGS): Likewise.
	(ufs2_stage1_5_exec_CCASFLAGS): Likewise.
	(ufs2_stage1_5_exec_LDFLAGS): Likewise.

	* grub/Makefile.am (AM_CPPFLAGS): Added -DFSYS_ISO9660=1,
	-DFSYS_JFS=1, -DFSYS_REISERFS=1, -DFSYS_UFS2=1, -DFSYS_VSTAFS=1,
	-DFSYS_XFS=1, and -DUSE_MD5_PASSWORDS=1.

	* configure.ac (--disable-ufs2): New option.

	* stage2/fsys_ufs2.c: New file.
	* stage2/ufs2.h: Likewise.
2004-05-14 20:16:55 +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 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 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 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 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 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 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 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 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 502a79c799 hide and unhide support logical partitions. 2001-11-28 18:43:56 +00:00
okuji 3a150c2b37 Reorganize the file `AUTHOR', according to the current status of copyright
assignments received by the FSF.

Jason Thomas was added.
Erich Stefan Boleyn was moved into those who assigned their copyrights.
Gordon Matzigkeit was moved into the others, because he still wasn't listed
in fencepost.gnu.org:/gd/gnuorg/copyright.list.

The remaining problem is that we haven't had copyright assignments of
VaX#8, Heiko Schroeder and Gordon Matzigkeit. As for the first two, Erich
is now trying to contact them by proxy. So I'm just waiting.

As for Gordon.... oh, what are you doing, Gordon?! Hurry up, please!
2001-11-12 06:57:29 +00:00
okuji d619861976 JFS and XFS support is added. 2001-10-27 16:04:25 +00:00
okuji 2f97c78528 Add VSTa filesystem support. 2001-06-22 02:32:56 +00:00
okuji 00865a8027 fix the problem that savedefault doesn't work with Stage 1.5. 2001-02-02 13:31:03 +00:00
okuji 00deed40cc update NEWS and fix a sentense inconsistent against GNU coding style. 2000-12-21 22:42:33 +00:00
okuji d24002df4f use lower case for the variable name MBR. 2000-12-21 22:35:01 +00:00
jochen 207a82b176 Added EZ-BIOS support.
Cleaned up the write code.
Added support for automatically embedding to file systems in setup_func.
2000-12-17 19:25:50 +00:00
jochen f8e4561c47 * stage2/disk_io.c (next_partition): Mask out bsd partition sub
type when checking if last partition was a bsd partition.
Reported by Heikki Vatiainen <hessu@cs.tut.fi>.
2000-12-09 15:50:39 +00:00
okuji d917526690 change the error number to a more appropriate one in make_saved_active. 2000-11-08 17:33:41 +00:00
okuji 5b956a8ac8 merge the changes on the branch prepare_0_5_96 to the main trunk. 2000-10-07 07:19:12 +00:00
okuji b3ccacd20f new partition table scanning engine. 2000-09-29 00:41:42 +00:00
gord 26fef18cb8 Added Jochen's sector alignment checking patch. 2000-04-19 20:34:28 +00:00
okuji 3792b0a01e add reiserfs support. 2000-04-15 13:39:38 +00:00
okuji eb321e77f7 fix many bugs. see ChangeLog. 2000-04-02 17:22:53 +00:00
okuji b9ff0c2f81 print only a partition type in print_fsys_type, don't call HDIO_GETGEO for a floppy in check_device. 2000-02-23 18:53:27 +00:00
okuji a936d03921 change the location of the boot partition table. 2000-02-22 07:25:17 +00:00
okuji c62dcb6fa0 upgraded to etherboot-4.4.3, rewrite a part of the document, print a message in check_BSD_parts if the label is invalid. 2000-02-21 08:56:10 +00:00
okuji 07996ed613 add some checks into make_saved_active and remove 3c59x.c. 2000-02-18 08:19:33 +00:00
okuji 85c66cb4c8 add long filename support into FAT, fix a typo in configure. 2000-02-18 04:34:42 +00:00
okuji 7c4acb2539 pass the boot partition information to a chain-loader, in the partition table area of the loader. 2000-02-16 11:14:36 +00:00
okuji 1bb94397a5 fix a fat32 bug and some netboot bugs. 2000-02-08 21:20:46 +00:00
okuji 161b9f4dde new function grub_seek, fix a bug in the doc. 1999-12-30 06:32:02 +00:00
okuji 5343bda835 fix a bug in partition search. 1999-11-30 11:13:00 +00:00
okuji a40c3176c2 do not embed the drive where a Stage 2 resides when using a Stage 1.5 if possible. 1999-11-13 09:39:43 +00:00
okuji c95941d65d fix several bugs. 1999-11-11 20:43:20 +00:00
okuji c6ec01220b add an extra option into the command install, and allow to mount extended partitions. 1999-11-02 12:54:19 +00:00
okuji 0612bf14c0 fix a completion buf, add floppy devices into the device map file unconditionally. 1999-10-31 04:15:36 +00:00
okuji 3195af515d remove the preliminary Mach device name support, upgrade help2man, fix many bugs in the keyboard configuration support. 1999-10-27 05:55:46 +00:00
okuji 482c5a1631 fix many bugs in the BIOS drive remapping feature. 1999-10-26 09:02:38 +00:00
okuji 1f6d422a9a clear the bss at the startup and fix some netboot bugs. 1999-10-22 17:32:23 +00:00
okuji c7b7ecb074 add --without-curses, fix up the installation. 1999-10-01 04:51:01 +00:00
okuji 43921a97ca cleanup some code and fix some macros in acinclude.m4. 1999-09-30 06:20:22 +00:00
okuji 3ccfc3bed1 reduce the size of Stage 1.5, improve the completion, fix some bugs. 1999-09-29 09:28:37 +00:00
okuji 88efa06787 fix a install bug and rename debug_fs* to apropriate names. 1999-09-23 01:02:31 +00:00
okuji 073695fe81 fix the command install, add some macros into netboot, fix the function set_partition_hidden_flag. 1999-09-21 03:18:22 +00:00
okuji dc73edd77c improve the completion code. 1999-09-18 22:28:36 +00:00
okuji 84bf7c7d5d fix the memcheck problem in the grub shell. 1999-09-17 18:35:23 +00:00
okuji be514997d2 add netboot support. 1999-09-14 06:55:57 +00:00