2005-05-08 Yoshinori K. Okuji
* configure.ac (AC_INIT): Upgraded to 0.97.
* compile: Copied from Automake 1.9.4.
* config.guess: Likewise.
* config.sub: Likewise.
* depcomp: Likewise.
* install-sh: Likewise.
* missing: Likewise.
* mkinstalldirs: Likewise.
* mdate-sh: Likewise.
* docs/texinfo.tex: Likewise.
2005-05-08 Yoshinori K. Okuji
* stage2/fsys_xfs.c (next_dentry): Use arrays of arrays instead of
arrays of pointers for USUAL, to avoid read-only strings. Reported
by Sven Wegener .
2005-03-28 Yoshinori K. Okuji
* lib/device.c (get_drive_geometry): Use ST.ST_SIZE instead of
ST.ST_BLOCKS to get the total number of sectors, because st_blocks
is not the same if it is a sparse file.
2005-03-19 Yoshinori K. Okuji
* stage2/stage2.c (cmain): Initialize DEFAULT_FILE to an empty
string. Reported by NATORI Shin .
2005-03-15 Yoshinori K. Okuji
* stage2/fsys_fat.c (fat_mount): Ignore the 3rd bit of a media
descriptor, because some BIOSes overwrite this value, according
to the storage mode (e.g. USB Floppy or USB HDD).
2005-02-16 Yoshinori K. Okuji
* grub/asmstub.c (grub_stage2): Remove the attribute `volatile'
from doit. I hope this change is safe for all compilers.
2005-02-15 Yoshinori K. Okuji
* stage2/builtins.c (install_func): If DEST_DRIVE is a hard
disk, enable the workaround in Stage 1 by replacing the jmp
with double nop's.
* stage1/stage1.h (STAGE1_BOOT_DRIVE_CHECK): New macro.
(STAGE1_BOOT_DRIVE_MASK): Removed.
* stage1/stage1.S (boot_drive_check): New label. This implements
a different workaround for buggy BIOSes which don't pass boot
drive correctly. This is effective for BIOSes which pass a value
without the seventh bit (0x80).
(boot_drive_mask): Removed.
2005-02-03 Yoshinori K. Okuji
* grub/asmstub.c (console_current_color): Make it global as
declared.
(grub_stage2): Tweak the declaration and the definition of the
nested function doit.
2005-02-02 Yoshinori K. Okuji
* stage2/smp-imps.h (imps_any_new_apics): Removed.
(imps_enabled): Likewise.
(imps_lapic_addr): Likewise.
(imps_num_cpus): Likewise.
(imps_cpu_apic_map): Likewise.
(imps_apic_cpu_map): Likewise.
* stage2/Makefile.am (libgrub_a_CFLAGS): Remove
-fwritable-strings. Not required for the grub shell actually.
* grub/Makefile.am (AM_CFLAGS): Likewise.
2005-02-01 Yoshinori K. Okuji
* grub/asmstub.c (grub_stage2): Use auto instead of static for
nested functions.
* stage2/char_io.c (memcheck) [GRUB_UTIL]: Likewise.
* stage2/builtins.c (blocklist_func): Likewise.
(color_func): Likewise.
(install_func): Likewise.
(setkey_func): Likewise.
* lib/device.c (read_device_map): Likewise.
2005-01-30 Yoshinori K. Okuji
* configure.ac (AC_INIT): Upgraded to 0.96.
2004-10-11 Jason Thomas
Patch from Stefanus Du Toit
* docs/kernel.c.texi (cmain): Incremement mod by one, instead of
sizeof(module_t), since it's already a pointer of type module_t.
* docs/kernel.c (cmain): Do the same.
2004-09-20 Yoshinori K. Okuji
* docs/internals.texi (Internals): Changed to an appendix.
* docs/grub.texi (@setchapternewpage): Changed to odd from off.
(@contents): Moved to the beginning.
(Future): Changed to an appendix.
2004-08-17 Yoshinori K. Okuji
* stage2/cmdline.c (run_script): Fix a reversed conditional.
Reported by Alban Crequy .
2004-08-07 Jason Thomas
From Michael Hohnbaum :
* stage2/fsys_ext2fs.c (ext2fs_read): Handle sparse files.
2004-07-24 Yoshinori K. Okuji
* stage2/stage2.c (cmain): Terminate DEFAULT_FILE with NUL
correctly. Reported by Alban Crequy .
2004-07-21 Robert Millan
Patch from David Weinehall
* util/mkbimage: Fix XSI-isms (for supporting POSIX-only shells).
2004-07-20 Robert Millan
* util/grub-install.in: Detect GNU/k*BSD systems as well.
2004-07-16 Yoshinori K. Okuji
* util/grub-install.in (convert): Fix the sed statement for
Linux. The expression was ambigious in some cases.
2004-06-29 Robert Millan
* util/grub-set-default.in: Fix minor syntax error (non-escaped
characters).
2004-06-24 Robert Millan
Fixes for FHS compliance. (/usr/share is for arch-independant data)
* stage1/Makefile.am: Move stage files to pkglibdir.
* stage2/Makefile.am: Likewise.
* docs/grub.texi: s,/usr/share,/usr/lib,g.
* util/grub-image.in: Look for stage files in pkglibdir.
* util/grub-install.in: Likewise.
* util/grub-install.in: Improve usage message.
2004-06-20 Yoshinori K. Okuji
This is a big change on saving a default entry. This change
makes it possible to set up a quite robust system using GRUB.
Now we do not use the second sector of Stage 2 to store an
entry number but use the file /boot/grub/default. This file
must be generated by grub-set-default, although this file is
plain-text.
* util/grub-set-default.in: New file.
* util/grub-install.in (grub_set_default): New variable.
Use /grub instead of /boot/grub on OpenBSD as well as NetBSD.
Run grub-set-default to make a default file.
* util/Makefile.am (sbin_SCRIPTS): Added grub-set-default.
* stage2/stage2.c (run_menu): Change the fallback handling to
support multiple fallback entries.
(cmain): Likewise. Also, get a saved entry from a default file
if possible, before reading a config file.
* stage2/shared.h (DEFAULT_FILE_BUF): New macro.
(DEFAULT_FILE_BUFLEN): Likewise.
(CMDLINE_BUF): Set to DEFAULT_FILE_BUF + DEFAULT_FILE_BUFLEN.
(MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - MENU_BUF.
(fallback_entry): Removed.
(fallback_entries): Declared.
(fallback_entryno): Likewise.
(MAX_FALLBACK_ENTRIES): New macro.
* stage2/cmdline.c (run_script): Use FALLBACK_ENTRYNO instead of
FALLBACK_ENTRY.
* stage2/builtins.c (fallback_entry): Removed.
(fallback_entryno): New variable.
(fallback_entries): Likewise.
(init_config): Initialize FALLBACK_ENTRYNO and FALLBACK_ENTRIES.
(fallback_func): Rewritten completely.
(savedefault_func): Likewise.
* docs/grub.texi (grub-set-default): New direntry.
(Installation): Describe grub-set-default for manual
installations.
(Making your system robust): New section.
(Booting once-only): New subsection.
(Booting fallback systems): Likewise.
(fallback): Describe multiple fallback entries.
(savedefault): Describe an optional argument.
(Invoking grub-set-default): New chapter.
(Future): Replaced with a description about GRUB 2.
* configure.ac (AC_CONFIG_FILES): Added util/grub-set-default.
2004-06-19 Yoshinori K. Okuji
* stage2/ufs2.h (int8_t): Renamed to ...
(grub_uint8_t): ... this.
(int16_t): Renamed to ...
(grub_int16_t): ... this.
(int32_t): Renamed to ...
(grub_int32_t): ... this.
(int64_t): Renamed to ...
(grub_int64_t): ... this.
(uint8_t): Renamed to ...
(grub_uint8_t): ... this.
(uint16_t): Renamed to ...
(grub_uint16_t): ... this.
(uint32_t): Renamed to ...
(grub_uint32_t): ... this.
(uint64_t): Renamed to ...
(grub_uint64_t): ... this.
(u_char): Renamed to ...
(grub_u_char): ... this.
(u_int): Renamed to ...
(grub_u_int): ... this.
(u_int8_t): Renamed to ...
(grub_u_int8_t): ... this.
(u_int16_t): Renamed to ...
(grub_u_int16_t): ... this.
(u_int32_t): Renamed to ...
(grub_u_int32_t): ... this.
(u_int64_t): Renamed to ...
(grub_u_int64_t): ... this.
(ino_t): Renamed to ...
(grub_ino_t): ... this.
All callers are changed.
2004-06-14 Jeroen Dekkers
* stage2/ufs2.h (__uint8_t): Remove.
(__uint16_t): Likewise.
(__uint32_t): Likewise.
(__uint64_t): Likewise.
(ino_t): Typedef to uint32_t.
2004-06-13 Yoshinori K. Okuji
* stage2/Makefile.am (noinst_HEADERS): Added ufs2.h.
2004-06-13 Yoshinori K. Okuji
* configure.ac (AC_INIT): Upgraded to 0.95.
2004-05-23 Yoshinori K. Okuji
* stage2/char_io.c (grub_isspace): Use a switch sentense instead
of an if sentense, because that reduces the size.
* lib/device.c (read_device_map): Change the max number of DRIVE
to 127 from 8. This was too strict.
* stage2/asm.S (stop_floppy): Call pusha and popa outside the
block of real mode code. Reported by Guillem Jover
.
2004-05-20 Damian Ivereigh
* netboot/main.c: Fixed bootp only code so that options
work properly. This fix is obvious when compared with the
DHCP code.
2004-05-17 Pavel Roskin
* stage2/char_io.c (safe_parse_maxint): Disable for stage 1.5.
(grub_tolower): Disable for stage 1.5 except fat_stage1_5.
(grub_memcmp): Disable for stage 1.5 except iso9660_stage1_5.
2004-05-14 Yoshinori K. Okuji
From Sergey Matveychuk :
* stage2/size_test: Added a check for ufs2_stage1_5.
* stage2/shared.h (STAGE2_ID_UFS2_STAGE1_5): New macro.
[FSYS_UFS2] (STAGE2_ID): Set to STAGE2_ID_UFS2_STAGE1_5.
* stage2/filesys.h (FSYS_UFS2_NUM): New macro.
[FSYS_UFS2] (ufs2_mount): New prototype.
[FSYS_UFS2] (ufs2_read): Likewise.
[FSYS_UFS2] (ufs2_dir): Likewise.
[FSYS_UFS2] (ufs2_embed): Likewise.
(NUM_FSYS): Added FSYS_UFS2_NUM.
* stage2/disk_io.c (fsys_table): Added an ufs2 entry.
* stage2/builtins.c (setup_func): Added ufs2 into the
STAGE1_5_MAP.
* stage2/Makefile.am (libgrub_a_SOURCES): Added fsys_ufs2.c.
(libgrub_a_CFLAGS): Added -DFSYS_UFS2=1.
(pkgdata_DATA): Added ufs2_stage1_5.
(noinst_PROGRAMS): Added ufs2_stage1_5.exec.
(ufs2_stage1_5_exec_SOURCES): New variable.
(ufs2_stage1_5_exec_CFLAGS): Likewise.
(ufs2_stage1_5_exec_CCASFLAGS): Likewise.
(ufs2_stage1_5_exec_LDFLAGS): Likewise.
* grub/Makefile.am (AM_CPPFLAGS): Added -DFSYS_ISO9660=1,
-DFSYS_JFS=1, -DFSYS_REISERFS=1, -DFSYS_UFS2=1, -DFSYS_VSTAFS=1,
-DFSYS_XFS=1, and -DUSE_MD5_PASSWORDS=1.
* configure.ac (--disable-ufs2): New option.
* stage2/fsys_ufs2.c: New file.
* stage2/ufs2.h: Likewise.
2004-05-10 Robert Millan
* lib/device.c: Mangle __FreeBSD_* macro usage to support
kFreeBSD-based non-FreeBSD systems (i.e. GNU/kFreeBSD).
Implement runtime detection of version of kFreeBSD. Now if
we build against kFreeBSD 5.x headers the GRUB shell will work on
both 4.x and 5.x.
Replace `u_int_t' types with portable `unsigned int' and old
reference to `geometry' structure to new `geom' one.
* docs/menu.lst: Split GNU/kFreeBSD and GNU/kNetBSD as separate
options than FreeBSD and NetBSD, respectively. There are minor
differences now (different paths).
2004-05-03 Pavel Roskin
* stage2/char_io.c (convert_to_ascii): Remove "%b" support.
It's non-standard and is not used anymore.
(grub_printf): Likewise.
2004-04-29 Robert Millan
From Yann Dirson :
* util/mkbimage: Misc syntax fixes.
2004-04-29 Jeroen Dekkers
* stage2/char_io.c (grub_memcmp): Define for stage1.5 too.
* stage2/fsys_iso9660.c (iso9660_mount): Use memcmp() instead of
__builtin_memcmp().
(iso9660_dir): Likewise.
2004-04-26 Christian Jones
* docs/grub.texi (Making a GRUB bootable CD-ROM): minor edits,
including a few compatibility notes and a change to
-boot-load-size 4 for the mkisofs command.
2004-04-22 Jeroen Dekkers
* Makefile.am (AUTOMAKE_OPTIONS): Add "gnu".
* configure.ac: Update to work with automake 1.8, quote all
AC_DEFUN's correctly and provide descriptions for AC_DEFINE's.
* acinclude.m4: Likewise.
* acconfig.h: Removed.
* stage1/Makefile.am (.exec): Use suffix rules instead of pattern
rules.
* stage2/Makefile.am (.exec): Likewise.
2004-04-18 Yoshinori K. Okuji
* docs/grub.texi (Making a GRUB bootable CD-ROM): New section.
* stage2/disk_io.c (set_device): Use CH instead of *DEVICE to
test the first character of DEVICE, because DEVICE is
incremented.
Reported by Bernhard Treutwein.
2004-04-15 Yoshinori K. Okuji
* netboot/fsys_tftp.c (buf_fill): Cast 1 to unsigned short
explicitly so that the constant doesn't extend unsigned short
to int automatically.
Reported by Eduard Guzovsky .
* docs/grub.texi (Invoking grub-md5-crypt): Fixed the chapter
name.
Reported by Martin Pool .
2004-04-04 Yoshinori K. Okuji
* configure.ac (STAGE2_CFLAGS): Check if -fno-stack-protector is
supported by GCC. If yes, added the option. This is necessary
for OpenBSD, because the stack protector defines additional
symbols. Reported by uc.sheda .
2004-03-28 Pavel Roskin
* stage2/boot.c: Imply --no-mem-option for Linux kernels with
protocol version 2.03 and above (Linux 2.4.18 and newer).
2004-03-27 Yoshinori K. Okuji
* stage2/char_io.c [!GRUB_UTIL] (memcpy): New function. It is
defined as an alias of grub_memmove. This is copied from GRUB 2.
* stage2/disk_io.c (print_completions): Simplified conditionals
to make it easier to edit the file with Emacs.
Added support for (cd).
(set_device): Likewise.
* stage2/common.c (init_bios_info): Check if BOOT_DRIVE is a
CDROM drive. If it is true, set CDROM_DRIVE to BOOT_DRIVE.
(cdrom_drive): New variable.
From Leonid Lisovskiy :
* stage2/start_eltorito.S: New file.
* stage2/stage2.c (run_menu): Use GRUB_INVALID_DRIVE instead of
0xFF.
* stage2/shared.h (STAGE2_ID_ISO9660_STAGE1_5): New macro.
[FSYS_ISO9660] (STAGE2_ID): Set to STAGE2_ID_ISO9660_STAGE1_5.
(struct geometry): Added a new member ``sector_size''.
(BIOSDISK_FLAG_CDROM): New macro.
(cdrom_drive): Declared.
* stage2/fsys_iso9660.c: New file.
* stage2/iso9660.h: Likewise.
* stage2/filesys.h (FSYS_ISO9660_NUM): New macro.
[FSYS_ISO9660] (iso9660_mount): Declared.
[FSYS_ISO9660] (iso9660_read): Likewise.
[FSYS_ISO9660] (iso9660_dir): Likewise.
(NUM_FSYS): Added FSYS_ISO9660_NUM.
* stage2/disk_io.c (fsys_table) [FSYS_ISO9660]: Added iso9660.
(current_drive): Use GRUB_INVALID_DRIVE.
(log2): New function.
(rawread): Use BUF_GEOM.SECTOR_SIZE instead of SECTOR_SIZE.
Change the type of BUFADDR from int to char *.
Use a virtual track to make sure that one track fits in the
buffer.
(sane_partition): Allow CURRENT_DRIVE to be CDROM_DRIVE, because
a bios drive for a CD-ROM is often assigned to greater than
0x88.
(set_device): Use GRUB_INVALID_DRIVE instead of 0xFF.
(setup_part): Likewise.
* stage2/cmdline.c (init_cmdline): Use GRUB_INVALID_DRIVE.
* stage2/builtins.c (install_func): Use GRUB_INVALID_DRIVE.
(setup_func): Added iso9660_stage1_5.
* stage2/bios.c (biosdisk): Don't fall back to the CHS mode
if the drive is a CDROM.
(get_cdinfo): New function.
(get_diskinfo): Call get_cdinfo if the drive is greater than or
equal to 0x88 or the drive supports LBA.
Set the sector size to SECTOR_SIZE if it is not a CD-ROM.
* stage2/asm.S (biosdisk_int13_extensions): Take a word
argument AX instead of a byte argument AH.
(get_diskinfo_int13_extensions): Removed.
* stage2/Makefile.am (noinst_HEADERS): Added iso9660.h.
(libgrub_a_SOURCES): Added fsys_iso9660.c.
(libgrub_a_CFLAGS): Added -DFSYS_ISO9660=1.
(pkgdata_DATA): Added iso9660_stage1_5 and stage2_eltorito.
(noinst_PROGRAMS): Added iso9660_stage1_5.exec and
start_eltorito.exec.
(noinst_DATA): Added start_eltorito.
(pre_stage2_exec_SOURCES): Added fsys_iso9660.c.
(START_ELTORITO_LINK): New variable.
(start_eltorito_exec_SOURCES): Likewise.
(start_eltorito_exec_CCASFLAGS): Likewise.
(start_eltorito_exec_LDFLAGS): Likewise.
(start_eltorito_exec-start.$(OBJEXT)): New dependency.
(stage2_eltorito): New target.
(iso9660_stage1_5_exec_SOURCES): New variable.
(iso9660_stage1_5_exec_CFLAGS): Likewise.
(iso9660_stage1_5_exec_CCASFLAGS): Likewise.
(iso9660_stage1_5_exec_LDFLAGS): Likewise.
* stage1/stage1.h (GRUB_INVALID_DRIVE): New macro.
* stage1/stage1.S (boot_drive): Use the macro GRUB_INVALID_DRIVE.
(real_start): Likewise.
* lib/device.c (get_drive_geometry): Set GEOM->SECTOR_SIZE to
SECTOR_SIZE by default.
* configure.ac (--disable-iso9660): New option.
2004-03-13 Yoshinori K. Okuji
From Daniele Zelante :
* stage2/asm.S (stop_floppy): Use INT 13, AH=00h to stop the
floppy controller instead of a direct I/O.
2004-03-12 Yoshinori K. Okuji
* stage2/serial.c (serial_putchar): Handle the character code
127 as a backspace. Reported by Florian Engelhardt
.
2004-03-12 Yoshinori K. Okuji
From Boji Tony Kannanthanam :
* util/grub-install.in (convert): Add support for ATARAID
device names.
* lib/device.c (get_ataraid_disk_name) [__linux__]: New
function.
(init_device_map) [__linux__]: Probe ATARAID disks.
* stage2/size_test (check): Don't use the local statement any
longer. It was unneeded actually. Reported by Paul Jarc.
2004-03-12 Yoshinori K. Okuji
From Sergey Matveychuk :
* lib/device.c (get_drive_geometry): Do not open the same device
more than once unnecessarily.
(get_drive_geometry) [__FreeBSD_version >= 500040]: Use new
ioctl methods.
(get_floppy_disk_name) [__FreeBSD__ >= 4]: Use /dev/fd%d rather
than /dev/rfd%d.
(get_ide_disk_name) [__FreeBSD__ >= 4]: Use /dev/ad%d rather
than /dev/rad%d.
(get_scsi_disk_name) [__FreeBSD__ >= 4]: Use /dev/da%d rather
than /dev/rda%d.
* grub/asmstub.c (get_diskinfo): Check if ERRNO is EPERM as
well.
2004-02-28 Jeroen Dekkers
* docs/grub.texi (partnew): Change @var{to} to @var{len}.
2004-02-18 Yoshinori K. Okuji
From Yury V. Umanets :
* stage2/fsys_reiserfs.c (REISER3FS_SUPER_MAGIC_STRING): New
macro.
(reiserfs_mount): Added checks for ReiserFS 3.
(reiserfs_embed): Likewise.
2004-01-25 Yoshinori K. Okuji
* docs/grub.texi (Obtaining and Building GRUB): Instead of
describing how to use the anoncvs method, specify the URL of
the description page on Savannah.
Reported by Bernhard Treutwein.
2004-01-18 Yoshinori K. Okuji
From Thomas Schwinge :
* grub/Makefile.am (AM_CPPFLAGS): New variable.
(AM_CFLAGS): Removed all cpp flags.
* stage2/xfs.h (__int8_t): Renamed to ...
(xfs_int8_t): ... this.
(__uint8_t): Renamed to ...
(xfs_uint8_t): ... this.
(__int16_t): Renamed to ...
(xfs_int16_t): ... this.
(__uint16_t): Renamed to ...
(xfs_uint16_t): ... this.
(__int32_t): Renamed to ...
(xfs_int32_t): ... this.
(__uint32_t): Renamed to ...
(xfs_uint32_t): ... this.
(__int64_t): Renamed to ...
(xfs_int64_t): ... this.
(__uint64_t): Renamed to ...
(xfs_uint64_t): ... this.
All callers are changed.x
From Egmont Koblinger :
* util/grub-install.in: Support an install devices in GRUB's
notation without parentheses.
* docs/grub.texi (Installing GRUB using grub-install): Added an
example of using grub-install without parentheses.
2004-01-18 Yoshinori K. Okuji
* util/grub-install.in: Use the first word of GRUB_SHELL when
checking if the grub shell is present. This is necessary to
support options to the grub shell (e.g. grub --read-only).
From Eric Kvaalen :
* docs/grub.texi: Many bug fixes.
2004-01-17 Yoshinori K. Okuji
* lib/device.c [__linux__] (MAJOR): Support 32 bit and 64 bit
dev_t. This code is stolen from glibc.
Suggested by Shen Feng .
2004-01-11 Yoshinori K. Okuji
* stage2/terminfo.c (ti_set_term): Use a pointer to struct
terminfo instead to avoid GCC's bug, which inserts a reference
to memcpy implicitly.
(ti_get_term): Likewise.
All callers are fixed.
* stage2/terminfo.h (ti_set_term): Updated.
(ti_get_term): Likewise.
* stage2/shared.h (struct linux_kernel_header): New member,
initrd_max_address. Defined in the boot protocol 2.03 or higher.
* stage2/boot.c (load_initrd): If the boot protocol is greater
than or equal to 2.03, use the field ``initrd_max_address''
instead of LINUX_INITRD_MAX_ADDRESS.
2003-12-30 Yoshinori K. Okuji
* stage2/fsys_ext2fs.c (ext2_is_fast_symlink): New function.
(ext2fs_dir): Use ext2_is_fast_symlink to check if the current
inode is a fast or slow symlink. This change was required
because Linux now uses acl seriously (i.e. incompatibility).
Reported by Chris PeBenito and Seemant
Kulleen
2003-11-30 Yoshinori K. Okuji
* lib/device.c (read_device_map) (sho_warning): New internal
function.
(read_device_map): If DRIVE is greater than 8, emit a warning
and ignore the drive, rather than exiting abnormally.
Reported by Greg Newby .
2003-10-19 Yoshinori K. Okuji
Migrated to newer autotools. Also, don't install mkbimage
because its name is too general and it does not conform to the
GNU Coding Standards in some points.
* util/Makefile.am (EXTRA_DIST): New variable.
(sbin_SCRIPTS): Removed mkbimage.
(noinst_SCRIPTS): Added mkbimage.
* stage1/Makefile.am (AM_ASFLAGS): Renamed to ...
(AM_CCASFLAGS): ... this.
* stage2/Makefile.am (pre_stage2_exec_ASFLAGS): Renamed to ...
(pre_stage2_exec_CCASFLAGS): ... this.
(start_exec_ASFLAGS): Renamed to ...
(start_exec_CCASFLAGS): ... this.
(e2fs_stage1_5_exec_ASFLAGS): Renamed to ...
(e2fs_stage1_5_exec_CCASFLAGS): ... this.
(fat_stage1_5_exec_ASFLAGS): Renamed to ...
(fat_stage1_5_exec_CCASFLAGS): ... this.
(ffs_stage1_5_exec_ASFLAGS): Renamed to ...
(ffs_stage1_5_exec_CCASFLAGS): ... this.
(minix_stage1_5_exec_ASFLAGS): Renamed to ...
(minix_stage1_5_exec_CCASFLAGS): ... this.
(reiserfs_stage1_5_exec_ASFLAGS): Renamed to ...
(reiserfs_stage1_5_exec_CCASFLAGS): ... this.
(vstafs_stage1_5_exec_ASFLAGS): Renamed to ...
(vstafs_stage1_5_exec_CCASFLAGS): ... this.
(jfs_stage1_5_exec_ASFLAGS): Renamed to ...
(jfs_stage1_5_exec_CCASFLAGS): ... this.
(xfs_stage1_5_exec_ASFLAGS): Renamed to ...
(xfs_stage1_5_exec_CCASFLAGS): ... this.
(diskless_exec_ASFLAGS): Renamed to ...
(diskless_exec_CCASFLAGS): ... this.
(nbloader_exec_ASFLAGS): Renamed to ...
(nbloader_exec_CCASFLAGS): ... this.
(pxeloader_exec_ASFLAGS): Renamed to ...
(pxeloader_exec_CCASFLAGS): ... this.
* configure.in: Removed.
* configure.ac: New file. Mostly derived from configure.in.
2003-10-19 Yoshinori OKUJI
From KB Sriram :
* stage2/disk_io.c (set_device) [SUPPORT_NETBOOT]: Added support
for a completion of a network device.
(print_completions): Likewise.
2003-10-10 Robert Millan
* config.guess: Update from official source (CVS).
* config.sub: Likewise.
2003-09-18 Robert Millan
* docs/texinfo.tex: Update from ftp.gnu.org.
2003-09-05 KB Sriram
* stage2/fsys_fat.c: Fix missdetection of ext2fs as fatfs.
2003-09-05 Robert Millan
* docs/menu.lst (GNU/Linux): Add commented initrd command, which
is consistent with documentation.
2003-09-01 Robert Millan
* docs/menu.lst: Add NetBSD, OpenBSD, GNU/KFreeBSD and
GNU/KNetBSD.
2003-08-13 Jason Thomas
* util/grub-install.in (resolve_symlink): New function to
resolve symlinks.
(find_device): Moved symlink code to new function.
Before we convert the install_device we attempt to resolve it if
its a symlink using the new function.
* util/mbchk.c (check_multiboot): The sense of an error message
was inverted.
Reported by Timothy Baldwin .
2003-08-12 Jochen Hoenicke
* stage2/fsys_reiserfs.c (read_tree_node): Fixed a typo; only
matters for very large fs when tree doesn't fit in cache.
(IH_KEY_OFFSET): Don't check for INFO->version. There are
actually old version file systems that use new version items.
(IH_KEY_ISTYPE): Likewise.
(reiserfs_dir): Likewise.
2003-08-09 Thierry Laronde
* util/mkbimage: New File. `mkbimage' depends on GRUB and
existed elsewhere. It is now part of GRUB so that people can
fix/contribute.
* util/Makefile.am (sbin_SCRIPTS): Added script `mkbimage'
2003-08-01 Jason Thomas
* util/grub-install.in: support --no-floppy
This allow users to specify the --no-floppy option which
is passed onto the grub shell, so it does not probe the floppy
drive.
Patch from kesha@diedas.soften.ktu.lt
2003-06-17 Jochen Hoenicke
* stage2/fsys_reiserfs.c (reiserfs_mount): Clear the node cache.
This fixes a problem where files from other partitions appear at
the wrong partition. Problem reported by Johan Regin.
2003-05-04 Yoshinori K. Okuji
* docs/grub.texi (partnew): Fixed the inconsistency between the
implementation and the documentation. The last argument is the
length instead of the ending address.
Reported by Daniel Farrell .
2003-03-19 Yoshinori K. Okuji
From Adam Lackorzynski :
* stage2/shared.h (KEY_NPAGE): Changed to 0x5100.
(KEY_PPAGE): Changed to 0x4900.
2003-03-19 Yoshinori K. Okuji
* stage2/boot.c (load_image): Check if DATA_LEN plus SECTOR_SIZE
is less than or equal to MULTIBOOT_SEARCH, instead of if
DATA_LEN is less than or equal to MULTIBOOT_SEARCH.
Reported by Neelkanth Natu .
2003-03-12 Leonid Lisovskiy
* lib/device.c (get_drive_geometry): grub utility didn't work
due to uninitialized 'sector_size' struct geometry member.
* stage1/stage1.h (GRUB_NO_DRIVE): Constant moved from
stage2/shared.h and its value rolled back to 0xFF for backward
compatibility with original grub.
* stage1/stage1.S (boot_drive): Use GRUB_NO_DRIVE instead of
constant.
* stage2/bios.c (get_diskinfo): Workaround for BIOS'es that
has CD-ROM drive number = last harddisk + 1.
2003-03-10 Yoshinori K. Okuji
From Andrew Walrond :
* stage2/fsys_reiserfs.c (struct reiserfs_journal_header):
Remove an unnecessary ``long''.
2003-03-10 Yoshinori K. Okuji
From Tilmann Bubeck:
* stage2/builtins.c [SUPPORT_SERIAL] (terminfo_func): Unescape
arguments before copying them, and escape sequences before
printing them.
* stage2/terminfo.h (TERMINFO_LEN): Changed to 40.
2003-02-20 Yoshinori K. Okuji
* util/grub-install.in (find_device): Fix the sed script.
2003-02-17 Yoshinori K. Okuji
* lib/device.c (check_device): If DEVICE is empty, just return
1.
(get_scsi_disk_name) [__QNXNTO__]: Make NAME empty, because SCSI
disks are detected as IDE disks on QNX RTP.
From Taketo Kabe :
* lib/device.c (get_ide_disk_name) [__QNXNTO__]: Set NAME to
"/dev/hdX".
(get_floppy_disk_name) [__QNXNTO__]: Set NAME to "/dev/fdX".
* stage2/mb_info.h (struct AddrRangeDesc): Specified with the
attribute packed.
* stage2/shared.h (struct mmar_desc): Likewise.
2003-01-29 Yoshinori K. Okuji
From Ilguiz Latypov:
* configure.in: Fix a syntax error in a sed script.
* stage2/bios.c (get_diskinfo): PhoenixBIOS 4.0 Revision 6.0
for ZF Micro might understand the greater buffer size for the
"get drive parameters" int 0x13 call in its own way.
Supposedly the BIOS assumes even bigger space is available and
thus corrupts the stack. This is why we specify the exactly
necessary size of 0x42 bytes.
2003-01-28 Leonid Lisovskiy
ISO9660 support is added.
* stage2/fsys_iso9660.c: New file - a lot of code stolen from
GRUB/98 0.5.
* stage2/iso9660.h: Likewise.
* stage2/start_torito.S: New file - El Torito boot sector.
* stage2/Makefile.am (noinst_HEADERS): iso9660.h added.
(libgrub_a_SOURCES): fsys_iso9660.c added.
(pkgdata_DATA): iso9660_stage1_5 added.
(noinst_PROGRAMS): iso9660_stage1_5.exec added.
* configure.in (--disable-iso9660): New option.
* stage2/builtins.c (setup_func): Add item for ISO9660 into
STAGE1_5_MAP.
* stage2/disk_io.c (rawread): Ability to read devices with
sector size other than 512 added.
(fsys_table): Added entry for ISO9660.
(check_and_print_mount): Don't print error when probing
partition.
(real_open_partition): Cleanup globals after probing.
* stage2/filesys.h [FSYS_ISO9660]: Add entries for ISO9660
functions.
(NUM_FSYS): Added FSYS_ISO9660_NUM.
* stage2/shared.h (STAGE2_ID_ISO9660_STAGE1_5): New macro.
(GRUB_NO_DRIVE): New constant.
(struct geometry): New member 'sector_size'.
* stage2/bios.c (get_diskinfo): Request 1.xx version of
int13 extensions only since higher version request can
destroy El Torito emulation on some BIOS'es.
(get_cdinfo): New function - get El Torito emulation parameters.
* stage2/asm.S (biosdisk_int13_extensions): pass AX, instead
of AH for universality, save EBX,ECX,EDX registers content to
avoid data corruption in caller functions.
(get_diskinfo_int13_extensions): Removed.
2003-01-25 Yoshinori K. Okuji
From Steven Dick :
* stage2/pc_slice.h (PC_SLICE_TYPE_DELL_UTIL): New macro.
(IS_PC_SLICE_TYPE_FAT): Recognize PC_SLIDE_TYPE_DELL_UTIL as
well.
2003-01-25 Yoshinori K. Okuji
From Karsten Scheibler :
* stage2/terminfo.c (term): Don't use a C99-style initializer.
2003-01-16 Yoshinori K. Okuji
From H.J. Lu :
* stage2/disk_io.c (part_start): Use unsigned long to support
large disks.
(part_length): Likewise.
* stage2/shared.h (part_start): Likewise.
(part_length): Likewise.
2003-01-05 Yoshinori K. Okuji
* configure.in (CFLAGS): When the default CFLAGS is used,
eliminate -O2 and -g from CFLAGS, because Autoconf may
automatically set CFLAGS to them.
2003-01-02 Yoshinori K. Okuji
From Jeremy Katz:
* configure.in: Support building on x86_64 with gcc -m32.
2003-01-02 Yoshinori K. Okuji
From Jeremy Katz:
* stage2/fsys_ext2fs.c (ext2fs_dir): Initialize STR_CHK to shut
up GCC.
* stage2/fsys_minix.c (minix_dir): Likewise.
2002-12-21 Yoshinori K. Okuji
* stage2/asm.S (gateA20): First, try a BIOS call (INT 15H,
AX=2400/2401). Use the keyboard controller, only if that failed.
2002-12-11 Yoshinori K. Okuji
Add a workaround for buggy BIOSes which don't pass boot drive
correctly. The idea is that GRUB forces the fixed disk flag
when booted from a hard disk. When BIOS loads GRUB directly,
the boot drive must be either of 0x00 and 0x80, so this should
work, if those BIOSes always pass zero to %dl. AFAIK, this
assumption is always correct.
* stage2/builtins.c (install_func): Store the fixed disk flag of
the destination drive in BOOT_DRIVE_MASK in Stage 1.
* stage1/stage1.h (STAGE1_BOOT_DRIVE_MASK): New macro.
* stage1/stage1.S (boot_drive_mask): New variable. It is or'ed
to %dl.
2002-12-09 Yoshinori K. Okuji
* stage2/char_io.c (init_page): Change the software name from
"GRUB" to "GNU GRUB". This was inaccurate. Reported by Ciaran
O'Riordan .
2002-12-04 Yoshinori K. Okuji
* stage2/builtins.c (embed_func): When checking if the disk can
store Stage 1.5, check every partition, if it isn't empty.
2002-12-04 Yoshinori K. Okuji
* stage2/stage2.c (print_entry): Put a right arrow, if the entry
is longer than 71 characters. Reported by Pavel Roskin.
2002-12-04 Yoshinori K. Okuji
* stage2/disk_io.c (set_device): If '(n' is given, add 'd' into
DEVICE. Reported by Pavel Roskin.
2002-12-03 Yoshinori K. Okuji
Change the terminal structure a bit, to turn the cursor state
explicitly. Suggested by Pavel Roskin.
* stage2/term.h (struct term_entry): Remove the member
`nocursor' and add `setcursor'.
[!STAGE1_5] (console_setcursor): New prototype.
[SUPPORT_HERCULES] (hercules_setcursor): Likewise.
[!STAGE1_5] (console_nocursor): Removed.
[SUPPORT_HERCULES] (hercules_nocursor): Likewise.
* stage2/stage2.c (run_menu): Call setcursor instead of
nocursor.
Call setcursor with 1 before starting a boot entry.
* stage2/shared.h (nocursor): Removed.
(setcursor): New prototype.
* stage2/hercules.c (herc_cursor_state): New variable.
(herc_turn_cursor): Removed.
(hercules_nocursor): Likewise.
(hercules_setcursor): New function.
* stage2/char_io.c (get_cmdline): Turn on the cursor at the
beginning, and restore it before returning.
(nocursor): Removed.
(setcursor): New function.
* stage2/asm.S (console_cursor_state): New variable.
(console_cursor_shape): Likewise.
(console_setcursor): New function.
(console_nocursor): Removed.
* grub/asmstub.c (console_setcursor): New function.
(hercules_setcursor): Likewise.
(console_nocursor): Removed.
(hercules_nocursor): Likewise.
2002-12-03 Yoshinori K. Okuji
* docs/grub.texi (terminfo): Fix a misleading English sentence.
Reported by Pavel Roskin.
* stage2/builtins.c (builtin_terminfo): Likewise.
2002-12-01 Yoshinori K. Okuji
From Alexander Langer :
* stage2/freebsd.h (RB_GDB): New macro.
(RB_MUTE): Likewise.
(RB_MULTIPLE): Likewise.
* stage2/boot.c (bsd_boot): Set the bits of RB_MULTIPLE, RB_GDB
and RB_MUTE when "-D", "-g" and "-m" are specified,
respectively.
2002-12-01 Yoshinori K. Okuji
* docs/grub.texi (Reporting bugs): Specify the project page of
the BTS instead of the BTS itself.
2002-11-30 Yoshinori K. Okuji
* docs/Makefile.am (man_MANS): Added grub-terminfo.8.
($(srcdir)/grub_terminfo.8): New target.
* utils/grub-terminfo.in: New file.
* util/Makefile.am (sbin_SCRIPTS): Added grub-terminfo.
* configure.in (AC_OUTPUT): Added util/grub-terminfo.
* docs/grub.texi (terminfo): New subsection.
(Invoking grub-terminfo): New chapter.
From Tilmann Bubeck :
* stage2/Makefile.am (noinst_HEADERS): Added terminfo.h and
tparm.h.
(libgrub_a_SOURCES): Added terminfo.c and tparm.c.
(pre_stage2_exe_SOURCES): Likewise.
* stage2/terminfo.c: New file.
* stage2/terminfo.h: Likewise.
* stage2/tparm.c: Likewise.
* stage2/tparm.h: Likewise.
* stage2/stage2.c (get_line_from_config): Fix handling of
backslashes.
* stage2/char_io.c (grub_putstr): New function.
(grub_printf): Use grub_putstr.
(substring): Add const into both arguments.
* stage2/builtins.c [SUPPORT_SERIAL]: Include terminfo.h.
[SUPPORT_SERIAL] (terminfo_func): New function.
[SUPPORT_SERIAL] (builtin_terminfo): New variable.
(builtin_table) [SUPPORT_SERIAL]: Added a pointer to
BUILTIN_TERMINFO.
* stage2/serial.c (serial_gotoxy): Use ti_cursor_address.
(serial_cls): Use ti_clear_screen.
(serial_highlight): use ti_enter_standout_mode and
ti_exit_standout_mode.
2002-11-30 Yoshinori K. Okuji
* stage2/disk_io.c (rawread): Make sure that SECTOR is valid.
If not, set ERRNUM to ERR_GEOM and return zero. This check is
critical when a partition table is corrupted.
2002-11-28 Yoshinori K. Okuji
* stage2/asm.S (console_cls): Write spaces to the entire screen
instead of getting/setting the video mode, because this flickers
the screen and is quite annoying, if using a LCD.
2002-11-15 Yoshinori K. Okuji
* docs/grub.texi (QNX): New subsection. Reported by
Marian-Nicolae V. ION .
2002-10-28 Yoshinori K. Okuji
* grub/asmstub.c (console_translate_key): Deal with KEY_PPAGE
and KEY_NPAGE.
* stage2/serial.c (serial_translate_key_sequence): Added two new
codes for Page Up and Page Down.
* stage2/asm.S (translation_table): Added entries for KEY_PPAGE
and KEY_NPAGE.
* stage2/stage2.c (run_menu): Deal with Page Up and Page Down.
Also recognize the right key for the selection of a boot entry.
Suggested by Adam Lackorzynski .
2002-10-10 Jason Thomas
* stage2/builtins.c (setup_func): Added missing space to --force-lba
option. Reported by Kenneth Crudup
2002-10-06 Yoshinori K. Okuji
* stage2/asm.S (gateA20): Output a dummy command (0xff), as a
workaround for USB keyboard hanging problem. Suggested by
Hidetoshi Nishimaki .
2002-10-06 Yoshinori K. Okuji
* configure.in (falign_loop_flag): New variable. Set to if GCC
supports `-falign-*'. If true, use `-falign-jumps',
`-falign-loops' and `-falign-functions' instead of
`-malign-jumps', `-malign-loops' and `-malign-functions',
because `-malign-*' are obsolete in GCC 3.x. Reported by Jeremy
Katz.
2002-09-13 Yoshinori K. Okuji
* stage2/serial.c (fill_input_buf): Take a new argument NOWAIT.
If NOWAIT is true, don't loop.
All callers are changed.
2002-09-08 Yoshinori K. Okuji
* configure.in (--disable-serial): Fix a typo in the
description.
2002-08-20 Jason Thomas
Changed highlight state code for hercules, console and serial.
The state was 0 - normal or 1 - highlight.
The state is now defined using an enum called color_state.
* stage2/term.h (color_state): New enum.
(COLOR_STATE_STANDARD): Standard color to use when not using
user defined.
(COLOR_STATE_NORMAL): User defined normal color.
(COLOR_STATE_HIGHLIGHT): User defined highlight color.
(console_highlight): Renamed to console_setcolorstate.
(serial_highlight): Renamed to serial_setcolorstate.
(hercules_highlight): Renamed to hercules_setcolorstate.
* stage2/hercules.c (herc_highlight_state): Removed.
(herc_standard_color): New variable.
(herc_color_state): Likewise.
(herc_highlight): Renamed to herc_setcolorstate.
(herc_setcolorstate): Added switch to handle new states.
* stage2/console.c (console_highlight_state): Removed.
(console_standard_color): New variable.
(console_color_state): Likewise.
(console_highlight): Renamed to console_setcolorstate.
(console_setcolorstate): Added switch to handle new states.
* stage2/serial.c (serial_highlight): Renamed to
serial_setcolorstate.
(serial_setcolorstate): Adjusted 'if' to suit new states.
* grub/asmstub.c (console_highlight): Renamed to
console_setcolorstate.
(console_setcolorstate): Adjusted 'if' to suit new states.
* stage2/stage2.c (print_entry): Set color states using new
states.
(print_border): Likewise.
* stage2/stage2.c (run_menu): Reverse if (!) to if () for
uniformitty.
2002-07-12 Yoshinori K. Okuji
* stage2/boot.c (load_image): Rewrite the Linux booting support
radically. Now it should work even on a machine having, say,
only 128KB, theoretically. Of course, GRUB itself doesn't work
on such a system, though.
(load_initrd): Initialize LH based on CUR_ADDR, because the
location becomes dynamic.
* stage2/shared.h (LINUX_MAX_SETUP_SECTS): Set to 64.
(LINUX_HEAP_END_OFFSET): Set to (0x9000 - 0x200).
(LINUX_STAGING_AREA): Removed.
(LINUX_SETUP): Likewise.
(LINUX_KERNEL): Likewise.
(LINUX_KERNEL_MAXLEN): Likewise.
(LINUX_SETUP_SEG): Likewise.
(LINUX_INIT_SEG): Likewise.
(LINUX_SETUP_STACK): Set to 0x9000.
(LINUX_BZIMAGE_ADDR): New macro.
(LINUX_ZIMAGE_ADDR): Likewise.
(LINUX_OLD_REAL_MODE_ADDR): Likewise.
(CL_MY_LOCATION): Removed.
(CL_MY_END_ADDR): Likewise.
(CL_BASE_ADDR): Likewise.
(CL_MAGIC): Renamed to ...
(LINUX_CL_MAGIC): ... this.
(LINUX_CL_OFFSET): New macro.
(LINUX_CL_END_OFFSET): Likewise.
(LINUX_SETUP_MOVE_SIZE): Likewise.
(struct linux_kernel_header): Change the type of the member
"cmd_line_ptr" to char *.
(linux_data_tmp_addr): Declared.
(linux_data_real_addr): Likewise.
* stage2/asm.S [!STAGE1_5] (linux_data_tmp_addr): New variable.
[!STAGE1_5] (linux_data_real_addr): Likewise.
[!STAGE1_5] (big_linux_boot): Copy the real mode part from
LINUX_DATA_TMP_ADDR to LINUX_DATA_REAL_ADDR.
* grub/asmstub.c (linux_data_tmp_addr): New variable.
(linux_data_real_addr): Likewise.
2002-07-09 Yoshinori K. Okuji
From Mark Kettenis :
* stage2/boot.c (load_image): Recognize newer FreeBSD kernels.
* stage2/i386-elf.h (EI_OSABI): New macro.
(EI_ABIVERSION): Likewise.
(ELFOSABI_FREEBSD): Likewise.
(EI_PAD): Set to 9.
2002-07-06 Yoshinori K. Okuji
* stage2/shared.h (boot_part_offset): Removed.
* stage2/disk_io.c (set_bootdev): Copy the partition information
here. Now this function can call rawread, so it can fail.
(boot_part_offset): Removed.
* stage2/builtins.c (boot_func): Don't copy the partition
information here.
(real_root_func): Check ERRNUM after calling set_bootdev.
2002-07-04 Yoshinori K. Okuji
* docs/grub.texi (Reporting bugs): Use the group name (i.e.
grub) instead of the group id (i.e. 68) for the URL of the BTS.
2002-07-03 Yoshinori K. Okuji
* stage2/serial.c [!GRUB_UTIL] (inb): Added a delay into this
function itself.
[!GRUB_UTIL] (outb): Likewise.
[!GRUB_UTIL] (serial_hw_put): Increase the timeout value, and
don't call serial_hw_delay explicitly any longer.
(fill_input_buf): Increase the maximum number of retries, reset
the counter to zero after getting a valid character, and don't
call serial_hw_delay explicitly any longer.
2002-07-03 Yoshinori K. Okuji
* stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed a typo.
Reported by Ilguiz Latypov.
2002-07-01 Yoshinori K. Okuji
* Makefile.am (AUTOMAKE_OPTIONS): New variable. Specify the
required Automake version explicitly.
2002-06-30 Yoshinori K. Okuji
* stage2/builtins.c [SUPPORT_SERIAL || SUPPORT_HERCULES]
(terminal_func): Set CURRENT_TERM to each of selected terminals
before calling grub_printf, and restore CURRENT_TERM after it.
Reported by Ilguiz Latypov.
Prepend a carriage return to the prompting message, because it
is ugly that the same messages fulfill the whole screen.
2002-06-30 Yoshinori K. Okuji
* stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed the
conditional statement. Reported by Ilguiz Latypov.
2002-06-24 Yoshinori K. Okuji
* MAINTENANCE: New file.
2002-06-15 Yoshinori K. Okuji
* stage2/disk_io.c [SUPPORT_NETBOOT] (GRUB): Defined.
[SUPPORT_NETBOOT]: Include etherboot.h.
[!STAGE1_5] (print_completions) [SUPPORT_NETBOOT]: When
completing a disk name, if NETWORK_READY is true, add "nd" as a
completion.
2002-06-15 Yoshinori K. Okuji
* stage2/fsys_xfs.c (le32): Don't use bswap, but use xchgb and
roll, because 386 doesn't have bswap. Reported by Frode Vatvedt
Fjeld .
2002-06-12 Yoshinori K. Okuji
* netboot/main.c (ifconfig): If GW is specified, clear out the
ARP entry for the gateway. If SVR is specified, clear out the
ARP entry for the server. Reported by Uwe Dannowski
.
2002-06-12 Yoshinori K. Okuji
* util/grub-md5-crypt.in: Prompt to retype a password, and check
if the passwords matches. Suggested by Matt Perry
.
Also, don't use Perl any longer, because *BSD's sh and GNU
support ``read -r'', and GRUB doesn't support any other
operating system anyway.
2002-06-12 Yoshinori K. Okuji
The terminal handling code is rewritten radically.
* stage2/console.c: New file.
* stage2/term.h: Likewise.
* stage2/Makefile.am (noinst_HEADERS): Added term.h.
(libgrub_a_SOURCES): Added serial.c.
(pre_stage2_exec_SOURCES): Added console.c.
* stage2/asm.S (console_putchar): Rewritten from scratch.
[!STAGE1_5] (translation_table): New variable.
[!STAGE1_5] (translate_keycode): New function.
[!STAGE1_5] (console_getkey): Call translate_keycode.
[!STAGE1_5] (console_checkkey): Likewise.
[!STAGE1_5] (nocursor): Renamed to ...
[!STAGE1_5] (console_nocursor): ... this.
[!STAGE1_5] (console_set_attrib): Removed.
* stage2/builtins.c: Include term.h.
(terminal): Removed.
(normal_color): Likewise.
(highlight_color): Likewise.
(cat_func): Display a question mark when a non-printable
character was read.
(terminal_func): Rewritten almost from scratch.
* stage2/char_io.c: Include term.h.
[!STAGE1_5] (auto_fill): Removed.
[!STAGE1_5] (term_table): New variable.
[!STAGE1_5] (current_term): Likewise.
[!STAGE1_5] (real_get_cmdline): New function. The code was
stolen from the previous version of get_cmdline.
[!STAGE1_5] (get_cmdline): Rewritten from scratch.
[!STAGE1_5] (translate_keycode): Removed.
[!STAGE1_5] (getkey): Rewritten from scratch.
[!STAGE1_5] (checkkey): Likewise.
(grub_putchar): Likewise.
[!STAGE1_5] (gotoxy): Likewise.
[!STAGE1_5] (getxy): Likewise.
[!STAGE1_5] (cls): Likewise.
[!STAGE1_5] (nocursor): New function.
[SUPPORT_SERIAL] (serial_getxy): Removed.
[SUPPORT_SERIAL] (serial_gotoxy): Likewise.
[SUPPORT_SERIAL] (serial_cls): Likewise.
[SUPPORT_SERIAL] (serial_getxy): Likewise.
[!STAGE1_5] (set_attrib): Likewise.
* stage2/cmdline.c (init_cmdline): Set COUNT_LINES to -1.
* stage2/common.c [!STAGE1_5] (err_list): Removed
ERR_NEED_SERIAL and added ERR_DEV_NEED_INIT.
* stage2/hercules.c: Rewritten almost from scratch.
* stage2/hercules.h (herc_putchar): Removed.
(herc_cls): Likewise.
(herc_getxy): Likewise.
(herc_gotoxy): Likewise.
(herc_set_attrib): Likewise.
* stage2/serial.c: Rewritten almost from scratch.
* stage2/serial.h: Likewise.
* stage2/shared.h [GRUB_UTIL] (DISP_UL): Set to the same value
as VGA's.
[GRUB_UTIL] (DISP_UR): Likewise.
[GRUB_UTIL] (DISP_LL): Likewise.
[GRUB_UTIL] (DISP_LR): Likewise.
[GRUB_UTIL] (DISP_HORIZ): Likewise.
[GRUB_UTIL] (DISP_VERT): Likewise.
[GRUB_UTIL] (DISP_LEFT): Likewise.
[GRUB_UTIL] (DISP_RIGHT): Likewise.
[GRUB_UTIL] (DISP_UP): Likewise.
[GRUB_UTIL] (DISP_DOWN): Likewise.
(grub_error_t): Removed ERR_NEED_SERIAL.
Added ERR_DEV_NEED_INIT.
(normal_color): Removed.
(highlight_color): Likewise.
(console_cls): Removed, because this is declared in term.h.
(console_getxy): Likewise.
(console_gotoxy): Likewise.
(console_putchar): Likewise.
(console_getkey): Likewise.
(console_checkkey): Likewise.
(console_set_attrib): Removed.
(set_attrib): Likewise.
[GRUB_UTIL] (nocursor): Declared.
(auto_fill): Removed.
(terminal): Likewise.
(TERMINAL_CONSOLE): Likewise.
(TERMINAL_SERIAL): Likewise.
(TERMINAL_HERCULES): Likewise.
(TERMINAL_DUMB): Likewise.
(translate_keycode): Likewise.
* stage2/stage2.c: Include term.h.
(print_entry): Rewritten from scratch.
(print_entries): Likewise.
(print_border): Likewise.
(set_line): Removed.
(set_line_normal): Likewise.
(set_line_highlight): Likewise.
* grub/Makefile.am (AM_CFLAGS): Added -DSUPPORT_HERCULES=1.
* grub/asmstub.c: Don't include hercules.h. Include term.h.
(console_current_color): New variable.
(console_translate_key): New function.
(console_checkkey): Rewritten from scratch.
(console_getkey): Likewise.
(console_putchar): Likewise.
(console_set_attrib): Removed.
(console_highlight): New function.
(console_setcolor): Likewise.
(console_nocursor): Likewise.
(serial_getkey): Removed.
(serial_checkkey): Likewise.
(serial_putchar): Likewise.
(serial_exists): Likewise.
(serial_get_port): Likewise.
(serial_init): Likewise.
(serial_hw_fetch): New function.
(serial_hw_put): Likewise.
(serial_hw_delay): Likewise.
(serial_hw_get_port): Likewise.
(serial_hw_init): Likewise.
(set_serial_device): Renamed to ...
(serial_set_device): ... this.
(herc_putchar): Renamed to ...
(hercules_putchar): ... this.
(herc_cls): Renamed to ...
(hercules_cls): ... this.
(herc_getxy): Renamed to ...
(hercules_getxy): ... this.
(herc_gotoxy): Renamed to ...
(hercules_gotoxy): ... this.
(hercules_highlight): New function.
(hercules_setcolor): Likewise.
(hercules_nocursor): Likewise.
(herc_set_attrib): Removed.
* grub/main.c: Include term.h.
(main): If USE_CURSES is false, set CURRENT_TERM->FLAGS to
TERM_NO_EDIT | TERM_DUMB. TERMINAL is not used any longer.
2002-06-01 Yoshinori K. Okuji
* docs/grub.texi (FAQ): Removed. See the GNU GRUB FAQ on the web
instead.
2002-05-31 Yoshinori K. Okuji
* docs/grub.texi (Reporting bugs): Recommend using the BTS on
Savannah rather than the list bug-grub.
2002-05-25 Yoshinori K. Okuji
* stage2/builtins.c (boot_func): Load the boot partition
information, only if the address of the boot partition entry is
set appropriately.
(real_root_func): If ATTEMPT_MOUNT is false, call open_partition
and if successful, call set_bootdev, to set the offset of the
boot partition and the address of the boot paetition entry.
IF ATTEMPT_MOUNT is false, don't set BOOTDEV. The BSD evil hack
is useless with the command "rootnoverify" anyway.
* stage2/disk_io.c (boot_part_addr): Initialized with zero
explicitly, to emphasize that it is invalid.
2002-05-24 Yoshinori K. Okuji
* stage2/builtins.c (real_root_func): New function.
(root_func): Just call real_root_func.
(rootnoverify_func): Likewise.
2002-05-23 Yoshinori K. Okuji
* configure.in (AM_INIT_AUTOMAKE): Changed the version number to
0.93.
2002-05-23 Yoshinori K. Okuji
Define the behavior of the boot loader when the load end address
and the bss end address are zero in the Multiboot Specification,
and add the support into GRUB. I've modified a patch from Yuri
Zaporogets .
* stage2/boot.c (load_image): In the case of Multiboot a.out
kludge, set the load end address to the load address plus the
size of the OS image file, if it is zero. Similarly, set the bss
end address to the load end address, if it is zero.
* util/mbchk.c (check_multiboot): Don't check if the load
address is greater than or equal to the load end address, if the
load end address is zero. Don't check if the load end address is
greater than the bss end address, if the bss end address is
zero. And, don't check if the load end address is less than or
equal to the entry address, if the load end address is zero.
* docs/multiboot.texi (The address fields of Multiboot header):
Added descriptions about the behavior of the boot loader when
LOAD_END_ADDR is zero and BSS_END_ADDR is zero.
2002-05-22 Yoshinori K. Okuji
* stage2/builtins.c (boot_func): If DEBUG is true, print
BOOT_DRIVE and BOOT_PART_OFFSET.
Don't set ERRNUM after rawread failed, because rawread should
set ERRNUM itself.
2002-05-20 Yoshinori K. Okuji
* lib/device.c (read_device_map): Show an error message and exit
abnormally, if MAP[DRIVE] has already been filled.
* util/grub-install.in: If there is any dulicated entry, print
an error message and exit abnormally.
2002-05-20 Yoshinori K. Okuji
* lib/device.c: Don't include linux/hdreg.h, linux/major.h,
or linux/kdev_t.h.
[__linux__] (HDIO_GETGEO): Defined.
[__linux__] (hd_geometry): Likewise.
[__linux__] (FLOPPY_MAJOR): Likewise.
[__linux__] (MINORBITS): Likewise.
[__linux__] (MAJOR): Likewise.
2002-05-08 Yoshinori K. Okuji
* netboot/fsys_tftp.c (tftp_read): Don't call buf_fill unless
SIZE is positive.
2002-05-08 Yoshinori K. Okuji
* netboot/etherboot.h (ETH_MAX_MTU): Because some DHCP/BOOTP
servers don't treat the maximum length the same as Etherboot,
subtract the size of an IP header and that of an UDP header.
2002-04-30 Yoshinori K. Okuji
From Jean-Jacques Michel :
* stage2/boot.c (load_image): For Linux, check if DATA_LEN is
greater than MULTIBOOT_SEARCH. If that's true, read the rest
after copying data already read in BUFFER.
2002-04-30 Yoshinori K. Okuji
* stage2/boot.c (load_image): For Linux, don't check if the
length of protected mode code is greater than or equal to the
expected length minus 16. Instead, just check if no error
occurred. That was problematic, because memdisk has no protected
mode code. Also, I don't see what the magic number 16 was for.
2002-04-29 Yoshinori K. Okuji
* stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Added a
new option ``--silent''. This suppresses messages, if specified.
2002-04-29 Yoshinori K. Okuji
* config.guess: New upstream version.
* config.sub: Likewise.
2002-04-20 Yoshinori K. Okuji
* netboot/config.c (PCI_NIC) [INCLUDE_DAVICOM]: Fix typos.
Reported by Julien Perrot .
2002-04-17 Yoshinori K. Okuji
* stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Set
COUNT_LINES to -1, to disable the pager.
2002-04-16 Yoshinori K. Okuji
* docs/grub.texi (Obtaining and Building GRUB): Update the link
to the binutils site.
2002-04-06 Pavel Roskin
* util/grub-install.in: Fix hardcoded /dev/hda1.
2002-04-06 Yoshinori K. Okuji
* stage2/builtins.c [GRUB_UTIL] (dump_func): New function.
[GRUB_UTIL] (builtin_dump): New variable.
(builtin_table) [GRUB_UTIL]: Added a pointer to BUILTIN_DUMP.
* util/grub-install.in: Make sure that GRUB reads the same
images as the host operating system by comparing the result of
running the command "dump" with the contents of the OS file.
2002-04-04 Yoshinori K. Okuji
* stage2/builtins.c (setup_func): Don't embed a drive number, if
unnecessary.
2002-03-29 Yoshinori K. Okuji
* docs/grub.texi (General commands): Added ``pager'' into the
menu.
(pager): New subsection.
(terminal): Added a description about the option
``--lines=LINES''.
* configure.in (AC_INIT_AUTOMAKE): Set the version number to
0.92.
2002-03-26 Yoshinori K. Okuji
* netboot/eepro100.c (eepro100_probe): Increase the delay at the
initialization.
2002-03-26 Yoshinori K. Okuji
* stage2/boot.c (linux_mem_size): New variable.
(load_image): Check a mem= option and set LINUX_MEM_SIZE to the
specified memory size, if any. Otherwise, to zero. When an
overflow is detected, use LINUX_INITRD_MAX_ADDRESS instead.
(load_initrd): If LINUX_MEM_SIZE is non-zero, use it instead of
the actual memory size.
* stage2/char_io.c (safe_parse_maxint): Use ERR_NUMBER_OVERFLOW
instead of ERR_NUMBER_PARSING, when an overflow occurs.
* stage2/common.c [!STAGE1_5] (err_list): Added
ERR_NUMBER_OVERFLOW.
* stage2/shared.h (ERR_NUMBER_OVERFLOW): New constant.
2002-03-24 Yoshinori K. Okuji
* stage2/stage2.c (run_menu): Call cls outside the loop to run
scripts.
* stage2/cmdline.c (run_script): Prompt a user's intervention,
only when FALLBACK_ENTRY is negative.
2002-02-11 Pavel Roskin
* util/grub-install.in (find_device): New function - find block
device for given file or directory. Resolve symlinks to fix
problem on Linux with devfs and old device names in /etc/fstab.
Use find_device() for root_device, bootdir_device and
grubdir_device.
2002-02-08 Yoshinori K. Okuji
* grub/main.c (OPT_NO_PAGER): New macro.
(longopts): Added an entry for "--no-pager".
(usage): Added a description about "--no-pager".
(main): In case of OPT_NO_PAGER, set USE_PAGER to zero. The same
thing is done with OPT_BATCH, because the pager is just harmful
in batch mode.
2002-02-08 Yoshinori K. Okuji
* stage2/builtins.c (help_func): Show all the commands runnable
with the command-line interface, if "--all" is specified.
2002-02-08 Yoshinori K. Okuji
An internal pager is implemented.
* stage2/builtins.c (pager_func): New function.
(builtin_pager): New variable.
(terminal_func): New option, "--lines=LINES" is added. If this
option is specified, set MAX_LINES to the value. Otherwise, set
MAX_LINES to 24.
(vbeprobe_func): Remove the pager code specific to this
function.
(builtin_table): Added a pointer to BUILTIN_PAGER.
* stage2/char_io.c (max_lines) [!STAGE1_5]: New variable.
(count_lines) [!STAGE1_5]: Likewise.
(use_pager) [!STAGE1_5]: Likewise.
(grub_putchar) [!STAGE1_5]: if C is a newline and COUNT_LINES is
not -1, count up the number of lines. If it exceeds the maximum
number of lines minus 2, show a message and wait for input of
return key. "minus 2" is to reserve space for the message
printed by this internal pager.
* stage2/cmdline.c (enter_cmdline): If USE_PAGER is true, set
COUNT_LINES to zero, before running a command, and reset
COUNT_LINES to -1 after that.
* stage2/shared.h (max_lines) [!STAGE1_5]: Declared.
(count_lines) [!STAGE1_5]: Likewise.
(use_pager) [!STAGE1_5]: Likewise.
2002-02-08 Yoshinori K. Okuji
* stage2/fsys_jfs.c (jfs_read) [STAGE1_5]: Set and reset
DISK_READ_FUNC even in Stage 1.5.
* stage2/fsys_xfs.c (xfs_read) [STAGE1_5]: Likewise.
* stage2/stage1_5.c (saved_sector): Initialized with -1.
(cmain): Check if SAVED_SECTOR was set appropriately after
reading the second sector of Stage 2. If SAVED_SECTOR is not
set (i.e. it is equal to -1), print an error and stop.
2002-02-05 Yoshinori K. Okuji
* stage2/builtins.c (setup_func): Add a VSTa fs entry into
STAGE1_5_MAP.
2002-02-05 Yoshinori K. Okuji
* stage2/shared.h (BUILTIN_HELP_LIST): New macro. Used for
commands whose help messages are listed when no argument is
specified to the command "help".
* stage2/builtins.c (builtin_blocklist): Added the attribute
BUILTIN_HELP_LIST.
(builtin_boot): Likewise.
(builtin_bootp): Likewise.
(builtin_cat): Likewise.
(builtin_chainloader): Likewise.
(builtin_color): Likewise.
(builtin_configfile): Likewise.
(builtin_device): Likewise.
(builtin_dhcp): Likewise.
(builtin_displayapm): Likewise.
(builtin_displaymem): Likewise.
(builtin_find): Likewise.
(builtin_geometry): Likewise.
(builtin_halt): Likewise.
(builtin_help): Likewise.
(builtin_hide): Likewise.
(builtin_ifconfig): Likewise.
(builtin_initrd): Likewise.
(builtin_kernel): Likewise.
(builtin_makeactive): Likewise.
(builtin_map): Likewise.
(builtin_md5crypt): Likewise.
(builtin_module): Likewise.
(builtin_modulenounzip): Likewise.
(builtin_partnew): Likewise.
(builtin_parttype): Likewise.
(builtin_quit): Likewise.
(builtin_rarp): Likewise.
(builtin_reboot): Likewise.
(builtin_root): Likewise.
(builtin_rootnoverify): Likewise.
(builtin_serial): Likewise.
(builtin_setkey): Likewise.
(builtin_setup): Likewise.
(builtin_terminal): Likewise.
(builtin_testvbe): Likewise.
(builtin_tftpserver): Likewise.
(builtin_unhide): Likewise.
(builtin_uppermem): Likewise.
(builtin_vbeprobe): Likewise.
(help_func): When no argument is specified, if the last entry
was at the left column, print an extra newline.
2002-02-05 Yoshinori K. Okuji
* stage2/shared.h (BUILTIN_HIDDEN): Renamed to ...
(BUILTIN_NO_ECHO): ... this. The old name was too difficult to
see _what_ was hidden.
2002-02-05 Yoshinori K. Okuji
* netboot/misc.c (twiddle): Go back to the bar progress, copied
from etherboot-5.0.5/src/misc.c. Execute the code only if DEBUG
is true.
2002-02-05 Yoshinori K. Okuji
* stage2/builtins.c (displaymem_func): Use hex digits to display
for consistency.
2002-02-04 Jason Thomas
From Denis Kitzman :
* stage2/Makefile.am (libgrub_a_CFLAGS): Fixed a typo.
FSYS_XFS, USE_MD5_PASSWORDS, SUPPORT_SERIAL, and
SUPPORT_HERCULES did not get defined.
2002-01-20 Yoshinori K. Okuji
* util/grub-image.in: Check stage2 instead of stage2.c to
determine where the script is invoked, because srcdir may not
be used for the compilation.
2002-01-20 Yoshinori K. Okuji
* grub/asmstub.c (console_putchar): When not using curses,
ignore a carriage return, because a newline in Unix is only a
line feed.
2002-01-18 Klaus Reichl
* stage2/fsys_minix.c (minix_dir): Fixed bug getting filenames
with MAXNAMELEN right.
* stage2/char_io.c (get_cmdline, cl_refresh): If TERMINAL_DUMB
section is always 0.
Line is only cleared if !TERMINAL_DUMB.
* grub/main.c (use_curses): Initialize to 0 if !HAVE_LIBCURSES
(main): Check for curses use and set terminal to dumb if we
don't use it (helps for --batch and variants of non-curses
setup).
2002-01-15 Yoshinori K. Okuji
* configure.in (AM_INIT_AUTOMAKE): The version number is
upgraded to 0.91.
2002-01-15 Yoshinori K. Okuji
* docs/grub.texi (Preset Menu): New chapter.
2002-01-15 Yoshinori K. Okuji
* docs/grub.texi: Added some text about JFS and XFS.
2002-01-08 Yoshinori K. Okuji
* grub/main.c (use_preset_menu): New variable.
(OPT_PRESET_MENU): New macro.
(longopts): Added an entry for "--preset-menu".
(usage): Added a description for "--preset-menu". Also, change
the first character of the description for "--device-map" to
lower case for consistency.
(main): Set USE_PRESET_MENU to 1 in the case of OPT_PRESET_MENU.
* stage2/shared.h (use_preset_menu): Declared.
* stage2/stage2.c [PRESET_MENU_STRING || SUPPORT_DISKLESS]
(open_preset_menu) [GRUB_UTIL]: If USE_PRESET_MENU is false,
return zero immediately.
2002-01-08 Yoshinori K. Okuji
* stage2/common.c [SUPPORT_DISKLESS]
(setup_diskless_environment): Removed. The feature is moved to
the preset menu.
* stage2/stage2.c [SUPPORT_DISKLESS] (preset_menu): Set to the
string "bootp\n".
[SUPPORT_DISKLESS] (preset_menu_offset): Defined, as if
PRESET_MENU_STRING is defined.
[SUPPORT_DISKLESS] (open_preset_menu): Likewise.
[SUPPORT_DISKLESS] (read_from_preset_menu): Likewise.
[SUPPORT_DISKLESS] (close_preset_menu): Likewise.
2002-01-06 Yoshinori K. Okuji
The preset menu has a priority over the configuration file.
Suggested by Christoph Plattner.
* stage2/stage2.c [PRESET_MENU_STRING] (open_preset_menu):
Check if PRESET_MENU is not NULL.
[PRESET_MENU_STRING] (close_preset_menu): Set PRESET_MENU to
NULL.
(cmain): New internal function, reset. This function resets
AUTO_FILL, CONFIG_LEN, MENU_LEN, NUM_ENTRIES, CONFIG_ENTRIES,
MENU_ENTRIES and call init_config.
Try to open the preset menu first, and try to open the
configuration file, only if that failed.
Even if the preset menu was read, try to open the configuration
file. This time, opening the preset menu never succeed, because
close_preset_menu ensures that the preset menu is available at
most once.
2002-01-06 Yoshinori K. Okuji
* netboot/misc.c (inet_aton): Don't check if *P is an asterisk,
if I is 3. Reported by Rick (his real name and address are
unknown).
2002-01-03 Yoshinori K. Okuji
Update the netboot stuff to Etherboot-5.0.5.
* configure.in (--enable-3c590): Removed. This was a mistake.
(--enable-davicom): New option.
(--enable-eepro): Likewise.
(--enable-natsemi): Likewise.
(--enable-ni5010): Likewise.
(--enable-sis900): Likewise.
(--enable-w89c840): Likewise.
(--enable-3c509-hack): Removed.
(--enable-ns8390-force-16bit): Likewise.
* netboot/Makefile.am (libdrivers_a_SOURCES): Added timer.c and
timer.h.
(EXTRA_libdrivers_a_SOURCES): Added davicom.c, eepro.c, fa311.c,
natsemi.c, ni5010.c, sis900.c, sis900.h, tlan.c and w89c840.c.
(EXTRA_DIST): Added sis900.txt.
(3c595_drivers): Remove 3c590.o from this.
(davicom_drivers): New variable.
(eepro_drivers): Likewise.
(natsemi_drivers): Likewise.
(ni5010_drivers): Likewise.
(sis900_drivers): Likewise.
(w89c840_drivers): Likewise.
(3c590_o_CFLAGS): Removed.
(davicom_o_CFLAGS): New variable.
(eepro_o_CFLAGS): Likewise.
(natsemi_o_CFLAGS): Likewise.
(ni5010_o_CFLAGS): Likewise.
(sis900_o_CFLAGS): Likewise.
(w89c840_o_CFLAGS): Likewise.
* netboot/davicom.c: New file, from Etherboot-5.0.5.
* netboot/eepro.c: Likewise.
* netboot/natsemi.c: Likewise.
* netboot/ni5010.c: Likewise.
* netboot/sis900.c: Likewise.
* netboot/sis900.h: Likewise.
* netboot/sis900.txt: Likewise.
* netboot/timer.c: Likewise.
* netboot/timer.h: Likewise.
* netboot/w89c840.c: Likewise.
* netboot/fa311.c: Likewise.
* netboot/tlan.c: Likewise.
* netboot/3c509.c: Copied from Etherboot-5.0.5.
* netboot/3c509.h: Likewise.
* netboot/3c595.c: Likewise.
* netboot/3c90x.c: Likewise.
* netboot/3c90x.txt: Likewise.
* netboot/cards.h: Likewise.
* netboot/cs89x0.c: Likewise.
* netboot/depca.c: Likewise.
* netboot/eepro100.c: Likewise.
* netboot/epic100.c: Likewise.
* netboot/i82586.c: Likewise.
* netboot/lance.c: Likewise.
* netboot/linux-asm-string.h: Likewise.
* netboot/nic.h: Likewise.
* netboot/ns8390.c: Likewise.
* netboot/ns8390.h: Likewise.
* netboot/otulip.c: Likewise.
* netboot/pci.h: Likewise.
* netboot/rtl8139.c: Likewise.
* netboot/sk_g16.c: Likewise.
* netboot/smc9000.c: Likewise.
* netboot/tiara.c: Likewise.
* netboot/tulip.c: Likewise.
* netboot/via-rhine.c: Likewise.
* netboot/config.c: Applied a diff between Etherboot-4.6.4 and
Etherboot-5.0.5 manually.
* netboot/main.c: Likewise.
* netboot/pci.c: Likewise.
* netboot/etherboot.h: Rewritten mostly from scratch, based on
the same file in Etherboot-5.0.5.
* netboot/misc.c: Likewise.
* netboot/osdep.h: Likewise.
* netboot/fsys_tftp.c (GRUB): Defined.
(buf_fill): Use rfc2131_sleep_interval instead of rfc951_sleep.
* stage2/builtins.c [SUPPORT_NETBOOT] (GRUB): Defined.
(boot_func) [SUPPORT_NETBOOT]: Call cleanup_net.
* stage2/cmdline.c [SUPPORT_DISKLESS] (GRUB): Defined.
* stage2/common.c [SUPPORT_DISKLESS] (GRUB): Likewise.
2002-01-02 Jeremy Katz
* util/grub-install.in: Support using mktemp as well as tempfile
for secure temporary file creation.
2002-01-02 Jeremy Katz
* stage2/md5.c (md5_password): Ensure the password exists before
trying to check against the md5 crypted version.
2001-12-30 Yoshinori K. Okuji
* stage1/stage1.S: Don't call INT 13, AH=48H, because it is
difficult to call this function with the workaround implemented
in the previous change due to the size limit of Stage 1.
(lba_mode) [NO_BUGGY_BIOS_IN_THE_WORLD]: Don't check the
geometry explicitly. This shouldn't be harmful, as INT 13,
AH=42H should take care of it, and if you cannot read Stage 2
even with LBA because of a geometry problem, you can never read
it.
* stage2/start.S (lba_mode) [NO_BUGGY_BIOS_IN_THE_WORLD]:
Likewise.
2001-12-30 Yoshinori K. Okuji
* stage2/bios.c (get_diskinfo): Clear out the structure DRP
before calling get_diskinfo_int13_extensions, because the Ralf
Brown's Interrupt List says that Dell machines using PhoenixBIOS
4.0 Release 6.0 fail, if DRP.FLAGS is not zero. Setting the
entire structure to zero may be overkill, but it should be safe.
* stage2/char_io.c [STAGE1_5] (grub_memset): Defined.
2001-12-30 Yoshinori K. Okuji
From John Goerzen :
* util/grub-install.in (convert): Added NetBSD support.
2001-12-30 Yoshinori K. Okuji
* util/grub-install.in: Set GRUB_PREFIX and BOOTDIR to "/grub"
and "${rootdir}" respectively in NetBSD.
2001-12-30 Yoshinori K. Okuji
* stage2/builtins.c (builtin_geometry): Add extra space
characters into the long description.
(builtin_kernel): Likewise.
(builtin_vbeprobe): Likewise.
2001-12-19 Yoshinori K. Okuji
From Michael Sullivan :
* stage1/stage1.S (real_start): Added a workaround for AST BIOS,
because it clobbers %dl with INT 13, AH=41H.
2001-12-19 Yoshinori K. Okuji
* stage2/fsys_fat.c (fat_read): Fix the contradictory comment.
Reported by Filip Van Raemdonck .
2001-12-11 Yoshinori K. Okuji
* stage2/builtins.c (displayapm_func): Don't use multi-line
string literals but string concatenation instead, to suppress
warnings from gcc-3.0.x.
* stage2/cmdline.c (print_cmdline_message): Likewise.
* util/mbchk.c (usage): Likewise.
* stage2/smp-imps.c (imps_read_config_table): Add a break
statement after the label ``default''.
* util/mbchk.c: Include for the prototype of exit.
* stage2/serial.c (serial_port): Initialize with 0 instead of
-1, as an invalid value, because SERIAL_PORT is unsigned. This
change shouldn't affect anything.
(serial_exists): For the above change, check SERIAL_PORT with 0
instead of -1.
2001-12-10 Yoshinori K. Okuji
* stage2/shared.h (ERR_NO_DISK_SPACE): New constant.
* stage2/common.c (err_list): Added an entry for
ERR_NO_DISK_SPACE.
* docs/grub.texi (Stage2 errors): Added the description.
* stage2/builtins.c (embed_func): Use ERR_NO_DISK_SPACE instead
of ERR_DEV_VALUES when the spare space is too small. Suggested
by Eric Mumpower .
2001-12-10 Yoshinori K. Okuji
* grub/asmstub.c: Include .
(grub_stage2) [HAVE_LIBCURSES]: If USE_CURSES is true, ignore
the signal SIGWINCH. Reported by Christian Hudon
.
2001-11-29 Yoshinori K. Okuji
From Jason Thomas:
* stage2/disk_io.c (set_partition_hidden_flag): Complete rewrite
of this function which now supports logical partitions.
2001-11-12 Yoshinori K. Okuji
* docs/grub.texi: The copyright of this file is only held by
Free Software Foundation, Inc., as Erich Boleyn has assigned his
copyright to the FSF.
* stage1/stage1.S: Likewise.
* stage2/asm.S: Likewise.
* stage2/boot.c: Likewise.
* stage2/builtins.c: Likewise.
* stage2/char_io.c: Likewise.
* stage2/cmdline.c: Likewise.
* stage2/common.c: Likewise.
* stage2/disk_io.c: Likewise.
* stage2/fat.h: Likewise.
* stage2/filesys.h: Likewise.
* stage2/freebsd.h: Likewise.
* stage2/fsys_ext2fs.c: Likewise.
* stage2/fsys_fat.c: Likewise.
* stage2/fsys_ffs.c: Likewise.
* stage2/gunzip.c: Likewise.
* stage2/i386-elf.h: Likewise.
* stage2/mb_header.h: Likewise.
* stage2/mb_info.h: Likewise.
* stage2/pc_slice.h: Likewise.
* stage2/shared.h: Likewise.
* stage2/stage1_5.c: Likewise.
* stage2/stage2.c: Likewise.
* stage2/start.S: Likewise.
2001-11-07 Yoshinori K. Okuji
* stage2/builtins.c (terminal_func) [!SUPPORT_SERIAL]: Disable
the wait code, as it is usable only when serial support is on.
Reported by Karl Hammar .
2001-10-27 Yoshinori K. Okuji
JFS and XFS support is added.
From Serguei Tzukanov :
* configure.in (--disable-jfs): New option.
(--disable-xfs): Likewise.
* stage2/Makefile.am (noinst_HEADERS): Added jfs.h and xfs.h.
(libgrub_a_SOURCES): Added fsys_jfs.c and fsys_xfs.c.
(libgrub_a_CFLAGS): Added -DFSYS_JFS=1 and -DFSYS_XFS=1.
(pkgdata_DATA): Added jfs_stage1_5 and xfs_stage1_5.
(noinst_PROGRAMS): Added jfs_stage1_5.exec and
xfs_stage1_5.exec.
(pre_stage2_exec_SOURCES): Added fsys_jfs.c and fsys_xfs.c.
(jfs_stage1_5_exec_SOURCES): New variable.
(jfs_stage1_5_exec_CFLAGS): Likewise.
(jfs_stage1_5_exec_ASFLAGS): Likewise.
(jfs_stage1_5_exec_LDFLAGS): Likewise.
(xfs_stage1_5_exec_SOURCES): Likewise.
(xfs_stage1_5_exec_CFLAGS): Likewise.
(xfs_stage1_5_exec_ASFLAGS): Likewise.
(xfs_stage1_5_exec_LDFLAGS): Likewise.
* stage2/builtins.c (setup_func): Add items for JFS and XFS into
STAGE1_5_MAP.
* stage2/disk_io.c (fsys_table): Added entries for JFS and XFS.
* stage2/filesys.h [FSYS_JFS] (FSYS_JFS_NUM): Set to 1.
[FSYS_JFS] (jfs_mount): Declared.
[FSYS_JFS] (jfs_read): Likewise.
[FSYS_JFS] (jfs_dir): Likewise.
[FSYS_JFS] (jfs_embed): Likewise.
[!FSYS_JFS] (FSYS_JFS_NUM): Set to 0.
[FSYS_XFS] (FSYS_XFS_NUM): Set to 1.
[FSYS_XFS] (xfs_mount): Declared.
[FSYS_XFS] (xfs_read): Likewise.
[FSYS_XFS] (xfs_dir): Likewise.
(NUM_FSYS): Added FSYS_JFS_NUM and FSYS_XFS_NUM.
* stage2/shared.h (STAGE2_ID_JFS_STAGE1_5): New macro.
(STAGE2_ID_XFS_STAGE1_5): Likewise.
[FSYS_JFS] (STAGE2_ID): Set to STAGE2_ID_JFS_STAGE1_5.
[FSYS_XFS] (STAGE2_ID): Set to STAGE2_ID_XFS_STAGE1_5.
* stage2/fsys_jfs.c: New file.
* stage2/fsys_xfs.c: Likewise.
* stage2/jfs.h: Likewise.
* stage2/xfs.h: Likewise.
2001-10-27 Yoshinori K. Okuji
* stage2/apm.S: Always disconnect from APM. Written by Erich
Stefan Boleyn.
* util/Makefile.am (noinst_DATA): Removed.
(EXTRA_DIST): Likewise.
2001-10-14 Gordon Matzigkeit
* configure.in: Explicitly call _AM_DEPENDENCIES(CC) for the
benefit of older Autoconfs.
2001-10-13 Yoshinori K. Okuji
* netboot/fsys_tftp.c (tftp_read): Move the unused data
forwards, only if AMT is more than zero. If AMT is not positive,
subtract BUF_READ from SAVED_FILEPOS and set BUF_READ to zero,
to skip the whole buffer. Reported by Frank Mehnert.
2001-10-13 Yoshinori K. Okuji
Don't use get_diskinfo_floppy. Reported by Ben Liblit
.
* stage2/asm.S (get_diskinfo_floppy): Removed (by cpp).
* stage2/bios.c (get_diskinfo_floppy): Removed.
(get_diskinfo): Don't call get_diskinfo_floppy any longer.
2001-10-13 Yoshinori K. Okuji
Based on a patch from Jeremy Katz :
* docs/grub.texi (Stage2 errors): Added documentation on the
error number 33 (Serial device not configured).
* grub/asmstub.c (serial_exists): New function.
* stage2/serial.c (serial_exists): Likewise.
* stage2/serial.h (serial_exists): New prototype.
* stage2/shared.h (grub_error_t): ERR_NEED_SERIAL is added.
* stage2/builtins.c (terminal_func) [SUPPORT_SERIAL]: If a
serial device is not configured yet, restore the terminal and
set ERRNUM to ERR_NEED_SERIAL.
* stage2/common.c (err_list): Added an item for ERR_NEED_SERIAL.
2001-10-13 Yoshinori K. Okuji
From Jason Thomas :
* util/grub-install.in (convert): Add support for DAC960.
From Adrian Phillips :
* lib/device.c (get_dac960_disk_name): New function.
(init_device_map) [__linux__]: Add support for DAC960.
2001-10-11 Jochen Hoenicke
* stage2/fsys_reiserfs.c (reiserfs_super_block): Updated
to better match recent reiserfs versions.
(reiserfs_mount): Handle cases where journal can't be found,
e.g. journal on another disk or unexpected journal parameters.
In that case the journal isn't used.
2001-10-10 Jochen Hoenicke
* stage2/fsys_reiserfs.c (reiserfs_mount): Don't look at
the superblock field s_journal_block_count anymore. It used
to contain 0, it never contained a valid value, and now I
have a report that it can contain an invalid value.
Bug reported by Jim Caley