mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-21 06:49:35 +00:00
4123 lines
150 KiB
Plaintext
4123 lines
150 KiB
Plaintext
2000-04-10 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/stage2.c (run_menu): In the case where C is `o', check
|
|
if ENTRYNO is less than 11. If not, increase FIRST_ENTRY instead
|
|
of ENTRYNO. Reported by Pixel <pixel@mandrakesoft.com>.
|
|
|
|
2000-04-09 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage1/depcomp: Removed, because it makes `make dist'
|
|
unworkable.
|
|
|
|
For developers: Don't run automake with --add-missing. Instead,
|
|
you should specify --force-missing. If you really want to add a
|
|
script from automake, copy it at hand. *sigh*
|
|
|
|
2000-04-05 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/builtins.c (kernel_func): Added missing ``size''
|
|
arguments into `grub_memcmp's. Reported by Christoph Plattner
|
|
<christoph.plattner@dot.at>.
|
|
|
|
From Torsten Duwe <duwe@caldera.de>:
|
|
* stage2/boot.c (load_initrd): Mask the address with 0x3FFFFFFF
|
|
instead of 0xFFFFFFFF to place the initrd below 1GB.
|
|
(load_image): In Linux boot, add the option "mem=" only if more
|
|
than 64MB are present.
|
|
* grub/asmstub.c [__linux__]: Include <linux/cdrom.h> for
|
|
CDROM_GET_CAPABILITY.
|
|
[__FreeBSD__ || __NetBSD__ || __OpenBSD__]: Include <sys/cdio.h>
|
|
for CDIOCCLRDEBUG.
|
|
(check_device) [__linux__] [CDROM_GET_CAPABILITY]: If ioctl for
|
|
CDROM_GET_CAPAIBILITY succeeds, return zero.
|
|
[__FreeBSD__ || __NetBSD__ || __OpenBSD__] [CDIOCCLRDEBUG]: If
|
|
ioctl for CDIOCCLRDEBUG succeeds, return zero.
|
|
|
|
* stage2/boot.c (load_initrd): Subtract 0x1000 (one page size)
|
|
from MOVETO, to avoid a Linux 2.3.xx's bug.
|
|
|
|
2000-04-03 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
Add a dirty hack into the kernel loader so that the user can
|
|
force GRUB to load NetBSD ELF kernels. The support code is
|
|
mostly stolen from a patch by Pavel Roskin.
|
|
|
|
* stage2/boot.c (load_image): Added an optional argument
|
|
SUGGESTED_TYPE.
|
|
If BUFFER is a bootable ELF image and SUGGESTED_TYPE is
|
|
KERNEL_TYPE_NETBSD, then load it as an ELF image and set STR2 to
|
|
"NetBSD" and TYPE to SUGGESTED_TYPE.
|
|
If the image is a Linux kernel and SUGGESTED_TYPE is not
|
|
KERNEL_TYPE_NONE, make sure that SUGGESTED_TYPE matches up to
|
|
the Linux kernel type.
|
|
If TYPE is KERNEL_TYPE_NETBSD, set MEMADDR to
|
|
RAW_ADDR (phdr->paddr & 0xFFFFFF) like FreeBSD.
|
|
If SUGGESTED_TYPE is not KERNEL_TYPE_NONE, make sure that
|
|
SUGGESTED_TYPE is equal to TYPE.
|
|
(bsd_boot): If TYPE is not KERNEL_TYPE_FREEBSD (i.e. NetBSD or
|
|
OpenBSD) and the bit MB_INFO_AOUT_SYMS is set, set END_MARK to
|
|
MBI.SYMS.A.ADDR + 4 + MBI.SYMS.A.TABSIZE + MBI.SYMS.A.STRSIZE.
|
|
If the bit is clear, set END_MARK to 0.
|
|
Pass END_MARK to *ENTRY_ADDR instead of directly calculating the
|
|
end of symbols.
|
|
* stage2/shared.h (load_image): Added the argument
|
|
SUGGESTED_TYPE to the prototype.
|
|
* stage2/builtins.c (kernel_func): Added a new option,
|
|
`--type=TYPE'. Check if ARG is started with "--type=".
|
|
If so, set SUGGESTED_TYPE to KERNEL_TYPE_NETBSD,
|
|
KERNEL_TYPE_FREEBSD, KERNEL_TYPE_NETBSD, KERNEL_TYPE_LINUX,
|
|
KERNEL_TYPE_BIG_LINUX, KERNEL_TYPE_MULTIBOOT if ARG is "netbsd",
|
|
"freebsd", "openbsd", "linux", "biglinux", "multiboot",
|
|
respectively. Otherwise, set ERRNUM to ERR_BAD_ARGUMENT and
|
|
return 1. Set KERNEL_ARG to a string after the option.
|
|
(builtin_kernel): Added a description about the new option.
|
|
|
|
2000-04-03 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/stage2.c (run_menu) [GRUB_UTIL]: Removed a nested
|
|
"#ifdef GRUB_UTIL" ... "#endif".
|
|
* stage2/builtins.c (unhide_func): Don't modify SAVED_DRIVE or
|
|
SAVED_PARTITION.
|
|
(hide_func): Likewise.
|
|
* stage2/disk_io.c (set_partition_hidden_flag): Use
|
|
CURRENT_DRIVE and CURRENT_PARTITION instead of SAVED_DRIVE and
|
|
SAVED_PARTITION. Check if bit 7 in CURRENT_DRIVE is non-zero
|
|
instead of if CURRENT_DRIVE is non-zero.
|
|
|
|
* grub/asmstub.c (init_device_map): Change the message
|
|
"Probe devices..." to "Probing devices...". Suggested by Neal H
|
|
Walfield.
|
|
|
|
* stage2/pc_slice.h (PC_SLICE_TYPE_HIDDEN_FLAG): Move the
|
|
definition before the PC partition type definitions.
|
|
(IS_PC_SLICE_TYPE_FAT): Clear the hidden flag in TYPE before
|
|
checking if TYPE is either of the FAT partition types. Reported
|
|
by Thomas Schweikle <tschweikle@fiducia.de>.
|
|
|
|
2000-04-02 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/builtins.c (setup_func): Don't read a stage 1.5 to get
|
|
the size. Use FILEMAX instead.
|
|
If embed_func fails (i.e. ERRNUM is non-zero), goto fail.
|
|
|
|
2000-04-02 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
Suggested by Neal H Walfield <neal@walfield.org>:
|
|
* stage2/common.c (init_bios_info): Removed a nested
|
|
"#ifndef STAGE1_5" ... "#endif".
|
|
* util/grub-install.in: Quote most of the references to
|
|
shell variables by double quotation marks.
|
|
(usage): Added a description about the argument.
|
|
* stage2/builtins.c (setup_func): Change each of the messages
|
|
when running embed_func and install_func. "Run" -> "Running".
|
|
If install_func succeeds, print a message ("Done.").
|
|
|
|
From Frank Mehnert <fm3@os.inf.tu-dresden.de>:
|
|
* stage2/char_io.c (convert_to_ascii) [!STAGE1_5]: Accept 'X'
|
|
and 'b' as well. If C is 'X' or 'b', then set MULT to 16.
|
|
(grub_printf): Set a new variable MASK to 0xFFFFFFFF by default.
|
|
Mask *DATAPTR with MASK when calling convert_to_ascii.
|
|
(grub_printf) [!STAGE1_5]: Added 'b' and 'X'. If C is 'b', set
|
|
MASK to 0xFF and fall through to the case 'u'. 'X' is the same
|
|
as 'x'.
|
|
|
|
From Josip Rodin <joy@cibalia.gkvk.hr>:
|
|
* grub.texi: Several awkward English sentences are fixed.
|
|
* tutorial.texi: Likewise.
|
|
* user-ref.texi: Likewise.
|
|
* appendices.texi: Likewise.
|
|
|
|
2000-03-27 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage1/depcomp: New file. Automake forces to install it. This
|
|
is a known bug, so I will remove this when Tom fixes it.
|
|
* configure.in (AM_INIT_AUTOMAKE): Don't get the package name
|
|
and the version from debian/changelog. This is a workaround.
|
|
|
|
2000-03-20 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/Makefile.am (nodist_pkgdata_DATA): Renamed to ...
|
|
(pkgdata_DATA): ... this. DATA is not distributed by default.
|
|
(CLEANFILES): Delete the first one. I don't know why this
|
|
variable was duplicated.
|
|
Set to $(pkgdata_DATA) instead of $(nodist_pkgdata_DATA).
|
|
(start_exec_DEPENDENCIES): Removed. This doesn't make sense.
|
|
(start_exec-start.o): New rule.
|
|
* depcomp: New file. Copied from automake.
|
|
* missing: Updated from automake.
|
|
|
|
2000-03-15 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* netboot/Makefile.am (EXTRA_libdrivers_a_SOURCES): 3c89x0.h ->
|
|
cs89x0.h. Just a typo.
|
|
|
|
2000-03-10 Gordon Matzigkeit <gord@fig.org>
|
|
|
|
* debian/rules: Strip mbchk.
|
|
|
|
* debian/postinst: Fix up /usr/doc symlink creation.
|
|
|
|
2000-03-01 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* netboot/fsys_tftp.c (tftp_dir): Add BUF_READ into FILEMAX
|
|
after BUF_EOF becomes non-zero. Reported by Per Lundberg.
|
|
|
|
2000-03-01 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/builtins.c (color_func): Return 1 if safe_parse_maxint
|
|
returns zero instead of non-zero. Reported by Magnus Holmberg
|
|
<pucko@lysator.liu.se>.
|
|
|
|
2000-02-29 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* grub/asmstub.c [__linux__]: Include <linux/kdev_t.h> for the
|
|
macro MAJOR. From Kalle Olavi Niemitalo <tosi@ees2.oulu.fi>.
|
|
|
|
2000-02-27 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* docs/tutorial.texi (Network): New chapter.
|
|
|
|
2000-02-26 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* docs/help2man: Upgraded to 1.020.
|
|
* docs/grub.8: Regenerated.
|
|
* docs/grub-install.8: Likewise.
|
|
* docs/mbchk.1: Likewise.
|
|
|
|
* docs/tutorial.texi (Boot): Rewritten heavily. Added the notes
|
|
on FreeBSD, NetBSD, OpenBSD, DOS/Windows and SCO UnixWare.
|
|
* docs/menu.lst: Load "/boot/loader" instead of "/kernel" in the
|
|
FreeBSD entry. This is consistent with the documentation.
|
|
|
|
2000-02-25 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* netboot/fsys_tftp.c (tftp_read): Set BUF_READ to zero if
|
|
FILEPOS is less than SAVED_FILEPOS, before calling buf_fill.
|
|
Don't discard all of the copied data so that we can move FILEPOS
|
|
backwards cheaply. Now SAVED_FILEPOS indicates the file position
|
|
corresponding to the first byte of BUF. If (FILEPOS -
|
|
SAVED_FILEPOS) is greater than (FSYS_BUFLEN / 2), move the data
|
|
forwards and add (FSYS_BUFLEN / 2) into SAVED_FILEPOS and
|
|
subtract the same value from BUF_READ.
|
|
|
|
2000-02-24 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/disk_io.c [!STAGE1_5] (print_fsys_type): Mask
|
|
CURRENT_SLICE with 0xFF when printing the partition type.
|
|
|
|
* grub/asmstub.c [__linux__]: Include <linux/major.h> for the
|
|
definition FLOPPY_MAJOR.
|
|
(check_device) [__linux__]: Skip the HDIO_GETGEO ioctl if the
|
|
major number of ST.ST_RDEV is FLOPPY_MAJOR.
|
|
|
|
2000-02-21 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/disk_io.c (check_BSD_parts) [!STAGE1_5]: Use the term
|
|
"BSD sub-partition" instead of "BSD slice" for consistency.
|
|
|
|
* stage2/builtins.c (boot_func): Copy the partition table to
|
|
BOOT_PART_TABLE instead of (BOOTSEC_LOCATION +
|
|
BOOTSEC_PART_OFFSET). Don't use grub_memmove, but copy it
|
|
directly, since memcheck is too strict.
|
|
* stage2/disk_io.c (real_open_partition) [!STAGE1_5]: Set
|
|
CUR_PART_ADDR to (BOOT_PART_TABLE + (i << 4)).
|
|
* stage2/shared.h (BOOT_PART_TABLE): New macro.
|
|
(chain_stage1): Change the types of all the arguments to
|
|
unsigned long.
|
|
(chain_stage2): Likewise.
|
|
* grub/asmstub.c (chain_stage1): Adjusted to the prototype.
|
|
(chain_stage2): Likewise.
|
|
|
|
2000-02-21 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/disk_io.c (check_BSD_parts) [!STAGE1_5]: If the BSD
|
|
label is invalid, print a message with the partition type in the
|
|
case where FLAGS is non-zero and DO_COMPLETION is zero.
|
|
|
|
2000-02-20 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* docs/user-ref.texi (Command-line-specific commands): Added a
|
|
description about "cmp".
|
|
* docs/appendices.texi (Reporting bugs): Rewritten.
|
|
|
|
2000-02-20 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
Update the netboot code to Etherboot 4.4.3.
|
|
|
|
* netboot/netboot_config.h: Copied from etherboot-4.4.3.
|
|
* netboot/cs89x0.h: Likewise.
|
|
* netboot/cs89x0.c: Likewise.
|
|
* netboot/i82586.c: Likewise.
|
|
* netboot/lance.c: Likewise.
|
|
* netboot/linux-asm-string.h: Likewise.
|
|
* netboot/nic.h: Likewise.
|
|
* netboot/ntulip.c: Likewise.
|
|
* netboot/osdep.h: Likewise.
|
|
* netboot/pci.h: Likewise.
|
|
* netboot/pci.c: Likewise.
|
|
* netboot/rtl8139.c: Likewise.
|
|
* netboot/tiara.c: Likewise.
|
|
|
|
2000-02-19 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/builtins.c (cmp_func): New function.
|
|
(builtin_cmp): New variable.
|
|
(builtin_table): Added a pointer to BUILTIN_CMP.
|
|
|
|
* stage2/fsys_fat.c (fat_mount): Check if BPB.SECTS_PER_CLUST is
|
|
zero after reading the BPB to avoid zero division.
|
|
|
|
2000-02-18 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/disk_io.c [!STAGE1_5] (make_saved_active): Make sure
|
|
that SAVED_PARTITION is not an extended partition.
|
|
If SAVED_DRIVE is not a hard disk drive, set ERRNUM to
|
|
ERR_DEV_VALUES and return zero.
|
|
|
|
* netboot/3c59x.c: Removed.
|
|
* netboot/Makefile.am (EXTRA_libdrivers_a_SOURCES): Deleted
|
|
3c59x.c.
|
|
(3c59x_drivers): Deleted.
|
|
(3c59x_o_CFLAGS): Likewise.
|
|
* configure.in (--enable-3c59x): Likewise.
|
|
|
|
2000-02-17 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* configure.in (--enable-3c90x): Add -DINCLUDE_3C90X=1 instead
|
|
of -DINCLUDE_3C90x=1. This was just a typo. Reported by Per
|
|
Lundberg.
|
|
|
|
2000-02-17 Jochen Hoenicke <jochen@gnu.org>
|
|
|
|
* stage2/fsys_fat.c (fat_read): Forgot to increase BUF.
|
|
(fat_dir): Use fat_read instead of grub_read; this makes
|
|
setting the FSMAX unnecessary.
|
|
(fat_mount): FSMAX is no longer set.
|
|
|
|
2000-02-16 Jochen Hoenicke <jochen@gnu.org>
|
|
|
|
* stage2/char_io.c (grub_isspace): Make carriage return a white
|
|
space.
|
|
|
|
* stage2/fsys_fat.c (fat_dir): Long filename support.
|
|
(NAME_BUF): New macro.
|
|
* stage2/fat.h (FAT_LONGDIR_ID, FAT_LONGDIR_ALIASCHECKSUM,
|
|
FAT_ATTRIB_LONGNAME): New Macros.
|
|
|
|
* stage2/fsys_fat.c (fat_create_blocklist): Deleted, instead
|
|
fat_read is implemented.
|
|
(fat_read): new function.
|
|
* stage2/disk_io.c (fsys_table): Use fat_read.
|
|
* stage2/filesys.h: Declare fat_read, remove NO_BLOCK_FILES
|
|
hack.
|
|
* stage2/Makefile.am: Compile fat_stage1_5 with
|
|
-DNO_BLOCK_FILES=1.
|
|
|
|
* stage2/fat.h (fat_bpb): New structure describing bpb.
|
|
(FAT_CVT_U16): New macro.
|
|
(FAT_BPB_CHECK_SIG, FAT_BPB_NUM_SECTORS,
|
|
FAT_BPB_BYTES_PER_SECTOR, FAT_BPB_SECT_PER_CLUS, FAT_BPB_NUMFAT,
|
|
FAT_BPB_RESERVED_SECTORS, FAT_BPB_FAT_SECTORS_16,
|
|
FAT_BPB_FAT_SECTORS_32, FAT_BPB_IS_FAT32, FAT_BPB_FAT_SECTORS,
|
|
FAT_BPB_FAT_START, FAT_BPB_ROOT_DIR_CLUSTER,
|
|
FAT_BPB_HIDDEN_SECTORS, FAT_BPB_ROOT_DIR_START,
|
|
FAT_BPB_ROOT_DIR_LENGTH, FAT_BPB_DATA_OFFSET,
|
|
FAT_BPB_NUM_CLUST): Macros removed.
|
|
* stage2/fsys_fat.c (fat_superblock): New structure containing
|
|
all info about currently mounted filesystem.
|
|
(FAT_SUPER): New Macro.
|
|
(BPB): Macro removod.
|
|
(fat_mount): Use fat_bpb structure, fill FAT_SUPER.
|
|
(fat_read, fat_dir): Use FAT_SUPER info.
|
|
|
|
2000-02-16 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
Pass the boot partition information to a chain-loader, in the
|
|
partition table area of the loader, instead of right before the
|
|
loaded address. Reported by takehiro@coral.ocn.ne.jp (Takehiro
|
|
Suzuki).
|
|
|
|
* stage2/builtins.c (chainloader_func): Embed the partition
|
|
table of the boot drive in the partition table area of the
|
|
chain-loader, if the boot drive is a hard disk drive.
|
|
Pass BOOT_PART_ADDR instead of (BOOTSEC_LOCATION - 16) as the
|
|
third argument for the function chain_stage1.
|
|
* stage2/disk_io.c [!STAGE1_5] (boot_part_addr): New variable.
|
|
[!STAGE1_5] (boot_part_offset): Likewise.
|
|
[!STAGE1_5] (cur_part_offset): Likewise.
|
|
[!STAGE1_5] (cur_part_addr): Likewise.
|
|
[!STAGE1_5] (cur_part_desc): Removed.
|
|
(real_open_partition) [!STAGE1_5]: Set CUR_PART_OFFSET and
|
|
CUR_PART_ADDR to PART_OFFSET and (BOOTSEC_LOCATION +
|
|
PC_SLICE_OFFSET + (i << 4)), respectively.
|
|
[!STAGE1_5] (set_bootdev): Set BOOT_PART_OFFSET and
|
|
BOOT_PART_ADDR to CUR_PART_OFFSET and CUR_PART_ADDR,
|
|
respectively.
|
|
* stage2/shared.h (boot_part_addr): Declared.
|
|
(boot_part_offset): Likewise.
|
|
|
|
2000-02-12 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/builtins.c (geometry_func): Attempt to read the first
|
|
sector to examine if LBA mode is really supported.
|
|
|
|
* netboot/fsys_tftp.c (buf_fill) [TFTP_DEBUG]: Added some debug
|
|
messages.
|
|
(send_rrq) [TFTP_DEBUG]: Likewise.
|
|
(tftp_read) [TFTP_DEBUG]: Likewise.
|
|
(tftp_dir) [TFTP_DEBUG]: Likewise.
|
|
(tftp_close) [TFTP_DEBUG]: Likewise.
|
|
(tftp_read): Call buf_fill with the argument 1 first, if FILEPOS
|
|
has been moved backwards, and use grub_memmove for copying
|
|
SAVED_TP to TP instead of a direct assignment.
|
|
If send_rrq fails, set ERRNUM to ERR_WRITE instead of ERR_READ.
|
|
Check if BUF_READ is zero instead of if BUF_EOF is non-zero at
|
|
the end of the loop.
|
|
(tftp_dir): Set ERRNUM to ERR_WRITE instead of ERR_READ, if
|
|
send_rrq fails.
|
|
Save TP and LEN in SAVED_TP and SAVED_LEN respectively before
|
|
buf_fill instead of after it, because it destroys the contents
|
|
of TP.
|
|
* netboot/main.c (print_network_configuration): The order of the
|
|
arguments for grub_sprintf in the local function sprint_ip_addr
|
|
is reversed.
|
|
|
|
* configure.in (--enable-packet_retransmission): Renamed to ...
|
|
(--disable-packet-retransmission): ... this. Assume that a
|
|
network is congested by default.
|
|
|
|
2000-02-11 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
From Pavel Roskin:
|
|
* stage2/shared.h [!GRUB_SHARED_HEADER] (GRUB_SHARED_HEADER):
|
|
Defined.
|
|
[GRUB_SHARED_HEADER]: Don't declare or define anything.
|
|
|
|
* netboot/main.c (print_network_configuration): New function.
|
|
(await_reply): Check for Control-C instead of ESC, because GRUB
|
|
already uses ESC for another purpose.
|
|
(rfc951_sleep): Check for the key input in the loop. If
|
|
Control-C is pushed, return immediately.
|
|
* netboot/etherboot (print_network_configuration): Declared.
|
|
(CTRL_C): New macro.
|
|
(ESC): Undefined.
|
|
* netboot/config.c (eth_probe): Clear ARPTABLE after clearing
|
|
NETWORK_READY.
|
|
* stage2/builtins.c (bootp_func): Call
|
|
print_network_configuration if bootp succeeds.
|
|
(rarp_func): Call print_network_configuration if rarp succeeds.
|
|
|
|
2000-02-11 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
From Per Lundberg <plundis@byggdok.se>:
|
|
* docs/multiboot.texi: Added graphics support.
|
|
|
|
2000-02-10 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* docs/multiboot.texi (Top): Downgrade the version to 0.6.90,
|
|
since we need more work to release it as 0.7.
|
|
|
|
2000-02-10 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/Makefile.am [NETBOOT_SUPPORT] (STAGE2_COMPILE): Added
|
|
-I$(top_srcdir)/netboot and -DSUPPORT_NETBOOT=1.
|
|
* stage2/builtins.c (bootp_func): New function.
|
|
(dhcp_func): Likewise.
|
|
(rarp_func): Likewise.
|
|
(builtin_bootp): New variable.
|
|
(builtin_dhcp): Likewise.
|
|
(builtin_rarp): Likewise.
|
|
(builtin_table): Added pointers to BUILTIN_BOOTP, BUILTIN_DHCP
|
|
and BUILTIN_RARP.
|
|
* docs/user-ref.texi (General Commands): Added descriptions
|
|
about "bootp", "dhcp" and "rarp".
|
|
|
|
* netboot/main.c (bootp) [!NO_DHCP_SUPPORT]: Added casts to
|
|
suppress gcc warnings.
|
|
(decode_rfc1533) [!NO_DHCP_SUPPORT]: Likewise.
|
|
* netboot/3c90x.c: Include the local "pci.h" instead of
|
|
<linux/pci.h> even if __FreeBSD__ is undefined.
|
|
|
|
2000-02-09 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
From Jochen Hoenicke:
|
|
* stage2/fsys_fat.c (fat_create_blocklist): The previous change
|
|
is reversed. Set FIRST_FAT_ENTRY to a unsigned long value in
|
|
FAT_BUF + (NEW_MAPBLOCK - MAPBLOCK) instead of a unsigned short
|
|
value. Mask FIRST_FAT_ENTRY with 0xFFF if FAT_SIZE is equal to
|
|
3, whether the bit 0 of LAST_FAT_ENTRY is set or not.
|
|
|
|
* netboot/config.c (eth_probe): If PROBED is set to non-zero,
|
|
return 1 without probing ethernet cards. Clear NETWORK_READY. If
|
|
*T->ETH_PROBE return sucessfully, set PROBED to 1.
|
|
* netboot/main.c (rarp): Call eth_probe and return zero if
|
|
fails. Clear NETWORK_READY at first, and set NETWORK_READY to 1
|
|
if RETRY is less than MAX_ARP_RETRIES. If IP_ABORT is non-zero,
|
|
return zero instead of one.
|
|
(bootp): Call eth_probe and return zero if fails. Clear
|
|
NETWORK_READY at first, and set NETWORK_READY to 1 if
|
|
await_reply returns successfully.
|
|
(bootp) [T509HACK]: If FLAG is non-zero, skip calling
|
|
await_reply. Don't call await_reply here any more.
|
|
(bootp) [!NO_DHCP_SUPPORT]: If any ack packet is not reached
|
|
within MAX_BOOTP_RETRIES times, return zero. If DHCP_REPLY isn't
|
|
DHCPOFFER, set NETWORK_READY to one and return one.
|
|
* netboot/etherboot.h (NO_DHCP_SUPPORT): Undefined.
|
|
|
|
* stage2/builtins.c (print_root_device): Use the macro
|
|
NETWORK_DRIVE instead of 0x20.
|
|
* stage2/disk_io.c [!STAGE1_5] (sane_partition): Likewise.
|
|
(real_open_partition) [!STAGE1_5]: Likewise.
|
|
(set_device) [!STAGE1_5]: Likewise.
|
|
|
|
2000-02-08 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* grub/asmstub.c (biosdisk) [__linux__]: Use _llseek when
|
|
__GLIBC_MINOR__ is less than 1 even if __GLIBC__ is 2. Reported
|
|
by Goran Koruga <goran.koruga@hermes.si>.
|
|
|
|
* configure.in (--disable-lba-support-bitmap-check): New option.
|
|
Don't define CHECK_LBA_SUPPORT_BITMAP if specified.
|
|
* stage1/stage1.S (real_start): Check if AH=0x42 is supported if
|
|
CHECK_LBA_SUPPORT_BITMAP instead of NO_BUGGY_BIOS_IN_THE_WORLD
|
|
is defined.
|
|
* stage2/bios.c (get_diskinfo): Check if LBA read/write
|
|
functions are supported iff CHECK_LBA_SUPPORT_BITMAP is defined,
|
|
instead of NO_BUGGY_BIOS_IN_THE_WORLD.
|
|
|
|
2000-02-07 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
The netboot support is heavily rewritten, based on
|
|
Etherboot-4.4.2. The current one doesn't work yet, so check out
|
|
GRUB with the tag "dresden_netboot_code" if you need working
|
|
one.
|
|
|
|
* configure.in (--enable-tftp): Deleted.
|
|
(FSYS_CFLAGS): `AC_SUBST'ed right before AC_OUTPUT.
|
|
(NETBOOT_DRIVERS): New variable. AC_SUBST this after examining
|
|
the driver options.
|
|
(--enable-packet-retransmission): New option.
|
|
(--enable-pci-direct): Likewise.
|
|
(--enable-3c509): Likewise.
|
|
(--enable-3c529): Likewise.
|
|
(--enable-3c90x): Likewise.
|
|
(--enable-cs89x0): Likewise.
|
|
(--enable-epic100): Likewise.
|
|
(--enable-3c507): Likewise.
|
|
(--enable-exos205): Likewise.
|
|
(--enable-ni5210): Likewise.
|
|
(--enable-lancepci): Likewise.
|
|
(--enable-ne2100): Likewise.
|
|
(--enable-ni6510): Likewise.
|
|
(--enable-3c503): Likewise.
|
|
(--enable-ntulip): Likewise.
|
|
(--enable-rtl8139): Likewise.
|
|
(--enable-sk-g16): Likewise.
|
|
(--enable-smc9000): Likewise.
|
|
(--enable-tiara): Likewise.
|
|
(--enable-tulip): Likewise.
|
|
(--enable-via-rhine): Likewise.
|
|
(--enable-3c503-shmem): Likewise.
|
|
(--enable-3c503-aui): Likewise.
|
|
(--enable-3c509-hack): Likewise.
|
|
(--enable-compex-rl2000-fix): Likewise.
|
|
(--enable-smc9000-scan): Likewise.
|
|
(--enable-t503): Deleted.
|
|
(--enable-lance): Likewise.
|
|
(--enable-cs): Likewise.
|
|
|
|
* netboot/main.c: New file. Copied and modified.
|
|
* netboot/linux-asm-io.h: Likewise.
|
|
* netboot/etherboot.h: Likewise.
|
|
* netboot/misc.c: Likewise.
|
|
* netboot/via-rhine.c: Likewise.
|
|
* netboot/3c90x.c: Likewise.
|
|
* netboot/3c90x.txt: Likewise.
|
|
* netboot/epic100.c: Likewise.
|
|
* netboot/epic100.h: Likewise.
|
|
* netboot/i82586.c: Likewise.
|
|
* netboot/linux-asm-string.h: Likewise.
|
|
* netboot/ntulip.c: Likewise.
|
|
* netboot/ntulip.txt: Likewise.
|
|
* netboot/osdep.h: Likewise.
|
|
* netboot/rtl8139.c: Likewise.
|
|
* netboot/sk_g16.c: Likewise.
|
|
* netboot/sk_g16.h: Likewise.
|
|
* netboot/smc9000.c: Likewise.
|
|
* netboot/smc9000.h: Likewise.
|
|
* netboot/tiara.c: Likewise.
|
|
* netboot/tulip.c: Likewise.
|
|
* netboot/tulip.h: Likewise.
|
|
* netboot/README.netboot: New file. Most information is stolen
|
|
from Makefile and Config.32 in Etherboot.
|
|
* netboot/3c509.c: Copied from Etherboot. The original is
|
|
removed.
|
|
* netboot/3c509.h: Likewise.
|
|
* netboot/cs89x0.c: Likewise.
|
|
* netboot/eepro100.c: Likewise.
|
|
* netboot/lance.c: Likewise.
|
|
* netboot/ns8390.c: Likewise.
|
|
* netboot/ns8390.h: Likewise.
|
|
* netboot/pci.c: Likewise.
|
|
|
|
* netboot/3c59x.c: Include etherboot.h instead netboot.h.
|
|
* netboot/config.c: Copied from Etherboot and added the 3c59x
|
|
entries.
|
|
* netboot/pci.h: Likewise.
|
|
* netboot/fsys_tftp.c: Entirely rewritten based on main.c in
|
|
Etherboot.
|
|
|
|
* netboot/io.h: Removed.
|
|
* netboot/ip.h: Likewise.
|
|
* netboot/ip.c: Likewise.
|
|
* netboot/netboot.h: Likewise.
|
|
|
|
* netboot/Makefile.am (INCLUDES): Added -I$(top_srcdir)/stage2.
|
|
(DRIVERS): Removed.
|
|
(libdrivers_a_SOURCES): Added etherboot.h, linux-asm-io.h,
|
|
linux-asm-string.h, main.c, misc.c and osdep.h. Deleted io.h,
|
|
ip.h, ip.c, netboot.h and $(DRIVERS).
|
|
(EXTRA_libdrivers_a_SOURCES): New variable.
|
|
(libdrivers_a_LIBADD): Set to @NETBOOT_DRIVERS@.
|
|
(libdrivers_a_DEPENDENCIES): New variable.
|
|
(EXTRA_DIST): Likewise.
|
|
(3c509_drivers): New variable. Define a new rule for the value.
|
|
(3c59x_drivers): Likewise.
|
|
(3c90x_drivers): Likewise.
|
|
(cs89x0_drivers): Likewise.
|
|
(eepro100_drivers): Likewise.
|
|
(epic100_drivers): Likewise.
|
|
(i82586_drivers): Likewise.
|
|
(lance_drivers): Likewise.
|
|
(ns8390_drivers): Likewise.
|
|
(ntulip_drivers): Likewise.
|
|
(rtl8139_drivers): Likewise.
|
|
(sk_g16_drivers): Likewise.
|
|
(smc9000_drivers): Likewise.
|
|
(tiara_drivers): Likewise.
|
|
(tulip_drivers): Likewise.
|
|
(via_rhine_drivers): Likewise.
|
|
(t503_o_CFLAGS): Removed.
|
|
(nepci_o_CFLAGS): Set to -DINCLUDE_NEPCI=1.
|
|
(ne_o_CFLAGS): Set to -DINCLUDE_NE=1.
|
|
(wd_o_CFLAGS): Set to -DINCLUDE_WD=1.
|
|
(3c509_o_CFLAGS): Likewise.
|
|
(3c529_o_CFLAGS): Likewise.
|
|
(3c59x_o_CFLAGS): Likewise.
|
|
(3c90x_o_CFLAGS): Likewise.
|
|
(cs89x0_o_CFLAGS): Likewise.
|
|
(eepro100_o_CFLAGS): Likewise.
|
|
(epic100_o_CFLAGS): Likewise.
|
|
(3c507_o_CFLAGS): Likewise.
|
|
(exos205_o_CFLAGS): Likewise.
|
|
(ni5210_o_CFLAGS): Likewise.
|
|
(lancepci_o_CFLAGS): Likewise.
|
|
(ne2100_o_CFLAGS): Likewise.
|
|
(ni6510_o_CFLAGS): Likewise.
|
|
(3c503_o_CFLAGS): Likewise.
|
|
(ntulip_o_CFLAGS): Likewise.
|
|
(rtl8139_o_CFLAGS): Likewise.
|
|
(sk_g16_o_CFLAGS): Likewise.
|
|
(smc9000_o_CFLAGS): Likewise.
|
|
(tiara_o_CFLAGS): Likewise.
|
|
(tulip_o_CFLAGS): Likewise.
|
|
(via_rhine_o_CFLAGS): Likewise.
|
|
|
|
* stage2/char_io.c (nul_terminate): Changed the type of the
|
|
return value to int. Return the original character changed to
|
|
NUL.
|
|
* stage2/shared.h (NETWORK_DRIVE): New macro.
|
|
(nul_terminate): Adjusted to the definition.
|
|
* stage2/gunzip.c (gunzip_test_header): Removed the TFTP check
|
|
entirely. It is no longer necessary because we now can obtain
|
|
the correct size of a file even for TFTP.
|
|
|
|
2000-02-07 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/asm.S: Undo the previous changes. Is
|
|
binutils-2.9.5.0.25 too strict to retain the compatibility?
|
|
Reported by Kalle Olavi Niemitalo <tosi@ees2.oulu.fi>.
|
|
|
|
2000-02-03 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/cmdline.c (enter_cmdline): Set BUF_DRIVE to -1 before
|
|
running a command to invalidate the cache.
|
|
(run_script): Likewise.
|
|
* stage2/char_io.c (get_cmdline): Set BUF_DRIVE to -1 before the
|
|
completion to invalidate the cache.
|
|
Reported by Jeff Sheinberg <jeffsh@erols.com>.
|
|
|
|
* configure.in: Use AC_PATH_TOOL instead of AC_PATH_PROG.
|
|
* stage2/asm.S (chain_stage1): Prepend `*' to the argument for
|
|
ljmp.
|
|
(chain_stage2): Likewise.
|
|
(big_linux_boot): Likewise.
|
|
|
|
2000-01-19 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* util/grub-install.in (--root): Renamed to ...
|
|
(--root-directory): ... this, since "root" is vague.
|
|
* docs/user-ref.texi (Invoking grub-install): Adjusted to the
|
|
change above, and added an example how to use --root-directory.
|
|
* docs/grub-install.8: Regenerated.
|
|
|
|
* docs/appendices.texi (FAQ): Added an item about the sucked
|
|
SCSI problem.
|
|
|
|
2000-01-15 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/builtins.c (chainloader_func): If --force is specified
|
|
in ARG, don't check for the signature.
|
|
* docs/tutorial.texi (Chain-loading): Added a caution about some
|
|
defective boot loaders and --force.
|
|
* docs/user-ref.texi (Command-line-specific commands): Added a
|
|
description about --force.
|
|
|
|
2000-01-11 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* docs/prog-ref.texi (LBA mode disk I/O): Added a footnote about
|
|
a buggy BIOS.
|
|
|
|
2000-01-11 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage1/stage1.S [!NO_BUGGY_BIOS_IN_THE_WORLD]: Don't check if
|
|
LBA read is supported. Anyway, fallback to the CHS mode if
|
|
fails.
|
|
|
|
2000-01-10 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/bios.c (NO_INT13_FALLBACK): Undefined.
|
|
(get_diskinfo) [!NO_BUGGY_BIOS_IN_THE_WORLD]: Do not check if
|
|
bit 0 in DRP.FLAGS is set, because at least one BIOS does not
|
|
set it correctly. Reported by "Forever shall I be."
|
|
<zinx@linuxfreak.com>.
|
|
|
|
* util/grub-install.in: Handle the new options `--root' and
|
|
`--grub-shell'.
|
|
(rootdir): New variable.
|
|
(usage): Print the help messages about the options --root and
|
|
--grub-shell.
|
|
(bootdir): Initialized after the option analysis.
|
|
(grubdir): Likewise.
|
|
(device_map): Likewise.
|
|
(root_device): Set to the result for the directory ROOTDIR
|
|
instead of "/".
|
|
* docs/user-ref.texi (Invoking grub-install): Added the
|
|
descriptions about --root and --grub-shell.
|
|
* docs/grub-install.8: Regenerated.
|
|
|
|
2000-01-08 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* util/grub-install.in (grubdir_device): New variable.
|
|
If GRUBDIR_DEVICE is not equal to ROOT_DEVICE, print an error
|
|
message and exit.
|
|
* README: Added a caution about Automake.
|
|
* TODO: Updated. Only the things that should be done until 0.6
|
|
have one or more exclamations. Things with zero exclamation
|
|
will be done after 0.6 unless someone sends a patch for it.
|
|
|
|
2000-01-05 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* grub/asmstub.c: Include the header shared.h after including
|
|
all the system headers, but not before.
|
|
(EXTENDED_MEMSIZE): Reduced to 3MB.
|
|
(grub_setjmp): New function.
|
|
(grub_longjmp): Likewise.
|
|
* grub/main.c: Include setjmp.h.
|
|
* stage2/asm.S (grub_setjmp): New function. Stolen from the
|
|
OSKit (which stole it from Mach).
|
|
(grub_longjmp): Likewise.
|
|
* stage2/shared.h [GRUB_UTIL] (grub_jmp_buf): New type.
|
|
[!GRUB_UTIL] (grub_jmp_buf): New macro. Defined as jmp_buf.
|
|
(grub_setjmp): Declared.
|
|
(grub_longjmp): Likewise.
|
|
(restart_env): Likewise.
|
|
* stage2/builtins.c (configfile_func): Use grub_longjmp instead
|
|
of invoking cmain again.
|
|
* stage2/stage2.c (restart_env): New variable.
|
|
(cmain): Call grub_setjmp first to initialize RESTART_ENV.
|
|
|
|
2000-01-03 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* docs/multiboot.texi (Boot information format): Added the
|
|
descriptions about the fields "config_table" and
|
|
"boot_loader_name".
|
|
|
|
1999-12-31 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/builtins.c (setup_func) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
|
|
Specify the option `d', whether INSTALL_DRIVE is identical with
|
|
IMAGE_DRIVE or not.
|
|
* docs/user-ref.texi (Command-line-specific commands): Added a
|
|
caution about buggy BIOSes which don't pass a booting drive
|
|
properly.
|
|
|
|
* docs/src2texi: Added an extra space into the first line, for
|
|
the portability issue.
|
|
|
|
* docs/appendices.texi (Obtaining and Building GRUB): Update the
|
|
information on the ftp site and the CVS repository.
|
|
|
|
1999-12-30 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/builtins.c (blocklist_func): New function.
|
|
(builtin_blocklist): New variable.
|
|
(builtin_table): Added a pointer to BUILTIN_BLOCKLIST.
|
|
* docs/user-ref.texi (Command-line-specific commands): Added a
|
|
description about the command "blocklist".
|
|
|
|
1999-12-30 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* stage2/disk_io.c (grub_seek): New function.
|
|
* stage2/shared.h (grub_seek): Declared.
|
|
* stage2/boot.c (load_image): Use grub_seek instead of setting
|
|
FILEPOS to a new value directly.
|
|
* stage2/builtins.c (install_func): Likewise.
|
|
(testload_func): Likewise.
|
|
|
|
* docs/grub.texi: Use a single direntry command for all the
|
|
entries instead of one per entry.
|
|
|
|
1999-12-29 OKUJI Yoshinori <okuji@gnu.org>
|
|
|
|
* grub/asmstub.c (check_device) [__linux__]: Check if DEVICE is
|
|
a CD-ROM drive by the HDIO_GETGEO ioctl. If so, then return
|
|
zero. Reported by Pavel Roskin.
|
|
|
|
* stage2/Makefile.am (nodist_noinst_DATA): Renamed to ...
|
|
(noinst_DATA): ... this. The primary DATA is `nodist' by
|
|
default, at least theoretically. Reported by Klaus Reichl.
|
|
|
|
* stage2/bios.c (get_diskinfo): Set the LBA flag in GEOMETRY
|
|
only if bit 0 in DRP.FLAGS is set. Reported by Zack Weinberg
|
|
<zack@rabi.columbia.edu>.
|
|
|
|
From Pavel Roskin:
|
|
* grub/asmstub.c (init_device_map): Increase the number of
|
|
devices to be probed to 8 for IDE disks and 16 for SCSI
|
|
disks. Reported by Anton Anisimov <aa@bestlinux.net>.
|
|
|
|
1999-12-06 Gordon Matzigkeit <gord@fig.org>
|
|
|
|
* README (DEVELOPERS): Change CVS location to subversions.
|
|
|
|
1999-11-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/disk_io.c (real_open_partition): If SLICE_NO is greater
|
|
than or equal to PC_SLICE_MAX, skip any extended partition, when
|
|
searching for the right partition. Reported by Weil, Stefan 3732
|
|
EPE-24 <Stefan.Weil@de.heidelberg.com>.
|
|
|
|
1999-11-19 Gordon Matzigkeit <gord@fig.org>
|
|
|
|
* grub/asmstub.c (getkey): Stop immediately if we get an EOF.
|
|
|
|
* stage2/stage2.c (cmain): Tell enter_cmdline to run forever.
|
|
(run_menu): Tell print_cmdline_message and enter_cmdline that we
|
|
won't run forever.
|
|
* stage2/cmdline.c (enter_cmdline): New argument, FOREVER, for
|
|
when ESC shouldn't allow an exit. Pass it to
|
|
print_cmdline_message.
|
|
(print_cmdline_message): Use new argument, FOREVER, to decide
|
|
whether to tell the user that ESC exits.
|
|
|
|
1999-11-18 Gordon Matzigkeit <gord@fig.org>
|
|
|
|
* debian/rules (binary-arch): Don't strip or generate shared
|
|
library dependencies for /usr/sbin/grub-install, since it's a
|
|
script.
|
|
|
|
* util/grub-install.in: Create safe temporary log files using
|
|
/bin/tempfile if it is executable.
|
|
|
|
1999-11-17 Gordon Matzigkeit <gord@fig.org>
|
|
|
|
* stage1/Makefile.am (LDFLAGS): Consolidate multiple -Wl flags.
|
|
* stage2/Makefile.am (PRE_STAGE2_LINK): Likewise.
|
|
(START_LINK): Likewise.
|
|
(STAGE1_5_LINK): Likewise.
|
|
|
|
1999-11-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* util/grub-install.in (debug): New variable.
|
|
(convert): If the device file does not exist, then emit an
|
|
error. Get the GRUB drive instead of the OS device.
|
|
If --debug is specified, then set $debug to yes.
|
|
If $debug is yes, run "set -x".
|
|
Make sure that stage1 and stage2 exist.
|
|
When checking for INSTALL_DEVICE, use "case" instead of "elif"s.
|
|
Make sure that $install_drive is not empty.
|
|
Likewise, make sure that $root_drive is not empty.
|
|
Any error message is redirected to the standard error.
|
|
|
|
1999-11-19 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* stage2/Makefile.am (noinst_DATA): Renamed to ...
|
|
(nodist_noinst_DATA): ... this.
|
|
* util/Makefile.am: sbin_SCRIPS -> sbin_SCRIPTS.
|
|
* util/grub-install.in: grub_dir -> grubdir.
|
|
Check if $grub_shell exists before running it.
|
|
(convert): Added a missing "test" after "if".
|
|
|
|
1999-11-18 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* configure.in: Output grub-install.
|
|
* util/Makefile.am (sbin_SCRIPTS): New variable.
|
|
* util/grub-install.in: New file.
|
|
* docs/Makefile.am (man_MANS): Added grub-install.8.
|
|
[MAINTAINER_MODE] ($(srcdir)/grub-install.8): New target.
|
|
* docs/grub-install.8: New file. Generated by help2man.
|
|
* docs/user-ref.texi (Invoking grub-install): New chapter.
|
|
|
|
1999-11-16 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Pavel Roskin:
|
|
* stage1/stage1.S: Check for the API subset support bitmap
|
|
returned by INT 13 AH=48h, and jump to chs_mode if AH=42h is not
|
|
supported.
|
|
|
|
1999-11-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (install_func): When using a Stage 1.5, set
|
|
CURRENT_DRIVE to SAVED_DRIVE and CURRENT_PARTITION to
|
|
SAVED_PARTITION if set_device fails. If CURRENT_DRIVE is equal
|
|
to SRC_DRIVE, then set CURRENT_DRIVE to 0xFF. We don't want to
|
|
embed any drive number whenever possible.
|
|
* stage2/disk_io.c (set_device) [STAGE1_5]: Always set
|
|
CURRENT_PARTITION to PARTITION.
|
|
|
|
1999-11-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Pavel Roskin:
|
|
* stage1/stage1.S (lba_mode): Jump to chs_mode if INT 13 AH=42h
|
|
fails.
|
|
|
|
1999-11-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Do not use the device map file unless --device-map is specified.
|
|
|
|
* grub/main.c (device_map_file): Set to 0.
|
|
(default_device_map_file): Removed.
|
|
(usage): Do not print DEFAULT_DEVICE_MAP_FILE.
|
|
* grub/asmstub.c (init_device_map): If DEVICE_MAP_FILE is NULL,
|
|
do not try to open the device map file.
|
|
Set FP to NULL by default.
|
|
* docs/grub.8: Regenerated.
|
|
|
|
1999-11-11 Michael Hohmuth <hohmuth@innocent.com>
|
|
|
|
* stage2/boot.c (load_image): grub_close was called after
|
|
return, so exchange the order.
|
|
* stage2/stage1_5.c (cmain): Call grub_close after grub_read.
|
|
Set RET to the value returned by grub_read, and if RET is
|
|
non-zero, call chain_stage2.
|
|
* stage1/Makefile.am (BUILT_SOURCES): Removed.
|
|
(CLEANFILES): Set to $(nodist_pkgdata_DATA).
|
|
|
|
1999-11-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Suggested by Klaus Reichl:
|
|
* stage2/builtins.c (print_root_device): New function.
|
|
(root_func): If no argument is specified, call the function
|
|
print_root_device and return.
|
|
(rootnoverify_func): Likewise.
|
|
* stage2/disk_io.c [!STAGE1_5] (print_completions): Call
|
|
print_error even if IS_FILENAME is zero.
|
|
If ERRNUM is non-zero, then return -1.
|
|
* stage2/char_io.c [!STAGE1_5] (get_cmdline): Clear ERRNUM after
|
|
calling print_completions to print the list as well.
|
|
|
|
* stage2/asm.S [!STAGE1_5] (currticks): Set %eax to %cx:%dx
|
|
correctly. Reported by Michael Hohmuth.
|
|
|
|
1999-11-06 Klaus Reichl <Klaus.Reichl@alcatel.at>
|
|
|
|
* grub/asmstub.c (get_diskinfo) [__linux__]: After opening the
|
|
drive, flush the cache, other progs may have left over something
|
|
in the cache.
|
|
|
|
1999-11-03 Gordon Matzigkeit <gord@fig.org>
|
|
|
|
* debian/rules: Add variables for cross-compilation.
|
|
|
|
* debian/control (Standards-Version): Update to version 3.1.0.
|
|
* debian/rules (build): Install manpages into /usr/share/man, and
|
|
info into /usr/share/info in accordance with FHS.
|
|
(binary-arch): Likewise, and put docs into /usr/share/doc.
|
|
* debian/postinst: Use /usr/share/info, and manage compatibility
|
|
/usr/doc/grub -> /usr/share/doc/grub symlink.
|
|
* debian/prerm: Likewise.
|
|
|
|
* stage2/Makefile.am (CLEANFILES): Change to
|
|
$(nodist_pkgdata_DATA) so that the raw binary files are deleted.
|
|
* stage1/Makefile.am (CLEANFILES): Likewise.
|
|
|
|
1999-11-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/asmstub.c (grub_putchar) [HAVE_LIBCURSES]: Do not call
|
|
wrefresh. This was just an accident. Sorry.
|
|
|
|
Reported by Alan McLean <amcl@flash.net>:
|
|
* stage2/builtins.c (embed_func): The sector argument for the
|
|
function biosdisk is changed from SECTOR + I * SECTOR_SIZE to
|
|
SECTOR + I.
|
|
(find_func): Clear ERRNUM before each of the attempts.
|
|
|
|
1999-11-05 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/multiboot.texi (Boot information format): Add the members
|
|
`drives_addr' and `drives_count' into the Multiboot information
|
|
structure, and added the descriptions.
|
|
|
|
1999-11-03 Gordon Matzigkeit <gord@fig.org>
|
|
|
|
* util/mbchk.c (main): Move the version number inside the
|
|
parentheses since it is the GRUB package version, not just an
|
|
mbchk-specific version.
|
|
|
|
1999-10-30 Gordon Matzigkeit <gord@fig.org>
|
|
|
|
* debian/rules (binary-arch): Compress man pages.
|
|
Strip the grub shell.
|
|
Install examples.
|
|
|
|
1999-11-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/tutorial.texi: Fix typos by ispell.
|
|
* docs/user-ref.texi: Likewise.
|
|
* docs/prog-ref.texi: Likewise.
|
|
* docs/appendices.texi: Likewise.
|
|
|
|
1999-11-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/fsys_ext2fs.c (struct ext2_dir_entry): Changed the type
|
|
of `name_len' to __u8 and added the new member `file_type' after
|
|
it. This is stolen from linux/ext2_fs.h in Linux 2.2.13.
|
|
Reported by Ben Harris <bjh21@cam.ac.uk>.
|
|
|
|
* stage2/builtins.c (device_func) [GRUB_UTIL]: Call
|
|
nul_terminate before calling check_device.
|
|
|
|
1999-11-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/disk_io.c (real_open_partition): Check for the right
|
|
partition for any extended partition as well. Set EXT to I after
|
|
the check is done. Reported by Jeff Scheinberg
|
|
<jeffsh@erols.com>.
|
|
|
|
* stage2/builtins.c (color_func): Use the function
|
|
nul_terminate.
|
|
(device_func) [GRUB_UTIL]: Likewise.
|
|
(help_func): Likewise.
|
|
(install_func): Save CURRENT_DRIVE, CURRENT_PARTITION and
|
|
BUG_GEOM in SRC_DRIVE, SRC_PARTITION and SRC_GEOM respectively,
|
|
and use them when patching the Stage 2.
|
|
NUL-terminate the configuration filename CONFIG_FILENAME.
|
|
If IS_STAGE1_5 is true, then check if the "real config file"
|
|
option is present, and, if so, patch the Stage 2 CONFIG_FILENAME
|
|
with the configuration filename REAL_CONFIG_FILENAME.
|
|
(setkey_func): Use nul_terminate instead of the local function
|
|
null_terminate.
|
|
* stage2/char_io.c [!STAGE1_5] (nul_terminate): New function.
|
|
* stage2/shared.h (nul_terminate): Declared.
|
|
|
|
1999-11-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/grub.texi: Add "I/O ports detection" into the menu.
|
|
* docs/user-ref.texi: Added a description about the command
|
|
"ioprobe".
|
|
* docs/prog-ref.texi (I/O ports detection): New chapter.
|
|
|
|
1999-11-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Pavel Roskin:
|
|
* stage2/asm.S (int1_handler): Use EXT_C(io_map) instead of
|
|
io_map.
|
|
(int1_handler): Use EXT_C(bios_key_map) instead of bios_key_map.
|
|
* grub/asmstub.c [__OpenBSD__]: Include <sys/ioctl.h> and
|
|
<sys/disklabel.h>.
|
|
[__OpenBSD__] (get_floppy_disk_name): Added support for OpenBSD.
|
|
[__OpenBSD__] (get_ide_disk_name): Likewise.
|
|
[__OpenBSD__] (get_scsi_disk_name): Likewise.
|
|
(get_drive_geometry) [__OpenBSD__]: Use for OpenBSD the same
|
|
ioctl as for NetBSD and FreeBSD.
|
|
|
|
1999-10-31 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/asmstub.c (init_device_map): Add a floppy device name
|
|
into the device map file even if check_device fails.
|
|
* stage2/char_io.c [!STAGE1_5] (get_cmdline): Clear ERRNUM after
|
|
calling print_completions.
|
|
|
|
1999-10-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/asm.S (track_int13): Defined unconditionally. Do not
|
|
use int3 any more, but replace the int13 handler with
|
|
set_tf_int13_handler.
|
|
(int1_handler): Defined unconditionally. Do not check for 0x0F.
|
|
Add missing `$'s. If the code is 0xEC-0xEF, use %dx instead of
|
|
immediate. If the code is 0xE4-0xE7, use immediate instead of
|
|
%dx. Set %ds to zero before scanning IO_MAP. Check for the
|
|
buffer overrun of IO_MAP before adding a port.
|
|
[!DEFINE_TRACK_INT13] (int13_first_instruction): Removed.
|
|
[!DEFINE_TRACK_INT13] (int3_handler): Likewise.
|
|
(set_tf_int13_handler): New interrupt handler.
|
|
(set_tf_int13_offset): New variable.
|
|
(set_tf_int13_segment): Likewise.
|
|
* stage2/builtins.c (ioprobe_func): New function.
|
|
(builtin_ioprobe): New variable.
|
|
(builtin_table): Added a pointer to BUILTIN_IOPROBE.
|
|
* stage2/shared.h (IO_MAP_SIZE): New macro.
|
|
(track_int13): Declared.
|
|
(io_map): Likewise.
|
|
|
|
1999-10-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/char_io.c (print_error) [!STAGE1_5]: Print "Error:"
|
|
before print the error message.
|
|
(print_error): Do not clear ERRNUM.
|
|
* stage2/cmdline.c (run_script): If ERRNUM is non-zero, set
|
|
ERRNUM to ERR_NONE.
|
|
(enter_cmdline): Clear ERRNUM after print_error.
|
|
|
|
1999-10-28 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Pavel Roskin:
|
|
* stage2/stage2.c (run_menu) [GRUB_UTIL]: Do not use IBM special
|
|
characters in the message, but use ascii names instead.
|
|
(run_menu) [!GRUB_UTIL]: Use DISP_UP and DISP_DOWN instead of
|
|
the ascii codes.
|
|
* stage2/shared.h [!ACS_ULCORNER] (ACS_ULCORNER): New macro.
|
|
[!ACS_ULCORNER] (ACS_URCORNER): Likewise.
|
|
[!ACS_ULCORNER] (ACS_LLCORNER): Likewise.
|
|
[!ACS_ULCORNER] (ACS_LRCORNER): Likewise.
|
|
[!ACS_ULCORNER] (ACS_HLINE): Likewise.
|
|
[!ACS_ULCORNER] (ACS_VLINE): Likewise.
|
|
[!ACS_ULCORNER] (ACS_LARROW): Likewise.
|
|
[!ACS_ULCORNER] (ACS_RARROW): Likewise.
|
|
[!ACS_ULCORNER] (ACS_UARROW): Likewise.
|
|
[!ACS_ULCORNER] (ACS_DARROW): Likewise.
|
|
[GRUB_UTIL] (DISP_UL): Set to ACS_ULCORNER.
|
|
[GRUB_UTIL] (DISP_UR): Set to ACS_URCORNER.
|
|
[GRUB_UTIL] (DISP_LL): Set to ACS_LLCORNER.
|
|
[GRUB_UTIL] (DISP_LR): Set to ACS_LRCORNER.
|
|
[GRUB_UTIL] (DISP_HORIZ): Set to ACS_HLINE.
|
|
[GRUB_UTIL] (DISP_VERT): Set to ACS_VLINE.
|
|
[GRUB_UTIL] (DISP_LEFT): Set to ACS_LARROW.
|
|
[GRUB_UTIL] (DISP_RIGHT): Set to ACS_RARROW.
|
|
[GRUB_UTIL] (DISP_UP): Set to ACS_UARROW.
|
|
[GRUB_UTIL] (DISP_DOWN): Set to ACS_DARROW.
|
|
|
|
1999-10-28 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (keycode_func): Removed.
|
|
(builtin_keycode): Likewise.
|
|
(struct keysym): New structure.
|
|
(keysym_table): New variable.
|
|
(setkey_func): New function.
|
|
(builtin_setkey): New variable.
|
|
(builtin_table): Removed the pointer to BUILTIN_KEYCODE, and
|
|
added a pointer to BUILTIN_SETKEY.
|
|
* stage2/common.c [!STAGE1_5] (err_list): Added
|
|
ERR_BAD_ARGUMENT.
|
|
* stage2/shared.h (grub_error_t): Added ERR_BAD_ARGUMENT.
|
|
(KEY_MAP_SIZE): Set to 128.
|
|
(ascii_key_map): Declared.
|
|
* stage2/asm.S [!STAGE1_5] (remap_ascii_char): New function.
|
|
[!STAGE1_5] (ascii_key_map): New variable.
|
|
[!STAGE1_5] (getkey): Call remap_ascii_char after int16.
|
|
[!STAGE1_5] (checkkey): Likewise.
|
|
* grub/asmstub.c (ascii_key_map): New variable.
|
|
* docs/user-ref.texi (General commands): Added a description
|
|
about the command "setkey".
|
|
(Stage2 errors): Added a description about ERR_BAD_ARGUMENT.
|
|
|
|
1999-10-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/disk_io.c (set_device) [!STAGE1_5]: Remove the
|
|
preliminary Mach-style device name support. I've decided that
|
|
the support is not necessary.
|
|
(setup_part) [!STAGE1_5]: Do not strip the leading "/dev/".
|
|
* docs/help2man: Upgraded to 1.016.
|
|
* docs/mbchk.1: Regenerated.
|
|
* docs/grub.8: Likewise.
|
|
* grub/asmstub.c: Rename KEY_MAP to BIOS_KEY_MAP.
|
|
|
|
* stage2/asm.S [!STAGE1_5] (set_int15_handler): Use 0 instead of
|
|
the maximum number for the segment.
|
|
[!STAGE1_5] (unset_int15_handler): Likewise.
|
|
[!STAGE1_5] (int15_handler): Almost rewritten. If non-carrier,
|
|
ignore the scancode. If the scancode is E1 or E0, then set
|
|
INT15_SKIP_FLAG to 0x74, and if the previous scancode is E1 or
|
|
E0, set INT15_SKIP_FLAG to 0xea. Clear bit 7 in %dl. Save bit 7
|
|
of %al in %bl. Do not lcall. Use ljmp instead.
|
|
[!STAGE1_5] (key_map): Renamed to ...
|
|
[!STAGE1_5] (bios_key_map): ... this.
|
|
* stage2/builtins.c (keycode_func): Check if FROM is greater
|
|
than 0xff instead of double-checking for TO. Use BIOS_KEY_MAP
|
|
instead of KEY_MAP.
|
|
* stage2/shared.h (KEY_MAP_SIZE): Set to 32.
|
|
(key_map): Removed.
|
|
(bios_key_map): Declared.
|
|
|
|
1999-10-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Now the BIOS drive remapping is functional.
|
|
|
|
* stage2/asm.S [DEFINE_TRACK_INT13] (track_int13): Use %edi
|
|
instead of direct addresses.
|
|
Prefix DATA32 to the calls for real_to_prot and prot_to_real.
|
|
Fix the address of DRIVE: 4(%ebp) -> 8(%ebp).
|
|
(set_int15_handler): Use %edi instead of direct addresses.
|
|
(unset_int15_handler): Likewise.
|
|
(set_int13_handler): Copy DRIVE_MAP_SIZE * 2 bytes instead of
|
|
DRIVE_MAP_SIZE bytes of MAP.
|
|
Fix the address of MAP: 4(%ebp) -> 8(%ebp).
|
|
Use %edi instead of direct addresses.
|
|
(int13_handler): Do not set %ds to %cs. Use the segment override
|
|
prefix of %cs instead.
|
|
Push the flags pushed by the callee instead of the current.
|
|
Set the flags in the stack to the flags returned by the original
|
|
int13 call.
|
|
(drive_map): 4bytes-aligned.
|
|
* stage2/disk_io.c (grub_close): Do not set ERRNUM even if
|
|
FSYS_TYPE is NUM_FSYS.
|
|
|
|
1999-10-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage1/stage1.S: Long jump to real_start, because some bogus
|
|
BIOSes jump to 07C0:0000 instead of 0000:7C00.
|
|
(real_start): New label.
|
|
* docs/Makefile.am (grub.info): Removed. Use the default rule
|
|
instead.
|
|
|
|
1999-10-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/asm.S [DEFINE_TRACK_INT13] (int3_handler): Save the
|
|
modified FLAGS in 6(%bp) instead of 4(%bp).
|
|
Decrease %bx before restoring the first instruction.
|
|
[DEFINE_TRACK_INT13] (track_int13): Go to the real mode before
|
|
setting up the registers for the int13 call.
|
|
|
|
1999-10-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Add the prototype of a function to probe I/O ports used for a
|
|
BIOS drive.
|
|
|
|
* stage2/asm.S [DEFINE_TRACK_INT13] (track_int13): New function.
|
|
[DEFINE_TRACK_INT13] (int1_handler): New interrupt handler for
|
|
the real mode.
|
|
[DEFINE_TRACK_INT13] (int3_handler): Likewise.
|
|
[DEFINE_TRACK_INT13] (io_map): New variable.
|
|
|
|
* stage2/builtins.c (quit_func) [!GRUB_UTIL]: Fix a typo.
|
|
|
|
1999-10-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
The new GRUB manual becomes official.
|
|
|
|
* docs/grub.texi: Replaced with new-grub.texi.
|
|
* docs/new-grub.texi: Removed.
|
|
* docs/Makefile.am (grub_TEXINFOS): New variable.
|
|
(UNFINISHED_MANUALS): Removed.
|
|
(EXTRA_DIST): Deleted $(UNFINISHED_MANUALS).
|
|
|
|
1999-10-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (device_func) [!GRUB_UTIL]: Set ERRNUM to
|
|
ERR_UNRECOGINIZED and return 1.
|
|
(impsprobe_func) [GRUB_UTIL]: Likewise.
|
|
(quit_func) [!GRUB_UTIL]: Likewise.
|
|
* docs/tutorial.texi: Rename "Device Syntax" to "Filename".
|
|
Added many cross-references.
|
|
* docs/new-grub.texi: "Device Syntax" -> "Filename".
|
|
* docs/user-ref.texi: Fix typos and added some cross-references.
|
|
* docs/prog-ref.texi: Likewise.
|
|
* docs/appendices.texi: Likewise.
|
|
|
|
1999-10-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (map_func): If BIOS_DRIVE_MAP already
|
|
contains FROM, override the existsing entry.
|
|
If TO is equal to FROM, delete the existing entry if any.
|
|
(keycode_func): Likewise.
|
|
* docs/user-ref.texi (Command): Use the list of `@deffn's
|
|
instead of @table.
|
|
(Basic usage): Use @option instead of @code.
|
|
(Invoking mbchk): Likewise.
|
|
|
|
1999-10-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/asm.S [!STAGE1_5] (set_int15_handler): New function.
|
|
[!STAGE1_5] (unset_int15_handler): Likewise.
|
|
[!STAGE1_5] (int15_handler): New interrupt handler for the real
|
|
mode.
|
|
[!STAGE1_5] (int15_offset): New variable.
|
|
[!STAGE1_5] (int15_segment): Likewise.
|
|
[!STAGE1_5] (key_map): Likewise.
|
|
[!STAGE1_5] (set_int13_handler): Use the macro ABS for
|
|
INT13_OFFSET and INT13_SEGMENT.
|
|
* stage2/shared.h (KEY_MAP_SIZE): New macro.
|
|
(set_int15_handler): Declared.
|
|
(unset_int15_handler): Likewise.
|
|
* stage2/builtins.c (boot_func): Do not allow I to be equal to
|
|
DRIVE_MAP_SIZE.
|
|
Call unset_int15_handler unless KERNEL_TYPE is KERNEL_TYPE_NONE.
|
|
(map_func): Search for an empty slot till I is less than
|
|
DRIVE_MAP_SIZE.
|
|
Check if I is equal to DRIVE_MAP_SIZE instead of if I is greater
|
|
than DRIVE_MAP_SIZE.
|
|
(keycode_func): New function.
|
|
(builtin_keycode): New variable.
|
|
(builtin_table): Added a pointer to BUILTIN_KEYCODE.
|
|
* grub/asmstub.c (set_int15_handler): New function.
|
|
(unset_int15_handler): Likewise.
|
|
(key_map): New variable.
|
|
|
|
1999-10-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Michael Hohmuth <hohmuth@innocent.com>:
|
|
* acconfig.h (HAVE_USCORE_USCORE_BSS_START_SYMBOL): Added the
|
|
`undef' entry.
|
|
(HAVE_EDATA_SYMBOL): Likewise.
|
|
(HAVE_USCORE_EDATA_SYMBOL): Likewise.
|
|
* acinclude.m4 (grub_CHECK_USCORE_USCORE_BSS_START_SYMBOL): New
|
|
function.
|
|
(grub_CHECK_EDATA_SYMBOL): Likewise.
|
|
(grub_CHECK_USCORE_EDATA_SYMBOL): Likewise.
|
|
* configure.in: Check for __bss, edata and _edata.
|
|
* netboot/Makefile.am (DRIVERS): Deleted ns8390.c and ns8390.h.
|
|
(libdrivers_a_LIBADD): New variable.
|
|
($(libdrivers_a_LIBADD)): New target.
|
|
(nepci_o_CFLAGS): New variable.
|
|
(ne_o_CFLAGS): Likewise.
|
|
(wd_o_CFLAGS): Likewise.
|
|
(t503_o_CFLAGS): Likewise.
|
|
* netboot/fsys_tftp.c (tftp_close): New function.
|
|
* stage2/boot.c (load_image): Call grub_close before return.
|
|
(load_initrd): Likewise.
|
|
(load_module): Likewise.
|
|
* stage2/builtins.c (cat_func): Likewise.
|
|
(chainloader_func): Likewise.
|
|
(configfile_func): Likewise.
|
|
(embed_func): Likewise.
|
|
(find_func): Likewise.
|
|
(install_func): Set IS_OPEN to the value returned by grub_open.
|
|
If IS_OPEN is non-zero, call grub_close before return.
|
|
(setup_func): Call grub_close after grub_open.
|
|
(testload): Call grub_close before return.
|
|
* stage2/disk_io.c (fsys_table): Add the `close' member into
|
|
each of the entries. For TFTP, tftp_close is added, and for the
|
|
rest, NULL is added.
|
|
(grub_read): "|" -> "||".
|
|
(grub_close): New function.
|
|
* stage2/filesys.h [FSYS_TFTP] (tftp_close): Declared.
|
|
(struct fsys_entry): Added close_func.
|
|
* stage2/shared.h (grub_close): Declared.
|
|
* stage2/stage1_5.c (cmain): Call grub_close after grub_open.
|
|
* stage2/stage2.c (cmain): Clear ERRNUM after calling
|
|
find_command to just ignore the error code.
|
|
Call grub_close after loading the configuration file.
|
|
|
|
* stage2/asm.S (main): Clean out the bss.
|
|
|
|
1999-10-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/new-grub.texi: Updated.
|
|
* docs/user-ref.texi: Likewise.
|
|
* docs/tutorial.texi: Likewise.
|
|
* docs/prog-ref.texi: Likewise.
|
|
* docs/appendices.texi: Likewise.
|
|
|
|
1999-10-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/prog-ref.texi: New file.
|
|
* docs/appendices.texi: Likewise.
|
|
* docs/Makefile.am (UNFINISHED_MANUALS): Added prog-ref.texi and
|
|
appendices.texi.
|
|
|
|
1999-10-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/user-ref.texi: New file.
|
|
* docs/Makefile.am (UNFINISHED_MANUALS): Added user-red.texi.
|
|
|
|
1999-10-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Add BIOS drive remapping support for chain-loading some foolish
|
|
operating systems.
|
|
|
|
* stage2/builtins.c (bios_drive_map): New variable.
|
|
(boot_func): If KERNEL_TYPE is KERNEL_TYPE_CHAINLOADER, check
|
|
if BIOS_DRIVE_MAP contains meaningful values. If so, search for
|
|
SAVED_DRIVE in BIOS_DRIVE_MAP and exchange SAVED_DRIVE with the
|
|
mapped drive if found. And then call set_int13_handler.
|
|
(map_func): New function.
|
|
(builtin_map): New variable.
|
|
(builtin_table): Added a pointer to BUILTIN_MAP.
|
|
* stage2/asm.S (ABS): New macro.
|
|
[!STAGE1_5] (set_int13_handler): New function.
|
|
[!STAGE1_5] (int13_handler): New interrupt handler for the real
|
|
mode.
|
|
[!STAGE1_5] (drive_map): New variable.
|
|
[!STAGE1_5] (int13_handler_end): New label used for just
|
|
computing the end address of int13_handler.
|
|
* stage2/shared.h (DRIVE_MAP_SIZE): New macro.
|
|
(set_int13_handler): Declared.
|
|
* grub/asmstub.c (set_int13_handler): New function. Do nothing.
|
|
|
|
1999-10-20 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (find_func): Print only the device names.
|
|
* docs/tutorial.texi: New file.
|
|
* docs/Makefile.am (UNFINISHED_MANUALS): Added tutorial.texi.
|
|
(%.c.texi): Use $(SHELL) instead of /bin/sh.
|
|
(%.h.texi): Likewise.
|
|
(%.S.texi): Likewise.
|
|
|
|
1999-10-20 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/char_io.c (memcheck): Fix the checks: "<=" -> "<".
|
|
Reported by Mike Hicks <hick0088@umn.edu>.
|
|
|
|
1999-10-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (find_func): New function.
|
|
(builtin_find): New variable.
|
|
(hide_func): Save SAVED_DRIVE and SAVED_PARTITION to TMP_DRIVE
|
|
and TMP_PARTITION, respectively, and resotre them before return.
|
|
(unhide_func): Likewise.
|
|
(setup_func): Likewise. And set SAVED_DRIVE and SAVED_PARTITION
|
|
instead of CURRENT_DRIVE and CURRENT_PARTITION to IMAGE_DRIVE
|
|
and IMAGE_PARTITION before running install_func.
|
|
(builtin_table): Added a pointer to BUILTIN_FIND.
|
|
|
|
1999-10-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/Makefile.am (UNFINISHED_MANUALS): New variable.
|
|
(EXTRA_DIST): Added $(UNFINISHED_MANUALS).
|
|
* docs/new-grub.texi: New file.
|
|
|
|
1999-10-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/Makefile.am (man_MANS): Added mbchk.1.
|
|
[MAINTAINER_MODE] (mbchk.1): New target.
|
|
* docs/mbchk.1: New file. Generated by help2man.
|
|
|
|
1999-10-18 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* Makefile.am (SUBDIRS): Added util.
|
|
* configure.in: Output util/Makefile.
|
|
* util/Makefile.am: New file.
|
|
* util/mbchk.c: Likewise.
|
|
* util/Makefile.in: Likewise. Generated by automake.
|
|
|
|
1999-10-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/Makefile.am (.texi): Canceled because the dependecies can
|
|
be circulated.
|
|
* stage2/builtins.c (embed_func): Set BUF_TRACK to -1 before
|
|
writing the Stage 1.5 to the disk to clear the cache.
|
|
|
|
1999-10-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/boot.c (load_initrd): Change types of *RAMDISK and
|
|
MOVETO to unsigned long.
|
|
Apply the macro RAW_ADDR to MOVETO.
|
|
|
|
1999-10-16 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/multiboot.texi: Include the example source files of a
|
|
Multiboot kernel.
|
|
* docs/src2texi: New file.
|
|
* docs/boot.S: Likewise.
|
|
* docs/multiboot.h: Likewise.
|
|
* docs/kernel.c: Likewise.
|
|
* docs/boot.S.texi: Likewise.
|
|
* docs/multiboot.h.texi: Likewise.
|
|
* docs/kernel.c.texi: Likewise.
|
|
* docs/Makefile.am (EXAMPLES): New varilable.
|
|
(multiboot_TEXINFOS): Likewise.
|
|
(SRC2TEXI): Likewise.
|
|
(noinst_SCRIPTS): Added $(SRC2TEXI).
|
|
(EXTRA_DIST): Added $(EXAMPLES) and $(multiboot_TEXINFOS).
|
|
(%.c.texi): New target.
|
|
(%.h.texi): Likewise.
|
|
(%.S.texi): Likewise.
|
|
|
|
1999-09-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* multiboot.texi (BIOS device mapping techniques): New section.
|
|
Stolen from bios_mapping.txt in grub-0.5.
|
|
(Data comparison technique): New subsection.
|
|
(I/O restriction technique): Likewise.
|
|
(Example OS code): Rewrited from scratch.
|
|
|
|
1999-09-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* multiboot.texi: Rename Multiboot Standard to Multiboot
|
|
Specification and upgrade the version to 0.7. Many cleanups
|
|
are done.
|
|
|
|
1999-10-15 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (setup_func): Save CURRENT_DRIVE and
|
|
CURRENT_PARTITION into IMAGE_DRIVE and IMAGE_PARTITION
|
|
respectively, and restore them before running install_func.
|
|
Use DEVICE instead of BUFFER to store the device name.
|
|
Change each type of STAGE1, STAGE2 and CONFIG_FILE to an array
|
|
of char.
|
|
If installing the Stage 1 into a MBR, embed the Stage 1.5 in the
|
|
sectors right after it.
|
|
Return the result of install_func instead of zero.
|
|
|
|
1999-10-14 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* configure.in: Check for opendisk in libutil.
|
|
* grub/asmstub.c [__FreeBSD__ || __NetBSD__]: Include
|
|
<sys/ioctl.h>.
|
|
[HAVE_OPENDISK]: Include <util.h>.
|
|
[__NetBSD__] (get_floppy_disk_name): Added support for NetBSD.
|
|
[__NetBSD__ && HAVE_OPENDISK] (get_ide_disk_name): Likewise.
|
|
[__NetBSD__ && HAVE_OPENDISK] (get_scsi_disk_name): Likewise.
|
|
(get_drive_geometry) [__NetBSD__]: Use for NetBSD the same ioctl
|
|
as for FreeBSD.
|
|
|
|
1999-10-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/asmstub.c (assign_device_name): If DEVICE is NULL, set
|
|
DEVICE_MAP[DRIVE] to NULL.
|
|
(get_diskinfo): If open or read fails, call assign_device_name
|
|
to disable accessing the drive DRIVE.
|
|
(grub_stage2): The device mapping routine is moved to ...
|
|
(init_device_map): ... here. This new function also reads/writes
|
|
a device map file. If DEVICE_MAP_FILE already exists, then use
|
|
the data in it instead of probing devices. Otherwise, guess the
|
|
map between BIOS drives and OS devices, and write it to the file
|
|
DEVICE_MAP_FILE if it can be opened.
|
|
* grub/main.c (device_map_file): New variable.
|
|
(default_device_map_file): Likewise.
|
|
(OPT_DEVICE_MAP): New macro.
|
|
(longopts): Added an entry for "device-map".
|
|
(usage): Print the usage about --device-map as well.
|
|
(main): Set DEFAULT_DEVICE_MAP_FILE to DEVICE_MAP_FILE. If
|
|
OPT_DEVICE_MAP is found, set DEVICE_MAP_FILE to a duplicated
|
|
string of OPTARG.
|
|
* stage2/shared.h [GRUB_UTIL] (device_map_file): Declared.
|
|
* docs/grub.8: Regenerated.
|
|
|
|
1999-10-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (color_func): Do not set NORMAL_COLOR or
|
|
HIGHLIGHT_COLOR directly, but use NEW_NORMAL_COLOR and
|
|
NEW_HIGHLIGHT_COLOR as temporary storages instead.
|
|
New internal function `color_number' is used to convert a
|
|
symbolic color representation into a color number.
|
|
Try color_number at first, and if fails, then try
|
|
safe_parse_maxint for each of NORMAL and HIGHLIGHT.
|
|
(builtin_color): The long doc does not describe the raw number
|
|
syntax but the symbolic color name syntax.
|
|
* docs/grub.texi (Commands): Adjusted to the long doc of
|
|
BUILTIN_COLOR.
|
|
* docs/menu.lst: Add examples of "fallback" and "color".
|
|
|
|
1999-10-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/char_io.c [!STAGE1_5] (get_cmdline): If C is a newline
|
|
or a return, then set LPOS to LLEN and call the function
|
|
cl_setcpos.
|
|
[!STAGE1_5] (grub_strncat): New function.
|
|
* stage2/builtins.c (embed_func): New function.
|
|
(builtin_embed): New varilable.
|
|
(setup_func): New function.
|
|
(builtin_setup): New varilable.
|
|
(builtin_table): Added a pointer to BUILTIN_EMBED and a pointer
|
|
to BUILTIN_SETUP.
|
|
* stage2/shared.h (grub_strncat): Declared.
|
|
|
|
* stage2/Makefile.am (stage2_size.h): ../stage2/stage2 ->
|
|
pre_stage2. Reported by Pavel Roskin.
|
|
|
|
1999-10-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Pavel Roskin:
|
|
* acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): main -> cmain.
|
|
* stage2/boot.c (load_image): Only CUR_ADDR, not ENTRY_ADDR
|
|
should be 1M-aligned for NetBSD. Don't align symbol table on 4k
|
|
boundaries if the kernel doesn't require it.
|
|
|
|
1999-10-10 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/asm.S [!STAGE1_5] (start): New label to force ld quiet.
|
|
[!STAGE1_5] (_start): Likewise.
|
|
* stage2/builtins.c (install_func): Rewritten heavily almost
|
|
from scratch. As the blocklist was moved to the first sector of
|
|
Stage 2, always write sectors of Stage 2 to the disk.
|
|
* stage1/stage1.h (STAGE1_STAGE2_SECTOR): 0x40 -> 0x41.
|
|
(STAGE1_STAGE2_ADDRESS): 0x44 -> 0x45.
|
|
(STAGE1_STAGE2_SEGMENT): 0x46 -> 0x47.
|
|
(STAGE1_BOOT_DRIVE): 0x3f -> 0x40.
|
|
|
|
1999-10-09 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Stage1 supports both the CHS mode and the LBA mode.
|
|
|
|
* stage1/Makefile.am (nodist_pkgdata_DATA): Removed stage1_lba.
|
|
(BUILT_SOURCES): Deleted.
|
|
(CLEANFILES): Likewise.
|
|
(noinst_PROGRAMS): Removed stage1_lba.exec.
|
|
(stage1_exec_SOURCES): Removed stage2_size.h.
|
|
(stage2_size.h): Deleted.
|
|
(stage1_lba_exec_SOURCES): Likewise.
|
|
* stage1/stage1.S: Rewritten from scratch.
|
|
* stage1/stage1_lba.S: Deleted.
|
|
* stage1/stage1.h (COMPAT_VERSION_MAJOR): Set to 3.
|
|
(COMPAT_VERSION_MINOR): Set to 0.
|
|
(STAGE1_VER_MAJ_OFFS): Set to 0x3e.
|
|
(STAGE1_FIRSTLIST): Deleted.
|
|
(STAGE1_INSTALLSEG): Likewise.
|
|
(STAGE1_INSTALLADDR): Likewise.
|
|
(STAGE1_MINPARAMSIZE): Likewise.
|
|
(STAGE1_LISTSIZE): Likewise.
|
|
(STAGE1_ID_OFFSET): Likewise.
|
|
(STAGE1_ID_CHS): Likewise.
|
|
(STAGE1_ID_LBA): Likewise.
|
|
(STAGE1_STAGE2_SECTOR): New macro.
|
|
(STAGE1_STAGE2_ADDRESS): Likewise.
|
|
(STAGE1_STAGE2_SEGMENT): Likewise.
|
|
(STAGE1_BOOT_DRIVE): Likewise.
|
|
* stage2/start.S: New file.
|
|
* stage2/Makefile.am (noinst_DATA): New variable.
|
|
(CLEANFILES): Set to "$(nodist_pkgdata_DATA) $(noinst_DATA)
|
|
$(BUILT_SOURCES)".
|
|
(noinst_PROGRAMS): Removed stage2.exec, and added start.exec and
|
|
pre_stage2.exec.
|
|
(STAGE2_LINK): Deleted.
|
|
(PRE_STAGE2_LINK): New variable.
|
|
(START_LINK): Likewise.
|
|
(stage2_exec_SOURCES): Deleted.
|
|
(stage2_exec_CFLAGS): Likewise.
|
|
(stage2_exec_LDFLAGS): Likewise.
|
|
[NETBOOT_SUPPORT] (stage2_exec_LDADD): Likewise.
|
|
(pre_stage2_exec_SOURCES): New variable.
|
|
(pre_stage2_exec_CFLAGS): Likewise.
|
|
(pre_stage2_exec_LDFLAGS): Likewise.
|
|
[NETBOOT_SUPPORT] (pre_stage2_exec_LDADD): Likewise.
|
|
(BUILT_SOURCES): Likewise.
|
|
(start_exec_SOURCES): Likewise.
|
|
(start_exec_CFLAGS): Likewise.
|
|
(start_exec_LDFLAGS): Likewise.
|
|
(start_exec_DEPENDENCIES): Likewise.
|
|
(stage2_size.h): New rule.
|
|
(stage2): Likewise.
|
|
(e2fs_stage1_5_exec_SOURCES): Added start.S.
|
|
(fat_stage1_5_exec_SOURCES): Likewise.
|
|
(ffs_stage1_5_exec_SOURCES): Likewise.
|
|
(minix_stage1_5_exec_SOURCES): Likewise.
|
|
* stage2/asm.S (start): Renamed to ...
|
|
(main): ... this.
|
|
[STAGE1_5] (main): Jump to (codestart - EXT_C(main) + 0x2200)
|
|
instead of (codestart - EXT_C(start) + 0x2000).
|
|
[!STAGE1_5] (main): Jump to (codestart - EXT_C(main) + 0x8200)
|
|
instead of (codestart - EXT_C(start) + 0x8000).
|
|
[STAGE1_5] (chain_stage2): Use main instead of start.
|
|
* stage2/shared.h (BOOTSEC_LISTSIZE): New macro.
|
|
* stage2/stage1_5.c: Change the second argument for chain_stage2
|
|
to 0x8200.
|
|
|
|
1999-10-08 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* configure.in (--with-binutils): New option to specify a
|
|
directory to find binutils.
|
|
(CFLAGS): If WITH_BINUTILS is not empty, added the option `-B'.
|
|
(LD): Do not check for this. We don't use ld directly anyway.
|
|
(RANLIB): If WITH_BINUTILS is not empty, search the directory
|
|
WITH_BINUTILS first.
|
|
(OBJCOPY): Likewise.
|
|
* acinclude.m4 (grub_ASM_USCORE): Add CFLAGS into
|
|
AC_TRY_COMMAND.
|
|
(grub_ASM_ADDR32): Likewise.
|
|
(grub_ASM_PREFIX_REQUIREMENT): Likewise.
|
|
(grub_PROG_OBJCOPY_ABSOLUTE): Use CC instead of LD.
|
|
|
|
1999-10-04 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* stage2/freebsd.h (struct bootinfo): New member, bi_bios_dev.
|
|
* stage2/boot.c (bsd_boot): Set BI.BI_BIOS_DEV to SAVED_DRIVE.
|
|
|
|
1999-10-04 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Pavel Roskin:
|
|
* docs/grub.texi: Fix typos.
|
|
* stage2/builtins.c (install_func): Reformat the warning message
|
|
about the option `d'.
|
|
|
|
1999-10-03 Gordon Matzigkeit <gord@fig.org>
|
|
|
|
* stage2/builtins.c (install_func): Fix check for the Stage 2 id.
|
|
From Pavel Roskin.
|
|
|
|
* debian/Makefile.am (EXTRA_DIST): Add postinst and prerm.
|
|
|
|
1999-10-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (boot_func): Pass MBI.CMDLINE instead of ARG
|
|
to bsd_boot.
|
|
|
|
1999-10-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/gunzip.c (gunzip_test_header): Check if CURRENT_DRIVE
|
|
is 0x20 instead of if the fs type is TFTP, because GRUB does not
|
|
mount CURRENT_DRIVE when using a block file. Reported by Pavel
|
|
Roskin.
|
|
|
|
1999-10-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (cat_func): Do not read the whole of a file
|
|
at one time. Instead, repeat reading one byte and print it on
|
|
the screen.
|
|
* docs/grub.texi (Command line): List the available key
|
|
bindings.
|
|
(Commands): Added descriptions about "geometry", "device" and
|
|
"cat".
|
|
|
|
1999-10-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Now it is possible to build the grub shell with old BSD curses.
|
|
|
|
* stage2/shared.h [!A_NORMAL] (A_NORMAL): Set to zero.
|
|
[!A_REVERSE && A_STANDOUT] (A_REVERSE): Set to A_STANDOUT.
|
|
[!A_REVERSE && !A_STANDOUT] (A_REVERSE): Set to zero.
|
|
|
|
1999-09-30 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* stage2/disk_io.c (set_bootdev): Mask 0x7F instead of 0x79 of
|
|
the device number.
|
|
|
|
1999-10-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* configure.in (--without-curses): New option. If WITH_CURSES is
|
|
no, do not check for curses.
|
|
|
|
* stage2/disk_io.c (set_device) [STAGE1_5]: Change the type of
|
|
DEV to unsigned long.
|
|
* stage2/builtins.c (install_func): Always check for the Stage 2
|
|
id in FILE.
|
|
Reported by Pavel Roskin.
|
|
|
|
1999-09-30 Gordon Matzigkeit <gord@fig.org>
|
|
|
|
* debian/postinst: New file to call install-info.
|
|
* debian/prerm: Likewise.
|
|
* debian/rules (binary-arch): Add postinst and prerm, compress the
|
|
info files, and call dpkg-shlibdeps.
|
|
|
|
* stage2/cmdline.c (skip_to): Restructure, and count tabs as
|
|
whitespace.
|
|
(find_command): Likewise.
|
|
|
|
1999-09-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/getopt.c: Moved to ...
|
|
* lib/getopt.c: ... here.
|
|
* grub/getopt1.c: Moved to ...
|
|
* lib/getopt1.c: ... here.
|
|
* grub/getopt.h: Moved to ...
|
|
* lib/getopt.h: ... here.
|
|
* grub/Makefile.am (AM_CFLAGS): Added -I$(top_srcdir)/lib.
|
|
(grub_LDADD): Added ../lib/libcommon.a.
|
|
* lib/Makefile.am: New file.
|
|
* Makefile.am (SUBDIRS): Added lib.
|
|
* configure.in: lib/Makefile is added into the arguments for
|
|
AC_OUTPUT.
|
|
|
|
1999-09-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Pavel Roskin:
|
|
* stage2/defs.h (time_t): Renamed to ...
|
|
(mach_time_t): ... this.
|
|
(daddr_t): Renamed to ...
|
|
(mach_daddr_t): ... this.
|
|
(uid_t): Renamed to ...
|
|
(mach_uid_t): ... this.
|
|
(gid_t): Renamed to ...
|
|
(mach_gid_t): ... this.
|
|
(ino_t): Renamed to ...
|
|
(mach_ino_t): ... this.
|
|
* stage2/disk_inode.h (FFS_MAX_FASTLINK_SIZE): Use mach_daddr_t
|
|
instead of daddr_t.
|
|
(struct icommon): Use mach_uid_t, mach_gid_t, mach_time_t and
|
|
mach_daddr_t, instead of uid_t, gid_t, time_t and daddr_t.
|
|
* stage2/fs.h (BBLOCK): Use mach_daddr_t instead of addr_t.
|
|
(SBLOCK): Likewise.
|
|
(ROOTINO): Use mach_ino_t instead of ino_t.
|
|
(struct fs): Use mach_daddr_t and mach_time_t instead of daddr_t
|
|
and time_t.
|
|
(struct cg): Use mach_time_t instead of time_t.
|
|
(struct ocg): Likewise.
|
|
(cgbase): Use mach_daddr_t instead of daddr_t.
|
|
(itod): Likewise.
|
|
|
|
1999-09-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* acinclude.m4 (grub_CHECK_START_SYMBOL): Use AC_TRY_LINK
|
|
instead of AC_TRY_COMMAND.
|
|
(grub_CHECK_USCORE_START_SYMBOL): Likewise.
|
|
(grub_CHECK_END_SYMBOL): Likewise.
|
|
(grub_CHECK_USCORE_END_SYMBOL): Likewise.
|
|
|
|
* stage2/disk_io.c (set_device) [!STAGE1_5]: Use RESULT instead
|
|
of RETVAL to check if the analysis succeeds.
|
|
|
|
1999-09-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (install_func): If the Stage 2 id in FILE is
|
|
not STAGE2_ID_STAGE2, set IS_STAGE1_5 to 1, otherwise to 0.
|
|
Use CONFIG_FILE_LOCATION to point to the location of the name of
|
|
a configuration file in Stage 2.
|
|
If the option `p' is present and IS_STAGE1_5 is non-zero, reset
|
|
the device information in CONFIG_FILE_LOCATION.
|
|
(cat_func): New function.
|
|
(builtin_cat): New variable.
|
|
(builtin_table): Added a pointer to BUILTIN_CAT.
|
|
(geometry_func): Call real_open_partition with the argument 1
|
|
after printing out the drive information.
|
|
* stage2/disk_io.c (real_open_partition): Made global.
|
|
[!STAGE1_5] (print_completions): In the command completion and
|
|
the filename completion, print a newline at the last if
|
|
IS_COMPLETION is zero.
|
|
* stage2/shared.h (real_open_partition): Declared.
|
|
* stage2/fsys_ext2fs.c (ext2fs_dir): Do not print a newline even
|
|
if PRINT_POSSIBILITIES is less than zero.
|
|
* stage2/fsys_ffs.c (ffs_dir): Likewise.
|
|
* stage2/fsys_fat.c (fat_dir): Likewise.
|
|
* stage2/fsys_minix.c (minix_dir): Likewise.
|
|
|
|
1999-09-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage1/stage1.S [!FFS_STAGE1_5] (blocklist_default_len): Do
|
|
not divide the size by 512, but shift the size to the right by
|
|
9 instead, because of a binutils-2.9.1.0.x bug.
|
|
* stage1/stage1_lba.S [!FFS_STAGE1_5] (blocklist_default_len):
|
|
Likewise.
|
|
* stage2/builtins.c (install_func): When installing Stage 1.5,
|
|
if set_device returns NULL, then set CURRENT_DRIVE to 0xFF and
|
|
CONFIG_FILE to PTR.
|
|
|
|
1999-09-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/char_io.c [!STAGE1_5] (get_cmdline): In cl_insert, call
|
|
cl_setcpos before printing BUF, even if LPOS is equal to LLEN.
|
|
In the completion, if RET is zero, do not call cl_init.
|
|
* stage2/disk_io.c [!STAGE1_5] (print_completions): In the
|
|
filename completion, if UNIQUE is 1, check if UNIQUE_STRING is a
|
|
directory or not. If so, append '/' to BUF.
|
|
In the partition completion, if IS_COMPLETION is non-zero and
|
|
*UNIQUE_STRING is not NUL, copy UNIQUE_STRING to PTR. Do not
|
|
append '/'.
|
|
(real_open_partition) [!STAGE1_5]: If DO_COMPRESSION is non-zero,
|
|
call print_a_completion.
|
|
(check_BSD_parts) [!STAGE1_5]: Likewise.
|
|
[!STAGE1_5] (print_a_completion): Ignore NAME if it is "." or
|
|
"..".
|
|
|
|
1999-09-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* acinclude.m4 (grub_CHECK_USCORE_END_SYMBOL): Do not call
|
|
AC_DEFINE within AC_CACHE_VAL. Call it after AC_CACHE_VAL.
|
|
* stage2/Makefile.am (STAGE1_5_COMPILE): Do not define
|
|
CONFIG_FILE_ASM.
|
|
* stage2/asm.S (config_file) [STAGE1_5]: Set the first 4 bytes
|
|
to 0xffffffff and the following to "/boot/grub/stage2".
|
|
(config_file) [!STAGE1_5]: Set to "/boot/grub/menu.lst".
|
|
* stage2/builtins.c (install_func): Read a Stage 2 before
|
|
handling the `p' option.
|
|
If the `configfile' option is present and FILE is a Stage 2,
|
|
translate the device name to the internal device representation
|
|
and copy the result to STR.
|
|
* stage2/disk_io.c [STAGE1_5] (sane_partition): Eliminated.
|
|
[STAGE1_5] (incomplete): Likewise.
|
|
[STAGE1_5] (disk_choice): Likewise.
|
|
[STAGE1_5] (part_choice): Likewise.
|
|
(set_device) [STAGE1_5]: Assume that the first 4 bytes of DEVICE
|
|
is a device number. Set DRIVE to the forth byte of DEV and
|
|
PARTITION to the first 3 bytes of DEV. If DRIVE is 0xFF, set
|
|
CURRENT_DRIVE and CURRENT_PARTITION to SAVED_DRIVE and
|
|
SAVED_PARTITION, respectively. Otherwise set to DRIVE and
|
|
PARTITION, respectively.
|
|
(setup_part) [STAGE1_5]: Always call set_device.
|
|
|
|
1999-09-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* acinclude.m4 (grub_CHECK_END_SYMBOL): Add a missing
|
|
double-quote. Reported by Johannes Kroeger
|
|
<hanne@squirrel.owl.de>.
|
|
|
|
1999-09-14 Gordon Matzigkeit <gord@fig.org>
|
|
|
|
* stage1/stage1.S (blocklist_default_start): New label for default
|
|
blocklist start sector.
|
|
(blocklist_default_len): New label for default blocklist length.
|
|
(blocklist_default_seg): New label for default blocklist segment.
|
|
* stage1/stage1_lba.S (blocklist_default_start): Likewise.
|
|
(blocklist_default_len): Likewise.
|
|
(blocklist_default_seg): Likewise.
|
|
|
|
1999-09-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* acinclude.m4 (grub_ASM_ADDR32): First, create a template
|
|
source file "conftest.s.in", and then, replace @ADDR32@ with
|
|
"addr32" if GRUB_CV_ASM_PREFIX_REQUIREMENT is yes, otherwise,
|
|
replace it with "addr32;". Reported by John Tobey
|
|
<spam@john-edwin-tobey.org>.
|
|
|
|
1999-09-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (debug_fs_print_func): Renamed to ...
|
|
(disk_read_print_func): ... this.
|
|
(fstest_func): Use DISK_READ_HOOK instead of DEBUG_FS.
|
|
(install_func): Rename debug_fs_savesect_func to
|
|
disk_read_savesect_func.
|
|
Rename debug_fs_blocklist_func to disk_read_blocklist_func.
|
|
Use DISK_READ_HOOK instead of DEBUG_FS.
|
|
(testload_func): Use DISK_READ_HOOK instead of DEBUG_FS.
|
|
* stage2/disk_io.c [!STAGE1_5] (debug_fs): Renamed to ...
|
|
[!STAGE1_5] (disk_read_hook): ... this.
|
|
[!STAGE1_5] (debug_fs_func): Renamed to ...
|
|
[!STAGE1_5] (disk_read_func): ... this.
|
|
(rawread) [!STAGE1_5]: Use DISK_READ_HOOK and DISK_READ_FUNC
|
|
instead of DEBUG_FS and DEBUG_FS_FUNC.
|
|
(grub_read) [!STAGE1_5]: Likewise.
|
|
(devread) [!STAGE1_5]: Use DISK_READ_HOOK instead of DEBUG_FS.
|
|
* stage2/fsys_ext2fs.c (ext2fs_read) [!STAGE1_5]: Use
|
|
DISK_READ_HOOK and DISK_READ_FUNC instead of DEBUG_FS and
|
|
DEBUG_FS_FUNC.
|
|
* stage2/fsys_ffs.c (ffs_read) [!STAGE1_5]: Likewise.
|
|
* stage2/fsys_minix.c (minix_read) [!STAGE1_5]: Likewise.
|
|
* stage2/shared.h [!STAGE1_5] (debug_fs): Renamed to ...
|
|
[!STAGE1_5] (disk_read_hook): ... this.
|
|
[!STAGE1_5] (debug_fs_func): Renamed to ...
|
|
[!STAGE1_5] (disk_read_func): ... this.
|
|
* docs/grub.texi: Likewise, replace debug_fs and debug_fs_func
|
|
with disk_read_hook and disk_read_func, respectively.
|
|
|
|
1999-09-23 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* stage2/builtins.c (install_func): New local function,
|
|
debug_fs_savesect_func. Use debug_fs_savesect_func to determine
|
|
the first sector of Stage2. Write Stage 1 after patching Stage
|
|
2.
|
|
|
|
1999-09-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* acinclude.m4 (grub_ASM_USCORE): Do not define HAVE_ASM_USCORE
|
|
within AC_CACHE_VAL. Define it after AC_CACHE_VAL if
|
|
GRUB_CV_ASM_USCORE is yes.
|
|
|
|
1999-09-20 Edmund GRIMLEY EVANS <edmundo@rano.demon.co.uk>
|
|
|
|
* netboot/3c59x.c: INCLUDE_3c59x is replaced by INCLUDE_3C59X
|
|
throughout.
|
|
* netboot/config.c: Likewise.
|
|
* netboot/io.h (__INS): New macro.
|
|
(__OUTS): Likewise.
|
|
(outl): Likewise.
|
|
(inl): Likewise.
|
|
(outl_p): Likewise.
|
|
(inl_p): Likewise.
|
|
Call __INS with the argument `b', with `w' and with `l' to
|
|
define insb, insw and insl, respectively. Likewise, Call __OUTS
|
|
with `b', with `w' and with `l' to define outsb, outw and outl,
|
|
respectively.
|
|
* netboot/pci.h (PCI_VENDOR_ID_VORTEX): New macro.
|
|
(PCI_DEVICE_ID_VORTEX_3c595): Likewise. Defined as a random
|
|
value.
|
|
|
|
1999-09-20 Edward Killips <ekillips@triton.net>
|
|
|
|
* stage2/disk_io.c (set_partition_hidden_flag): Set/clear the
|
|
hidden flag, whether the hidden flag is set or not.
|
|
|
|
1999-09-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (install_func): Do not set DEBUG_FS at the
|
|
first read. Set it to DEBUG_FS_BLOCKLIST_FUNC when reading the
|
|
whole of Stage 2. Set FILEPOS to zero at the same time to read
|
|
from the beginning of Stage 2. Reported by Pavel Roskin.
|
|
|
|
1999-09-20 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
The argument ADDR for the command install is now optional.
|
|
|
|
* stage2/builtins.c (install_func): If parsing ADDR fails, set
|
|
INSTALLADDR to zero and set PTR to ADDR.
|
|
If INSTALLADDR is zero after parsing the command-line, check if
|
|
the Stage 2 id is STAGE2_ID_STAGE2. If so, set INSTALLADDR to
|
|
0x8000, otherwise set it to 0x2000.
|
|
Set the install address in the Stage 1 after the automatic
|
|
determination is completed.
|
|
(builtin_install): Say that ADDR is optional in the help
|
|
message.
|
|
* docs/grub.texi: Synchronize the description about install to
|
|
builtins.c. Remove explicit address arguments from all the
|
|
examples. Add a description about help.
|
|
* docs/menu.lst: Do not specify the address argument for
|
|
install.
|
|
|
|
1999-09-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
The completion code is heavily modified.
|
|
|
|
* stage2/char_io.c [!STAGE1_5] (get_cmdline): In the completion
|
|
code, use COMPLETION_BUFFER to get the completion instead of
|
|
writing to BUF directly.
|
|
Save the position of a possible equal character after a command
|
|
in EQUAL_POS and replace the equal character with a space
|
|
temporarily for the code simplicity.
|
|
At first, just get completions, and, if there is more than one
|
|
completions, then print the list of the completions.
|
|
* stage2/disk_io.c [!STAGE1_5] (do_completion): New variable.
|
|
[!STAGE1_5] (unique): Moved the definition near the beginning.
|
|
[!STAGE1_5] (unique_string): Likewise. And changed the type to
|
|
char *.
|
|
(check_BSD_parts) [!STAGE1_5]: If DO_COMPLETION is non-zero, do
|
|
not print anything.
|
|
(real_open_partition) [!STAGE1_5]: Likewise.
|
|
[!STAGE1_5] (print_fsys_type): Likewise.
|
|
[!STAGE1_5] (print_a_completion): The argument FILENAME is
|
|
renamed to NAME.
|
|
If DO_COMPLETION is non-zero, get the unique part from NAME and
|
|
set UNIQUE_STRING to it.
|
|
If DO_COMPLETION is zero, just print NAME.
|
|
Do not call printf unconditionally.
|
|
[!STAGE1_5] (print_completions): Accept two arguements
|
|
IS_FILENAME and IS_COMPLETION instead of FILENAME.
|
|
Set UNIQUE_STRING to UNIQUE_BUF.
|
|
Set DO_COMPLETION to IS_COMPLETION and set it to zero before
|
|
returning.
|
|
If IS_FILENAME is zero, then complete builtin commands and
|
|
return UNIQUE - 1.
|
|
Use BUF instead of FILENAME.
|
|
If IS_COMPLETION is non-zero, do not print anything.
|
|
Copy UNIQUE_STRING to PTR only if IS_COMPLETION and
|
|
*UNIQUE_STRING are non-zero.
|
|
* stage2/shared.h (COMPLETION_BUF): New macro.
|
|
(COMPLETION_BUFLEN): Likewise.
|
|
(UNIQUE_BUF): Likewise.
|
|
(UNIQUE_BUFLEN): Likewise.
|
|
(MENU_BUF): Set to UNIQUE_BUF + UNIQUE_BUFLEN.
|
|
(MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - UNIQUE_BUF.
|
|
(print_completions): Adjusted to the definition.
|
|
|
|
1999-09-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* acinclude.m4 (grub_ASM_PREFIX_REQUIREMENT): Do not call
|
|
AC_DEFINE_UNQUOTEs within AC_CACHE_VAL. Define ADDR32 and DATA32
|
|
after it.
|
|
(grub_CHECK_START_SYMBOL): Do not call AC_DEFINE within
|
|
AC_CACHE_VAL. Define HAVE_START_SYMBOL after it.
|
|
(grub_CHECK_USCORE_START_SYMBOL): Do not call AC_DEFINE within
|
|
AC_CACHE_VAL. Define HAVE_USCORE_START_SYMBOL after it.
|
|
(grub_CHECK_END_SYMBOL): Do not call AC_DEFINE within
|
|
AC_CACHE_VAL. Define HAVE_END_SYMBOL after it.
|
|
(grub_CHECK_USCORE_END_SYMBOL): Do not call AC_DEFINE within
|
|
AC_CACHE_VAL. Define HAVE_USCORE_END_SYMBOL after it.
|
|
|
|
1999-09-17 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* acconfig.h (ADDR32): Removed. This entry is automatically
|
|
created by autoheader.
|
|
(DATA32): Likewise.
|
|
* acinclude.m4 (grub_ASM_ADD32): Use ADDR32 instead of addr32.
|
|
Require grub_ASM_PREFIX_REQUIREMENT.
|
|
(grub_ASM_PREFIX_REQUIREMENT): Define ADDR32 and DATA32.
|
|
* configure.in: Call grub_ASM_PREFIX_REQUIREMENT before
|
|
grub_ASM_ADDR32. Do not define ADDR32 and DATA32.
|
|
* stage1/stage1.S (after_BPB): Use ABS(firstlist) instead of
|
|
firstlist.
|
|
(MSG): Use ABS(x) instead of x.
|
|
(probe_loop): Use the macro MSG for fd_probe_error_string.
|
|
* stage1/stage1_lba.S (after_BPB): Use ABS(firstlist) instead of
|
|
firstlist.
|
|
(MSG): Use ABS(x) instead of x.
|
|
* stage2/asm.S (putchar): Renamed to ...
|
|
(grub_putchar): ... this.
|
|
|
|
1999-09-18 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/gunzip.c (reset_linalloc): Use the macro RAW_ADDR
|
|
before setting LINALLOC_TOPADDR.
|
|
* stage2/shared.h [!GRUB_UTIL] (RAW_ADDR): Added parenthesises
|
|
to avoid a gcc warning.
|
|
[!GRUB_UTIL] (RAW_SEG): Likewise.
|
|
|
|
1999-09-18 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* acinclude.m4 (grub_CHECK_START_SYMBOL): New function.
|
|
(grub_CHECK_USCORE_START_SYMBOL): Likewise.
|
|
(grub_CHECK_END_SYMBOL): Likewise.
|
|
(grub_CHECK_USCORE_SYMBOL): Likewise.
|
|
* configure.in: Call grub_CHECK_START_SYMBOL and
|
|
grub_CHECK_USCORE_START_SYMBOL, and if neither start nor _start
|
|
is defined, print an error message and exit.
|
|
Likewise, call grub_CHECK_END_SYMBOL and
|
|
grub_CHECK_USCORE_END_SYMBOL, and if neither end nor _end is
|
|
defined, print an error message and exit.
|
|
* acconfig.h (HAVE_START_SYMBOL): Added the "undef" entry.
|
|
(HAVE_USCORE_START_SYMBOL): Likewise.
|
|
(HAVE_END_SYMBOL): Likewise.
|
|
(HAVE_USCORE_END_SYMBOL): Likewise.
|
|
* stage2/char_io.c (memcheck): Rename the argument START to
|
|
ADDR. Added two missing equal characters.
|
|
[GRUB_UTIL]: Define new local functions start_addr and end_addr.
|
|
[GRUB_UTIL && HAVE_START_SYMBOL]: The function start_addr
|
|
returns START.
|
|
[GRUB_UTIL && HAVE_USCORE_START_SYMBOL]: The function start_addr
|
|
returns _START.
|
|
[GRUB_UTIL && HAVE_END_SYMBOL]: The function end_addr returns
|
|
END.
|
|
[GRUB_UTIL && HAVE_USCORE_END_SYMBOL]: The function end_addr
|
|
returns _END.
|
|
[GRUB_UTIL]: If ADDR is equal to or greater than the address
|
|
returned by start_addr, and ADDR plus LEN is less than the
|
|
address returned by end_addr, return ! ERRNUM.
|
|
* stage2/asm.S (get_code_end) [HAVE_END_SYMBOL]: Use $end as the
|
|
end of the bss.
|
|
[HAVE_USCORE_END_SYMBOL]: Use $_end as the end of the bss.
|
|
* stage2/disk_io.c [!STAGE1_5] (cur_part_desc): Made static.
|
|
Need not to be global any longer.
|
|
|
|
1999-09-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/char_io.c [!STAGE1_5] (get_cmdline): The argument
|
|
COMPLETION is renamed to READLINE.
|
|
Do not initialize KILL here.
|
|
TAB, C-a, C-e, C-f, C-b, C-u, C-k, C-y, C-p and C-n are handled
|
|
only if READLINE is non-zero.
|
|
If ECHO_CHAR is not NUL, do not remove the leading spaces in BUF.
|
|
Add CMDLINE into the history list only if READLINE is non-zero.
|
|
* stage2/stage2.c (cmain): Initialize the kill buffer.
|
|
|
|
1999-09-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Killing, yanking and manipulating the history are supported.
|
|
|
|
* stage2/shared.h (cur_cmdline): Removed.
|
|
(MAX_CMDLINE): Moved near the beginning of the file.
|
|
(NEW_HEAPSIZE): Likewise.
|
|
(CMDLINE_BUFLEN): Set to MAX_CMDLINE.
|
|
(KILL_BUF): New macro.
|
|
(KILL_BUFLEN): Likewise.
|
|
(HISTORY_BUF): Likewise.
|
|
(HISTORY_SIZE): Likewise.
|
|
(HISTORY_BUFLEN): Likewise.
|
|
(MENU_BUF): Set to HISTORY_BUF + HISTORY_BUFLEN.
|
|
(MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - HISTORY_BUF.
|
|
(strcpy): New macro.
|
|
(grub_strcpy): Delared.
|
|
* stage2/boot.c (cur_cmdline): Removed.
|
|
* stage2/char_io.c [!STAGE1_5] (grub_strcpy): New function.
|
|
[!STAGE1_5] (get_history): Likewise.
|
|
[!STAGE1_5] (add_history): Likewise.
|
|
[!STAGE1_5] (get_cmdline): Use BUF instead of CMDLINE for the
|
|
working buffer for the command-line.
|
|
A new function cl_insert is used to insert a string to the
|
|
command-line.
|
|
In the case where C-u or C-k is pressed, copy the string being
|
|
deleted to KILL.
|
|
If C-y is pressed, insert KILL to the command-line.
|
|
If C-p is pressed, fetch the previous command from the history
|
|
list HISTORY, and if C-n is pressed, fetch the next command from
|
|
it.
|
|
If LPOS is less than LLEN, add CMDLINE into the history list.
|
|
If C is equal to KEY_UP, set C to 16, and if C is equal to
|
|
KEY_DOWN, set C to 14.
|
|
[!STAGE1_5] (num_history): New variable.
|
|
|
|
1999-09-15 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/size_test: Do not check for the size of Stage 2.
|
|
* stage1/Makefile.am (stage2_size.h): Use `set' and `echo'
|
|
instead of awk, since we cannot expect awk is present. Remove
|
|
stage2_size.h before creating it.
|
|
|
|
1999-09-15 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* Makefile.am (SUBDIRS): Put stage1 after stage2 so that stage2
|
|
is built before stage1.
|
|
* stage1/Makefile.am (BUILT_SOURCES): New varilable.
|
|
(CLEANFILES): Added BUILT_SOURCES.
|
|
(stage1_exec_SOURCES): Added stage2_size.h.
|
|
(stage1_lba_exec_SOURCES): Likewise.
|
|
(stage2_size.h): New rule.
|
|
* stage1/stage1.S: Include <stage2_size.h> and use STAGE2_SIZE
|
|
to determine how much number of sectors to be read when loading
|
|
Stage 2.
|
|
* stage1/stage1_lba.S: Likewise.
|
|
|
|
1999-09-15 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* netboot/config.h: Moved to ...
|
|
* netboot/netboot_config.h: ... here.
|
|
* netboot/config.c: Include netboot_config.h instead of config.h.
|
|
* netboot/fsys_tftp.c: Likewise.
|
|
* netboot/ip.c: Likewise.
|
|
* netboot/Makefile.am (libdrivers_a_SOURCES): Removed config.h
|
|
and added netboot_config.h.
|
|
|
|
1999-09-14 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* grub/asmstub.c [__linux__]: On GLibc 2.0 and newer use lseek,
|
|
don't include <linux/fs.h> and define BLKFLSBUF if needed.
|
|
|
|
1999-09-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Now the grub shell works fine on FreeBSD. A patch by Pavel
|
|
Roskin is modified and applied.
|
|
|
|
* grub/asmstub.c (get_drive_geometry): New function.
|
|
(get_diskinfo): Use get_drive_geometry to set the geometry of
|
|
DRIVE.
|
|
|
|
1999-09-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* configure.in (--enable-ne): Made the description more clear.
|
|
(--enable-nepci): Likewise.
|
|
(--enable-wd): Likewise.
|
|
(--enable-t503): Likewise.
|
|
(--enable-t509): Likewise.
|
|
(--enable-3c59x): Likewise.
|
|
(--enable-lance): Likewise.
|
|
(--enable-cs): Likewise.
|
|
(--enable-eepro100): Likewise.
|
|
(--enable-wd-default_mem): Renamed to ...
|
|
(--enable-wd-default-mem): ... this.
|
|
(--enable-cs-scan): Corrected the description.
|
|
(NETBOOT_SUPPORT): Defined if NET_CFLAGS is not empty.
|
|
* stage2/Makefile.am (stage2_exec_LDADD): Defined only if
|
|
NETBOOT_SUPPORT is true.
|
|
* netboot/Makefile.am (LIBDRIVERS): New variable. If
|
|
NETBOOT_SUPPORT is true, set to libdriver.a, otherwise set to an
|
|
empty string.
|
|
(noinst_LIBRARIES): Set to LIBDRIVERS.
|
|
(DRIVERS): Added 3c509.h, cs89x0.h and ns8390.h.
|
|
(libdrivers_a_SOURCES): Added byteorder.h, config.h, if.h, io.h,
|
|
ip.h, netboot.h, netdevice.h, nic.h and pic.h.
|
|
(libdrivers_a_CFLAGS): Added -fno-builtin and -nostdinc and
|
|
removed -O2.
|
|
* stage2/char_io.c (grub_sprintf): Added parenthesises to avoid
|
|
gcc warnings.
|
|
* stage2/gunzip.c (gunzip_test_header): Check if FSYS_TYPE is
|
|
TFTP. If so, set IS_TFTP to non-zero, otherwise to zero. And,
|
|
use IS_TFTP to check if we have GZIP_CRC instead of the equation
|
|
"FILEMAX == 16 * 1024 * 1024".
|
|
|
|
1999-09-13 Edmund GRIMLEY EVANS <edmundo@rano.demon.co.uk>
|
|
|
|
The netboot support in the Dresden version of GRUB is integrated.
|
|
|
|
* Makefile.am (SUBDIRS): Added netboot.
|
|
* configure.in (--enable-tftp): New option.
|
|
(--enable-ne): Likewise.
|
|
(--enable-nepci): Likewise.
|
|
(--enable-wd): Likewise.
|
|
(--enable-t503): Likewise.
|
|
(--enable-t509): Likewise.
|
|
(--enable-3c59x): Likewise.
|
|
(--enable-lance): Likewise.
|
|
(--enable-cs): Likewise.
|
|
(--enable-eepro100): Likewise.
|
|
(--enable-ne-scan): Likewise.
|
|
(--enable-wd-default_mem): Likewise.
|
|
(--enable-cs-scan): Likewise.
|
|
(NET_CFLAGS): New variable.
|
|
(NET_EXTRAFLAGS): Likewise.
|
|
Do AC_OUTPUT for netboot/Makefile as well.
|
|
* stage1/stage1.S: Set the number of sectors for Stage 2 to 130.
|
|
* stage1/stage1_lba.S: Likewise.
|
|
* stage2/Makefile.am (stage2_exec_LDADD): Added
|
|
../netboot/libdrivers.a.
|
|
* stage2/asm.S [!STAGE1_5] (currticks): New function.
|
|
* stage2/char_io.c [!STAGE1_5] (grub_sprintf): Likewise.
|
|
[!STAGE1_5] (grub_memcmp): Likewise.
|
|
* stage2/disk_io.c (fsys_table) [FSYS_TFTP]: Added an entry for
|
|
tftp.
|
|
(sane_partition) [!STAGE1_5]: If CURRENT_DRIVE is a network
|
|
drive, return 1.
|
|
(real_open_partition) [!STAGE1_5]: Likewise.
|
|
(set_device): If DEVICE contains a network drive, set
|
|
CURRENT_DRIVE to 0x20.
|
|
* stage2/filesys.h [FSYS_TFTP] (FSYS_TFTP_NUM): Defined as 1.
|
|
[!FSYS_TFTP] (FSYS_TFTP_NUM): Defined as 0.
|
|
(NUM_FSYS): Added FSYS_TFTP_NUM.
|
|
* stage2/gunzip.c (gunzip_test_header): If FILEMAX >= 16MB, do
|
|
not try to examine the last 8 bytes of the file. This is
|
|
required for compressed files by TFTP.
|
|
* stage2/shared.h (sprintf): New macro.
|
|
(memcmp): Likewise.
|
|
(currticks): Declared.
|
|
(grub_sprintf): Likewise.
|
|
(grub_memcmp): Likewise.
|
|
* stage2/size_test: Set the maximum size of Stage 2 to 66560.
|
|
* netboot/3c509.c: New file.
|
|
* netboot/3c509.h: Likewise.
|
|
* netboot/3c59x.c: Likewise.
|
|
* netboot/Makefile.am: Likewise.
|
|
* netboot/Makefile.in: Likewise.
|
|
* netboot/byteorder.h: Likewise.
|
|
* netboot/compile: Likewise.
|
|
* netboot/config.c: Likewise.
|
|
* netboot/config.h: Likewise.
|
|
* netboot/cs89x0.c: Likewise.
|
|
* netboot/cs89x0.h: Likewise.
|
|
* netboot/eepro100.c: Likewise.
|
|
* netboot/fsys_tftp.c: Likewise.
|
|
* netboot/if.h: Likewise.
|
|
* netboot/io.h: Likewise.
|
|
* netboot/ip.c: Likewise.
|
|
* netboot/ip.h: Likewise.
|
|
* netboot/lance.c: Likewise.
|
|
* netboot/netboot.h: Likewise.
|
|
* netboot/netdevice.h: Likewise.
|
|
* netboot/nic.h: Likewise.
|
|
* netboot/ns8390.c: Likewise.
|
|
* netboot/ns8390.h: Likewise.
|
|
* netboot/pci.c: Likewise.
|
|
* netboot/pci.h: Likewise.
|
|
|
|
1999-09-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* configure.in (--enable-maintainer-mode): Do not use our own
|
|
rule, but use AM_MAINTAINER_MODE instead. If the maintainer mode
|
|
is enabled, then check for perl, and if it is not found, print
|
|
an error message and abort.
|
|
* docs/Makefile.am (grub.8): Regenerated if MAINTAINER_MODE is
|
|
defined, instead of GRUB_MAINT. Use the variable PERL rather
|
|
than running help2man directly.
|
|
|
|
1999-09-13 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* stage2/pc_slice.h (IS_PC_SLICE_TYPE_EXTENDED): New macro.
|
|
* stage2/disk_io.c (real_open_partition): Use
|
|
IS_PC_SLICE_TYPE_EXTENDED instead of comparing CURRENT_SLICE
|
|
with the extended partition types.
|
|
|
|
1999-09-11 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* acconfig.h: New file for autoheader support.
|
|
* acinclude.m4 (grub_ASM_EXT_C) Renamed to ...
|
|
(grub_ASM_USCORE): ... this. Define HAVE_ASM_USCORE if a C
|
|
symbol gets an underscore after compiling to assembler.
|
|
* configure.in: Added AM_CONFIG_HEADER. Autoconf 2.13 is now
|
|
required. Test for wgetch(), not getch() in -l[n]curses.
|
|
* stage2/shared.h (EXT_C): Defined.
|
|
Include the best existing header for [n]curses.
|
|
|
|
1999-09-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/boot.c (load_image): Use CURRENT_DRIVE and
|
|
CURRENT_PARTITION instead of SAVED_DRIVE and SAVED_PARTITION for
|
|
the boot device in the Multiboot information. Reported by
|
|
Stephen Early <steve@greenend.org.uk>.
|
|
|
|
1999-09-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/disk_io.c (sane_partition) [STAGE1_5]: Defined.
|
|
(set_device): Use sane_partition to make sure that CURRENT_DRIVE
|
|
has a valid value. Reported by Pavel Roskin.
|
|
|
|
1999-09-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Pavel Roskin:
|
|
* stage2/builtins.c (device_func) [GRUB_UTIL]: Use check_device
|
|
in order to make sure that DEVICE exists.
|
|
* grub/asmstub.c (check_device): New function.
|
|
(grub_stage2): Use check_device to probe a device.
|
|
|
|
* stage2/builtins.c (geometry_func) [GRUB_UTIL]: Copy the
|
|
modified geometry to GEOM and reset BUF_DRIVE. Reported by Pavel
|
|
Roskin.
|
|
|
|
* grub/main.c (no_floppy): New variable.
|
|
(probe_second_floppy): Likewise.
|
|
(OPT_NO_FLOPPY): New macro.
|
|
(OPT_PROBE_SECOND_FLOPPY): Likewise.
|
|
(longopts): Added no-floppy and probe-second-floppy.
|
|
(usage): Added the descriptions about --no-floppy and
|
|
--probe-second-floppy.
|
|
(main): Handle OPT_PROBE_SECOND_FLOPPY and OPT_NO_FLOPPY.
|
|
* grub/asmstub.c (grub_stage2): Print a message before the probe
|
|
routine. If NO_FLOPPY is non-zero, do not probe any floppy drive.
|
|
If PROBE_SECOND_FLOPPY is zero, skip the probe of the second
|
|
floppy drive.
|
|
(get_floppy_disk_name): New function.
|
|
(get_ide_disk_name): Likewise.
|
|
(get_scsi_disk_name): Likewise.
|
|
|
|
1999-09-10 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (device_func): New function.
|
|
(builtin_device): New variable.
|
|
(builtin_table): Added the pointer to BUILTIN_DEVICE.
|
|
(builtin_geometry) [GRUB_UTIL]: Accept extra arguments,
|
|
CYLINDER, HEAD, SECTOR and TOTAL_SECTOR, and, if they are found,
|
|
set the geometry of a drive specified to them.
|
|
* grub/asmstub.c (disks): Made global.
|
|
(assign_device_name): New function.
|
|
|
|
1999-09-09 Gordon Matzigkeit <gord@fig.org>
|
|
|
|
* docs/grub.texi (Commands): Synchronize descriptions with
|
|
builtins.c.
|
|
|
|
* stage2/builtins.c (hide_func): Use set_partition_hidden_flag.
|
|
(unhide_func): Likewise.
|
|
Many help message cleanups. From Pavel Roskin.
|
|
|
|
* stage2/shared.h (set_partition_hidden_flag): Declare.
|
|
|
|
* stage2/disk_io.c (set_partition_hidden_flag): New function
|
|
merged from hide_partition and unhide_partition. Make sure we OR
|
|
with the inverse of the flag bit rather than XORing to unhide the
|
|
partition.
|
|
|
|
1999-09-10 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/asmstub.c (_FILE_OFFSET_BITS): Defined.
|
|
(biosdisk) [!__linux__]: Pass the offset argument as off_t
|
|
instead of int to lseek, and compare the return value with
|
|
OFFSET. Reported by Pavel Roskin.
|
|
(grub_stage2) [!__linux__ && !__GNU__]: Print a warning message.
|
|
|
|
1999-09-08 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/stage2.c (run_menu): If run_script is successfully
|
|
finished, break the loop. Reported by Pavel Roskin.
|
|
Do not wait an input character when FALLBACK_ENTRY is less than
|
|
zero.
|
|
* stage2/cmdline.c (run_script): If ERRNUM is non-zero, wait an
|
|
input character, whether FALLBACK is less than zero or not.
|
|
|
|
1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (configfile_func): New function.
|
|
(builtin_configfile): New variable.
|
|
(builtin_table): Added the pointer to BUILTIN_CONFIGFILE.
|
|
|
|
1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Pavel Roskin:
|
|
* stage2/asm.S [!STAGE1_5] (chain_stage2): Deleted.
|
|
[STAGE1_5] (get_code_end): Likewise.
|
|
* stage2/char_io.c (grub_strncat): Likewise.
|
|
* stage2/common.c [STAGE1_5] (saved_mem_upper): Likewise.
|
|
* stage2/smp-imps.c (imps_release_cpus): Likewise.
|
|
(imps_any_new_apics): Made static.
|
|
(imps_enabled): Likewise.
|
|
(imps_num_cpus): Likewise.
|
|
(imps_lapic_addr): Likewise.
|
|
(imps_cpu_apic_map): Likewise.
|
|
(imps_apic_cpu_map): Likewise.
|
|
|
|
1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/builtins.c (testload_func): Fix the typos: 0x2000000 ->
|
|
0x200000 and 0x3000000 -> 0x300000.
|
|
|
|
1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Hisazumi Kenji <nel@soraneko.com>:
|
|
* stage2/fsys_ffs.c (mapblock_offset): New variable.
|
|
(mapblock_bsize): Likewise.
|
|
(MAPBUF): New macro.
|
|
(MAPBUF_LEN): Likewise.
|
|
(ffs_mount): Set MAPBLOCK_OFFSET to -1.
|
|
(block_map): Added partial read support.
|
|
|
|
1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/cmdline.c (find_command): If COMMAND is less than
|
|
(*BUILTIN)->NAME in dictionary order, break the loop.
|
|
* stage2/builtins.c (builtin_chainloader): Capitalize the
|
|
variable name in the short doc.
|
|
(builtin_color): Likewise.
|
|
(builtin_geometry): Likewise.
|
|
(builtin_help): Likewise.
|
|
(builtin_hide): Likewise.
|
|
(builtin_initrd): Likewise.
|
|
(builtin_install): Likewise.
|
|
(builtin_kernel): Likewise.
|
|
(builtin_module): Likewise.
|
|
(builtin_modulenounzip): Likewise.
|
|
(builtin_pause): Likewise.
|
|
(builtin_read): Likewise.
|
|
(builtin_root): Likewise.
|
|
(builtin_testload): Likewise.
|
|
(builtin_unhide): Likewise.
|
|
(builtin_uppermem): Likewise.
|
|
|
|
1999-09-05 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
The internal of the command handling is heavily modified, and
|
|
a new command "help" is added.
|
|
|
|
* stage1/stage1.S: Set the number of sectors for Stage 2 to 110.
|
|
* stage1/stage1_lba.S: Likewise.
|
|
* stage2/builtins.c: New file.
|
|
* stage2/Makefile.am (libgrub_a_SOURCES): Added builtins.c.
|
|
(stage2_exec_SOURCES): Likewise.
|
|
* stage2/boot.c (load_image): Return kernel_t instead int.
|
|
(bsd_boot): Change the type of the first argument to kernel_t.
|
|
* stage2/char_io.c (get_cmdline): Do not accept the argument
|
|
COMMANDS and accept the argument COMPLETION.
|
|
Print completions only if COMPLETION is non-zero.
|
|
Print the list of short docs when the command is completed.
|
|
* stage2/cmdline.c [GRUB_UTIL]: Do not include apic.h and
|
|
smp-imps.h.
|
|
(fallback): Deleted.
|
|
(password): Likewise.
|
|
(debug): Likewise.
|
|
(normal_color): Likewise.
|
|
(highlight_color): Likewise.
|
|
(print_cmdline_message): New function.
|
|
(commands): Deleted.
|
|
(debug_fs_print_func): Likewise.
|
|
(installaddr): Likewise.
|
|
(installlist): Likewise.
|
|
(installsect): Likewise.
|
|
(debug_fs_blocklist_func): Likewise.
|
|
(find_command): New function.
|
|
(init_cmdline): Initialize the data for the command-line
|
|
interface. The function to print the message is moved to
|
|
print_cmdline_message.
|
|
(enter_cmdline): Rewritten from scratch. Now deal with only the
|
|
pure command-line and the function to deal with a menu entry is
|
|
moved to run_script.
|
|
(run_script): New function.
|
|
* stage2/shared.h (PASSWORD_BUF): New macro.
|
|
(PASSWORD_BUFLEN): Likewise.
|
|
(CMDLINE_BUF): Likewise.
|
|
(CMDLINE_BUFLEN): Likewise.
|
|
(MENU_BUF): Likewise.
|
|
(MENU_BUFLEN): Likewise.
|
|
(fallback): Deleted.
|
|
(fallback_entry): Declared.
|
|
(default_entry): Likewise.
|
|
(BUILTIN_CMDLINE): New macro.
|
|
(BUILTIN_MENU): Likewise.
|
|
(BUILTIN_TITLE): Likewise.
|
|
(struct builtin): New tag.
|
|
(builtin_table): Declared.
|
|
(cmdline_t): Deleted.
|
|
(kernel_t): New type.
|
|
(kernel_type): Declared.
|
|
(grub_timeout): Likewise.
|
|
(init_builtins): Likewise.
|
|
(init_config): Likewise.
|
|
(find_command): Likewise.
|
|
(print_cmdline_message): Likewise.
|
|
(run_script): Likewise.
|
|
[!STAGE1_5] (bsd_boot): Deleted.
|
|
[!STAGE1_5] (load_image): Likewise.
|
|
[!STAGE1_5] (load_module): Likewise.
|
|
[!STAGE1_5] (load_initrd): Likewise.
|
|
* stage2/size_test: Set the maximum size of Stage 2 to 56320.
|
|
* stage2/stage2.c (grub_timeout): Deleted.
|
|
(menu_t): Likewise.
|
|
(run_menu): Changed the return type to void.
|
|
Use FALLBACK_ENTRY instead of FALLBACK.
|
|
Do not check the return value of enter_cmdline.
|
|
(run_menu) [GRUB_UTIL]: Call stop instead of returning
|
|
MENU_ABORT.
|
|
(cmain): Set MENU_ENTRIES to MENU_BUF.
|
|
Call init_config instead of clearing the variables directly.
|
|
Use CMDLINE_BUF for the command-line buffer instead of the
|
|
stack.
|
|
Adapted the analysis routine for the configuration file to the
|
|
new builtin commands interface.
|
|
Run enter_cmdline forever.
|
|
If run_menu returns, restart the loop.
|
|
|
|
1999-09-04 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* docs/menu.lst: More meaningful examples. Not using (0x80,0)
|
|
notation anymore.
|
|
* stage2/stage2.c (run_menu): Erase the entered password before
|
|
get_cmdline(). Help on TAB disabled when entering the password.
|
|
* stage2/char_io.c (get_cmdline): Restore command-line even if
|
|
there is no help string.
|
|
* configure.in: --disable-gunzip disables decompression in
|
|
stage2.
|
|
* stage2/gunzip.c [NO_DECOMPRESSION]: Disable all code if
|
|
decompression is disabled.
|
|
|
|
1999-09-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/boot.c (load_image): Use PHDR->P_PADDR instead of
|
|
PHDR->P_VADDR. Reported by Ramon van Handel <vhandel@chem.vu.nl>.
|
|
|
|
1999-09-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/help2man: Upgraded to 1.013.
|
|
* docs/grub.8: Regenerated.
|
|
|
|
1999-09-02 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* stage2/cmdline.c (enter_cmdline) [GRUB_UTIL]: Add a space in
|
|
the LBA warning message.
|
|
|
|
1999-09-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
The character `=' after a command is now optional.
|
|
|
|
* stage2/char_io.c (get_cmdline): Search for a space or a equal
|
|
character after the first word in CMDLINE when TAB lists
|
|
completions, instead of just searching for a eqaul character.
|
|
* stage2/cmdline.c (skip_to): Treat the character `=' as a space
|
|
if AFTER_EQUAL is non-zero.
|
|
(commands): Delete all the equal characters.
|
|
* docs/menu.lst: Likewise.
|
|
* docs/grub.texi: Likewise.
|
|
|
|
1999-09-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/asmstub.c (env_for_exit): New variable.
|
|
(grub_stage2): Do a setjmp in doit, and when it returns
|
|
non-zero, set STATUS to 1 if ERRNUM is non-zero.
|
|
(stop): Call longjmp instead of exit.
|
|
|
|
1999-08-31 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* stage2/boot.c [GRUB_UTIL] (bsd_boot_entry): New function.
|
|
(bsd_boot) [GRUB_UTIL]: Set ENTRY_ADDR to BSD_BOOT_ENTRY to fake
|
|
the *BSD boot.
|
|
|
|
1999-08-31 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/fsys_fat.c (fat_create_blocklist): Cast FAT_BUF to
|
|
unsigned short * instead of unsigned long *. Suggested by Pavel
|
|
Roskin.
|
|
|
|
1999-08-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Edward Killips <ekillips@triton.net>:
|
|
* stage2/cmdline.c (commands): Added hide and unhide.
|
|
(enter_cmdline): Likewise.
|
|
* stage2/disk_io.c (unhide_partition): New function.
|
|
(hide_partition): Likewise.
|
|
* stage2/pc_slice.h (PC_SLICE_TYPE_HIDDEN_FLAG): New macro.
|
|
|
|
1999-08-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Pavel Roskin <pavel_roskin@geocities.com>:
|
|
* stage2/fsys_minix.c (namelen): New variable.
|
|
(MINIX_NAME_LEN): Deleted.
|
|
(minix_mount): Set NAMELEN to 14 if SUPRTBLOCK->S_MAGIC is
|
|
MINIX_SUPER_MAGIC, and set NAMELEN to 30 if it is
|
|
MINIX_SUPER_MAGIC2.
|
|
(minix_dir): Use NAMELEN instead of MINIX_NAME_LEN.
|
|
|
|
1999-08-29 Pavel Roskin <pavel_roslin@geocities.com>
|
|
|
|
* grub/Makefile.am, stage1/Makefile.am, stage2/Makefile.am:
|
|
Avoid using variables inclosed in '@' because they cannot be
|
|
overridden at the make time.
|
|
|
|
1999-08-29 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* stage2/fsys_fat.c (fat_create_blocklist): Return 1 for the
|
|
root directory on FAT12 and FAT16.
|
|
|
|
1999-08-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/boot.c (load_image): Accept two arguments, KERNEL and
|
|
ARG. And use them instead of CUR_CMDLINE.
|
|
(load_module): Accept two arguments, MODULE and ARG. And use
|
|
them instead of CUR_CMDLINE.
|
|
(load_initrd): Accept one argument, INITRD. And use it instead
|
|
of CUR_CMDLINE.
|
|
(bsd_boot): Accept one additional argument, ARG. And use it
|
|
instead of CUR_CMDLINE.
|
|
* stage2/cmdline.c (enter_cmdline): Use MB_CMDLINE instead of
|
|
HEAP for the Multiboot command-line buffer.
|
|
* stage2/shared.h (MB_CMDLINE_BUF): New macro.
|
|
(MB_CMDLINE_BUFLEN): Likewise.
|
|
|
|
1999-08-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/Makefile.am [GRUB_MAINT] (grub.8): The argument for the
|
|
option --name is changed to "the grub shell".
|
|
* docs/grub.8: Regenerated.
|
|
* docs/grub.texi: Do not use the name "the Stage 2 emulator" any
|
|
more. Use the name "the grub shell" instead.
|
|
|
|
1999-08-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Klaus Reichl <klaus.reichl@alcatel.at>:
|
|
* stage2/fsys_minix.c: New file.
|
|
* stage2/size_test: Added a check for the size of minix_stage1_5.
|
|
* stage2/Makefile.am (libgrub_a_SOURCES): Added fsys_minix.c.
|
|
(libgrub_a_CFLAGS): Added -DFSYS_MINIX=1.
|
|
(nodist_pkgdata_DATA): Added minix_stage1_5.
|
|
(noinst_PROGRAMS): Added minix_stage1_5.exec.
|
|
(stage2_exec_SOURCES): Added fsys_minix.c.
|
|
(minix_stage1_5_exec_SOURCES): New variable.
|
|
(minix_stage1_5_exec_CFLAGS): Likewise.
|
|
(minix_stage1_5_exec_LDFLAGS): Likewise.
|
|
* stage2/pc_slice.h (PC_SLICE_TYPE_MINIX): New macro.
|
|
* stage2/disk_io.c (fsys_table) [FSYS_MINIX]: Added minix entry.
|
|
* stage2/filesys.h [FSYS_MINIX] (FSYS_MINIX_NUM): Set to 1.
|
|
[!FSYS_MINIX] (FSYS_MINIX_NUM): Set to 0.
|
|
[!NUM_FSYS] (NUM_FSYS): Added FSYS_MINIX_NUM.
|
|
* stage2/shared.h (STAGE2_ID_MINIX_STAGE1_5): New macro.
|
|
[STAGE1_5 && FSYS_MINIX] (STAGE2_ID): Set to
|
|
STAGE2_ID_MINIX_STAGE1_5.
|
|
* grub/Makefile.am (AM_CFLAGS): Added -DFSYS_MINIX=1.
|
|
* configure.in (--disable-minix): New option.
|
|
|
|
1999-08-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Jochen Hoenicke <jochen@gnu.org>:
|
|
* stage2/fat.h (FAT_BPB_FAT_SECTORS_16): New macro.
|
|
(FAT_BPB_FAT_SECTORS_32): Likewise.
|
|
(FAT_BPB_IS_FAT32): Likewise.
|
|
(FAT_BPB_ROOT_DIR_CLUSTER): Likewise.
|
|
(FAT_BPB_FAT_SECTORS): If FAT_BPB_FAT_SECTORS_16 returns
|
|
a non-zero value, return it. Otherwise return
|
|
FAT_BPB_FAT_SECTORS_32.
|
|
(FAT_DIRENTRY_FIRST_CLUSTER): Corrected.
|
|
* stage2/fsys_fat.c (root_dir): New variable.
|
|
(fat_mount): Use the macro IS_PC_SLICE_TYPE_FAT instead of
|
|
checking for each fs types directly.
|
|
Omit the >64 sectors check.
|
|
If the current fs type is FAT32, then set FAT_SIZE to 8 and
|
|
get the root from BPB.
|
|
(fat_create_blocklist): Use the macro SECTOR_SIZE instead of a
|
|
magic number.
|
|
(fat_dir): Set MAP to ROOT_DIR instead of -1.
|
|
* stage2/pc_slice.h (PC_SLICE_TYPE_FAT32): New macro.
|
|
(PC_SLICE_TYPE_FAT32_LBA): Likewise.
|
|
(PC_SLICE_TYPE_FAT16_LBA): Likewise.
|
|
(IS_PC_SLICE_TYPE_FAT): Likewise.
|
|
|
|
1999-08-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/fsys_ffs.c (ffs_mount): Do not shift the fs type
|
|
FS_BSDFFS. Reported by Takehiro Suzuki
|
|
<takehiro@coral.ocn.ne.jp>.
|
|
* stage2/fsys_fat.c (fat_mount): Do not shift the fs type
|
|
FS_MSDOS.
|
|
|
|
1999-08-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Pavel Roskin's patch that adds new options to disable arbitrary
|
|
filesystems is heavily modified and applied.
|
|
|
|
* configure.in (--disable-ext2fs): New option.
|
|
(--disable-fat): Likewise.
|
|
(--disable-ffs): Likewise.
|
|
(FSYS_CFLAGS): New variable. Set to filesystems the user choose.
|
|
* grub/Makefile.am (AM_CFLAGS): Added -DFSYS_EXT2FS=1,
|
|
-DFSYS_FAT=1 and -DFSYS_FFS=1.
|
|
* stage2/Makefile.am (libgrub_a_CFLAGS): Likewise.
|
|
(stage2_exec_CFLAGS): Added @FSYS_CFLAGS@.
|
|
* stage2/filesys.h
|
|
[!(FSYS_FFS || FSYS_FAT || FSYS_EXT2FS)] (FSYS_FFS): Deleted.
|
|
[!(FSYS_FFS || FSYS_FAT || FSYS_EXT2FS)] (FSYS_FAT): Likewise.
|
|
[!(FSYS_FFS || FSYS_FAT || FSYS_EXT2FS)] (FSYS_EXT2FS): Likewise.
|
|
* stage2/fsys_ext2fs.c [!FSYS_EXT2FS]: Do not define anything.
|
|
* stage2/fsys_fat.c [!FSYS_FAT]: Likewise.
|
|
* stage2/fsys_ffs.c [!FSYS_FFS]: Likewise.
|
|
|
|
1999-08-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage1/stage1_lba.S: Use STAGE1_DRP_ADDR for the address of
|
|
drive parameters instead of DRIVE_PARAMETER.
|
|
(drive_parameter): Deleted.
|
|
* stage1/stage1.h (STAGE1_DRP_ADDR): New macro.
|
|
(STAGE1_DRP_SIZE): Likewise.
|
|
|
|
1999-08-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/bios.c (get_diskinfo): In LBA mode, set TOTAL_SECTORS
|
|
to the low 32bits of DRP.TOTAL_SECTORS instead of the multiple
|
|
of CHS.
|
|
* stage2/cmdline.c (enter_cmdline) [GRUB_UTIL]: In the command
|
|
"geometry", print the device file name instead of CHS/LBA
|
|
information.
|
|
* stage2/shared.h (device_map): Declared.
|
|
* grub/asmstub.c (device_map): Defined as a global variable
|
|
instead of a local variable.
|
|
|
|
1999-08-10 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Support the NetBSD and OpenBSD partition slices.
|
|
|
|
* stage2/pc_slice.h (PC_SLICE_TYPE_BSD): Deleted.
|
|
(PC_SLICE_TYPE_FREEBSD): New macro.
|
|
(PC_SLICE_TYPE_OPENBSD): Likewise.
|
|
(PC_SLICE_TYPE_NETBSD): Likewise.
|
|
(IS_PC_SLICE_TYPE_BSD_WITH_FS): Likewise.
|
|
(IS_PC_SLICE_TYPE_BSD): Likewise.
|
|
* stage2/fsys_ffs.c (ffs_mount): Use the macro
|
|
IS_PC_SLICE_TYPE_BSD_WITH_FS instead of checking if
|
|
CURRECT_SLICE is equal to the BSD partition type directly.
|
|
* stage2/fsys_ext2fs.c (ext2fs_mount): Likewise.
|
|
* stage2/fsys_fat.c (fat_mount): Likewise.
|
|
* stage2/disk_io.c (check_BSD_parts): Set the low bits of
|
|
CURRENT_SLICE to PC_SLICE_TYPE_FREEBSD instead of
|
|
PC_SLICE_TYPE_BSD.
|
|
(real_open_partition): Use the macro IS_PC_SLICE_TYPE_BSD instead
|
|
of checking if CURRENT_SLICE is equal to the BSD partition type
|
|
directly.
|
|
|
|
1999-08-09 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/cmdline.c (commands): Added geometry.
|
|
(enter_cmdline): If CUR_HEAP has the string "geometry", print
|
|
out the information about a drive that the argument represents.
|
|
|
|
1999-08-09 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/stage2.c (run_menu): Terminate the string PASSWORD
|
|
before checking if ENTERED is identical to PASSWORD. Reported
|
|
by Mark Lundeberg <aa026@pgfn.bc.ca>.
|
|
|
|
1999-08-08 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/stage2.c (set_line_normal): New function.
|
|
(set_line_highlight): Likewise.
|
|
(run_menu): Do not call the function set_line directly any
|
|
longer, call set_line_normal and set_line_highlight instead.
|
|
|
|
From Pavel Roskin:
|
|
* stage2/stage2.c (run_menu) [GRUB_UTIL]: Quit when pushing the
|
|
key `q'.
|
|
|
|
1999-08-05 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* acinclude.m4 (grub_ASM_PREFIX_REQUIREMENT): New function.
|
|
* configure.in: Call grub_ASM_PREFIX_REQUIREMENT, and define
|
|
ADDR32 and DATA32 based on the result.
|
|
* stage2/asm.S: Replace addr32 and data32 prefixes with ADDR32
|
|
and DATA32 respectively.
|
|
|
|
1999-08-05 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* stage2/boot.c (load_image): Use RAW_ADDR macro when loading
|
|
an a.out kernel.
|
|
|
|
1999-08-04 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/asm.S: Make each of the addr32 and data32 prefixes
|
|
appear in the same line as it modifies, as the gas manual in
|
|
binutils-2.9.5.0.4 says "it must be in the same line".
|
|
|
|
1999-08-04 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* boot.c (load_image): Fix a strcmp test. Reported by Pavel
|
|
Roskin <pavel_roskin@geocities.com>.
|
|
|
|
1999-08-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From "Dan J. Walters" <djw@cs.utexas.edu>:
|
|
* stage2/i386-elf.h (EI_BRAND): New macro.
|
|
* stage2/boot.c (load_image): If the kernel is ELF, check if it
|
|
is a FreeBSD kernel as well as a Multiboot kernel, and if it is
|
|
a FreeBSD kernel, then mask ENTRY_ADDR since FreeBSD requires
|
|
that. Likewise, mask MEMADDR.
|
|
(bsd_boot): Set the bi_symtab and the bi_esymtab members of BI
|
|
only if MBI.FLAGS has the flag MB_INFO_AOUT_SYMS. Otherwise,
|
|
clear them.
|
|
|
|
1999-07-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Pavel Roskin <pavel_roskin@geocities.com>:
|
|
* grub/getopt.c: New file. Copied from texinfo-3.12n.
|
|
* grub/getopt1.c: Likewise.
|
|
* grub/getopt.h: Likewise.
|
|
* grub/Makefile.am (grub_SOURCES): Added getopt.c, getopt1.c and
|
|
getopt.h.
|
|
* configure.in: Check for string.h and strings.h.
|
|
* grub/asmstub.c (grub_stage2): Fix a misordering in the output
|
|
format of the inline assembly.
|
|
|
|
1999-07-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Pavel Roskin <pavel_roskin@geocities.com>:
|
|
* stage2/asm.S (get_diskinfo_standard): If the number of sectors
|
|
returned is zero, then return an error code, even if non-carrier.
|
|
|
|
1999-07-15 Gordon Matzigkeit <gord@zen.fig.org>
|
|
|
|
* docs/Makefile.am (grub.info): Use an ugly hack to downgrade
|
|
grub.texi so that it works with Debian's version of texinfo.
|
|
|
|
1999-07-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/bios.c (get_diskinfo): When DRIVE is a floppy drive,
|
|
try standard probe routine at first. Reported by Peter Astrand
|
|
<altic@lysator.liu.se>.
|
|
|
|
* grub/main.c (main): Call printf instead of grub_printf.
|
|
Reported by Klaus Reichl <a8709182@unet.univie.ac.at>.
|
|
|
|
1999-07-15 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/cmdline.c (skip_to): Don't increase CMDLINE if the
|
|
character to which CMDLINE points is NUL.
|
|
|
|
* stage2/Makefile.am (EXTRA_DIST): Removed smp-imps.c.
|
|
(stage2_exec_SOURCES): Added smp-imps.c.
|
|
* stage2/cmdline.c [!GRUB_UTIL] (IMPS_DEBUG) (KERNEL_PRINT)
|
|
(CMOS_WRITE_BYTE) (CMOS_READ_BYTE) (PHYS_TO_VIRTUAL)
|
|
(VIRTUAL_TO_PHYS) (inb) (outb) (cmos_write_byte)
|
|
(cmos_read_byte): These are now defined in ...
|
|
* stage2/smp-imps.c (IMPS_DEBUG) (KERNEL_PRINT)
|
|
(CMOS_WRITE_BYTE) (CMOS_READ_BYTE) (PHYS_TO_VIRTUAL)
|
|
(VIRTUAL_TO_PHYS) (inb) (outb) (cmos_write_byte)
|
|
(cmos_read_byte): ... here.
|
|
* stage2/cmdline.c [!GRUB_UTIL]: Include apic.h and smp-imps.h.
|
|
|
|
1999-07-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
The function ungetch is simulated so that the user can use a
|
|
buggy curses.
|
|
|
|
* grub/asmstub.c [HAVE_LIBCURSES] (save_char): New variable.
|
|
(getkey) [HAVE_LIBCURSES]: If SAVE_CHAR is not ERR, return
|
|
SAVE_CHAR and clear it.
|
|
(checkkey) [HAVE_LIBCURSES]: If SAVE_CHAR is not ERR, return
|
|
SAVE_CHAR. If C is not ERR, set SAVE_CHAR to C.
|
|
|
|
1999-07-14 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* stage2/char_io.c (get_cmdline) [GRUB_UTIL]: Recognize
|
|
backspace when ncurses fails to do this.
|
|
|
|
* grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: Call wtimeout
|
|
instead of nodelay.
|
|
(getkey) [HAVE_LIBCURSES]: Likewise.
|
|
|
|
1999-07-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage1/stage1_lba.S (probe_values): New variable. This is not
|
|
used actually, but prevents `install' command from failing
|
|
bogusly.
|
|
|
|
1999-07-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
All constants in stage1s are moved to stage1.h and renamed
|
|
appropriately, and include stage1.h instead.
|
|
|
|
* grub/Makefile.am (AM_CFLAGS): Added the include path to stage1.
|
|
* stage2/Makefile.am (INCLUDES): New variable.
|
|
* stage1/Makefile.am (stage1_exec_SOURCES): Added stage1.h
|
|
(stage1_lba_exec_SOURCES): Likewise.
|
|
* stage1/stage1.h: New file.
|
|
* stage1/stage1.S (SIGNATURE): Renamed to ...
|
|
* stage1/stage1.h (STAGE1_SIGNATURE): ... this.
|
|
* stage1/stage1.S (BPBEND): Renamed to ...
|
|
* stage1/stage1.h (STAGE1_BPBEND): ... this.
|
|
* stage1/stage1.S (PARTSTART): Renamed to ...
|
|
* stage1/stage1.h (STAGE1_PARTSTART): ... this.
|
|
* stage1/stage1.S (MINPARMSIZ): Renamed to ...
|
|
* stage1/stage1.h (STAGE1_MINPARMSIZE): ... this.
|
|
* stage1/stage1.S (LISTSIZ): Renamed to ...
|
|
* stage1/stage1.h (STAGE1_LISTSIZE): ... this.
|
|
* stage1/stage1.S (REALSTACK): Renamed to ...
|
|
* stage1/stage1.h (STAGE1_STACKSEG): ... this.
|
|
* stage1/stage1.S (BUFFERSEG): Renamed to ...
|
|
* stage1/stage1.h (STAGE1_BUFFERSEG): ... this.
|
|
* stage1/stage1.S (BIOS_HD_FLAG): Renamed to ...
|
|
* stage1/stage1.h (STAGE1_BIOS_HD_FLAG): ... this.
|
|
* stage1/stage1_lba.S (SIGNATURE): Removed.
|
|
* stage1/stage1_lba.S (BPBEND): Likewise.
|
|
* stage1/stage1_lba.S (PARTSTART): Likewise.
|
|
* stage1/stage1_lba.S (MINPARMSIZ): Likewise.
|
|
* stage1/stage1_lba.S (LISTSIZ): Likewise.
|
|
* stage1/stage1_lba.S (REALSTACK): Likewise.
|
|
* stage1/stage1_lba.S (BUFFERSEG): Likewise.
|
|
* stage1/stage1_lba.S (BIOS_HD_FLAG): Likewise.
|
|
|
|
* stage1/stage1.S (stage1_id): New variable.
|
|
* stage1/stage1_lba.S (stage1_id): Likewise.
|
|
* stage1/stage1.h (COMPAT_VERSION_MINOR): Set to 2.
|
|
(STAGE1_ID_OFFSET): New macro.
|
|
(STAGE1_ID_CHS): Likewise.
|
|
(STAGE1_ID_LBA): Likewise.
|
|
* stage2/cmdline.c (enter_cmdline) [!GRUB_UTIL]: When running
|
|
the command `install' and STAGE1_FILE is stage1_lba, check if
|
|
LBA is supported.
|
|
(enter_cmdline) [GRUB_UTIL]: In the same case above, check only
|
|
if CURRENT_DRIVE is a hard disk and, if so, print a warning
|
|
message, because /sbin/grub cannot detect if LBA is supported or
|
|
not.
|
|
|
|
* stage1/stage1_lba.S: Fix a bug that incorrectly assigns the
|
|
segment of buffer address.
|
|
|
|
1999-07-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/boot.c (load_image): When removing "vga=...", memmove
|
|
the length of VGA_END plus one.
|
|
|
|
1999-07-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/bios.c (get_diskinfo): In LBA mode, compute
|
|
TOTAL_SECTORS from DRP instead of GEOMETRY.
|
|
Clear GEOMETRY->FLAGS first.
|
|
|
|
* stage2/boot.c (load_image): Fix inverted lines.
|
|
|
|
1999-07-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Support Linux video mode selection.
|
|
|
|
* stage2/shared.h (LINUX_VID_MODE_OFFSET): New macro.
|
|
(LINUX_VID_MODE_NORMAL): Likewise.
|
|
(LINUX_VID_MODE_EXTENDED): Likewise.
|
|
(LINUX_VID_MODE_ASK): Likewise.
|
|
[!WITHOUT_LIBC_STUBS] (strlen): Likewise.
|
|
(grub_strlen): Declared.
|
|
* stage2/boot.c (load_image): Added Linux video mode selection.
|
|
* stage2/char_io.c [!STAGE1_5] (grub_strlen): New function.
|
|
|
|
1999-07-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/char_io.c (print_error): Print ERRNUM in the format of
|
|
%u instead of %d.
|
|
(convert_to_ascii) [STAGE1_5]: Eliminate the `x' and `d'
|
|
handling code.
|
|
(grub_printf): Declare FORMAT as `const char *'.
|
|
(grub_printf) [STAGE1_5]: Eliminate the `x' and `d' handling
|
|
code.
|
|
(get_based_digit): Removed.
|
|
(safe_parse_maxint): Remove unnecessary `register' prefixes,
|
|
because GCC does better optimization.
|
|
Declare DIGIT as `unsigned int' and calculate the value by more
|
|
compact instructions.
|
|
[!STAGE1_5] (grub_strncat): Declare S2 as `const char *'.
|
|
[!STAGE1_5] (grub_strcmp): Declare S1 and S2 as `const char *'.
|
|
[!STAGE1_5] (grub_strstr): Likewise.
|
|
(grub_memmove): Declare FROM as `const char *'.
|
|
The copy code is replaced with inline assembly code stolen from
|
|
Linux-2.2.2.
|
|
|
|
* stage2/shared.h (grub_printf) : Corrected.
|
|
(grub_strncat): Likewise.
|
|
(grub_memmove): Likewise.
|
|
(grub_strstr): Likewise.
|
|
(grub_strcmp): Likewise.
|
|
|
|
1999-07-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage1/stage1.S (sectors): Change the size to long.
|
|
(heads): Likewise.
|
|
(sector_start): New variable.
|
|
(head_start): Likewise.
|
|
(cylinder_start): Likewise.
|
|
(final_init): Set %si to SECTORS first, and use %si for memory
|
|
references.
|
|
Zero %eax so that the high 16 bits are always zero.
|
|
Set %di to FIRSTLIST - LISTSIZ instead of FIRSTLIST.
|
|
(bootloop): Omit the complex CHS recomputation, and always
|
|
compute them from LBA address instead.
|
|
Call 32bits div instructions instead of 16bits div instructions.
|
|
Update the position where to load data from at the end of this
|
|
loop, instead of the beginning.
|
|
|
|
* stage1/stage1_lba.S: New file.
|
|
* stage1/Makefile.am (nodist_pkgdata_DATA): Added stage1_lba.
|
|
(LDFLAGS): New variable.
|
|
(noinst_PROGRAMS): Added stage1_lba.exec.
|
|
(stage1_lba_exec_SOURCES): New variable.
|
|
(%: %.exec): New rule.
|
|
|
|
1999-06-28 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/main.c (main): The third argument for strtoul is changed
|
|
to 0 in the case where an option is OPT_INSTALL_PARTIION.
|
|
Reported by Pavel Roskin <pavel_roskin@geocities.com>.
|
|
|
|
1999-06-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/shared.h (STAGE2_STAGE2_ID): New macro.
|
|
(STAGE2_VER_STR_OFFS): Set to 0xd.
|
|
(STAGE2_ID_STAGE2): New macro.
|
|
(STAGE2_ID_FFS_STAGE1_5): Likewise.
|
|
(STAGE2_ID_E2FS_STAGE1_5): Likewise.
|
|
(STAGE2_ID_FAT_STAGE1_5): Likewise.
|
|
(STAGE2_ID) [!STAGE1_5]: Defined as STAGE2_ID_STAGE2.
|
|
(STAGE2_ID) [STAGE1_5] [FSYS_FFS]: Defined as
|
|
STAGE2_ID_FFS_STAGE1_5.
|
|
(STAGE2_ID) [STAGE1_5] [FSYS_EXT2FS]: Defined as
|
|
STAGE2_ID_STAGE1_5.
|
|
(STAGE2_ID) [STAGE1_5] [FSYS_FAT]: Defined as
|
|
STAGE2_ID_FAT_STAGE1_5.
|
|
(COMPAT_VERSION_MINOR): Set to 1.
|
|
* stage2/asm.S (stage2_id): New variable.
|
|
* stage1/stage1.S: Change the minor version to 1.
|
|
|
|
1999-06-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* configure.in (CFLAGS): Set to "-g", since only this flag is
|
|
always sharable.
|
|
(STAGE1_CFLAGS): Set to "-O2", and AC_SUBST this.
|
|
(GRUB_CFLAGS): Likewise.
|
|
(saved_CFLAGS): New variable for temporarily saving CFLAGS.
|
|
(STAGE2_CFLAGS): Set to "-Os" if this option is available,
|
|
otherwise set to "-fno-strength-reduce -fno-unroll-loops",
|
|
and then AC_SUBST this.
|
|
* grub/Makefile.am (AM_CFLAGS): Prepended @GRUB_CFLAGS@.
|
|
* stage1/Makefile.am (AM_CFLAGS): Prepended @STAGE1_CFLAGS@.
|
|
* stage2/Makefile.am (libgrub_a_CFLAGS): Prepened @GRUB_CFLAGS@.
|
|
(STAGE2_COMPILE): Prepended @STAGE2_CFLAGS@.
|
|
|
|
* stage2/asm.S (chain_stage2): Pass CURRENT_PARTITION and
|
|
CURRENT_DRIVE, instead of INSTALL_PARTITION and BOOT_DRIVE.
|
|
|
|
1999-06-27 Pavel Roskin <pavel_roskin@geocities.com>
|
|
|
|
* configure.in: set CFLAGS to "-Os -g" for compilers which
|
|
understand "-Os" if CFLAGS is not already set. Use
|
|
"-O2 -fno-strength-reduce -fno-unroll-loops -g" for older gcc
|
|
versions.
|
|
|
|
1999-06-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage2/disk_io.c (attempt_mount) [STAGE1_5]: Set FSYS_TYPE to
|
|
0, and set it to NUM_FSYS if mount fails.
|
|
(real_open_partition): Call rawread in Stage 1.5 as well.
|
|
|
|
1999-06-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* Makefile.am (SUBDIRS): Change the order of the directories so
|
|
that a directory will be made after the dependent directories
|
|
are made. `grub' depends on `stage2', and `docs' depends on
|
|
`grub'. Do not make in parallel.
|
|
* docs/help2man: Copied from help2man-1.012, which contains my
|
|
previous change.
|
|
* docs/grub.8: Regenerated.
|
|
|
|
1999-06-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Build process is cleaned up. Stage 2 and Stage 1.5's are all
|
|
built in the directory stage2.
|
|
|
|
From Pavel Roskin <pavel_roskin@geocities.com>:
|
|
* Makefile.am (SUBDIRS): e2fs_stage1_5, ffs_stage1_5,
|
|
fat_stage1_5 and shared_src are removed.
|
|
(DISTCLEANFILES): Deleted.
|
|
* configure.in: Call AC_PROG_RANLIB.
|
|
(AC_INIT): Change the argument to stage2/stage2.c.
|
|
(LIBS): Renamed to ...
|
|
(GRUB_LIBS): ... this, and call AC_SUBST for this.
|
|
Our own rules are removed.
|
|
(AC_OUTPUT): e2fs_stage1_5/Makefile, ffs_stage1_5/Makefile,
|
|
fat_stage1_5/Makefile and shared_src/Makefile are removed.
|
|
* docs/Makefile.am (HELP2MAN): The prefix $(srcdir) is removed.
|
|
[GRUB_MAINT]: Prepend $(srcdir) to $(HELP2MAN).
|
|
* e2fs_stage1_5/Makefile.am: Deleted.
|
|
* e2fs_stage1_5/Makefile.in: Likewise.
|
|
* fat_stage1_5/Makefile.am: Likewise.
|
|
* fat_stage1_5/Makefile.in: Likewise.
|
|
* ffs_stage1_5/Makefile.am: Likewise.
|
|
* ffs_stage1_5/Makefile.in: Likewise.
|
|
* grub/Makefile.am (CLEANFILES): Likewise.
|
|
(COMPILE): Likewise.
|
|
(INCLUDES): Likewise.
|
|
(DEP_FILES): Likewise.
|
|
(@SHARED_SRC_RULES@): Likewise.
|
|
(AM_CFLAGS): New variable.
|
|
(grub_LDADD): Set to the library libgrub.a and @GRUB_LIBS@.
|
|
* shared_src/Makefile.am: Deleted.
|
|
* shared_src/Makefile.in: Likewise.
|
|
* shared_src/apic.h: Moved to ...
|
|
* stage2/apic.h: ... here.
|
|
* shared_src/asm.S: Moved to ...
|
|
* stage2/asm.S: ... here.
|
|
* shared_src/bios.c: Moved to ...
|
|
* stage2/bios.c: ... here.
|
|
* shared_src/boot.c: Moved to ...
|
|
* stage2/boot.c: ... here.
|
|
* shared_src/char_io.c: Moved to ...
|
|
* stage2/char_io.c: ... here.
|
|
* shared_src/cmdline.c: Moved to ...
|
|
* stage2/cmdline.c: ... here.
|
|
* shared_src/common.c: Moved to ...
|
|
* stage2/common.c: ... here.
|
|
* shared_src/defs.h: Moved to ...
|
|
* stage2/defs.h: ... here.
|
|
* shared_src/dir.h: Moved to ...
|
|
* stage2/dir.h: ... here.
|
|
* shared_src/disk_inode.h: Moved to ...
|
|
* stage2/disk_inode.h: ... here.
|
|
* shared_src/disk_inode_ffs.h: Moved to ...
|
|
* stage2/disk_inode_ffs.h: ... here.
|
|
* shared_src/disk_io.c: Moved to ...
|
|
* stage2/disk_io.c: ... here.
|
|
* shared_src/fat.h: Moved to ...
|
|
* stage2/fat.h: ... here.
|
|
* shared_src/filesys.h: Moved to ...
|
|
* stage2/filesys.h: ... here.
|
|
* shared_src/freebsd.h: Moved to ...
|
|
* stage2/freebsd.h: ... here.
|
|
* shared_src/fs.h: Moved to ...
|
|
* stage2/fs.h: ... here.
|
|
* shared_src/fsys_ext2fs.c: Moved to ...
|
|
* stage2/fsys_ext2fs.c: ... here.
|
|
* shared_src/fsys_fat.c: Moved to ...
|
|
* stage2/fsys_fat.c: ... here.
|
|
* shared_src/fsys_ffs.c: Moved to ...
|
|
* stage2/fsys_ffs.c: ... here.
|
|
* shared_src/gunzip.c: Moved to ...
|
|
* stage2/gunzip.c: ... here.
|
|
* shared_src/i386-elf.h: Moved to ...
|
|
* stage2/i386-elf.h: ... here.
|
|
* shared_src/imgact_aout.h: Moved to ...
|
|
* stage2/imgact_aout.h: ... here.
|
|
* shared_src/mb_header.h: Moved to ...
|
|
* stage2/mb_header.h: ... here.
|
|
* shared_src/mb_info.h: Moved to ...
|
|
* stage2/mb_info.h: ... here.
|
|
* shared_src/pc_slice.h: Moved to ...
|
|
* stage2/pc_slice.h: ... here.
|
|
* shared_src/shared.h: Moved to ...
|
|
* stage2/shared.h: ... here.
|
|
* shared_src/smp-imps.c: Moved to ...
|
|
* stage2/smp-imps.c: ... here.
|
|
* shared_src/smp-imps.h: Moved to ...
|
|
* stage2/smp-imps.h: ... here.
|
|
* shared_src/stage1_5.c: Moved to ...
|
|
* stage2/stage1_5.c: ... here.
|
|
* shared_src/stage2.c: Moved to ...
|
|
* stage2/stage2.c: ... here.
|
|
* stage1/Makefile.am (pkgdata_DATA): Renamed to ...
|
|
(nodist_pkgdata_DATA): ... this.
|
|
(COMPILE): Deleted.
|
|
(AM_CFLAGS): New variable.
|
|
* stage2/Makefile.am: Completely rewritten from scratch.
|
|
(TESTS): New variable.
|
|
(noinst_SCRIPTS): Likewise.
|
|
(noinst_HEADERS): Likewise.
|
|
(EXTRA_DIST): Set to smp-imps.c and $(noinst_SCRIPTS).
|
|
(noinst_LIBRARIES): New variable.
|
|
(libgrub_a_SOURCES): Likewise.
|
|
(libgrub_a_CFLAGS): Likewise.
|
|
(pkgdata_DATA): Deleted.
|
|
(nodist_pkgdata_DATA): New variable.
|
|
(MOSTLYCLEANFILES): Set to $(noinst_PROGRAMS).
|
|
(COMPILE): Deleted.
|
|
(INCLUDES): Likewise.
|
|
(stage2_exec_LDADD): Likewise.
|
|
(DEP_FILES): Likewise.
|
|
(stage2_exec_SOURCES): Set to the actual source files instead of
|
|
dummy.
|
|
(DISTFILES): Deleted.
|
|
(stage2.exec): Likewise.
|
|
(stage2): Likewise.
|
|
(@SHARED_SRC_RULES@): Likewise.
|
|
(noinst_PROGRAMS): Set to executable formats of Stage 2 and
|
|
Stage 1.5's.
|
|
(STAGE2_LINK): New variable.
|
|
(STAGE2_COMPILE): Likewise.
|
|
(STAGE1_5_LINK): Likewise.
|
|
(STAGE1_5_COMPILE): Likewise.
|
|
(stage2_exec_CFLAGS): Likewise.
|
|
(stage2_exec_LDFLAGS): Likewise.
|
|
(e2fs_stage1_5_exec_SOURCES): Likewise.
|
|
(e2fs_stage1_5_exec_CFLAGS): Likewise.
|
|
(e2fs_stage1_5_exec_LDFLAGS): Likewise.
|
|
(fat_stage1_5_exec_SOURCES): Likewise.
|
|
(fat_stage1_5_exec_CFLAGS): Likewise.
|
|
(fat_stage1_5_exec_LDFLAGS): Likewise.
|
|
(ffs_stage1_5_exec_SOURCES): Likewise.
|
|
(ffs_stage1_5_exec_CFLAGS): Likewise.
|
|
(ffs_stage1_5_exec_LDFLAGS): Likewise.
|
|
(% : %.exec): New rule.
|
|
|
|
* stage2/size_test: New file, for checking for the sizes of
|
|
Stage 2 and Stage 1.5's.
|
|
|
|
1999-06-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* stage1/stage1.S: Call testb instead of andb when checking if
|
|
the drive is a floppy.
|
|
|
|
1999-06-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/asmstub.c [__linux__]: Include linux/fs.h for BLKFLSBUF.
|
|
(grub_stage2): Call sync before and after calling doit.
|
|
(gurb_stage2) [__linux__]: Invalidate buffer caches by BLKFLSBUF
|
|
ioctl.
|
|
* grub/main.c (main): Call sync first. Suggested by Pavel Roskin
|
|
<pavel_roskin@geocities.com>.
|
|
|
|
* configure.in: Curses libraries are always checked.
|
|
(--enable-sbin-grub): Deleted. Now /sbin/grub is always built.
|
|
(--enable-maintainer-mode): New option.
|
|
* grub/Makefile.am (EXTRA_PROGRAMS): Deleted.
|
|
(sbin_PROGRAMS): Just set to grub.
|
|
* docs/Makefile.am (man_MANS): New variable.
|
|
(HELP2MAN): Likewise.
|
|
(noinst_SCRIPTS): Likewise.
|
|
(EXTRA_DIST): Add $(man_MANS) and $(noinst_SCRIPTS).
|
|
[GRUB_MAINT]: Define the rule for the /sbin/grub manual.
|
|
* docs/help2man: Copied from texinfo-3.12i.
|
|
(--section): New option to specify which section a manual
|
|
belongs to.
|
|
(opt_section): New variable.
|
|
(section): Likewise.
|
|
* docs/grub.8: Produced by help2man automatically.
|
|
|
|
1999-06-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* shared_src/char_io.c (get_cmdline): Add two missing `break's.
|
|
|
|
* shared_src/cmdline.c (commands): Add quit.
|
|
(enter_cmdline): Change the return type to cmdline_t, and return
|
|
CMDLINE_OK if successful, otherwise CMDLINE_ERROR if fail.
|
|
(enter_cmdline) [GRUB_UTIL]: Return CMDLINE_ABORT if CUR_HEAP
|
|
contains "quit".
|
|
[!GRUB_UTIL]: Just print an annotation message.
|
|
* shared_src/shared.h (cmdline_t): New enum type.
|
|
(enter_cmdline): Change the return type to cmdline_t.
|
|
(cmain): Remove ``noreturn'' attribute.
|
|
* shared_src/stage2.c (menu_t): New enum type.
|
|
(run_menu): Change the return type to menu_t.
|
|
If enter_cmdline returns CMDLINE_ABORT, then return MENU_ABORT,
|
|
otherwise return MENU_OK.
|
|
(cmain): If enter_cmdline aborts, then break the command-line
|
|
loop and return. If run_menu aborts, then return.
|
|
|
|
1999-06-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* shared_src/Makefile.am (EXTRA_DIST): Add bios.c. Reported by
|
|
Pavel Roskin <pavel_roskin@geocities.com>.
|
|
|
|
1999-06-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/Makefile.am (html): Deleted.
|
|
(txt): Likewise.
|
|
(EXTRA_DIST): $(txt) and $(html) are removed.
|
|
* docs/boot-proposal.html: Removed.
|
|
* docs/errors.html: Likewise.
|
|
* docs/faq.html: Likewise.
|
|
* docs/grub.html: Likewise.
|
|
* docs/install.html: Likewise.
|
|
* docs/mem64mb.html: Likewise.
|
|
* docs/technical.html: Likewise.
|
|
* docs/using.html: Likewise.
|
|
* docs/PC_partitioning.txt: Likewise.
|
|
* docs/bios_mapping.txt: Likewise.
|
|
* docs/commands.txt: Likewise.
|
|
* docs/embedded_data.txt: Likewise.
|
|
* docs/filesystem.txt: Likewise.
|
|
|
|
1999-06-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
From Alexander K. Hudek <alexhudek@home.com>:
|
|
* shared_src/disk_io.c (real_open_partition): Check if
|
|
CURRENT_SLICE is equal to PC_SLICE_TYPE_WIN95_EXTENDED as well.
|
|
* shared_src/pc_slice.c (PC_SLICE_TYPE_WIN95_EXTENDED): New
|
|
macro.
|
|
* shared_src/bios.c (biosdisk): Clear the reserved member of DAP.
|
|
|
|
1999-06-08 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Color-menu support based on Peter Astrand
|
|
<altic@lysator.liu.se>'s patch.
|
|
|
|
* shared_src/asm.S (nocursor): New function.
|
|
* shared_src/cmdline.c (normal_color): New variable.
|
|
(highlight_color): Likewise.
|
|
(commands): Added "color" command.
|
|
(enter_cmdline): Handle the color command.
|
|
* shared_src/shared.h (normal_color): Declared.
|
|
(highlight_color): Likewise.
|
|
[!GRUB_UTIL] (nocursor): Likewise.
|
|
* shared_src/stage2.c (print_border) [!GRUB_UTIL]: Color the
|
|
menu.
|
|
(run_menu) [!GRUB_UTIL]: Call nocursor, and call set_line with
|
|
the second argument HIGHLIGHT_COLOR when highlighting a line,
|
|
and NORMAL_COLOR when drawing a normal line.
|
|
(cmain): Initialize normal_color and highlight_color. Handle
|
|
the color command in the same way as the command-line
|
|
interface.
|
|
|
|
1999-06-07 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* e2fs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 31744.
|
|
* fat_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Likewise.
|
|
|
|
1999-06-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
The debug version of Stage 2 is removed.
|
|
|
|
* shared_src/cmdline.c: The imps code is now defined if GRUB_UTIL
|
|
is not defined, but not if DEBUG.
|
|
(debug): New global variable.
|
|
(commands): All commands are always enabled, and added "debug".
|
|
(debug_fs_print_func): Defined unconditionally.
|
|
(debug_fs_blocklist_func): If DEBUG is true, then call printf.
|
|
(enter_cmdline): Handle "testload", "read", "fstest",
|
|
"impsprobe" and "displaymem" unconditionally, and added "debug"
|
|
handling.
|
|
[GRUB_UTIL]: If a command is impsprobe, just fails.
|
|
* shared_src/disk_io.c (devread) [!STAGE1_5]: If DEBUG_FS and
|
|
DEBUG are true, then call printf.
|
|
* shared_src/asm.S (patch_code): Defined unconditionally.
|
|
(patch_code_end): Likewise.
|
|
* stage1/stage1.S (firstlist) [!FFS_STAGE1_5]: Increase the
|
|
number of sectors to 90, because Stage 2 is larger than 80
|
|
sectors.
|
|
* configure.in: The option --enable-debug is removed, and do
|
|
not output "stage2_debug/Makefile".
|
|
* Makefile.am (SUBDIRS): stage2_debug is removed.
|
|
* stage2_debug/Makefile.am: Deleted.
|
|
* stage2_debug/Makefile.in: Likewise.
|
|
|
|
1999-06-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/main.c (verbose): New variable.
|
|
(read_only): Likewise.
|
|
(OPT_VERBOSE): New macro.
|
|
(OPT_READ_ONLY): Likewise.
|
|
(longopts): Add --read-only and --verbose options.
|
|
(usage): Add the descriptions about --read-only and --verbose.
|
|
(main): Handle OPT_VERBOSE and OPT_READ_ONLY.
|
|
If HOLD and VERBOSE are non-zero, then display the message
|
|
about how to restart /sbin/grub.
|
|
|
|
* shared_src/shared.h (verbose) [GRUB_UTIL]: Declared.
|
|
(read_only) [GRUB_UTIL]: Likewise.
|
|
|
|
* grub/asmstub.c (hex_dump): New function.
|
|
(biosdisk): In the case where SUBFUNC is
|
|
BIOSDISK_WRITE, check for READ_ONLY and call nwrite if
|
|
READ_ONLY is zero. If VERBOSE is non-zero, display what GRUB
|
|
will try to do.
|
|
(get_diskinfo): Open DEVNAME with the mode O_RDWR if READ_ONLY
|
|
is zero, and attempt to open DEVNAME with the mode O_RDONLY
|
|
regardless of ERRNO if READ_ONLY is non-zero. If VERBOSE is
|
|
non-zero, then display the drive DRIVE and the file DEVNAME.
|
|
|
|
* shared_src/disk_io.c (set_device) [STAGE1_5]: Eliminate
|
|
completion code.
|
|
|
|
1999-06-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/asmstub.c: Do not use I_AM_VERY_BRAVE any more.
|
|
(grub_stage2): Delete first_scsi_disk and add a variable
|
|
num_hd, which is used for counting how many drives are
|
|
detected.
|
|
Initialize the flags member of each element of disks to -1
|
|
instead of 0, and check if it is equal to -1 instead of 0 when
|
|
close it.
|
|
(get_diskinfo): Treat -1 as non-caching state instead of 0.
|
|
|
|
1999-06-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Reported from Klaus Reichl <a8709182@unet.univie.ac.at>:
|
|
* docs/.cvsignore: New file.
|
|
* shared_src/disk_io.c (print_a_completion): New function
|
|
which saves what has been printed to UNIQUE_STRING and printf
|
|
it.
|
|
(unique) [!STAGE1_5]: New variable.
|
|
(unique_string): Likewise.
|
|
(print_completions): Use print_a_completion, and improve the
|
|
completion facility.
|
|
* shared_src/fsys_ext2fs.c (ext2fs_dir) [!STAGE1_5]: Use
|
|
print_a_completion instead of just printf.
|
|
* shared_src/fsys_ffs.c (ffs_dir) [!STAGE1_5]: Likewise.
|
|
* shared_src/fsys_fat.c (fat_dir) [!STAGE1_5]: Likewise.
|
|
* shared_src/shared.h (print_a_completion): Declared.
|
|
* shared_src/cmdline.c (enter_cmdline): Explicitly cast
|
|
int to pointer to char for grub_read.
|
|
* grub/asmstub.c (grub_stage2) [__linux__]: Don't use /dev/fd1.
|
|
Probe 4 IDE drives instead of 2.
|
|
(biosdisk) [__linux__]: Add a prototype for _llseek.
|
|
* shared_src/char_io.c (get_cmdline): Update LPOS and LLEN_OLD
|
|
when the functon print_completion modifies CMDLINE.
|
|
* shared_src/stage2.c (get_line_from_config): Fix LITERAL
|
|
handling.
|
|
|
|
1999-05-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/asmstub.c (grub_stage2): Fix a memory leak that FP is
|
|
not closed.
|
|
|
|
1999-05-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/main.c: Replace OPT_DISABLE_CONFIG_FILE and
|
|
OPT_DISABLE_CURSES with OPT_NO_CONFIG_FILE and OPT_NO_CURSES
|
|
respectively.
|
|
(longopts): Rename from "disable-config-file" to
|
|
"no-config-file", and from "disable-curses" to "no-curses".
|
|
(usage): Use "grub" instead of ARGV[0], read the standards.
|
|
Change the help message according to the changes above.
|
|
(main): Handle OPT_NO_CONFIG_FILE and OPT_NO_CURSES, instead
|
|
of OPT_DISABLE_CONFIG_FILE and OPT_DISABLE_CURSES.
|
|
|
|
1999-05-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/TODO: Moved to ...
|
|
* TODO: ... here.
|
|
* docs/BUGS: Moved to ...
|
|
* BUGS: ... here.
|
|
* docs/COPYING: Removed.
|
|
* docs/Makefile.am (EXTRA_DIST): Get rid of BUGS.
|
|
* Makefile.am (EXTRA_DIST): Set to BUGS.
|
|
|
|
1999-05-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* acinclude.m4 (grub_ASM_EXT_C): Do not overrun the command
|
|
shift. Reported by Pavel Roskin <pabel_roskin@geocities.com>.
|
|
|
|
1999-05-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/Makefile.am (info_TEXINFOS): Added multiboot.texi.
|
|
* docs/multiboot.texi: New file. From Kunihiro Ishiguro.
|
|
|
|
1999-05-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/asmstub.c: Include <errno.h>. Reported by Kunihiro
|
|
Ishiguro <kunihiro@zebra.org>.
|
|
|
|
1999-05-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Reported by Brian Brunswick <brian@skarpsey.demon.co.uk>:
|
|
* shared_src/asm.S (start) [STAGE1_5]: Jump to 0x0:0x2000.
|
|
* shared_src/cmdline.c (enter_cmdline): Doesn't check for the jump
|
|
address in stage2. We are not paranoid.
|
|
Add a missing RAW_ADDR macro.
|
|
* shared_src/diskio.c (grub_open): Call setup_part even in stage1.5.
|
|
And, include necessary functions that were eliminated incorrectly.
|
|
* shared_src/char_io.c [STAGE1_5]: Eliminate unnecessary functions
|
|
for stage1.5.
|
|
|
|
* grub/asmstub.c (nread): New function. Handle EINTR.
|
|
(nwrite): Likewise.
|
|
(biosdisk) [I_AM_VERY_BRAVE]: When SUBFUNC is BIOSDISK_WRITE, call
|
|
nwrite.
|
|
|
|
Reported by Pavel Roskin <pavel_roskin@geocities.com>:
|
|
* shared_src/fsys_ext2fs.c (off_t): Renamed to ...
|
|
(linux_off_t): ... this.
|
|
* shared_src/defs.h (off_t): Renamed to ...
|
|
(mach_off_t): ... this.
|
|
* shared_src/fs.h (BBOFF): Use mach_off_t instead of off_t.
|
|
(SBOFF): Likewise.
|
|
|
|
* e2fs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 81920.
|
|
* fat_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Likewise.
|
|
* ffs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 7168.
|
|
|
|
1999-05-03 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
From Pavel Roskin:
|
|
* shared_src/shared.h: Redeclare.
|
|
|
|
* grub/main.c (main): Use strncpy rather than pointer assignment
|
|
to set the config file name.
|
|
|
|
* grub/asmstub.c: Make config_file a static array, not a pointer.
|
|
Correct the value of VERSION_STRING.
|
|
|
|
1999-04-10 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* debian/rules (build): Install into /lib instead of /share.
|
|
|
|
1999-05-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
Preliminary non-interactive use support.
|
|
|
|
* grub/main.c (use_config_file): New variable.
|
|
(use_curses): Likewise.
|
|
(OPT_DISABLE_CONFIG_FILE): New constant.
|
|
(OPT_DISABLE_CURSES): Likewise.
|
|
(OPT_BATCH): Likewise.
|
|
(longopts): Add new options, --disable-config-file, --disable-curses,
|
|
and --batch.
|
|
(usage): Print the help messages about these new options.
|
|
(main): Handle them.
|
|
|
|
* grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: If ! USE_CURSES,
|
|
fallback non-curses code.
|
|
(stop) [HAVE_LIBCURSES]: Likewise.
|
|
(cls) [HAVE_LIBCURSES]: Likewise.
|
|
(getxy) [HAVE_LIBCURSES]: Likewise.
|
|
(gotoxy) [HAVE_LIBCURSES]: Likewise.
|
|
(grub_putchar) [HAVE_LIBCURSES]: Likewise.
|
|
(getkey) [HAVE_LIBCURSES]: Likewise.
|
|
(checkkey) [HAVE_LIBCURSES]: Likewise.
|
|
(set_attrib) [HAVE_LIBCURSES]: Likewise.
|
|
|
|
* shared_src/cmdline.c (enter_cmdline): Do not use getc, but use
|
|
getkey.
|
|
|
|
* shared_src/stage2.c (cmain) [GRUB_UTIL]: Check if USE_CONFIG_FILE
|
|
is non-zero or not.
|
|
|
|
* shared_src/shared.h (getc): Removed.
|
|
(use_config_file) [GRUB_UTIL]: Add the declaration.
|
|
(use_curses) [GRUB_UTIL]: Likewise.
|
|
|
|
1999-05-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* shared_src/asm.S (biosdisk_standard): Pop %ebp correctly, reported
|
|
by Pavel Roskin <pavel_roskin@geocities.com>.
|
|
|
|
1999-04-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/menu.lst: Rewritten, so that it contains up-to-date
|
|
information and FAQish configuration examples.
|
|
|
|
1999-04-09 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* shared_src/asm.S (get_diskinfo_floppy): Correct the number of heads
|
|
and the one of cylinders.
|
|
|
|
1999-04-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/asmstub.c (get_diskinfo): Compute the total number of sectors
|
|
for DRIVE.
|
|
|
|
* shared_src/asm.S (get_diskinfo_standard): Clear the data segment
|
|
after calling int 0x13. Restore the base pointer after returning
|
|
to protected mode.
|
|
(get_diskinfo_floppy): Likewise.
|
|
|
|
* shared_src/bios.c (get_diskinfo): Always set the size of DRP to
|
|
the max size of DRP, regardless of the major version of extensions.
|
|
|
|
1999-04-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* shared_src/shared.h (struct geometry): Declare total_sectors as
|
|
unsigned long instead of unsigned long long, because GRUB represents
|
|
a sector number by 4bytes integer, so it doesn't make sense.
|
|
|
|
* shared_src/bios.c (biosdisk) [!NO_INT13_FALLBACK]: Recompute
|
|
TOTAL_SECTORS according to CHS information.
|
|
(get_diskinfo) [DEBUG]: Print the geometry of DRIVE.
|
|
|
|
* shared_src/disk_io.c (real_open_partition): Set PART_LENGTH to
|
|
BUF_GEOM.TOTAL_SECTORS.
|
|
|
|
1999-04-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* docs/texinfo.tex: Copied from automake-1.4a.
|
|
|
|
* configure.in (SHARED_SRC_RULES): Add bios into shared sources.
|
|
|
|
* e2fs_stage1_5/Makefile.am (e2fs_stage1_5_exec_LDADD): Added bios.o.
|
|
* fat_stage1_5/Makefile.am (fat_stage1_5_exec_LDADD): Likewise.
|
|
* ffs_stage1_5/Makefile.am (ffs_stage1_5_exec_LDADD): Likewise.
|
|
* stage2/Makefile.am (stage2_exec_LDADD): Likewise.
|
|
* stage2_debug/Makefile.am (stage2_debug_exec_LDADD): Likewise.
|
|
|
|
* shared_src/Makefile.am (EXTRA_DIST): Added bios.c.
|
|
|
|
* shared_src/asm.S (biosdisk): Deleted. Now defined in bios.c.
|
|
(get_diskinfo): Likewise.
|
|
(biosdisk_int13_extensions): New function.
|
|
(biosdisk_standard): Likewise.
|
|
(check_int13_extensions): Likewise.
|
|
(get_diskinfo_int13_extensions): Likewise.
|
|
(get_diskinfo_standard): Likewise.
|
|
(get_diskinfo_floppy): Likewise.
|
|
|
|
* shared_src/bios.c: New file.
|
|
|
|
* shared_src/shared.h (struct geometry): Added new member,
|
|
total_sectors.
|
|
|
|
1999-03-28 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* shared_src/stage2.c (print_entries): Correctly assign MENU_ENTRIES
|
|
the entries starting from FIRST.
|
|
|
|
1999-03-27 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* Change everything to use memset and memmove instead of bzero and
|
|
bcopy. GNB's Not BSD.
|
|
|
|
* shared_src/shared.h (grub_memset): Adapted from grub_bzero.
|
|
(grub_memmove): Adapted from grub_bcopy.
|
|
|
|
* grub/asmstub.c (checkkey): Fix unterminated comment.
|
|
|
|
* shared_src/char_io.c (grub_printf): Renamed from printf.
|
|
(grub_tolower): Renamed from tolower.
|
|
(grub_isspace): Renamed from isspace.
|
|
(grub_strncat): Renamed from strncat.
|
|
(grub_strstr): Renamed from strstr.
|
|
(grub_bcopy): Renamed from bcopy.
|
|
(grub_bzero): Renamed from bzero.
|
|
|
|
From Bradford Hovinen:
|
|
* shared_src/char_io.c (get_cmdline): Add new argument to hide
|
|
password entry.
|
|
(grub_strcmp): New function.
|
|
* shared_src/shared.h (get_cmdline): Fix declaration.
|
|
(grub_strcmp): Declare.
|
|
* shared_src/stage2.c (run_menu): Use get_cmdline with an
|
|
ECHO_CHAR of `*'. This protects against both brute-force and
|
|
sidelong-glance password cracking attempts.
|
|
|
|
* grub/main.c (usage): Display defaults for stage2 options.
|
|
|
|
* grub/asmstub.c [WITHOUT_LIBC_STUBS]: Renamed from
|
|
NO_REMAPPING_LIBC_FUNCTIONS.
|
|
* grub/main.c: Likewise.
|
|
* shared_src/shared.h: Likewise.
|
|
|
|
1999-03-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/asmstub.c (set_attrib): Use inch and addch, instead of
|
|
chgat, because chgat doesn't work as expected.
|
|
|
|
1999-03-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: Call nodelay.
|
|
(checkkey) [HAVE_LIBCURSES]: If getting an input character, then
|
|
ungetch it, because checkkey shouldn't modify the input queue.
|
|
|
|
Use file descriptors instead of file pointers to support
|
|
>4GB disks in Linux.
|
|
|
|
* grub/asmstub.c (grub_stage2): Call close instead of fclose.
|
|
(get_diskinfo): Call open instead of fopen.
|
|
(biosdisk) [__linux__]: Use _llseek instead of lseek.
|
|
(biosdisk): Call read instead of fread.
|
|
|
|
Add options so that the user can specify the config file.
|
|
|
|
* grub/Makefile.am (CPPFLAGS): Use -fwritable-strings, because
|
|
grub assumes that all strings resides at the data section.
|
|
|
|
* grub/main.c: Define NO_REMAPPING_LIBC_FUNCTIONS before including
|
|
shared.h.
|
|
(OPT_CONFIG_FILE): New macro.
|
|
(OPT_INSTALL_PARTITION): Likewise.
|
|
(OPT_BOOT_DRIVE): Likewise.
|
|
(longopts): Add new options, config-file, install-partition and
|
|
boot-drive.
|
|
(usage): Add the documentation for them.
|
|
(main): Add handling code for OPT_CONFIG_FILE, OPT_INSTALL_PARTITION
|
|
and OPT_BOOT_DRIVE.
|
|
|
|
* grub/asmstub.c: Define NO_REMAPPING_LIBC_FUNCTIONS before including
|
|
shared.h.
|
|
(config_file): Make it char * instead of char [].
|
|
(getrtsecs): Return current time instead of 0xff.
|
|
|
|
* shared_src/shared.h [NO_REMAPPING_LIBC_FUNCTIONS]: Don't define
|
|
libc-API-compatible function names.
|
|
(config_file): Change the prototype from char [] to char *.
|
|
(grub_putchar): Renamed from putchar.
|
|
|
|
1999-03-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* char_io.c (get_cmdline): Call cl_setcpos even if lpos == llen,
|
|
because ncurses won't update the cursor position.
|
|
|
|
* grub/main.c (OPT_HOLD): New macro.
|
|
(longopts): New option --hold.
|
|
(usage): Add the documentation about --hold.
|
|
(main): Set hold if --hold is specified. Wait until cleared.
|
|
|
|
1999-03-22 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* shared_src/cmdline.c (enter_cmdline): Check the return value of
|
|
set_device in the `root' command.
|
|
|
|
* shared_src/char_io.c (memcheck): Special-case cur_part_desc and
|
|
reenable memory checking.
|
|
|
|
1999-03-21 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* shared_src/boot.c (load_image): Make sure we use the mapped
|
|
address before actually writing data to memaddr.
|
|
|
|
* shared_src/char_io.c (get_cmdline): Only zero-terminate if there
|
|
were leading blanks. This prevents accidental truncation of
|
|
commands.
|
|
|
|
* grub/asmstub.c (get_diskinfo): Cache device geometries as well
|
|
as file handles.
|
|
Use the Linux HDIO_GETGEO ioctl to make a better guess at hard
|
|
disk geometries.
|
|
|
|
1999-03-16 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* shared_src/shared.h (geometry_t): Delete typedef, until we
|
|
actually use it.
|
|
|
|
1999-03-16 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
|
|
|
* shared_src/asm.S (biosdisk): Use a structure for geometry
|
|
instead of a integer.
|
|
(get_diskinfo): Take a pointer to a geometry structure as the
|
|
second argument, and fill a geometry in it. Return 1 if an error
|
|
occurs, otherwise return 0.
|
|
* shared_src/boot.c (bsd_boot): Compute BIOS geometries for BSD.
|
|
* shared_src/cmdline.c (enter_cmdline): Declare dest_geom as
|
|
struct geometry.
|
|
* shared_src/disk_io.c (buf_geom): Declare as struct geometry.
|
|
* shared_src/filesys.h (SECTORS): Deleted.
|
|
(HEADS): Likewise.
|
|
(CYLINDERS): Likewise.
|
|
* shared_src/shared.h (BIOSDISK_FLAG_LBA_EXTENSION): New macro.
|
|
(struct geometry): New structure.
|
|
(buf_geom): Correct the prototype.
|
|
(get_diskinfo): Likewise.
|
|
(biosdisk): Likewise.
|
|
|
|
1999-03-15 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* grub/asmstub.c (doit): Nested function to get a clean stack
|
|
frame while in grub_stage2.
|
|
Use different assembler magic. From OKUJI Yoshinori.
|
|
|
|
1999-03-14 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* shared_src/stage2.c (run_menu): Use A_REVERSE and A_NORMAL
|
|
constants instead of magic numbers.
|
|
|
|
* shared_src/shared.h (A_REVERSE): Renamed from ATTR_INVERSE for
|
|
compatibility with curses.
|
|
(A_NORMAL): Renamed from ATTR_NORMAL.
|
|
|
|
* shared_src/cmdline.c (enter_cmdline): Change prompt to "grub> ".
|
|
(enter_cmdline): Only abort the boot if we are in a script.
|
|
|
|
* shared_src/stage2.c (run_menu): Change prompts to "grub edit> ".
|
|
|
|
* shared_src/char_io.c (memcheck): Use RAW_ADDR to compute memory
|
|
locations.
|
|
(get_cmdline): Change the `goto next line' code to account for
|
|
newlines deleting to end of line under curses.
|
|
|
|
* Innumerable cleanups to fix warnings. There are still too many
|
|
typecasts in the wrong places (int variables used to hold
|
|
pointers, then casted to a pointer type), but things look better.
|
|
|
|
* configure.in (CPPFLAGS): Bump up GCC warnings to -Wall
|
|
-Wmissing-prototypes -Wunused.
|
|
|
|
* shared_src/shared.h: Delete stupid declarations, and totally
|
|
rearrange for clarity.
|
|
(inb, outb): Move to cmdline.c, since it's only used there.
|
|
(print_possibilities, fsmax, fsys_table): Move definitions to
|
|
disk_io.c.
|
|
|
|
* grub/asmstub.c: Fill in more stubs.
|
|
|
|
1999-03-13 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* shared_src/gunzip.c (border): Rename to bitorder, to resolve
|
|
clash with curses.
|
|
* shared_src/stage2.c (timeout): Rename to grub_timeout.
|
|
|
|
* configure.in: Check for curses libraries for use with
|
|
/sbin/grub.
|
|
|
|
* shared_src/shared.h (KEY_DELETE): Rename to KEY_DC, for
|
|
compatibility with curses.
|
|
(KEY_INSERT): Rename to KEY_IC.
|
|
(KEY_PGDN): Rename to KEY_NPAGE.
|
|
(KEY_PGUP): Rename to KEY_PPAGE.
|
|
|
|
* shared_src/asm.S (asm_getkey): Renamed to getkey.
|
|
|
|
* shared_src/char_io.c (getkey): Delete, because it's useless.
|
|
|
|
* shared_src/shared.h: Resolve name clashes with libc by renaming
|
|
overlapping functions to have grub_ prefixes, then defining
|
|
macros.
|
|
|
|
* grub/asmstub.c (start_stage2): Make some assertions about our
|
|
scratch memory area.
|
|
|
|
* shared_src/shared.h (end): Delete declaration.
|
|
(RAW_ADDR, RAW_SEG): Macros to redirect /sbin/grub memory requests
|
|
through grub_scratch_mem.
|
|
|
|
* grub/asmstub.c (get_mem_map): Implement, simulating 4MB
|
|
contiguous memory.
|
|
(get_code_end): Implement, simulating with a malloced area.
|
|
grub/asmstub.c (start_stage2): Initialize grub_scratch_mem.
|
|
|
|
* shared_src/asm.S (get_mem_map): Some BIOSes expect the high word
|
|
of %eax to be zero.
|
|
(get_code_end): Move this from common.c so that we can stub it out
|
|
in the simulator.
|
|
|
|
* debian/rules: Make sure info files end up in /usr/info, not
|
|
/info.
|
|
|
|
1999-03-10 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* shared_src/asm.S (biosdisk): Make LBA mode work correctly. From
|
|
OKUJI Yoshinori.
|
|
Unconditionally define NO_INT13_FALLBACK until we release GRUB
|
|
0.6. This will help debug any problems with the LBA support until
|
|
then.
|
|
|
|
1999-03-09 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* shared_src/asm.S (biosdisk): Compute location of
|
|
disk_address_packet correctly. From OKUJI Yoshinori.
|
|
|
|
1999-03-08 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* docs/grub.texi: New Texinfo documentation.
|
|
|
|
* shared_src/disk_io.c (set_device): First stab at interpreting
|
|
Mach-style partition naming.
|
|
|
|
* shared_src/stage2.c (run_menu): Don't say it was a failure if
|
|
enter_cmdline returns nonzero... just wait for a key.
|
|
|
|
* shared_src/cmdline.c (enter_cmdline): Return nonzero, and avoid
|
|
the fallback command if we did an install.
|
|
|
|
* shared_src/asm.S (_start): New explicit symbol to supress
|
|
warnings.
|
|
|
|
* e2fs_stage1_5/Makefile.am (NO_FANCY_STUFF): Renamed to STAGE1_5,
|
|
since that describes this conditional more accurately.
|
|
* fat_stage1_5/Makefile.am: Likewise.
|
|
* ffs_stage1_5/Makefile.am: Likewise.
|
|
* shared_src/asm.S: Likewise.
|
|
* shared_src/char_io.c: Likewise.
|
|
* shared_src/common.c: Likewise.
|
|
* shared_src/disk_io.c: Likewise.
|
|
* shared_src/fsys_ext2fs.c: Likewise.
|
|
* shared_src/fsys_ffs.c: Likewise.
|
|
* shared_src/shared.h: Likewise.
|
|
|
|
1999-03-07 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* configure.in (SHARED_SRC_RULES): Automatically generate
|
|
Makefile dependencies for files in shared_src.
|
|
e2fs_stage1_5/Makefile.am: Use them.
|
|
fat_stage1_5/Makefile.am: Likewise.
|
|
ffs_stage1_5/Makefile.am: Likewise.
|
|
grub/Makefile.am: Likewise.
|
|
stage2/Makefile.am: Likewise.
|
|
stage2_debug/Makefile.am: Likewise.
|
|
|
|
* shared_src/disk_inode.h: Fix typo: i_ic shouldn't be defined.
|
|
|
|
* shared_src/fsys_ffs.c (block_map): Make static, since this
|
|
function isn't used outside of its defining file.
|
|
|
|
* shared_src/disk_io.c [NO_FANCY_STUFF]: Eliminate a whole bunch
|
|
more functions from the stage1.5. From OKUJI Yoshinori.
|
|
* shared_src/fsys_ffs.c: Likewise.
|
|
* shared_src/char_io.c: Likewise.
|
|
|
|
1999-03-05 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* shared_src/char_io.c (getkey): Don't set BUF_DRIVE to -1.
|
|
BUF_DRIVE has nothing at all to do with getkey.
|
|
|
|
* shared_src/common.c (err_list): Change description of ERR_GEOM
|
|
to be more informative.
|
|
|
|
* Makefile.am (configure): Depend on debian/changelog.
|
|
|
|
* configure.in (host_cpu): Make all fully i386-compatible CPUs be
|
|
identified as i386.
|
|
(AM_INIT_AUTOMAKE): Fetch values for PACKAGE and VERSION from
|
|
debian/changelog, so that we only have one file to update.
|
|
|
|
* shared_src/asm.S (get_diskinfo): Fix a few bit-twiddling bugs in
|
|
the BIOS extension detection code.
|
|
(biosdisk) [AWARD_INT13_EXTENSIONS]: Preliminary implementation
|
|
of Award's encoding of cylinder bits 10 and 11.
|
|
(biosdisk) [NO_INT13_FALLBACK]: If defined, don't use the standard
|
|
disk interface if the extended interface fails.
|
|
|
|
* configure.in: Make sure $(host_cpu) and $(host_vendor) are
|
|
substituted into the Makefile.
|
|
|
|
* e2fs_stage1_5/Makefile.am (pkgdatadir): Install files in
|
|
$(datadir)/grub/$(host_cpu)-$(host_vendor).
|
|
* fat_stage1_5/Makefile.am: Likewise.
|
|
* ffs_stage1_5/Makefile.am: Likewise.
|
|
* stage1/Makefile.am: Likewise.
|
|
* stage2/Makefile.am: Likewise.
|
|
* stage2_debug/Makefile.am: Likewise.
|
|
|
|
1999-03-03 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* shared_src/asm.S (biosdisk): Use LBA mode if high nibble of
|
|
GEOMETRY is nonzero.
|
|
(get_diskinfo): Set high nibble of GEOMETRY (0xf0000000) to 1 if
|
|
LBA mode is detected.
|
|
|
|
1999-03-02 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* shared_src/disk_io.c (make_saved_active): Use BIOSDISK_READ and
|
|
BIOSDISK_WRITE.
|
|
|
|
* shared_src/cmdline.c (enter_cmdline): Use BIOSDISK_WRITE.
|
|
|
|
* shared_src/shared.h (BIOSDISK_SUBFUNC_READ,
|
|
BIOSDISK_SUBFUNC_WRITE): Delete constants.
|
|
|
|
* shared_src/asm.S (biosdisk): Change subfunc argument to be
|
|
read=0, write=1.
|
|
|
|
* configure.in: Drop redundant AC_PROG_INSTALL. From OKUJI
|
|
Yoshinori.
|
|
|
|
1999-03-01 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* debian/rules (binary-arch): Properly install README.debian.
|
|
|
|
* acinclude.m4 (grub_OBJCOPY_ABSOLUTE): Don't forget to move the
|
|
old binary out of the way before reentering the loop.
|
|
(grub_ASM_ADDR32): Delete conftest files after running the test.
|
|
|
|
* debian/rules (binary-arch): Remove empty /sbin directory until
|
|
/sbin/grub is installed. Use $(DESTDIR) instead of $(prefix) to
|
|
install files.
|
|
|
|
* shared_src/asm.S (version_string): Set the version string from
|
|
the VERSION specified in configure.in.
|
|
|
|
* Change all Makefiles into Makefile.ams. Many major build
|
|
environment changes to get Automake/Autoconf working nicely.
|
|
|
|
1999-02-28 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* NEWS: Moved from docs/NEWS.
|
|
|
|
* configure.in, acinclude.m4: New files for Autoconf. From OKUJI
|
|
Yoshinori.
|
|
|
|
* AUTHORS, INSTALL: New files.
|
|
|
|
1999-02-24 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* stage1/stage1.S (after_BPB): Do a hard disk probe first, so that
|
|
we can work with IDE floppies (like the LS-120).
|
|
|
|
* Run GNU Indent on */*.[ch].
|
|
|
|
1999-02-21 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* debian: Add to the distribution, since we maintain the GRUB
|
|
Debian package ourselves.
|
|
|
|
* grub/asmstub.c: New file to implement stubbed assembly functions
|
|
under Unix.
|
|
|
|
* stage1/Makefile: Delete spurious dependencies on Makefile.
|
|
* stage2/Makefile: Likewise.
|
|
* stage2_debug/Makefile: Likewise.
|
|
* grub/Makefile: Likewise.
|
|
|
|
* shared_src/fsys_ext2fs.c (ext2fs_dir): Follow symbolic links
|
|
rather than giving an error.
|
|
|
|
* shared_src/common.c (err_list): Use labeled elements to
|
|
associate messages with error codes.
|
|
* shared_src/shared.h: Make error codes into an enumerated type.
|
|
|
|
* shared_src/common.c (err_list): Add ERR_SYMLINK_LOOP.
|
|
* shared_src/shared.h: Likewise.
|
|
|
|
* shared_src/char_io.c (bcopy): Don't make any assumptions about
|
|
the length of an unsigned long.
|
|
|
|
* grub/Makefile: Treat CFLAGS, CPPFLAGS, LDFLAGS according to
|
|
GNU standards.
|
|
* stage2/Makefile: Likewise.
|
|
* e2fs_stage1_5/Makefile: Likewise.
|
|
* fat_stage1_5/Makefile: Likewise.
|
|
* ffs_stage1_5/Makefile: Likewise.
|
|
|
|
1999-02-20 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* docs/index.html: Rename to grub.html, so that we don't hide
|
|
files in this directory from a web browser.
|
|
|
|
1999-02-15 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* Makefile.end (PROGS): Add grub.
|
|
|
|
* grub/main.c: New file.
|
|
|
|
* grub/Makefile: New directory to contain the stage2 Unix program.
|
|
|
|
* shared_src/cmdline.c: Use substring.
|
|
* shared_src/fsys_ext2fs.c: Likewise.
|
|
* shared_src/fsys_fat.c: Likewise.
|
|
* shared_src/fsys_ffs.c: Likewise.
|
|
* shared_src/stage2.c: Likewise.
|
|
|
|
* shared_src/shared.h: Delete strcmp, declare substring.
|
|
|
|
* shared_src/char_io.c (strcmp): Rename to `substring', because
|
|
this function doesn't behave the same as libc's strcmp.
|
|
|
|
1999-02-14 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* shared_src/shared.h: (addr32, data32): Delete definitions.
|
|
|
|
* stage1/stage1.S: Modify to use GAS's new .code16 semantics.
|
|
shared_src/asm.S: Likewise.
|
|
|
|
* configure: Test to see if the `addr32' instruction is supported.
|
|
Ian Lance Taylor says that GAS's interpretation of `.code16' has
|
|
changed. Older versions always generated 32-bit code, but
|
|
implicitly inserted addr32 and data32 when .code16 was given.
|
|
Newer versions generate 16-bit code, and require manual addr32 and
|
|
data32 overrides.
|
|
|
|
* shared_src/shared.h: Add some assertions to check that buffer
|
|
addresses are properly defined.
|
|
|
|
1999-02-12 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* shared_src/stage2.c (run_menu): Pause if we failed to boot both
|
|
the default and fallback entries.
|
|
|
|
* configure: Check to make sure that GAS actually honors .code16
|
|
directives.
|
|
|
|
1999-02-02 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* shared_src/asm.S: Fix typo that called interrupt 0xd (decimal
|
|
13) instead of 0x13.
|
|
|
|
1999-01-31 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* e2fs_stage1_5/Makefile: Avoid gratuitous dependencies on
|
|
Makefile.
|
|
* fat_stage1_5/Makefile: Likewise.
|
|
* ffs_stage1_5/Makefile: Likewise.
|
|
|
|
* Makefile.end (PROGS): Add e2fs_stage1_5, fat_stage1_5, and
|
|
grubinst.
|
|
(distclean): New GNU standard rule.
|
|
|
|
1998-10-23 Gordon Matzigkeit <gord@trick.fig.org>
|
|
|
|
* configure: Accept `--host' as a synonym for `--target', and
|
|
accept a non-optional argument as the target name. Join the
|
|
prefix to the tool name with a hyphen.
|
|
|
|
* shared_src/disk_io.c (print_fsys_type): Always print the
|
|
partition type.
|
|
|
|
* shared_src/stage2.c (run_menu): Check to make sure that the
|
|
fallback entry is nonnegative.
|
|
(run_menu): For consistency, use `e' rather than enter to edit the
|
|
command entry.
|