ChangeLog revision 1
3980N/A * docs/kernel.c.texi (cmain): Incremement mod by one, instead of
3980N/A * docs/kernel.c (cmain): Do the same.
* docs/internals.texi (Internals): Changed to an appendix.
* docs/grub.texi (@setchapternewpage): Changed to odd from off.
* stage2/cmdline.c (run_script): Fix a reversed conditional.
* stage2/fsys_ext2fs.c (ext2fs_read): Handle sparse files.
* stage2/stage2.c (cmain): Terminate DEFAULT_FILE with NUL
* util/mkbimage: Fix XSI-isms (for supporting POSIX-only shells).
* util/grub-install.in: Detect GNU/k*BSD systems as well.
* util/grub-install.in (convert): Fix the sed statement for
* util/grub-set-default.in: Fix minor syntax error (non-escaped
Fixes for FHS compliance. (/usr/share is for arch-independant data)
* stage1/Makefile.am: Move stage files to pkglibdir.
* stage2/Makefile.am: Likewise.
* util/grub-image.in: Look for stage files in pkglibdir.
* util/grub-install.in: Likewise.
* util/grub-install.in: Improve usage message.
entry number but use the file /boot/grub/default. This file
* 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.
* util/Makefile.am (sbin_SCRIPTS): Added grub-set-default.
* stage2/stage2.c (run_menu): Change the fallback handling to
* stage2/shared.h (DEFAULT_FILE_BUF): New macro.
* stage2/cmdline.c (run_script): Use FALLBACK_ENTRYNO instead of
* stage2/builtins.c (fallback_entry): Removed.
* docs/grub.texi (grub-set-default): New direntry.
* stage2/ufs2.h (int8_t): Renamed to ...
* stage2/ufs2.h (__uint8_t): Remove.
* configure.ac (AC_INIT): Upgraded to 0.97.
* config.guess: Likewise.
* config.sub: Likewise.
* docs/texinfo.tex: Likewise.
* stage2/fsys_xfs.c (next_dentry): Use arrays of arrays instead of
ST.ST_BLOCKS to get the total number of sectors, because st_blocks
* stage2/stage2.c (cmain): Initialize DEFAULT_FILE to an empty
* stage2/fsys_fat.c (fat_mount): Ignore the 3rd bit of a media
to the storage mode (e.g. USB Floppy or USB HDD).
* grub/asmstub.c (grub_stage2): Remove the attribute `volatile'
* stage2/builtins.c (install_func): If DEST_DRIVE is a hard
* stage1/stage1.h (STAGE1_BOOT_DRIVE_CHECK): New macro.
* stage1/stage1.S (boot_drive_check): New label. This implements
* grub/asmstub.c (console_current_color): Make it global as
* stage2/smp-imps.h (imps_any_new_apics): Removed.
* stage2/Makefile.am (libgrub_a_CFLAGS): Remove
* grub/Makefile.am (AM_CFLAGS): Likewise.
* grub/asmstub.c (grub_stage2): Use auto instead of static for
* stage2/char_io.c (memcheck) [GRUB_UTIL]: Likewise.
* stage2/builtins.c (blocklist_func): Likewise.
* lib/device.c (read_device_map): Likewise.
* configure.ac (AC_INIT): Upgraded to 0.96.
* docs/kernel.c.texi (cmain): Incremement mod by one, instead of
* docs/kernel.c (cmain): Do the same.
* docs/internals.texi (Internals): Changed to an appendix.
* docs/grub.texi (@setchapternewpage): Changed to odd from off.
* stage2/cmdline.c (run_script): Fix a reversed conditional.
* stage2/fsys_ext2fs.c (ext2fs_read): Handle sparse files.
* stage2/stage2.c (cmain): Terminate DEFAULT_FILE with NUL
* util/mkbimage: Fix XSI-isms (for supporting POSIX-only shells).
* util/grub-install.in: Detect GNU/k*BSD systems as well.
* util/grub-install.in (convert): Fix the sed statement for
* util/grub-set-default.in: Fix minor syntax error (non-escaped
Fixes for FHS compliance. (/usr/share is for arch-independant data)
* stage1/Makefile.am: Move stage files to pkglibdir.
* stage2/Makefile.am: Likewise.
* util/grub-image.in: Look for stage files in pkglibdir.
* util/grub-install.in: Likewise.
* util/grub-install.in: Improve usage message.
entry number but use the file /boot/grub/default. This file
* 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.
* util/Makefile.am (sbin_SCRIPTS): Added grub-set-default.
* stage2/stage2.c (run_menu): Change the fallback handling to
* stage2/shared.h (DEFAULT_FILE_BUF): New macro.
* stage2/cmdline.c (run_script): Use FALLBACK_ENTRYNO instead of
* stage2/builtins.c (fallback_entry): Removed.
* docs/grub.texi (grub-set-default): New direntry.
* stage2/ufs2.h (int8_t): Renamed to ...
* stage2/ufs2.h (__uint8_t): Remove.
* configure.ac (AC_INIT): Upgraded to 0.95.
* stage2/char_io.c (grub_isspace): Use a switch sentense instead
* lib/device.c (read_device_map): Change the max number of DRIVE
* stage2/asm.S (stop_floppy): Call pusha and popa outside the
* netboot/main.c: Fixed bootp only code so that options
* stage2/char_io.c (safe_parse_maxint): Disable for stage 1.5.
* stage2/size_test: Added a check for ufs2_stage1_5.
* stage2/shared.h (STAGE2_ID_UFS2_STAGE1_5): New macro.
* stage2/filesys.h (FSYS_UFS2_NUM): New macro.
* stage2/disk_io.c (fsys_table): Added an ufs2 entry.
* stage2/builtins.c (setup_func): Added ufs2 into the
(noinst_PROGRAMS): Added ufs2_stage1_5.exec.
* grub/Makefile.am (AM_CPPFLAGS): Added -DFSYS_ISO9660=1,
* configure.ac (--disable-ufs2): New option.
* stage2/fsys_ufs2.c: New file.
* stage2/ufs2.h: Likewise.
* lib/device.c: Mangle __FreeBSD_* macro usage to support
we build against kFreeBSD 5.x headers the GRUB shell will work on
* stage2/char_io.c (convert_to_ascii): Remove "%b" support.
* util/mkbimage: Misc syntax fixes.
* stage2/char_io.c (grub_memcmp): Define for stage1.5 too.
* stage2/fsys_iso9660.c (iso9660_mount): Use memcmp() instead of
* docs/grub.texi (Making a GRUB bootable CD-ROM): minor edits,
* Makefile.am (AUTOMAKE_OPTIONS): Add "gnu".
* configure.ac: Update to work with automake 1.8, quote all
* acinclude.m4: Likewise.
* acconfig.h: Removed.
* stage1/Makefile.am (.exec): Use suffix rules instead of pattern
* stage2/Makefile.am (.exec): Likewise.
* docs/grub.texi (Making a GRUB bootable CD-ROM): New section.
* stage2/disk_io.c (set_device): Use CH instead of *DEVICE to
* netboot/fsys_tftp.c (buf_fill): Cast 1 to unsigned short
* docs/grub.texi (Invoking grub-md5-crypt): Fixed the chapter
* configure.ac (STAGE2_CFLAGS): Check if -fno-stack-protector is
symbols. Reported by uc.sheda <uc.sheda@laposte.net>.
* stage2/boot.c: Imply --no-mem-option for Linux kernels with
* stage2/char_io.c [!GRUB_UTIL] (memcpy): New function. It is
* stage2/disk_io.c (print_completions): Simplified conditionals
* stage2/common.c (init_bios_info): Check if BOOT_DRIVE is a
* stage2/start_eltorito.S: New file.
* stage2/stage2.c (run_menu): Use GRUB_INVALID_DRIVE instead of
* stage2/shared.h (STAGE2_ID_ISO9660_STAGE1_5): New macro.
* stage2/fsys_iso9660.c: New file.
* stage2/iso9660.h: Likewise.
* stage2/filesys.h (FSYS_ISO9660_NUM): New macro.
* stage2/disk_io.c (fsys_table) [FSYS_ISO9660]: Added iso9660.
(rawread): Use BUF_GEOM.SECTOR_SIZE instead of SECTOR_SIZE.
* stage2/cmdline.c (init_cmdline): Use GRUB_INVALID_DRIVE.
* stage2/builtins.c (install_func): Use GRUB_INVALID_DRIVE.
* stage2/bios.c (biosdisk): Don't fall back to the CHS mode
* stage2/asm.S (biosdisk_int13_extensions): Take a word
(libgrub_a_SOURCES): Added fsys_iso9660.c.
(noinst_PROGRAMS): Added iso9660_stage1_5.exec and
(pre_stage2_exec_SOURCES): Added fsys_iso9660.c.
* stage1/stage1.h (GRUB_INVALID_DRIVE): New macro.
* stage1/stage1.S (boot_drive): Use the macro GRUB_INVALID_DRIVE.
* lib/device.c (get_drive_geometry): Set GEOM->SECTOR_SIZE to
* configure.ac (--disable-iso9660): New option.
* stage2/asm.S (stop_floppy): Use INT 13, AH=00h to stop the
* stage2/serial.c (serial_putchar): Handle the character code
* util/grub-install.in (convert): Add support for ATARAID
* lib/device.c (get_ataraid_disk_name) [__linux__]: New
* stage2/size_test (check): Don't use the local statement any
* lib/device.c (get_drive_geometry): Do not open the same device
(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
* docs/grub.texi (partnew): Change @var{to} to @var{len}.
* stage2/fsys_reiserfs.c (REISER3FS_SUPER_MAGIC_STRING): New
* docs/grub.texi (Obtaining and Building GRUB): Instead of
* grub/Makefile.am (AM_CPPFLAGS): New variable.
* stage2/xfs.h (__int8_t): Renamed to ...
All callers are changed.x
* util/grub-install.in: Support an install devices in GRUB's
* docs/grub.texi (Installing GRUB using grub-install): Added an
* util/grub-install.in: Use the first word of GRUB_SHELL when
support options to the grub shell (e.g. grub --read-only).
* docs/grub.texi: Many bug fixes.
* lib/device.c [__linux__] (MAJOR): Support 32 bit and 64 bit
* stage2/terminfo.c (ti_set_term): Use a pointer to struct
* stage2/terminfo.h (ti_set_term): Updated.
* stage2/shared.h (struct linux_kernel_header): New member,
* stage2/boot.c (load_initrd): If the boot protocol is greater
* stage2/fsys_ext2fs.c (ext2_is_fast_symlink): New function.
because Linux now uses acl seriously (i.e. incompatibility).
* lib/device.c (read_device_map) (sho_warning): New internal
* util/Makefile.am (EXTRA_DIST): New variable.
* stage1/Makefile.am (AM_ASFLAGS): Renamed to ...
* stage2/Makefile.am (pre_stage2_exec_ASFLAGS): Renamed to ...
* configure.in: Removed.
* stage2/disk_io.c (set_device) [SUPPORT_NETBOOT]: Added support
* config.guess: Update from official source (CVS).
* config.sub: Likewise.
* stage2/fsys_fat.c: Fix missdetection of ext2fs as fatfs.
* util/grub-install.in (resolve_symlink): New function to
* util/mbchk.c (check_multiboot): The sense of an error message
* stage2/fsys_reiserfs.c (read_tree_node): Fixed a typo; only
* util/mkbimage: New File. `mkbimage' depends on GRUB and
* util/Makefile.am (sbin_SCRIPTS): Added script `mkbimage'
* util/grub-install.in: support --no-floppy
* stage2/fsys_reiserfs.c (reiserfs_mount): Clear the node cache.
* docs/grub.texi (partnew): Fixed the inconsistency between the
* stage2/shared.h (KEY_NPAGE): Changed to 0x5100.
* stage2/boot.c (load_image): Check if DATA_LEN plus SECTOR_SIZE
* stage2/fsys_reiserfs.c (struct reiserfs_journal_header):
* stage2/builtins.c [SUPPORT_SERIAL] (terminfo_func): Unescape
* stage2/terminfo.h (TERMINFO_LEN): Changed to 40.
* util/grub-install.in (find_device): Fix the sed script.
* lib/device.c (check_device): If DEVICE is empty, just return
* 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
* stage2/shared.h (struct mmar_desc): Likewise.
* configure.in: Fix a syntax error in a sed script.
* stage2/bios.c (get_diskinfo): PhoenixBIOS 4.0 Revision 6.0
* stage2/pc_slice.h (PC_SLICE_TYPE_DELL_UTIL): New macro.
* stage2/terminfo.c (term): Don't use a C99-style initializer.
From H.J. Lu <hjl@gnu.org>:
* stage2/disk_io.c (part_start): Use unsigned long to support
* stage2/shared.h (part_start): Likewise.
* configure.in (CFLAGS): When the default CFLAGS is used,
* configure.in: Support building on x86_64 with gcc -m32.
* stage2/fsys_ext2fs.c (ext2fs_dir): Initialize STR_CHK to shut
* stage2/fsys_minix.c (minix_dir): Likewise.
* stage2/asm.S (gateA20): First, try a BIOS call (INT 15H,
* stage2/builtins.c (install_func): Store the fixed disk flag of
* stage1/stage1.h (STAGE1_BOOT_DRIVE_MASK): New macro.
* stage1/stage1.S (boot_drive_mask): New variable. It is or'ed
* stage2/char_io.c (init_page): Change the software name from
* stage2/builtins.c (embed_func): When checking if the disk can
* stage2/stage2.c (print_entry): Put a right arrow, if the entry
* stage2/disk_io.c (set_device): If '(n' is given, add 'd' into
* stage2/term.h (struct term_entry): Remove the member
* stage2/stage2.c (run_menu): Call setcursor instead of
* stage2/shared.h (nocursor): Removed.
* stage2/hercules.c (herc_cursor_state): New variable.
* stage2/char_io.c (get_cmdline): Turn on the cursor at the
* stage2/asm.S (console_cursor_state): New variable.
* grub/asmstub.c (console_setcursor): New function.
* docs/grub.texi (terminfo): Fix a misleading English sentence.
* stage2/builtins.c (builtin_terminfo): Likewise.
* stage2/freebsd.h (RB_GDB): New macro.
* stage2/boot.c (bsd_boot): Set the bits of RB_MULTIPLE, RB_GDB
* docs/grub.texi (Reporting bugs): Specify the project page of
* docs/Makefile.am (man_MANS): Added grub-terminfo.8.
* utils/grub-terminfo.in: New file.
* util/Makefile.am (sbin_SCRIPTS): Added grub-terminfo.
* docs/grub.texi (terminfo): New subsection.
* 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
* stage2/char_io.c (grub_putstr): New function.
* stage2/serial.c (serial_gotoxy): Use ti_cursor_address.
* stage2/disk_io.c (rawread): Make sure that SECTOR is valid.
* stage2/asm.S (console_cls): Write spaces to the entire screen
instead of getting/setting the video mode, because this flickers
* docs/grub.texi (QNX): New subsection. Reported by
* grub/asmstub.c (console_translate_key): Deal with KEY_PPAGE
* stage2/serial.c (serial_translate_key_sequence): Added two new
* stage2/asm.S (translation_table): Added entries for KEY_PPAGE
* stage2/stage2.c (run_menu): Deal with Page Up and Page Down.
* stage2/builtins.c (setup_func): Added missing space to --force-lba
* stage2/asm.S (gateA20): Output a dummy command (0xff), as a
* configure.in (falign_loop_flag): New variable. Set to if GCC
because `-malign-*' are obsolete in GCC 3.x. Reported by Jeremy
* stage2/serial.c (fill_input_buf): Take a new argument NOWAIT.
* configure.in (--disable-serial): Fix a typo in the
* stage2/term.h (color_state): New enum.
* stage2/hercules.c (herc_highlight_state): Removed.
* stage2/console.c (console_highlight_state): Removed.
* stage2/serial.c (serial_highlight): Renamed to
* grub/asmstub.c (console_highlight): Renamed to
* stage2/stage2.c (print_entry): Set color states using new
* stage2/stage2.c (run_menu): Reverse if (!) to if () for
* stage2/boot.c (load_image): Rewrite the Linux booting support
* stage2/shared.h (LINUX_MAX_SETUP_SECTS): Set to 64.
* stage2/asm.S [!STAGE1_5] (linux_data_tmp_addr): New variable.
* grub/asmstub.c (linux_data_tmp_addr): New variable.
* stage2/boot.c (load_image): Recognize newer FreeBSD kernels.
* stage2/i386-elf.h (EI_OSABI): New macro.
* stage2/shared.h (boot_part_offset): Removed.
* stage2/disk_io.c (set_bootdev): Copy the partition information
* stage2/builtins.c (boot_func): Don't copy the partition
grub) instead of the group id (i.e. 68) for the URL of the BTS.
* stage2/serial.c [!GRUB_UTIL] (inb): Added a delay into this
* stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed a typo.
* Makefile.am (AUTOMAKE_OPTIONS): New variable. Specify the
* stage2/builtins.c [SUPPORT_SERIAL || SUPPORT_HERCULES]
* stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed the
* stage2/disk_io.c [SUPPORT_NETBOOT] (GRUB): Defined.
[SUPPORT_NETBOOT]: Include etherboot.h.
* stage2/fsys_xfs.c (le32): Don't use bswap, but use xchgb and
* netboot/main.c (ifconfig): If GW is specified, clear out the
* util/grub-md5-crypt.in: Prompt to retype a password, and check
* stage2/console.c: New file.
* stage2/term.h: Likewise.
(libgrub_a_SOURCES): Added serial.c.
(pre_stage2_exec_SOURCES): Added console.c.
* stage2/asm.S (console_putchar): Rewritten from scratch.
* stage2/cmdline.c (init_cmdline): Set COUNT_LINES to -1.
* stage2/common.c [!STAGE1_5] (err_list): Removed
* stage2/hercules.c: Rewritten almost from scratch.
* stage2/hercules.h (herc_putchar): Removed.
* stage2/serial.c: Rewritten almost from scratch.
* stage2/serial.h: Likewise.
* stage2/shared.h [GRUB_UTIL] (DISP_UL): Set to the same value
(console_cls): Removed, because this is declared in term.h.
* grub/Makefile.am (AM_CFLAGS): Added -DSUPPORT_HERCULES=1.
* docs/grub.texi (FAQ): Removed. See the GNU GRUB FAQ on the web
* docs/grub.texi (Reporting bugs): Recommend using the BTS on
* stage2/builtins.c (boot_func): Load the boot partition
* stage2/disk_io.c (boot_part_addr): Initialized with zero
* stage2/builtins.c (real_root_func): New function.
* configure.in (AM_INIT_AUTOMAKE): Changed the version number to
* util/mbchk.c (check_multiboot): Don't check if the load
* docs/multiboot.texi (The address fields of Multiboot header):
* stage2/builtins.c (boot_func): If DEBUG is true, print
* lib/device.c (read_device_map): Show an error message and exit
* util/grub-install.in: If there is any dulicated entry, print
or linux/kdev_t.h.
* netboot/fsys_tftp.c (tftp_read): Don't call buf_fill unless
* stage2/boot.c (load_image): For Linux, check if DATA_LEN is
* stage2/boot.c (load_image): For Linux, don't check if the
* stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Added a
* config.guess: New upstream version.
* config.sub: Likewise.
* netboot/config.c (PCI_NIC) [INCLUDE_DAVICOM]: Fix typos.
* stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Set
* docs/grub.texi (Obtaining and Building GRUB): Update the link
* stage2/builtins.c [GRUB_UTIL] (dump_func): New function.
* util/grub-install.in: Make sure that GRUB reads the same
* stage2/builtins.c (setup_func): Don't embed a drive number, if
* docs/grub.texi (General commands): Added ``pager'' into the
* configure.in (AC_INIT_AUTOMAKE): Set the version number to
* netboot/eepro100.c (eepro100_probe): Increase the delay at the
* stage2/boot.c (linux_mem_size): New variable.
* stage2/char_io.c (safe_parse_maxint): Use ERR_NUMBER_OVERFLOW
* stage2/common.c [!STAGE1_5] (err_list): Added
* stage2/shared.h (ERR_NUMBER_OVERFLOW): New constant.
* stage2/stage2.c (run_menu): Call cls outside the loop to run
* stage2/cmdline.c (run_script): Prompt a user's intervention,
* util/grub-install.in (find_device): New function - find block
problem on Linux with devfs and old device names in /etc/fstab.
* grub/main.c (OPT_NO_PAGER): New macro.
* stage2/builtins.c (help_func): Show all the commands runnable
* stage2/builtins.c (pager_func): New function.
* stage2/char_io.c (max_lines) [!STAGE1_5]: New variable.
* stage2/cmdline.c (enter_cmdline): If USE_PAGER is true, set
* stage2/shared.h (max_lines) [!STAGE1_5]: Declared.
* stage2/fsys_jfs.c (jfs_read) [STAGE1_5]: Set and reset
* stage2/fsys_xfs.c (xfs_read) [STAGE1_5]: Likewise.
* stage2/stage1_5.c (saved_sector): Initialized with -1.
set (i.e. it is equal to -1), print an error and stop.
* stage2/builtins.c (setup_func): Add a VSTa fs entry into
* stage2/shared.h (BUILTIN_HELP_LIST): New macro. Used for
* stage2/builtins.c (builtin_blocklist): Added the attribute
* stage2/shared.h (BUILTIN_HIDDEN): Renamed to ...
* 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
* stage2/builtins.c (displaymem_func): Use hex digits to display
* stage2/Makefile.am (libgrub_a_CFLAGS): Fixed a typo.
* grub/asmstub.c (console_putchar): When not using curses,
* stage2/fsys_minix.c (minix_dir): Fixed bug getting filenames
* stage2/char_io.c (get_cmdline, cl_refresh): If TERMINAL_DUMB
* grub/main.c (use_curses): Initialize to 0 if !HAVE_LIBCURSES
* configure.in (AM_INIT_AUTOMAKE): The version number is
* docs/grub.texi (Preset Menu): New chapter.
* docs/grub.texi: Added some text about JFS and XFS.
* grub/main.c (use_preset_menu): New variable.
* stage2/shared.h (use_preset_menu): Declared.
* stage2/stage2.c [PRESET_MENU_STRING || SUPPORT_DISKLESS]
* stage2/common.c [SUPPORT_DISKLESS]
* stage2/stage2.c [SUPPORT_DISKLESS] (preset_menu): Set to the
* stage2/stage2.c [PRESET_MENU_STRING] (open_preset_menu):
* netboot/misc.c (inet_aton): Don't check if *P is an asterisk,
* configure.in (--enable-3c590): Removed. This was a mistake.
(EXTRA_DIST): Added sis900.txt.
(3c595_drivers): Remove 3c590.o from this.
* 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
* netboot/main.c: Likewise.
* netboot/pci.c: Likewise.
* netboot/etherboot.h: Rewritten mostly from scratch, based on
* netboot/misc.c: Likewise.
* netboot/osdep.h: Likewise.
* netboot/fsys_tftp.c (GRUB): Defined.
* stage2/builtins.c [SUPPORT_NETBOOT] (GRUB): Defined.
* stage2/cmdline.c [SUPPORT_DISKLESS] (GRUB): Defined.
* stage2/common.c [SUPPORT_DISKLESS] (GRUB): Likewise.
* util/grub-install.in: Support using mktemp as well as tempfile
* stage2/md5.c (md5_password): Ensure the password exists before
* stage1/stage1.S: Don't call INT 13, AH=48H, because it is
* stage2/start.S (lba_mode) [NO_BUGGY_BIOS_IN_THE_WORLD]:
* stage2/bios.c (get_diskinfo): Clear out the structure DRP
4.0 Release 6.0 fail, if DRP.FLAGS is not zero. Setting the
* stage2/char_io.c [STAGE1_5] (grub_memset): Defined.
* util/grub-install.in (convert): Added NetBSD support.
* util/grub-install.in: Set GRUB_PREFIX and BOOTDIR to "/grub"
* stage2/builtins.c (builtin_geometry): Add extra space
* stage1/stage1.S (real_start): Added a workaround for AST BIOS,
* stage2/fsys_fat.c (fat_read): Fix the contradictory comment.
* stage2/builtins.c (displayapm_func): Don't use multi-line
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
* stage2/serial.c (serial_port): Initialize with 0 instead of
* stage2/shared.h (ERR_NO_DISK_SPACE): New constant.
* stage2/common.c (err_list): Added an entry for
* docs/grub.texi (Stage2 errors): Added the description.
* stage2/builtins.c (embed_func): Use ERR_NO_DISK_SPACE instead
* stage2/disk_io.c (set_partition_hidden_flag): Complete rewrite
* docs/grub.texi: The copyright of this file is only held by
* 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.
* stage2/builtins.c (terminal_func) [!SUPPORT_SERIAL]: Disable
* configure.in (--disable-jfs): New option.
(noinst_PROGRAMS): Added jfs_stage1_5.exec and
* stage2/builtins.c (setup_func): Add items for JFS and XFS into
* stage2/disk_io.c (fsys_table): Added entries for JFS and XFS.
* stage2/filesys.h [FSYS_JFS] (FSYS_JFS_NUM): Set to 1.
* stage2/shared.h (STAGE2_ID_JFS_STAGE1_5): New macro.
* stage2/fsys_jfs.c: New file.
* stage2/fsys_xfs.c: Likewise.
* stage2/jfs.h: Likewise.
* stage2/xfs.h: Likewise.
* stage2/apm.S: Always disconnect from APM. Written by Erich
* util/Makefile.am (noinst_DATA): Removed.
* configure.in: Explicitly call _AM_DEPENDENCIES(CC) for the
* netboot/fsys_tftp.c (tftp_read): Move the unused data
* stage2/asm.S (get_diskinfo_floppy): Removed (by cpp).
* stage2/bios.c (get_diskinfo_floppy): Removed.
* docs/grub.texi (Stage2 errors): Added documentation on the
* 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
* stage2/common.c (err_list): Added an item for ERR_NEED_SERIAL.
* util/grub-install.in (convert): Add support for DAC960.
* lib/device.c (get_dac960_disk_name): New function.
* stage2/fsys_reiserfs.c (reiserfs_super_block): Updated
e.g. journal on another disk or unexpected journal parameters.
* stage2/fsys_reiserfs.c (reiserfs_mount): Don't look at
* stage2/fsys_reiserfs.c (reiserfs_dir): Set errnum to
* stage2/asm.S [!STAGE1_5] (grub_halt): Set the level of APM
* util/grub-md5-crypt.in: Prefix backquotes with backslashes in
* stage2/common.c (init_bios_info): Ignore zero-length memory
* stage2/Makefile.am (libgrub_a_CFLAGS): Enable USE_MD5_PASSWORDS
for libgrub. Previously that was implicitly done by configure.in
* util/grub-install.in (convert): Recognize the naming scheme
* netboot/compile: New file. This was also missing... How many
* acinclude.m4 (grub_DEFINE_FILE): Escape double-quotations as
* configure.in (AM_INIT_AUTOMAKE): Set the version number to
* docs/compile: New file.
* docs/grub.texi: Updated.
* stage2/boot.c (load_initrd) [!NO_DECOMPRESSION]: Set
* stage2/compile: New file.
* docs/mdate-sh: Likewise.
* docs/texinfo.tex: Likewise.
* texinfo.tex: Likewise.
* config.guess: Updated from automake-1.4h.
* config.sub: Likewise.
* configure.in (AS): New variable.
* stage1/Makefile.am (AM_CFLAGS): Renamed to ...
* stage2/Makefile.am (pre_stage2_exec_ASFLAGS): New variable.
(start_exec-start.o): Renamed to ...
(nbloader_exec-nbloader.o): Renamed to ...
* stage2/i386-elf.h (Elf32_Shdr): New type.
* stage2/boot.c (load_image): Added ELF symbol loading support.
* stage2/char_io.c [STAGE1_5] (grub_strcmp): Defined, even
* stage2/fsys_vstafs.c [!FSYS_VSTAFS]: Don't define anything.
* stage2/configure.in (--disable-vstafs): New option.
(libgrub_a_SOURCES): Added fsys_vstafs.c.
(noinst_PROGRAMS): Added vstafs_stage1_5.exec.
(pre_stage2_exec_SOURCES): Added fsys_vstafs.c.
* stage2/disk_io.c (fsys_table): Added an entry for vstafs.
* stage2/filesys.h [FSYS_VSTAFS] (FSYS_VSTAFS_NUM): Defined as
* stage2/pc_slice.h (PC_SLICE_TYPE_VSTAFS): New macro.
* stage2/shared.h (STAGE2_ID_VSTAFS_STAGE1_5): Likewise.
* stage2/vstafs.h: New file.
* stage2/fsys_vstafs.c: Likewise.
* stage2/builtins.c (configfile_func): Added a prototype.
* docs/grub.texi: Update the location of the CVS repository
* stage2/boot.c (load_image): If the image is a Multiboot ELF OS
* docs/grub.texi: Fix some typos. Reported by Florian Hatat
* Makefile.am (SUBDIRS): Remove reference to debian directory.
* stage1/stage1.S (nt_magic): Explicitly reserve space for the NT
* stage2/stage2.c (print_entries_raw): New function.
* stage2/shared.h (ENTRY): Remove unnecessary `##'.
* grub/asmstub.c (biosdisk): Work around a bug in linux's ez
* stage2/boot.c (load_image): Don't cast entry_addr to an int, or
* stage2/boot.c (load_initrd): Avoid the last 64kb for
Linux 2.2.x bug.
* docs/multiboot.texi (History): Written.
* lib/device.c (get_ide_disk_name) [__FreeBSD__]: Add support
for FreeBSD-4.0 or later. Use "/dev/rad0".
* util/grub-install.in (convert): Add code for FreeBSD
* stage2/stage2.c (cmain): If the default entry is wrong, set it
* acconfig.h (AUTO_LINUX_MEM_OPT): New entry.
* configure.in (--disable-auto-linux-mem-opt): New option.
* stage2/builtins.c (kernel_func) [!AUTO_LINUX_MEM_OPT]: Add
* stage2/builtins.c (chainloader_func): Don't check if the
* configure.in (--disable-hercules): New option.
(pre_stage2_exec_SOURCES): Added hercules.c.
* stage2/asm.S [!STAGE1_5] (set_attrib) Renamed to ...
* stage2/builtins.c [SUPPORT_HERCULES] (terminal_func): Added
* stage2/shared.h (console_set_attrib): Declared.
* stage2/stage2.c (run_menu) [SUPPORT_HERCULES]: Added hercules
* stage2/hercules.h: New file.
* stage2/hercules.c: Likewise.
* docs/grub.texi (Command-line and menu commands): Renamed to ...
* stage2/asm.S [STAGE1_5] (chain_stage2): Save the second sector
* docs/grub-new.texi: Moved to ...
* docs/internals.texi: New file.
* docs/prog-ref.texi: Removed.
* docs/user-ref.texi: Likewise.
* docs/tutorial.texi: Likewise.
* docs/appendices.texi: Likewise.
* stage2/shared.h (LINUX_INITRD_MAX_ADDRESS): Changed from
* stage2/builtins.c (savedefault_func)
* stage2/builtins.c (savedefault_func)
* stage2/stage2.c (cmain): If DEFAULT_ENTRY is out of entries,
* grub/asmstub.c (chain_stage2): Added an additional argument,
* stage2/asm.S [STAGE1_5] (chain_stage2): Set %ebp to
* stage2/disk_io.c [STAGE1_5] (disk_read_hook): Defined.
* stage2/fsys_ext2fs.c (ext2fs_read) [STAGE1_5]: Likewise.
* stage2/fsys_fat.c (fat_read) [STAGE1_5]: Likewise.
* stage2/fsys_ffs.c (ffs_read) [STAGE1_5]: Likewise.
* stage2/fsys_minix.c (minix_read) [STAGE1_5]: Likewise.
* stage2/fsys_reiserfs.c (reiserfs_read) [STAGE1_5]: Likewise.
* netboot/config.c [GRUB && INCLUDE_PCI] (pci_dispatch_table):
* stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_RAID): New macro.
* stage2/fsys_ext2fs.c (ext2fs_mount): Add a check for
* docs/multiboot.texi: Start reorganizing Multiboot
* docs/user-ref.texi (Command-line and menu commands): Update
* stage2/builtins.c (setkey_func): When checking if TO_KEY and
* util/grub-md5-crypt.in (prefix): New variable.
* docs/multiboot.h [__ELF__] (MULTIBOOT_HEADER_FLAGS): Defined
* docs/Makefile.am (EXTRA_PROGRAMS): New variable.
[BUILD_EXAMPLE_KERNEL] (boot.o): New dependency.
* stage2/builtins.c [SUPPORT_NETBOOT] (ifconfig_func): Always
* netboot/main.c (arp_server_override): Removed.
* netboot/etherboot.h (arp_server_override): Likewise.
* stage2/builtins.c [SUPPORT_NETBOOT] (ifconfig_func): New
* netboot/main.c (ifconfig): New function.
* netboot/etherboot.h (ifconfig): Added the prototype.
* docs/Makefile.am [BUILD_EXAMPLE_KERNEL] (noinst_DATA): New
* configure.in (--enable-example-kernel): New option.
* docs/kernel.c (cmain): Cast unsigned long variables to
* stage2/shared.h (BOOTSEC_BPB_HIDDEN_SECTORS): New macro.
* stage2/builtins.c (chainloader_func): If CURRENT_PARTITION is
* stage2/builtins.c (boot_func): In the chain-loading mode,
* stage2/builtins.c (embed_func): Call open_partition() even for
* stage2/disk_io.c (make_saved_active): Change the variable name
* stage2/fsys_ext2.c (ext2fs_mount): Detect ext2 partitions in
a OpenBSD/NetBSD FS_EXT2FS slice.
* stage2/disk_io.c (rawread): Check if there is a EZD partition
* stage2/disk_io.h (rawwrite): New function.
* stage2/pc_slice.h (PC_SLICE_TYPE_EZD): New macro.
* stage2/builtins.c (embed_info): New variable to store the
* stage2/builtins.c (chainloader_func): Set ERRNUM to
* docs/prog-ref.texi (Partition types): Rewrite the footnotes.
* util/grub-install.in (convert): Revised the fix for floppy
* stage2/bios.c (get_diskinfo): Append 16 bytes dummy data to
* stage2/disk_io.c (next_partition): Mask out bsd partition sub
* util/grub-install.in (convert): If a floppy device is
* lib/device.c [__linux__] (write_to_partition): Use strcpy
* stage2/fsys_minix.c (minix_mount): Corrected the check for
* stage2/fsys_reiserfs.c: Handle items with old version key on
* stage2/common.c (init_bios_info) [!STAGE1_5]: Don't call
* grub/asmstub.c (serial_init) [!O_SYNC]: Don't specify O_SYNC
* stage2/builtins.c (testvbe_func): Don't set the bit 14 of a
* stage2/asm.S [!STAGE1_5] (track_int13): Don't replace an int13
* acconfig.h (PRESET_MENU_STRING): New entry.
* acinclude.m4 (grub_DEFINE_FILE): New M4 macro.
* configure.in (--enable-preset-menu): New option.
* stage2/stage2.c [PRESET_MENU_STRING] (preset_menu): New
* stage2/asm.S [!STAGE1_5] (set_vbe_mode): Add a missing `$'
* stage2/bios.c (get_diskinfo): If BIOS supports LBA but doesn't
* stage2/disk_io.c (make_saved_active): Set ERRNUM to
* docs/user-ref.texi (Features): Update the URL of grub/98.
* stage2/mb_header.h (multiboot_header): Added new fields,
* stage2/mb_info.h (multiboot_info): Added new fields,
* stage2/shared.h (vbe_controller): New structure.
* stage2/asm.S [!STAGE1_5] (get_vbe_controller_info): New
* grub/asmstub.c (get_vbe_controller_info): Likewise.
* stage2/builtins.c (testvbe_func): New function.
* docs/help2man: Copied from help2man-1.23.
* lib/device.c (read_device_map): Don't parse a line, if it is
* stage2/builtins.c (md5crypt_func): Use all bits of currticks ()
* stage2/apm.S (get_apm_info): Fix a serious typo: prot_to_real
* stage2/builtins.c (setup_func): When invoking install with an
embedded stage1_5 give the path to menu.lst as real_config_file.
* docs/multiboot.texi: Upgraded to 0.6.92.
* docs/tutorial.texi: Miscellaneous updates.
* docs/user-ref.texi: Likewise.
* docs/appendices.texi: Likewise.
* util/grub-install.in (usage): Removed unnecessary commas.
* util/grub-md5-crypt.in: New file.
* util/Makefile.am (sbin_SCRIPTS): Added grub-md5-crypt.
* docs/Makefile.am (man_MANS): Added grub-md5-crypt.8.
* docs/grub-md5-crypt.8: New file. Generated by help2man.
* docs/grub.texi (grub-md5-crypt): New direntry.
* docs/user-ref.texi (Invoking grub-md5-crypt): New chapter.
* util/grub-install.in (convert): Added backslashes into
* stage2/md5.c (check_md5_password): Removed.
* stage2/md5.h (check_md5_password): Changed to just a macro.
* stage2/char_io.c [!STAGE1_5] (grub_strstr): Rewriten, because
* stage2/builtins.c [USE_MD5_PASSWORDS] (md5crypt_func): New
* docs/tutorial.texi (Security): Added a paragraph about
* docs/user-ref.texi: Fixed several typos and some inappropriate
* stage2/builtins.c (displayapm_func): New function.
* docs/multiboot.texi (Boot information format): Added the
* stage2/mb_info.h (apm_info): New structure.
* stage2/asm.S (apm_bios_info): New variable.
Include "apm.S".
* stage2/apm.S: New file.
* stage2/common.c (init_bios_info) [!STAGE1_5]: Added APM BIOS
* stage2/shared.h (apm_bios_info): Declared.
* grub/asmstub.c (apm_bios_info): New variable.
* stage2/setjmp.S: New file.
* stage2/setjmp.S (grub_setjmp): ... here.
* stage2/asm.S (grub_longjmp): Moved to ...
* stage2/setjmp.S (grub_longjmp): ... here.
* configure.in (--disable-md5password): Renamed to ...
* configure.in (--disable-md5password): New option.
* stage2/md5.c: New file.
* stage2/shared.h (password_t): New type.
* stage2/cmdline.c (run_script): Don't show commands that have
* stage2/builtins.c (password_type): New variable.
* stage2/stage2.c (run_menu): Call check_password to check password.
* docs/tutorial.texi (Security): Describe the new features of the
* docs/user-ref.texi (Menu-specific commands): password command
* stage2/builtins.c (setkey_func): Clear the all elements of
* stage2/boot.c (load_image): When handling Linux cmdline, don't
* docs/multiboot.texi (Top): Increase the version number.
* grub/asmstub.c (io_map): New variable.
* stage2/common.c (init_bios_info) [!STAGE1_5]: Added support
* stage2/mb_info.h (drive_info): New structure.
* stage2/asm.S (get_rom_config_table): New function.
* stage2/shared.h (get_rom_config_table): Declared.
* util/grub-install.in (convert): Check only if the file exists,
the name "/dev/floppy/N" instead.
"/dev/discs/discN" instead.
* util/grub-install.in (convert): Added support for "native"
* docs/tutorial.texi (Serial terminal): Fixed a typo.
* docs/user-ref.texi (GRUB images): New chapter.
* docs/grub.texi: Added an entry for the chapter "GRUB images".
* docs/grub.texi: Added an entry for the new chapter "Security",
* docs/tutorial.texi (Configuration): Moved to right after the
* util/grub-install.in (root_device): Use the regular expression
* stage2/start.S (copy_buffer): Use pusha and popa instead of
* stage2/builtins.c (setkey_func): Check if
* util/grub-install.in (grub_prefix): New variable. The default
is "/boot/grub".
* stage2/builtins.c (find_func): Clear ERRNUM after the last
* lib/device.c [__linux__] (write_to_partition): Open DEV with
* docs/user-ref.texi (Commands): Added missing commands and
* stage2/builtins.c (serial_func): Unswap the setting of "speed"
* stage2/builtins.c (setup_func): Append "... " to the
* stage2/disk_io.c (real_open_partition): Make sure that buf_geom
* lib/device.c (get_drive_geometry): Use fstat if the native
* docs/tutorial.texi: Add `@kbd{...}' to examples in order to
* docs/user-ref.texi: Likewise.
* docs/grub.texi: Added an entry for the chapter "Serial
* docs/tutorial.texi (Serial terminal): New chapter.
* util/grub-image (VERSION): Fix version calculation to tolerate
* docs/grub.texi: Remove braces from `@unnumbered' sections so
* debian/rules: Build HTML documentation to appease the Debian
* stage2/fsys_reiserfs.c (reiserfs_mount): Compare PART_LENGTH
* configure.in (AM_INIT_AUTOMAKE): The version number is set to
* lib/device.c (get_drive_geometry) [__GNU__]: Get the number of
GNU/Hurd) was rewritten, since it didn't work for BSD
* stage2/fsys_reiserfs.c (reiserfs_mount): Check if the length
* grub/asmstub.c (console_putchar)
* stage2/builtins.c (partnew_func): New function.
* stage2/builtins.c (find_func): New variable GOT_FILE is set to
* stage2/disk_io.c (check_BSD_parts): Removed.
* stage2/shared.h (next_partition): Declared.
* configure.in (--enable-serial): Changed to ...
* stage2/char_io.c [!STAGE1_5] (get_cmdline) [!SUPPORT_SERIAL]:
* stage2/builtins.c [!SUPPORT_NETBOOT] (bootp_func): Undefined.
* util/grub-install.in (bootdir_device): New variable. If
* stage2/builtins.c (setup_func): New nested function,
Remove the prefix "/boot/grub" in STAGE1_5_MAP.
"/boot/grub/menu.lst". Instead, check if ARG contains
If not specified, check "/boot/grub/stage1" and, if not found,
check "/grub/stage1". If a stage1 was found, set PREFIX to the
* stage2/boot.c (load_image): Copy SRC to DEST first, and append
* stage2/fsys_minix.c (minix_mount): Check if CURRENT_SLICE is a
* stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_MINIX): New macro.
* stage1/stage1.S (notification_string): Print "GRUB " instead
* stage2/start.S [STAGE1_5] (notification_string): Print
* configure.in (CPPFLAGS): Added -malign-jumps=1,
* lib/device.c (get_drive_geometry) [__FreeBSD__ || __NetBSD__
function from asmstub.c.
* docs/tutorial.texi: Fixed a few typos and minor imprecisions.
* docs/prog-ref.texi: Likewise.
* docs/user-ref.texi: Likewise.
* stage2/builtins.c (terminal_func): Rename TIMEOUT to TO, to
* grub/asmstub.c (serial_checkkey): Likewise.
* stage2/char_io.c [!STAGE1_5] (auto_fill): New variable.
* stage2/shared.h (auto_fill): Declared.
* stage2/stage2.c (run_menu): In the menu interface, disable the
auto fill mode (i.e. set AUTO_FILL to zero), and enable it again
(cmain): Initialize AUTO_FILL (i.e. set it to one) in the
* grub/asmstub.c (saved_entryno): New variable. This is a dummy.
* stage1/stage1.h (COMPAT_VERSION_MINOR): Incremented.
* stage2/asm.S (saved_entryno): New variable.
%ebp. %ebp is set in start.S.
* stage2/builtins.c (current_entryno): New variable.
* stage2/shared.h (STAGE2_SAVED_ENTRYNO): New macro.
* stage2/stage2.c (run_menu): Set CURRENT_ENTRYNO to FIRST_ENTRY
* stage2/start.S (start): Save the sector number of the second
* stage1/stage1.S (lba_mode) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
* stage2/start.S (lba_mode) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
* stage2/bios.c (biosdisk) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
* stage2/char_io.c (print_error) [!STAGE1_5]: Print ERRNUM like
* util/grub-install.in: When checking if an error occurred, use
* docs/user-ref.texi (Stage1.5 errors): Updated, since the error
* stage2/stage2.c (run_menu) [GRUB_UTIL]: Set DISP_UP and
* stage2/shared.h (ACS_ULCORNER): Always define this ourselves,
* stage2/char_io.c [SUPPORT_SERIAL] (serial_cls): If the
* stage2/builtins.c (terminal_func) [SUPPORT_SERIAL]: When
* stage2/stage2.c (run_menu): If SHOW_MENU is zero, print a
* util/grub-install.in: Fix a typo: grub_dir -> grubdir.
* stage2/builtins.c (install_func) [GRUB_UTIL]: Open a Stage 2
* stage2/stage2.c (run_menu): Don't use either `p' or `n' to
* stage2/stage2.c (run_menu): Setup and use disp_up, disp_down
* stage2/stage2.c (set_line): Go back one char, which is
* stage2/builtins.c (serial_func): --speed handling: corrected
* stage2/builtins.c (terminal_func): Added two new options,
* stage2/char_io.c [!STAGE1_5] (getkey): Use logical AND
* stage1/stage1.S (MOV_MEM_TO_AL): New macro.
directly, because binutils-2.9.1.0.x doesn't produce a short
* configure.in (CPPFLAGS): Remove -Wundef by default. Add the
option only if the C compiler supports it, because GCC 2.7.x
* grub/main.c (longopts): The type of the argument for "hold" is
* stage2/char_io.c [!STAGE1_5] (get_cmdline): Extensively
* stage2/shared.h (TERMINAL_DUMB): Likewise.
* grub/asmstub.c (console_putchar) [HAVE_LIBCURSES]: If
* stage2/asm.S (console_putchar): Don't print a carriage return
* stage2/char_io.c (grub_putchar): Call grub_putchar with the
* stage1/stage1.h (STAGE1_WINDOWS_NT_MAGIC): New macro.
* stage1/stage1.S (copy_buffer): Use pusha and popa, instead of
pushing/poping %cx and %si separately, to reduce the code size.
* stage2/builtins.c (install_func): If DEST_DRIVE is a hard
* stage2/char_io.c (translate_keycode) [SUPPORT_SERIAL]: Don't
Don't save/restore fragile registers unnecessarily.
* stage2/char_io.c [!STAGE1_5] (translate_keycode): New
* stage2/stage2.c (run_menu): Wrap getkey with the macro
* stage2/shared.h (translate_keycode): Declared.
shared.h. Reported by Mathieu Chouquet-Stringer
* configure.in (--enable-serial-speed-emulation): New option.
* grub/Makefile.am (SERIAL_FLAGS): New variable. Set
* grub/asmstub.c [SIMULATE_SLOWNESS_OF_SERIAL] (serial_speed):
* stage2/builtins.c (serial_func) [SUPPORT_SERIAL]: Added
* stage2/cmdline.c (restart_cmdline_env): New variable.
* stage2/shared.h (BUILTIN_SCRIPT): New macro.
* configure.in (--enable-serial): New option. Serial terminal
* grub/Makefile.am (AM_CFLAGS): Added -DSUPPORT_SERIAL=1.
* grub/asmstub.c (cls): Renamed to ...
* stage2/Makefile.am (libgrub_a_CFLAGS): Added
* stage2/asm.S [!STAGE1_5] (cls): Renamed to ...
* stage2/builtins.c (terminal_func): If the bit flag
* stage2/char_io.c [!STAGE1_5] (gotoxy): New function.
* stage2/serial.h (serial_cls): Declared.
* stage2/shared.h (console_cls): Likewise.
* stage2/stage2.c (print_entries): If serial terminal is
* grub/asmstub.c (serial_checkkey): Specify a pointer to TIMEOUT
* Makefile.am (NBLOADER_LINK): New variable.
* stage2/nbi.h (NBI_DEST_ADDR): Changed to 0x10000.
* stage2/nbloader.S: Added .code16 directive at the start of the
* grub/main.c (main): Move the version number inside the
* stage2/serial.h [GRUB_UTIL] (set_serial_device): Declared.
* stage2/asm.S (codestart) [SUPPORT_DISKLESS]: Don't reset a
* stage2/serial.c: New file.
* stage2/serial.h: Likewise.
(pre_stage2_exec_SOURCES): Added serial.c.
* docs/tutorial.texi: Minor fixes.
* docs/tutorial.texi (Installation): Divided into three sections
* lib/device.c (_LARGEFILE_SOURCE): Defined.
* lib/device.h [__linux__] (write_to_partition): Declared.
* util/grub-install.in: Specify the option "--stage2" for the
* stage2/fsys_fat.c (fat_superblock): clust_eof_marker added.
* stage2/fsys_reiserfs.c (journal_init): Fixed calculation of
* stage2/fsys_reiserfs.c: Symlink support added.
* grub/asmstub.c (biosdisk) [__linux__]: The first argument for
* docs/appendices.texi (FAQ): Added the answer for the separate
* netboot/3c509.c: Copied from Etherboot-4.6.4.
* netboot/3c509.h: Likewise.
* netboot/cards.h: Likewise.
* netboot/ns8390.c: Likewise.
* netboot/sk_g16.c: Likewise.
* netboot/sk_g16.h: Likewise.
* netboot/tulip.c: Likewise.
* netboot/pci.h: Likewise.
* netboot/main.c (dhcpdiscover): Updated.
* netboot/README.netboot: Added the information about the new
* configure.in (--enable-ns8390-force-16bit): New option.
* netboot/config.c: Updated.
* stage2/asm.S (linux_boot): Add 3 into %ecx and shift %ecx to
* stage2/fsys_reiserfs.c (block_read): Changed the variable "len"
* configure.in (CPPFLAGS): Added -Wshadow, -Wpointer-arith and
* stage2/shared.h [!ASM_FILE] (multi_boot): Change the name of
* lib/device.h (init_device_map): Change the name of the third
* lib/device.c (read_device_map): Rename the internal function
* stage2/builtins.c (install_func): Rename CONFIG_FILE to
* stage2/char_io.c (convert_to_ascii): Rename the internal
* stage2/stage2.c (run_menu): Rename the internal variable
* stage2/disk_inode_ffs.h: Check if BYTE_MSF is defined before
* stage2/fsys_ext2fs.c (ext2fs_dir): Check if E2DEBUG is
* grub/asmstub.c: Check if __GLIBC__ is defined before checking
* util/grub-image.in: Initial cut at a script for creating GRUB
* util/Makefile.am (noinst_SCRIPTS): Added grub-image.
* stage2/asm.S (check_int13_extensions): Fixed the effect of
the --force-lba switch in stage2/stage1_5.
* stage2/fsys_fat.c (fat_mount): Fixed calculation of num_clust.
* stage2/asm.S [!STAGE1_5] (linux_text_len): New variable.
* stage2/boot.c (load_image): Set LINUX_TEXT_LEN to TEXT_LEN,
* stage2/shared.h (LINUX_VID_MODE_OFFSET): Removed.
Comply with the Linux/i386 boot protocol version 2.02.
* stage2/asm.S [!STAGE1_5] (linux_boot): Set the length of moved
* stage2/boot.c (load_image): Rewrite the Linux support code
* stage2/shared.h (LINUX_MAGIC_SIGNATURE): New macro.
* docs/tutorial.texi: Fix some syntax errors and ambiguous
* stage2/boot.c (load_image): When getting the text length of a
* stage2/asm.S (grub_putchar): Renamed to ...
* stage2/char_io.c [!STAGE1_5] (getkey): New function.
* stage2/shared.h [!STAGE1_5] (terminal): Declared.
* stage2/builtins.c (terminal): New global variable. The default
* grub/asmstub.c (grub_putchar): Renamed to ...
* stage2/Makefile.am (libgrub_a_CFLAGS): Added
Segreate OS-specific helper functions from asmstub.c.
[HAVE_OPENDISK]: Don't include util.h.
Include device.h.
* grub/main.c (no_floppy): Removed.
* lib/Makefile.am (AM_CFLAGS): New variable.
* lib/device.h: New file.
* lib/device.c: Likewise.
* stage2/shared.h (no_floppy): Removed.
* grub/main.c (usage): Enclose the mail address with parentheses
* docs/appendices.texi (Obtaining and Building GRUB): Indicate
you can now use a public release (i.e. 2.10).
* stage2/boot.c (load_image): Take an additional argument
* stage2/shared.h (load_image): Added the new argument.
* stage2/builtins.c (kernel_func): If `--no-mem-option' is
* docs/tutorial.texi: Fixed some typos and syntax errors.
* docs/user-ref.texi: Likewise.
* stage2/stage2.c (run_menu): Initialize CUR_ENTRY at the
* stage2/builtins.c (show_menu): New global variable.
* stage2/shared.h (show_menu): Declared.
* docs/mdate-sh: Moved to ...
* docs/texinfo.tex: Moved to ...
* texinfo.tex: ... here.
* stage2/mb_info.h (AddrRangeDesc): Use one 64bits field instead
* stage2/builtins.c (displaymem_func): Print BaseAddr >> 32,
* stage2/common.c (fakemap): Adjusted to the new definition of
* docs/appendices.texi (FAQ): Added an question about Linux's
* stage2/boot.c (load_image): Pass a mem option to Linux, only
* stage2/compile: Removed.
* netboot/compile: Likewise.
* stage2/boot.c (load_image): Don't remove the vga option after
* stage2/asm.S (grub_halt): Use jmp instead of jc, if INT 15
* configure.in (AM_INIT_AUTOMAKE): Increase the version number.
* stage2/builtins.c (halt_func): New function.
* stage2/asm.S (grub_halt): New function.
* stage2/shared.h (grub_halt): Declared.
* grub/asmstub.c (grub_reboot): New function.
* stage2/stage2.c (run_menu): Don't display the menu if the
* util/grub-install.in (convert): When $host_os is linux*, use
quite inconsistent with hard disks? Why not /dev/fd[a-z]?)
* docs/tutorial.texi (Network): The body is moved to ...
* docs/user-ref.texi (General commands): Added a description
* netboot/main.c (decode_rfc1533) [GRUB]: Eliminate trailing
* stage2/fsys_reiserfs.c: Added journaling to reiser.
* netboot/main.c (dhcprequest) [GRUB]: Set the length of the
* netboot/etherboot.h [GRUB] (RFC1533_VENDOR_CONFIGFILE): New
* stage2/asm.S (check_int13_extensions): Check the bitmap only
* stage2/bios.c (get_diskinfo): Get rid of the wrong check for
the bit 0 of DRP.FLAGS. Now the bitmap check is correctly
* docs/user-ref.texi (Invoking the grub shell): Added a caution.
* stage2/cmdline.c (enter_cmdline) [SUPPORT_DISKLESS]: Redisplay
[SUPPORT_DISKLESS]: Include <etherboot.h>.
* stage2/builtins.c (setup_func): Check if INSTALL_DRIVE is a
* acinclude.m4 (grub_ASM_ABSOLUTE_WITHOUT_ASTERISK): New
function. Check if GAS requires absolute indirect calls/jumps
* configure.in: Call grub_ASM_ABSOLUTE_WITHOUT_ASTERISK.
* acconfig.h (ABSOLUTE_WITHOUT_ASTERISK): New macro entry.
* netboot/pci.c (bios32_service) [!ABSOLUTE_WITHOUT_ASTERISK]:
* stage2/asm.S (chain_stage1) [!ABSOLUTE_WITHOUT_ASTERISK]:
* stage2/shared.h (grub_memmove): Prototype to use void *.
* stage2/char_io.c (grub_memmove): Define likewise.
* docs/user-ref.texi (Stage2 errors): Update error messages.
* util/grub-install.in: Fix a typo that prevented error messages
* stage2/cmdline.c (enter_cmdline): Don't give errors on empty
* stage2/common.c (err_list): Clean up wordings slightly.
* netboot/misc.c [GRUB] (inet_aton): Defined.
* netboot/main.c (arp_server_override): New function.
* netboot/etherboot.h [GRUB] (arp_server_override): Declared.
* stage2/builtins.c (tftpserver_func): New function.
* stage2/asm.S (codestart): Fix a typo: DISKLESS_SUPPORT ->
* stage2/nbloader.S: Fix the image length and the memory length
* stage2/shared.h (STACKOFF): Enclosed with parentheses.
* configure.in (--enable-diskless): New option. Set a
(noinst_PROGRAMS) [DISKLESS_SUPPORT]: Added nbloader.exec,
(BUILT_SOURCES) [DISKLESS_SUPPORT]: Added diskless_size.h.
(diskless_size.h): New target.
(nbloader_exec-nbloader.o): New dependency.
* stage2/asm.S (install_partition): Set to 0xFFFFFF instead of
[SUPPORT_DISKLESS]: Include etherboot.h.
* stage2/nbloader.S: New file.
* stage2/pxeloader.S: Likewise.
* stage2/nbi.h: Likewise.
* netboot/fsys_tftp.c (buf_fill): Warn when amazing things
* netboot/fsys_tftp.c (tftp_dir): Append "0\0" to the request
* docs/user-ref.texi: Added ReiserFS as a supported filesystem.
* docs/tutorial.texi: Updated the subsection for NetBSD.
* stage2/asm.S (set_int13_handler): Don't use MBI to get the
directly and set %eax to it, since MBI.MEM_LOWER may not be the
* grub/asmstub.c (CONVENTIONAL_MEMSIZE): Changed to 640 * 1024
* stage2/common.c (mmap_avail_at): New function, abstracted out
(init_bios_info): Use mmap_avail_at for _both_ MBI.MEM_UPPER and
* netboot/config.c (pci_nic_list) [INCLUDE_TULIP]: Added an
* netboot/epic100.c: Just copied.
* netboot/pci.h: Likewise.
* netboot/tulip.c: Likewise.
* netboot/etherboot.h (tftp): Change the type of the first
* netboot/main.c (tftp): Likewise.
* util/grub-install.in: If the program `cp' fails, exit with the
* stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_EXTENDED): New macro.
* stage2/common.c (init_bios_info) [!STAGE1_5]: When the memory
to non-Multiboot kernels (i.e. Linux and *BSD).
* stage2/common.c [!STAGE1_5] (extended_memory): New global
Set EXTENDED_MEMORY to MBI.MEM_UPPER by default.
If MBI.MMAP_LENGTH is not zero, set EXTENDED_MEMORY to the
If MBI.MMAP_LENGTH is zero but get_eisamemsize returns other
* stage2/shared.h [!STAGE1_5] (extended_memory): Declared.
* stage2/boot.c (load_image): Always pass the "mem=" option to a
Linux kernel, using EXTENDED_MEMORY instead of MBI.MEM_UPPER.
(bsd_boot): Use EXTENDED_MEMORY instead of MBI.MEM_UPPER.
* stage1/stage1.S (message): Use lodsb instead of incw and movb.
* stage1/stage1.S (copy_buffer): Set %cx to 0x100 and use movsw
* stage2/builtins.c (setup_func): Use SECTOR_BITS instead of
* netboot/depca.c: Copied from Etherboot-4.6.0.
* stage2/builtins.c (auth): New global variable.
* stage2/common.c (err_list): Added an entry for ERR_PRIVILEGED.
* stage2/stage2.c (run_menu): If AUTH is true, show the messages
* stage2/shared.h (grub_error_t): Added a new constant
* docs/user-ref.texi (Command-line-specific commands): Don't use
* configure.in (--enable-3c590): New option.
* netboot/Makefile.am (libdrivers_a_SOURCES): Removed
* netboot/3c90x.c: Updated to Etherboot-4.5.8.
* netboot/3c90x.txt: Likewise.
* netboot/cs89x0.c: Likewise.
* netboot/cs89x0.h: Likewise.
* netboot/eepro100.c: Likewise.
* netboot/epic100.c: Likewise.
* netboot/epic100.h: Likewise.
* netboot/i82586.c: Likewise.
* netboot/lance.c: Likewise.
* netboot/linux-asm-io.h: Likewise.
* netboot/linux-asm-string.h: Likewise.
* netboot/nic.h: Likewise.
* netboot/ns8390.c: Likewise.
* netboot/ns8390.h: Likewise.
* netboot/pci.c: Likewise.
* netboot/pci.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/via-rhine.c: Likewise.
* netboot/config.c: Updated to Etherboot-4.5.8 and modified (see
* netboot/etherboot.h: Likewise,
[GRUB]: Include <shared.h>.
* netboot/misc.c (sleep): Copied.
* netboot/osdep.h: Copied and modified (see below).
[GRUB]: Include "linux-asm-io.h".
* netboot/byteorder.h: Removed.
* netboot/if.h: Likewise.
* netboot/netboot_config.h: Likewise.
* netboot/netdevice.h: Likewise.
* netboot/ntulip.c: Likewise.
* netboot/ntulip.txt: Likewise.
* netboot/tulip.h: Likewise.
* netboot/3c595.c: New file. Copied from Etherboot-4.5.8.
* netboot/3c595.h: Likewise.
* netboot/cards.h: Likewise.
* netboot/cs89x0.txt: Likewise.
* netboot/depca.c: Likewise.
* netboot/otulip.c: Likewise.
* netboot/otulip.h: Likewise.
* netboot/tulip.txt: Likewise.
* stage2/common.c (err_list): Added message for ERR_UNALIGNED.
* stage2/shared.h [!STAGE1_5] (disk_read_hook,disk_read_func): New
* stage2/disk_io.c (rawread) [!STAGE1_5]: Call disk_read_func with
* stage2/builtin.c (disk_read_print_func): Print offset and length.
* util/grub-install.in: Don't use `!' in `test' for more
The user doesn't have to recompile GRUB for his/her buggy BIOS
* stage1/stage1.S (force_lba): New variable.
* stage1/stage1.h (COMPAT_VERSION_MINOR): Set to 1.
* stage2/asm.S (force_lba): New variable.
* stage2/bios.c (get_diskinfo): Don't use #ifdef for
non-zero. If so, don't check the bit 0 of DRP.FLAG.
* stage2/builtins.c (install_func): Check if a new option
* stage2/shared.h (STAGE2_FORCE_LBA): New macro.
* util/grub-install.in (force_lba): New variable. Set to an
* configure.in (--disable-lba-support-bitmap): Removed.
* util/grub-install.in (root_device): Append `/' to ${rootdir},
* configure.in: Added --disable-reiserfs option.
(noinst_PROGRAMS): Added reiserfs_stage1_5.exec.
(pre_stage2_exec_SOURCES): Added fsys_reiserfs.c.
* stage2/disk_io.c (fsys_table): Added reiserfs entry.
* stage2/filesys.h (FSYS_REISERFS_NUM): New macro.
reiserfs_embed): Declare external function from fsys_reiserfs.c.
* stage2/builtins.c (setup_func): Added reiserfs to
* stage2/shared.h (STAGE2_ID_REISERFS_STAGE1_5): New macro.
* stage2/fsys_reiserfs.c: New file.
* stage2/builtins.c (embed_func): Call open_device instead of
* stage2/filesys.h (fsys_table): New entry embed_func.
* stage2/disk_io.c (fsys_table): Fill embed_func entries. The
* stage2/fsys_ffs.c (ffs_embed): New function.
* stage2/shared.h (SECTOR_SHIFT): New constant with
* stage2/shared.h [!NO_BLOCK_FILES] (block_files): No longer
* stage2/disk_io.c [!NO_BLOCK_FILES] (block_files): Likewise.
* stage2/fsys_fat.c (log2): New inline function.
(fat_mount): Use log2 instead of calculating the size/bit by a
* configure.in: Use AC_PATH_PROG instead of AC_PATH_TOOL,
* stage2/stage2.c (run_menu): In the case where C is `o', check
* stage1/depcomp: Removed, because it makes `make dist'
* stage2/builtins.c (kernel_func): Added missing ``size''
* stage2/boot.c (load_initrd): Mask the address with 0x3FFFFFFF
[__FreeBSD__ || __NetBSD__ || __OpenBSD__]: Include <sys/cdio.h>
* stage2/boot.c (load_initrd): Subtract 0x1000 (one page size)
from MOVETO, to avoid a Linux 2.3.xx's bug.
* stage2/boot.c (load_image): Added an optional argument
(bsd_boot): If TYPE is not KERNEL_TYPE_FREEBSD (i.e. NetBSD or
* stage2/shared.h (load_image): Added the argument
* stage2/builtins.c (kernel_func): Added a new option,
* stage2/stage2.c (run_menu) [GRUB_UTIL]: Removed a nested
* stage2/builtins.c (unhide_func): Don't modify SAVED_DRIVE or
* stage2/disk_io.c (set_partition_hidden_flag): Use
* grub/asmstub.c (init_device_map): Change the message
* stage2/pc_slice.h (PC_SLICE_TYPE_HIDDEN_FLAG): Move the
* stage2/builtins.c (setup_func): Don't read a stage 1.5 to get
If embed_func fails (i.e. ERRNUM is non-zero), goto fail.
* stage2/common.c (init_bios_info): Removed a nested
* util/grub-install.in: Quote most of the references to
* stage2/builtins.c (setup_func): Change each of the messages
* stage2/char_io.c (convert_to_ascii) [!STAGE1_5]: Accept 'X'
* grub.texi: Several awkward English sentences are fixed.
* tutorial.texi: Likewise.
* user-ref.texi: Likewise.
* appendices.texi: Likewise.
* stage1/depcomp: New file. Automake forces to install it. This
* configure.in (AM_INIT_AUTOMAKE): Don't get the package name
and the version from debian/changelog. This is a workaround.
* stage2/Makefile.am (nodist_pkgdata_DATA): Renamed to ...
(start_exec-start.o): New rule.
cs89x0.h. Just a typo.
* debian/rules: Strip mbchk.
* netboot/fsys_tftp.c (tftp_dir): Add BUF_READ into FILEMAX
* stage2/builtins.c (color_func): Return 1 if safe_parse_maxint
* docs/tutorial.texi (Network): New chapter.
* 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.
* netboot/fsys_tftp.c (tftp_read): Set BUF_READ to zero if
* stage2/disk_io.c [!STAGE1_5] (print_fsys_type): Mask
major number of ST.ST_RDEV is FLOPPY_MAJOR.
* stage2/disk_io.c (check_BSD_parts) [!STAGE1_5]: Use the term
* stage2/builtins.c (boot_func): Copy the partition table to
* stage2/disk_io.c (real_open_partition) [!STAGE1_5]: Set
* stage2/shared.h (BOOT_PART_TABLE): New macro.
* grub/asmstub.c (chain_stage1): Adjusted to the prototype.
* stage2/disk_io.c (check_BSD_parts) [!STAGE1_5]: If the BSD
* docs/user-ref.texi (Command-line-specific commands): Added a
* docs/appendices.texi (Reporting bugs): Rewritten.
* 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.
* stage2/builtins.c (cmp_func): New function.
* stage2/disk_io.c [!STAGE1_5] (make_saved_active): Make sure
* netboot/3c59x.c: Removed.
* netboot/Makefile.am (EXTRA_libdrivers_a_SOURCES): Deleted
* configure.in (--enable-3c59x): Likewise.
* configure.in (--enable-3c90x): Add -DINCLUDE_3C90X=1 instead
* stage2/fsys_fat.c (fat_read): Forgot to increase BUF.
* stage2/char_io.c (grub_isspace): Make carriage return a white
* stage2/fsys_fat.c (fat_dir): Long filename support.
* stage2/fat.h (FAT_LONGDIR_ID, FAT_LONGDIR_ALIASCHECKSUM,
* stage2/fsys_fat.c (fat_create_blocklist): Deleted, instead
* stage2/disk_io.c (fsys_table): Use fat_read.
* stage2/filesys.h: Declare fat_read, remove NO_BLOCK_FILES
* stage2/Makefile.am: Compile fat_stage1_5 with
* stage2/fat.h (fat_bpb): New structure describing bpb.
* stage2/fsys_fat.c (fat_superblock): New structure containing
* stage2/builtins.c (chainloader_func): Embed the partition
* stage2/disk_io.c [!STAGE1_5] (boot_part_addr): New variable.
* stage2/shared.h (boot_part_addr): Declared.
* stage2/builtins.c (geometry_func): Attempt to read the first
* netboot/fsys_tftp.c (buf_fill) [TFTP_DEBUG]: Added some debug
* netboot/main.c (print_network_configuration): The order of the
* configure.in (--enable-packet_retransmission): Renamed to ...
* stage2/shared.h [!GRUB_SHARED_HEADER] (GRUB_SHARED_HEADER):
* netboot/main.c (print_network_configuration): New function.
* netboot/etherboot (print_network_configuration): Declared.
* netboot/config.c (eth_probe): Clear ARPTABLE after clearing
* stage2/builtins.c (bootp_func): Call
* docs/multiboot.texi: Added graphics support.
* docs/multiboot.texi (Top): Downgrade the version to 0.6.90,
* stage2/Makefile.am [NETBOOT_SUPPORT] (STAGE2_COMPILE): Added
* stage2/builtins.c (bootp_func): New function.
* docs/user-ref.texi (General Commands): Added descriptions
* netboot/main.c (bootp) [!NO_DHCP_SUPPORT]: Added casts to
<linux/pci.h> even if __FreeBSD__ is undefined.
* stage2/fsys_fat.c (fat_create_blocklist): The previous change
* netboot/config.c (eth_probe): If PROBED is set to non-zero,
* netboot/main.c (rarp): Call eth_probe and return zero if
* netboot/etherboot.h (NO_DHCP_SUPPORT): Undefined.
* stage2/builtins.c (print_root_device): Use the macro
* stage2/disk_io.c [!STAGE1_5] (sane_partition): Likewise.
* grub/asmstub.c (biosdisk) [__linux__]: Use _llseek when
* configure.in (--disable-lba-support-bitmap-check): New option.
* stage1/stage1.S (real_start): Check if AH=0x42 is supported if
* configure.in (--enable-tftp): Deleted.
* 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
* netboot/3c509.c: Copied from Etherboot. The original is
* 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/config.c: Copied from Etherboot and added the 3c59x
* netboot/pci.h: Likewise.
* 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.
* stage2/char_io.c (nul_terminate): Changed the type of the
* stage2/shared.h (NETWORK_DRIVE): New macro.
* stage2/gunzip.c (gunzip_test_header): Removed the TFTP check
* stage2/asm.S: Undo the previous changes. Is
* stage2/cmdline.c (enter_cmdline): Set BUF_DRIVE to -1 before
* stage2/char_io.c (get_cmdline): Set BUF_DRIVE to -1 before the
* configure.in: Use AC_PATH_TOOL instead of AC_PATH_PROG.
* stage2/asm.S (chain_stage1): Prepend `*' to the argument for
* util/grub-install.in (--root): Renamed to ...
* docs/user-ref.texi (Invoking grub-install): Adjusted to the
* docs/grub-install.8: Regenerated.
* docs/appendices.texi (FAQ): Added an item about the sucked
* stage2/builtins.c (chainloader_func): If --force is specified
* docs/tutorial.texi (Chain-loading): Added a caution about some
* docs/user-ref.texi (Command-line-specific commands): Added a
* docs/prog-ref.texi (LBA mode disk I/O): Added a footnote about
* stage1/stage1.S [!NO_BUGGY_BIOS_IN_THE_WORLD]: Don't check if
* stage2/bios.c (NO_INT13_FALLBACK): Undefined.
bit 0 in DRP.FLAGS is set, because at least one BIOS does not
* util/grub-install.in: Handle the new options `--root' and
* docs/user-ref.texi (Invoking grub-install): Added the
* docs/grub-install.8: Regenerated.
* util/grub-install.in (grubdir_device): New variable.
* stage2/asm.S (grub_setjmp): New function. Stolen from the
* stage2/shared.h [GRUB_UTIL] (grub_jmp_buf): New type.
* stage2/builtins.c (configfile_func): Use grub_longjmp instead
* stage2/stage2.c (restart_env): New variable.
* docs/multiboot.texi (Boot information format): Added the
* stage2/builtins.c (setup_func) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
* docs/user-ref.texi (Command-line-specific commands): Added a
* docs/src2texi: Added an extra space into the first line, for
* docs/appendices.texi (Obtaining and Building GRUB): Update the
* stage2/builtins.c (blocklist_func): New function.
* docs/user-ref.texi (Command-line-specific commands): Added a
* 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
* stage2/builtins.c (install_func): Likewise.
* docs/grub.texi: Use a single direntry command for all the
* grub/asmstub.c (check_device) [__linux__]: Check if DEVICE is
* stage2/Makefile.am (nodist_noinst_DATA): Renamed to ...
* stage2/bios.c (get_diskinfo): Set the LBA flag in GEOMETRY
only if bit 0 in DRP.FLAGS is set. Reported by Zack Weinberg
* grub/asmstub.c (init_device_map): Increase the number of
* stage2/disk_io.c (real_open_partition): If SLICE_NO is greater
* grub/asmstub.c (getkey): Stop immediately if we get an EOF.
* stage2/stage2.c (cmain): Tell enter_cmdline to run forever.
* stage2/cmdline.c (enter_cmdline): New argument, FOREVER, for
* debian/rules (binary-arch): Don't strip or generate shared
library dependencies for /usr/sbin/grub-install, since it's a
* util/grub-install.in: Create safe temporary log files using
/bin/tempfile if it is executable.
* stage1/Makefile.am (LDFLAGS): Consolidate multiple -Wl flags.
* stage2/Makefile.am (PRE_STAGE2_LINK): Likewise.
* util/grub-install.in (debug): New variable.
* stage2/Makefile.am (noinst_DATA): Renamed to ...
* util/Makefile.am: sbin_SCRIPS -> sbin_SCRIPTS.
* util/grub-install.in: grub_dir -> grubdir.
* 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.
* docs/grub-install.8: New file. Generated by help2man.
* docs/user-ref.texi (Invoking grub-install): New chapter.
* stage1/stage1.S: Check for the API subset support bitmap
* stage2/builtins.c (install_func): When using a Stage 1.5, set
* stage2/disk_io.c (set_device) [STAGE1_5]: Always set
* stage1/stage1.S (lba_mode): Jump to chs_mode if INT 13 AH=42h
* grub/main.c (device_map_file): Set to 0.
* grub/asmstub.c (init_device_map): If DEVICE_MAP_FILE is NULL,
* docs/grub.8: Regenerated.
* stage2/boot.c (load_image): grub_close was called after
* stage2/stage1_5.c (cmain): Call grub_close after grub_read.
* stage1/Makefile.am (BUILT_SOURCES): Removed.
* stage2/builtins.c (print_root_device): New function.
* stage2/disk_io.c [!STAGE1_5] (print_completions): Call
* stage2/char_io.c [!STAGE1_5] (get_cmdline): Clear ERRNUM after
* stage2/asm.S [!STAGE1_5] (currticks): Set %eax to %cx:%dx
* grub/asmstub.c (get_diskinfo) [__linux__]: After opening the
* debian/rules: Add variables for cross-compilation.
* debian/control (Standards-Version): Update to version 3.1.0.
info into /usr/share/info in accordance with FHS.
(binary-arch): Likewise, and put docs into /usr/share/doc.
* debian/prerm: Likewise.
* stage2/Makefile.am (CLEANFILES): Change to
* stage1/Makefile.am (CLEANFILES): Likewise.
* grub/asmstub.c (grub_putchar) [HAVE_LIBCURSES]: Do not call
* stage2/builtins.c (embed_func): The sector argument for the
* docs/multiboot.texi (Boot information format): Add the members
* util/mbchk.c (main): Move the version number inside the
* debian/rules (binary-arch): Compress man pages.
* docs/tutorial.texi: Fix typos by ispell.
* docs/user-ref.texi: Likewise.
* docs/prog-ref.texi: Likewise.
* docs/appendices.texi: Likewise.
* stage2/fsys_ext2fs.c (struct ext2_dir_entry): Changed the type
it. This is stolen from linux/ext2_fs.h in Linux 2.2.13.
* stage2/builtins.c (device_func) [GRUB_UTIL]: Call
* stage2/disk_io.c (real_open_partition): Check for the right
* stage2/builtins.c (color_func): Use the function
* stage2/char_io.c [!STAGE1_5] (nul_terminate): New function.
* stage2/shared.h (nul_terminate): Declared.
* docs/grub.texi: Add "I/O ports detection" into the menu.
* docs/user-ref.texi: Added a description about the command
* docs/prog-ref.texi (I/O ports detection): New chapter.
* stage2/asm.S (int1_handler): Use EXT_C(io_map) instead of
* grub/asmstub.c (init_device_map): Add a floppy device name
* stage2/char_io.c [!STAGE1_5] (get_cmdline): Clear ERRNUM after
* stage2/asm.S (track_int13): Defined unconditionally. Do not
* stage2/builtins.c (ioprobe_func): New function.
* stage2/shared.h (IO_MAP_SIZE): New macro.
* stage2/char_io.c (print_error) [!STAGE1_5]: Print "Error:"
* stage2/cmdline.c (run_script): If ERRNUM is non-zero, set
* stage2/stage2.c (run_menu) [GRUB_UTIL]: Do not use IBM special
* stage2/shared.h [!ACS_ULCORNER] (ACS_ULCORNER): New macro.
* stage2/builtins.c (keycode_func): Removed.
* stage2/common.c [!STAGE1_5] (err_list): Added
* stage2/shared.h (grub_error_t): Added ERR_BAD_ARGUMENT.
* stage2/asm.S [!STAGE1_5] (remap_ascii_char): New function.
* grub/asmstub.c (ascii_key_map): New variable.
* docs/user-ref.texi (General commands): Added a description
* stage2/disk_io.c (set_device) [!STAGE1_5]: Remove the
* 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
* stage2/builtins.c (keycode_func): Check if FROM is greater
* stage2/shared.h (KEY_MAP_SIZE): Set to 32.
* stage2/asm.S [DEFINE_TRACK_INT13] (track_int13): Use %edi
* stage2/disk_io.c (grub_close): Do not set ERRNUM even if
* stage1/stage1.S: Long jump to real_start, because some bogus
* stage2/asm.S [DEFINE_TRACK_INT13] (int3_handler): Save the
* stage2/asm.S [DEFINE_TRACK_INT13] (track_int13): New function.
* stage2/builtins.c (quit_func) [!GRUB_UTIL]: Fix a typo.
* docs/new-grub.texi: Removed.
* docs/Makefile.am (grub_TEXINFOS): New variable.
* stage2/builtins.c (device_func) [!GRUB_UTIL]: Set ERRNUM to
* docs/tutorial.texi: Rename "Device Syntax" to "Filename".
* 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.
* stage2/builtins.c (map_func): If BIOS_DRIVE_MAP already
* docs/user-ref.texi (Command): Use the list of `@deffn's
* stage2/asm.S [!STAGE1_5] (set_int15_handler): New function.
* stage2/shared.h (KEY_MAP_SIZE): New macro.
* stage2/builtins.c (boot_func): Do not allow I to be equal to
* grub/asmstub.c (set_int15_handler): New function.
* acconfig.h (HAVE_USCORE_USCORE_BSS_START_SYMBOL): Added the
* acinclude.m4 (grub_CHECK_USCORE_USCORE_BSS_START_SYMBOL): New
* configure.in: Check for __bss, edata and _edata.
* netboot/fsys_tftp.c (tftp_close): New function.
* stage2/boot.c (load_image): Call grub_close before return.
* stage2/builtins.c (cat_func): Likewise.
* stage2/disk_io.c (fsys_table): Add the `close' member into
* stage2/filesys.h [FSYS_TFTP] (tftp_close): Declared.
* 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
* stage2/asm.S (main): Clean out the bss.
* docs/new-grub.texi: Updated.
* docs/user-ref.texi: Likewise.
* docs/tutorial.texi: Likewise.
* docs/prog-ref.texi: Likewise.
* docs/appendices.texi: Likewise.
* docs/prog-ref.texi: New file.
* docs/appendices.texi: Likewise.
* docs/user-ref.texi: New file.
* stage2/builtins.c (bios_drive_map): New variable.
* stage2/asm.S (ABS): New macro.
* stage2/shared.h (DRIVE_MAP_SIZE): New macro.
* grub/asmstub.c (set_int13_handler): New function. Do nothing.
* stage2/builtins.c (find_func): Print only the device names.
* docs/tutorial.texi: New file.
(%.h.texi): Likewise.
(%.S.texi): Likewise.
* stage2/char_io.c (memcheck): Fix the checks: "<=" -> "<".
* stage2/builtins.c (find_func): New function.
* docs/Makefile.am (UNFINISHED_MANUALS): New variable.
* docs/new-grub.texi: New file.
* docs/Makefile.am (man_MANS): Added mbchk.1.
* docs/mbchk.1: New file. Generated by help2man.
* Makefile.am (SUBDIRS): Added util.
* util/Makefile.am: New file.
* util/mbchk.c: Likewise.
* util/Makefile.in: Likewise. Generated by automake.
* docs/Makefile.am (.texi): Canceled because the dependecies can
* stage2/builtins.c (embed_func): Set BUF_TRACK to -1 before
* stage2/boot.c (load_initrd): Change types of *RAMDISK and
* docs/multiboot.texi: Include the example source files of a
* 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.
(%.c.texi): New target.
(%.h.texi): Likewise.
(%.S.texi): Likewise.
* multiboot.texi (BIOS device mapping techniques): New section.
Stolen from bios_mapping.txt in grub-0.5.
* multiboot.texi: Rename Multiboot Standard to Multiboot
* stage2/builtins.c (setup_func): Save CURRENT_DRIVE and
* configure.in: Check for opendisk in libutil.
* grub/asmstub.c [__FreeBSD__ || __NetBSD__]: Include
<sys/ioctl.h>.
[HAVE_OPENDISK]: Include <util.h>.
* grub/asmstub.c (assign_device_name): If DEVICE is NULL, set
(init_device_map): ... here. This new function also reads/writes
* grub/main.c (device_map_file): New variable.
* stage2/shared.h [GRUB_UTIL] (device_map_file): Declared.
* docs/grub.8: Regenerated.
* stage2/builtins.c (color_func): Do not set NORMAL_COLOR or
* docs/grub.texi (Commands): Adjusted to the long doc of
* docs/menu.lst: Add examples of "fallback" and "color".
* stage2/char_io.c [!STAGE1_5] (get_cmdline): If C is a newline
* stage2/builtins.c (embed_func): New function.
* stage2/shared.h (grub_strncat): Declared.
* acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): main -> cmain.
* stage2/boot.c (load_image): Only CUR_ADDR, not ENTRY_ADDR
* stage2/asm.S [!STAGE1_5] (start): New label to force ld quiet.
* stage2/builtins.c (install_func): Rewritten heavily almost
* stage1/stage1.h (STAGE1_STAGE2_SECTOR): 0x40 -> 0x41.
* stage1/Makefile.am (nodist_pkgdata_DATA): Removed stage1_lba.
(noinst_PROGRAMS): Removed stage1_lba.exec.
(stage1_exec_SOURCES): Removed stage2_size.h.
(stage2_size.h): Deleted.
* stage1/stage1.S: Rewritten from scratch.
* stage1/stage1_lba.S: Deleted.
* stage1/stage1.h (COMPAT_VERSION_MAJOR): Set to 3.
* stage2/start.S: New file.
* stage2/Makefile.am (noinst_DATA): New variable.
(stage2_size.h): New rule.
(e2fs_stage1_5_exec_SOURCES): Added start.S.
* stage2/asm.S (start): Renamed to ...
* stage2/shared.h (BOOTSEC_LISTSIZE): New macro.
* stage2/stage1_5.c: Change the second argument for chain_stage2
* configure.in (--with-binutils): New option to specify a
* acinclude.m4 (grub_ASM_USCORE): Add CFLAGS into
* stage2/freebsd.h (struct bootinfo): New member, bi_bios_dev.
* docs/grub.texi: Fix typos.
* stage2/builtins.c (install_func): Reformat the warning message
* stage2/builtins.c (install_func): Fix check for the Stage 2 id.
* debian/Makefile.am (EXTRA_DIST): Add postinst and prerm.
* stage2/gunzip.c (gunzip_test_header): Check if CURRENT_DRIVE
* stage2/builtins.c (cat_func): Do not read the whole of a file
* docs/grub.texi (Command line): List the available key
* stage2/shared.h [!A_NORMAL] (A_NORMAL): Set to zero.
* stage2/disk_io.c (set_bootdev): Mask 0x7F instead of 0x79 of
* configure.in (--without-curses): New option. If WITH_CURSES is
* stage2/disk_io.c (set_device) [STAGE1_5]: Change the type of
* stage2/builtins.c (install_func): Always check for the Stage 2
* debian/postinst: New file to call install-info.
* debian/prerm: Likewise.
* debian/rules (binary-arch): Add postinst and prerm, compress the
* stage2/cmdline.c (skip_to): Restructure, and count tabs as
* 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.
* stage2/defs.h (time_t): Renamed to ...
* stage2/disk_inode.h (FFS_MAX_FASTLINK_SIZE): Use mach_daddr_t
* stage2/fs.h (BBLOCK): Use mach_daddr_t instead of addr_t.
* acinclude.m4 (grub_CHECK_START_SYMBOL): Use AC_TRY_LINK
* stage2/disk_io.c (set_device) [!STAGE1_5]: Use RESULT instead
* stage2/builtins.c (install_func): If the Stage 2 id in FILE is
* stage2/disk_io.c (real_open_partition): Made global.
* stage2/shared.h (real_open_partition): Declared.
* stage2/fsys_ext2fs.c (ext2fs_dir): Do not print a newline even
* stage2/fsys_ffs.c (ffs_dir): Likewise.
* stage2/fsys_fat.c (fat_dir): Likewise.
* stage2/fsys_minix.c (minix_dir): Likewise.
* stage1/stage1.S [!FFS_STAGE1_5] (blocklist_default_len): Do
9 instead, because of a binutils-2.9.1.0.x bug.
* stage1/stage1_lba.S [!FFS_STAGE1_5] (blocklist_default_len):
* stage2/builtins.c (install_func): When installing Stage 1.5,
* stage2/char_io.c [!STAGE1_5] (get_cmdline): In cl_insert, call
* stage2/disk_io.c [!STAGE1_5] (print_completions): In the
* acinclude.m4 (grub_CHECK_USCORE_END_SYMBOL): Do not call
* stage2/Makefile.am (STAGE1_5_COMPILE): Do not define
* 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
* stage2/disk_io.c [STAGE1_5] (sane_partition): Eliminated.
* acinclude.m4 (grub_CHECK_END_SYMBOL): Add a missing
* stage1/stage1.S (blocklist_default_start): New label for default
* stage1/stage1_lba.S (blocklist_default_start): Likewise.
* acinclude.m4 (grub_ASM_ADDR32): First, create a template
source file "conftest.s.in", and then, replace @ADDR32@ with
* stage2/builtins.c (debug_fs_print_func): Renamed to ...
* stage2/disk_io.c [!STAGE1_5] (debug_fs): Renamed to ...
* stage2/fsys_ext2fs.c (ext2fs_read) [!STAGE1_5]: Use
* 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 ...
* docs/grub.texi: Likewise, replace debug_fs and debug_fs_func
* stage2/builtins.c (install_func): New local function,
* acinclude.m4 (grub_ASM_USCORE): Do not define HAVE_ASM_USCORE
* netboot/3c59x.c: INCLUDE_3c59x is replaced by INCLUDE_3C59X
* netboot/config.c: Likewise.
* netboot/io.h (__INS): New macro.
* netboot/pci.h (PCI_VENDOR_ID_VORTEX): New macro.
* stage2/builtins.c (install_func): Do not set DEBUG_FS at the
* stage2/builtins.c (install_func): If parsing ADDR fails, set
* docs/grub.texi: Synchronize the description about install to
builtins.c. Remove explicit address arguments from all the
* docs/menu.lst: Do not specify the address argument for
* stage2/char_io.c [!STAGE1_5] (get_cmdline): In the completion
* stage2/disk_io.c [!STAGE1_5] (do_completion): New variable.
* stage2/shared.h (COMPLETION_BUF): New macro.
* acinclude.m4 (grub_ASM_PREFIX_REQUIREMENT): Do not call
* acconfig.h (ADDR32): Removed. This entry is automatically
* acinclude.m4 (grub_ASM_ADD32): Use ADDR32 instead of addr32.
* configure.in: Call grub_ASM_PREFIX_REQUIREMENT before
* stage1/stage1.S (after_BPB): Use ABS(firstlist) instead of
* stage1/stage1_lba.S (after_BPB): Use ABS(firstlist) instead of
* stage2/asm.S (putchar): Renamed to ...
* stage2/gunzip.c (reset_linalloc): Use the macro RAW_ADDR
* stage2/shared.h [!GRUB_UTIL] (RAW_ADDR): Added parenthesises
* acinclude.m4 (grub_CHECK_START_SYMBOL): New function.
* configure.in: Call grub_CHECK_START_SYMBOL and
* acconfig.h (HAVE_START_SYMBOL): Added the "undef" entry.
* stage2/char_io.c (memcheck): Rename the argument START to
* stage2/asm.S (get_code_end) [HAVE_END_SYMBOL]: Use $end as the
* stage2/disk_io.c [!STAGE1_5] (cur_part_desc): Made static.
* stage2/char_io.c [!STAGE1_5] (get_cmdline): The argument
* stage2/stage2.c (cmain): Initialize the kill buffer.
* stage2/shared.h (cur_cmdline): Removed.
* stage2/boot.c (cur_cmdline): Removed.
* stage2/char_io.c [!STAGE1_5] (grub_strcpy): New function.
* stage2/size_test: Do not check for the size of Stage 2.
stage2_size.h before creating it.
* Makefile.am (SUBDIRS): Put stage1 after stage2 so that stage2
* stage1/Makefile.am (BUILT_SOURCES): New varilable.
(stage1_exec_SOURCES): Added stage2_size.h.
(stage2_size.h): New rule.
* stage1/stage1_lba.S: Likewise.
* netboot/config.h: Moved to ...
* netboot/netboot_config.h: ... here.
* netboot/fsys_tftp.c: Likewise.
* netboot/ip.c: Likewise.
and added netboot_config.h.
* grub/asmstub.c [__linux__]: On GLibc 2.0 and newer use lseek,
don't include <linux/fs.h> and define BLKFLSBUF if needed.
* grub/asmstub.c (get_drive_geometry): New function.
* configure.in (--enable-ne): Made the description more clear.
* stage2/Makefile.am (stage2_exec_LDADD): Defined only if
* netboot/Makefile.am (LIBDRIVERS): New variable. If
NETBOOT_SUPPORT is true, set to libdriver.a, otherwise set to an
* stage2/char_io.c (grub_sprintf): Added parenthesises to avoid
* stage2/gunzip.c (gunzip_test_header): Check if FSYS_TYPE is
* Makefile.am (SUBDIRS): Added netboot.
* configure.in (--enable-tftp): New option.
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
* stage2/asm.S [!STAGE1_5] (currticks): New function.
* stage2/char_io.c [!STAGE1_5] (grub_sprintf): Likewise.
* stage2/disk_io.c (fsys_table) [FSYS_TFTP]: Added an entry for
* stage2/filesys.h [FSYS_TFTP] (FSYS_TFTP_NUM): Defined as 1.
* stage2/gunzip.c (gunzip_test_header): If FILEMAX >= 16MB, do
* stage2/shared.h (sprintf): New macro.
* 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.
* configure.in (--enable-maintainer-mode): Do not use our own
* docs/Makefile.am (grub.8): Regenerated if MAINTAINER_MODE is
* stage2/pc_slice.h (IS_PC_SLICE_TYPE_EXTENDED): New macro.
* stage2/disk_io.c (real_open_partition): Use
* acconfig.h: New file for autoheader support.
* acinclude.m4 (grub_ASM_EXT_C) Renamed to ...
* configure.in: Added AM_CONFIG_HEADER. Autoconf 2.13 is now
* stage2/shared.h (EXT_C): Defined.
* stage2/boot.c (load_image): Use CURRENT_DRIVE and
* stage2/disk_io.c (sane_partition) [STAGE1_5]: Defined.
* stage2/builtins.c (device_func) [GRUB_UTIL]: Use check_device
* grub/asmstub.c (check_device): New function.
* stage2/builtins.c (geometry_func) [GRUB_UTIL]: Copy the
* grub/main.c (no_floppy): New variable.
* grub/asmstub.c (grub_stage2): Print a message before the probe
* stage2/builtins.c (device_func): New function.
* grub/asmstub.c (disks): Made global.
* docs/grub.texi (Commands): Synchronize descriptions with
* stage2/builtins.c (hide_func): Use set_partition_hidden_flag.
* stage2/shared.h (set_partition_hidden_flag): Declare.
* stage2/disk_io.c (set_partition_hidden_flag): New function
* grub/asmstub.c (_FILE_OFFSET_BITS): Defined.
* stage2/stage2.c (run_menu): If run_script is successfully
* stage2/cmdline.c (run_script): If ERRNUM is non-zero, wait an
* stage2/builtins.c (configfile_func): New function.
* stage2/asm.S [!STAGE1_5] (chain_stage2): Deleted.
* stage2/char_io.c (grub_strncat): Likewise.
* stage2/common.c [STAGE1_5] (saved_mem_upper): Likewise.
* stage2/smp-imps.c (imps_release_cpus): Likewise.
* stage2/builtins.c (testload_func): Fix the typos: 0x2000000 ->
* stage2/fsys_ffs.c (mapblock_offset): New variable.
* stage2/cmdline.c (find_command): If COMMAND is less than
* stage2/builtins.c (builtin_chainloader): Capitalize the
* stage1/stage1.S: Set the number of sectors for Stage 2 to 110.
* stage1/stage1_lba.S: Likewise.
* stage2/builtins.c: New file.
* stage2/boot.c (load_image): Return kernel_t instead int.
* stage2/char_io.c (get_cmdline): Do not accept the argument
* stage2/shared.h (PASSWORD_BUF): New macro.
* stage2/size_test: Set the maximum size of Stage 2 to 56320.
* stage2/stage2.c (grub_timeout): Deleted.
* docs/menu.lst: More meaningful examples. Not using (0x80,0)
* stage2/stage2.c (run_menu): Erase the entered password before
* stage2/char_io.c (get_cmdline): Restore command-line even if
* configure.in: --disable-gunzip disables decompression in
* stage2/gunzip.c [NO_DECOMPRESSION]: Disable all code if
* stage2/boot.c (load_image): Use PHDR->P_PADDR instead of
* docs/help2man: Upgraded to 1.013.
* docs/grub.8: Regenerated.
* stage2/cmdline.c (enter_cmdline) [GRUB_UTIL]: Add a space in
* stage2/char_io.c (get_cmdline): Search for a space or a equal
* stage2/cmdline.c (skip_to): Treat the character `=' as a space
* docs/menu.lst: Likewise.
* docs/grub.texi: Likewise.
* grub/asmstub.c (env_for_exit): New variable.
* stage2/boot.c [GRUB_UTIL] (bsd_boot_entry): New function.
* stage2/fsys_fat.c (fat_create_blocklist): Cast FAT_BUF to
* stage2/cmdline.c (commands): Added hide and unhide.
* stage2/disk_io.c (unhide_partition): New function.
* stage2/pc_slice.h (PC_SLICE_TYPE_HIDDEN_FLAG): New macro.
* stage2/fsys_minix.c (namelen): New variable.
* stage2/fsys_fat.c (fat_create_blocklist): Return 1 for the
* stage2/boot.c (load_image): Accept two arguments, KERNEL and
* stage2/cmdline.c (enter_cmdline): Use MB_CMDLINE instead of
* stage2/shared.h (MB_CMDLINE_BUF): New macro.
* docs/Makefile.am [GRUB_MAINT] (grub.8): The argument for the
* docs/grub.8: Regenerated.
* docs/grub.texi: Do not use the name "the Stage 2 emulator" any
* stage2/fsys_minix.c: New file.
* stage2/size_test: Added a check for the size of minix_stage1_5.
(noinst_PROGRAMS): Added minix_stage1_5.exec.
(stage2_exec_SOURCES): Added fsys_minix.c.
* 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.
* stage2/shared.h (STAGE2_ID_MINIX_STAGE1_5): New macro.
* grub/Makefile.am (AM_CFLAGS): Added -DFSYS_MINIX=1.
* configure.in (--disable-minix): New option.
* stage2/fat.h (FAT_BPB_FAT_SECTORS_16): New macro.
* stage2/fsys_fat.c (root_dir): New variable.
* stage2/pc_slice.h (PC_SLICE_TYPE_FAT32): New macro.
* stage2/fsys_ffs.c (ffs_mount): Do not shift the fs type
* stage2/fsys_fat.c (fat_mount): Do not shift the fs type
* configure.in (--disable-ext2fs): New option.
* grub/Makefile.am (AM_CFLAGS): Added -DFSYS_EXT2FS=1,
* stage2/Makefile.am (libgrub_a_CFLAGS): 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.
* stage1/stage1_lba.S: Use STAGE1_DRP_ADDR for the address of
* stage1/stage1.h (STAGE1_DRP_ADDR): New macro.
* stage2/bios.c (get_diskinfo): In LBA mode, set TOTAL_SECTORS
to the low 32bits of DRP.TOTAL_SECTORS instead of the multiple
* stage2/cmdline.c (enter_cmdline) [GRUB_UTIL]: In the command
"geometry", print the device file name instead of CHS/LBA
* stage2/shared.h (device_map): Declared.
* grub/asmstub.c (device_map): Defined as a global variable
* stage2/pc_slice.h (PC_SLICE_TYPE_BSD): Deleted.
* stage2/fsys_ffs.c (ffs_mount): Use the macro
* 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
* stage2/cmdline.c (commands): Added geometry.
* stage2/stage2.c (run_menu): Terminate the string PASSWORD
* stage2/stage2.c (set_line_normal): New function.
* stage2/stage2.c (run_menu) [GRUB_UTIL]: Quit when pushing the
* acinclude.m4 (grub_ASM_PREFIX_REQUIREMENT): New function.
* configure.in: Call grub_ASM_PREFIX_REQUIREMENT, and define
* stage2/asm.S: Replace addr32 and data32 prefixes with ADDR32
* stage2/boot.c (load_image): Use RAW_ADDR macro when loading
an a.out kernel.
* stage2/asm.S: Make each of the addr32 and data32 prefixes
* boot.c (load_image): Fix a strcmp test. Reported by Pavel
* stage2/i386-elf.h (EI_BRAND): New macro.
* stage2/boot.c (load_image): If the kernel is ELF, check if it
only if MBI.FLAGS has the flag MB_INFO_AOUT_SYMS. Otherwise,
* grub/getopt.c: New file. Copied from texinfo-3.12n.
* grub/getopt1.c: Likewise.
* grub/getopt.h: Likewise.
* grub/asmstub.c (grub_stage2): Fix a misordering in the output
* stage2/asm.S (get_diskinfo_standard): If the number of sectors
grub.texi so that it works with Debian's version of texinfo.
* stage2/bios.c (get_diskinfo): When DRIVE is a floppy drive,
* grub/main.c (main): Call printf instead of grub_printf.
* stage2/cmdline.c (skip_to): Don't increase CMDLINE if the
(stage2_exec_SOURCES): Added smp-imps.c.
* stage2/cmdline.c [!GRUB_UTIL] (IMPS_DEBUG) (KERNEL_PRINT)
* stage2/smp-imps.c (IMPS_DEBUG) (KERNEL_PRINT)
* grub/asmstub.c [HAVE_LIBCURSES] (save_char): New variable.
* stage2/char_io.c (get_cmdline) [GRUB_UTIL]: Recognize
* grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: Call wtimeout
* stage1/stage1_lba.S (probe_values): New variable. This is not
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/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.
* stage2/cmdline.c (enter_cmdline) [!GRUB_UTIL]: When running
message, because /sbin/grub cannot detect if LBA is supported or
* stage1/stage1_lba.S: Fix a bug that incorrectly assigns the
* stage2/boot.c (load_image): When removing "vga=...", memmove
* stage2/bios.c (get_diskinfo): In LBA mode, compute
* stage2/boot.c (load_image): Fix inverted lines.
* stage2/shared.h (LINUX_VID_MODE_OFFSET): New macro.
* stage2/boot.c (load_image): Added Linux video mode selection.
* stage2/char_io.c [!STAGE1_5] (grub_strlen): New function.
* stage2/char_io.c (print_error): Print ERRNUM in the format of
* stage2/shared.h (grub_printf) : Corrected.
* stage1/stage1.S (sectors): Change the size to long.
* stage1/stage1_lba.S: New file.
* stage1/Makefile.am (nodist_pkgdata_DATA): Added stage1_lba.
(noinst_PROGRAMS): Added stage1_lba.exec.
* grub/main.c (main): The third argument for strtoul is changed
* stage2/shared.h (STAGE2_STAGE2_ID): New macro.
* stage2/asm.S (stage2_id): New variable.
* stage1/stage1.S: Change the minor version to 1.
* configure.in (CFLAGS): Set to "-g", since only this flag is
* 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/asm.S (chain_stage2): Pass CURRENT_PARTITION and
* configure.in: set CFLAGS to "-Os -g" for compilers which
* stage2/disk_io.c (attempt_mount) [STAGE1_5]: Set FSYS_TYPE to
* Makefile.am (SUBDIRS): Change the order of the directories so
* docs/help2man: Copied from help2man-1.012, which contains my
* docs/grub.8: Regenerated.
* Makefile.am (SUBDIRS): e2fs_stage1_5, ffs_stage1_5,
* configure.in: Call AC_PROG_RANLIB.
(AC_INIT): Change the argument to stage2/stage2.c.
* docs/Makefile.am (HELP2MAN): The prefix $(srcdir) is removed.
* 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.
(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 ...
* stage2/Makefile.am: Completely rewritten from scratch.
(EXTRA_DIST): Set to smp-imps.c and $(noinst_SCRIPTS).
(stage2.exec): Likewise.
* stage2/size_test: New file, for checking for the sizes of
* stage1/stage1.S: Call testb instead of andb when checking if
* grub/main.c (main): Call sync first. Suggested by Pavel Roskin
* configure.in: Curses libraries are always checked.
(--enable-sbin-grub): Deleted. Now /sbin/grub is always built.
* grub/Makefile.am (EXTRA_PROGRAMS): Deleted.
* docs/Makefile.am (man_MANS): New variable.
[GRUB_MAINT]: Define the rule for the /sbin/grub manual.
* docs/help2man: Copied from texinfo-3.12i.
* docs/grub.8: Produced by help2man automatically.
* shared_src/char_io.c (get_cmdline): Add two missing `break's.
* shared_src/cmdline.c (commands): Add quit.
* shared_src/shared.h (cmdline_t): New enum type.
* shared_src/stage2.c (menu_t): New enum type.
* docs/Makefile.am (html): Deleted.
* 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.
* shared_src/disk_io.c (real_open_partition): Check if
* shared_src/pc_slice.c (PC_SLICE_TYPE_WIN95_EXTENDED): New
* shared_src/bios.c (biosdisk): Clear the reserved member of DAP.
* shared_src/asm.S (nocursor): New function.
* shared_src/cmdline.c (normal_color): New variable.
* shared_src/shared.h (normal_color): Declared.
* shared_src/stage2.c (print_border) [!GRUB_UTIL]: Color the
* e2fs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 31744.
* fat_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Likewise.
* shared_src/cmdline.c: The imps code is now defined if GRUB_UTIL
* shared_src/disk_io.c (devread) [!STAGE1_5]: If DEBUG_FS and
* shared_src/asm.S (patch_code): Defined unconditionally.
* stage1/stage1.S (firstlist) [!FFS_STAGE1_5]: Increase the
* 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.
* grub/main.c (verbose): New variable.
about how to restart /sbin/grub.
* shared_src/shared.h (verbose) [GRUB_UTIL]: Declared.
* grub/asmstub.c (hex_dump): New function.
* shared_src/disk_io.c (set_device) [STAGE1_5]: Eliminate
* grub/asmstub.c: Do not use I_AM_VERY_BRAVE any more.
* shared_src/disk_io.c (print_a_completion): New function
* shared_src/fsys_ext2fs.c (ext2fs_dir) [!STAGE1_5]: Use
* 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
* shared_src/char_io.c (get_cmdline): Update LPOS and LLEN_OLD
* shared_src/stage2.c (get_line_from_config): Fix LITERAL
* grub/asmstub.c (grub_stage2): Fix a memory leak that FP is
* grub/main.c: Replace OPT_DISABLE_CONFIG_FILE and
* docs/TODO: Moved to ...
* docs/BUGS: Moved to ...
* docs/COPYING: Removed.
* docs/Makefile.am (EXTRA_DIST): Get rid of BUGS.
* Makefile.am (EXTRA_DIST): Set to BUGS.
* acinclude.m4 (grub_ASM_EXT_C): Do not overrun the command
* docs/multiboot.texi: New file. From Kunihiro Ishiguro.
* shared_src/asm.S (start) [STAGE1_5]: Jump to 0x0:0x2000.
* shared_src/cmdline.c (enter_cmdline): Doesn't check for the jump
* shared_src/diskio.c (grub_open): Call setup_part even in stage1.5.
* shared_src/char_io.c [STAGE1_5]: Eliminate unnecessary functions
* grub/asmstub.c (nread): New function. Handle EINTR.
* shared_src/fsys_ext2fs.c (off_t): Renamed to ...
* shared_src/defs.h (off_t): Renamed to ...
* shared_src/fs.h (BBOFF): Use mach_off_t instead of off_t.
* 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.
* shared_src/shared.h: Redeclare.
* grub/main.c (main): Use strncpy rather than pointer assignment
* grub/asmstub.c: Make config_file a static array, not a pointer.
* debian/rules (build): Install into /lib instead of /share.
* grub/main.c (use_config_file): New variable.
* grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: If ! USE_CURSES,
* shared_src/cmdline.c (enter_cmdline): Do not use getc, but use
* shared_src/stage2.c (cmain) [GRUB_UTIL]: Check if USE_CONFIG_FILE
* shared_src/shared.h (getc): Removed.
* shared_src/asm.S (biosdisk_standard): Pop %ebp correctly, reported
* docs/menu.lst: Rewritten, so that it contains up-to-date
* shared_src/asm.S (get_diskinfo_floppy): Correct the number of heads
* grub/asmstub.c (get_diskinfo): Compute the total number of sectors
* shared_src/asm.S (get_diskinfo_standard): Clear the data segment
* shared_src/bios.c (get_diskinfo): Always set the size of DRP to
* shared_src/shared.h (struct geometry): Declare total_sectors as
* shared_src/bios.c (biosdisk) [!NO_INT13_FALLBACK]: Recompute
* shared_src/disk_io.c (real_open_partition): Set PART_LENGTH to
* docs/texinfo.tex: Copied from automake-1.4a.
* configure.in (SHARED_SRC_RULES): Add bios into shared sources.
* 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/bios.c: New file.
* shared_src/shared.h (struct geometry): Added new member,
* shared_src/stage2.c (print_entries): Correctly assign MENU_ENTRIES
* shared_src/shared.h (grub_memset): Adapted from grub_bzero.
* grub/asmstub.c (checkkey): Fix unterminated comment.
* shared_src/char_io.c (grub_printf): Renamed from printf.
* shared_src/char_io.c (get_cmdline): Add new argument to hide
* shared_src/shared.h (get_cmdline): Fix declaration.
* shared_src/stage2.c (run_menu): Use get_cmdline with an
* grub/main.c (usage): Display defaults for stage2 options.
* grub/asmstub.c [WITHOUT_LIBC_STUBS]: Renamed from
* grub/main.c: Likewise.
* shared_src/shared.h: Likewise.
* grub/asmstub.c (set_attrib): Use inch and addch, instead of
* grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: Call nodelay.
* grub/asmstub.c (grub_stage2): Call close instead of fclose.
* grub/Makefile.am (CPPFLAGS): Use -fwritable-strings, because
* grub/main.c: Define NO_REMAPPING_LIBC_FUNCTIONS before including
* grub/asmstub.c: Define NO_REMAPPING_LIBC_FUNCTIONS before including
* shared_src/shared.h [NO_REMAPPING_LIBC_FUNCTIONS]: Don't define
* char_io.c (get_cmdline): Call cl_setcpos even if lpos == llen,
* grub/main.c (OPT_HOLD): New macro.
* shared_src/cmdline.c (enter_cmdline): Check the return value of
* shared_src/char_io.c (memcheck): Special-case cur_part_desc and
* shared_src/boot.c (load_image): Make sure we use the mapped
* shared_src/char_io.c (get_cmdline): Only zero-terminate if there
* grub/asmstub.c (get_diskinfo): Cache device geometries as well
* shared_src/shared.h (geometry_t): Delete typedef, until we
* shared_src/asm.S (biosdisk): Use a structure for geometry
* shared_src/boot.c (bsd_boot): Compute BIOS geometries for BSD.
* shared_src/cmdline.c (enter_cmdline): Declare dest_geom as
* shared_src/disk_io.c (buf_geom): Declare as struct geometry.
* shared_src/filesys.h (SECTORS): Deleted.
* shared_src/shared.h (BIOSDISK_FLAG_LBA_EXTENSION): New macro.
* grub/asmstub.c (doit): Nested function to get a clean stack
* shared_src/stage2.c (run_menu): Use A_REVERSE and A_NORMAL
* shared_src/shared.h (A_REVERSE): Renamed from ATTR_INVERSE for
* shared_src/cmdline.c (enter_cmdline): Change prompt to "grub> ".
* shared_src/stage2.c (run_menu): Change prompts to "grub edit> ".
* shared_src/char_io.c (memcheck): Use RAW_ADDR to compute memory
* configure.in (CPPFLAGS): Bump up GCC warnings to -Wall
* shared_src/shared.h: Delete stupid declarations, and totally
(inb, outb): Move to cmdline.c, since it's only used there.
* grub/asmstub.c: Fill in more stubs.
* shared_src/gunzip.c (border): Rename to bitorder, to resolve
* shared_src/stage2.c (timeout): Rename to grub_timeout.
* configure.in: Check for curses libraries for use with
* shared_src/shared.h (KEY_DELETE): Rename to KEY_DC, for
* 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
* grub/asmstub.c (start_stage2): Make some assertions about our
* shared_src/shared.h (end): Delete declaration.
(RAW_ADDR, RAW_SEG): Macros to redirect /sbin/grub memory requests
* grub/asmstub.c (get_mem_map): Implement, simulating 4MB
grub/asmstub.c (start_stage2): Initialize grub_scratch_mem.
* shared_src/asm.S (get_mem_map): Some BIOSes expect the high word
(get_code_end): Move this from common.c so that we can stub it out
* shared_src/asm.S (biosdisk): Make LBA mode work correctly. From
* shared_src/asm.S (biosdisk): Compute location of
* docs/grub.texi: New Texinfo documentation.
* shared_src/disk_io.c (set_device): First stab at interpreting
* shared_src/stage2.c (run_menu): Don't say it was a failure if
* shared_src/cmdline.c (enter_cmdline): Return nonzero, and avoid
* shared_src/asm.S (_start): New explicit symbol to supress
* e2fs_stage1_5/Makefile.am (NO_FANCY_STUFF): Renamed to STAGE1_5,
* 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.
* configure.in (SHARED_SRC_RULES): Automatically generate
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
* shared_src/disk_io.c [NO_FANCY_STUFF]: Eliminate a whole bunch
* shared_src/fsys_ffs.c: Likewise.
* shared_src/char_io.c: Likewise.
* shared_src/char_io.c (getkey): Don't set BUF_DRIVE to -1.
* shared_src/common.c (err_list): Change description of ERR_GEOM
* configure.in (host_cpu): Make all fully i386-compatible CPUs be
debian/changelog, so that we only have one file to update.
* shared_src/asm.S (get_diskinfo): Fix a few bit-twiddling bugs in
* configure.in: Make sure $(host_cpu) and $(host_vendor) are
* e2fs_stage1_5/Makefile.am (pkgdatadir): Install files in
* 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.
* shared_src/asm.S (biosdisk): Use LBA mode if high nibble of
* shared_src/disk_io.c (make_saved_active): Use BIOSDISK_READ and
* shared_src/cmdline.c (enter_cmdline): Use BIOSDISK_WRITE.
* shared_src/shared.h (BIOSDISK_SUBFUNC_READ,
* shared_src/asm.S (biosdisk): Change subfunc argument to be
* configure.in: Drop redundant AC_PROG_INSTALL. From OKUJI
* acinclude.m4 (grub_OBJCOPY_ABSOLUTE): Don't forget to move the
* debian/rules (binary-arch): Remove empty /sbin directory until
/sbin/grub is installed. Use $(DESTDIR) instead of $(prefix) to
* 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.
* NEWS: Moved from docs/NEWS.
* stage1/stage1.S (after_BPB): Do a hard disk probe first, so that
* grub/asmstub.c: New file to implement stubbed assembly functions
* 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
* shared_src/common.c (err_list): Use labeled elements to
* 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
* grub/Makefile: Treat CFLAGS, CPPFLAGS, LDFLAGS according to
* stage2/Makefile: Likewise.
* e2fs_stage1_5/Makefile: Likewise.
* fat_stage1_5/Makefile: Likewise.
* ffs_stage1_5/Makefile: Likewise.
* 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
* shared_src/shared.h: (addr32, data32): Delete definitions.
* stage1/stage1.S: Modify to use GAS's new .code16 semantics.
shared_src/asm.S: Likewise.
* shared_src/shared.h: Add some assertions to check that buffer
* shared_src/stage2.c (run_menu): Pause if we failed to boot both
* shared_src/asm.S: Fix typo that called interrupt 0xd (decimal
* e2fs_stage1_5/Makefile: Avoid gratuitous dependencies on
* fat_stage1_5/Makefile: Likewise.
* ffs_stage1_5/Makefile: Likewise.
* Makefile.end (PROGS): Add e2fs_stage1_5, fat_stage1_5, and
* shared_src/disk_io.c (print_fsys_type): Always print the
* shared_src/stage2.c (run_menu): Check to make sure that the