1N/A2004-10-11 Jason Thomas <jason@staff.pnc.com.au>
1N/A Patch from Stefanus Du Toit <sjdutoit@uwaterloo.ca>
1N/A * docs/kernel.c.texi (cmain): Incremement mod by one, instead of
1N/A sizeof(module_t), since it's already a pointer of type module_t.
1N/A * docs/kernel.c (cmain): Do the same.
1N/A
1N/A2004-09-20 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * docs/internals.texi (Internals): Changed to an appendix.
1N/A
1N/A * docs/grub.texi (@setchapternewpage): Changed to odd from off.
1N/A (@contents): Moved to the beginning.
1N/A (Future): Changed to an appendix.
1N/A
1N/A2004-08-17 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/cmdline.c (run_script): Fix a reversed conditional.
1N/A Reported by Alban Crequy <alban.crequy@apinc.org>.
1N/A
1N/A2004-08-07 Jason Thomas <jason@staff.pnc.com.au>
1N/A
1N/A From Michael Hohnbaum <hohnbaum@us.ibm.com>:
1N/A * stage2/fsys_ext2fs.c (ext2fs_read): Handle sparse files.
1N/A
1N/A2004-07-24 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/stage2.c (cmain): Terminate DEFAULT_FILE with NUL
1N/A correctly. Reported by Alban Crequy <alban.crequy@apinc.org>.
1N/A
1N/A2004-07-21 Robert Millan <robertmh@gnu.org>
1N/A
1N/A Patch from David Weinehall <tao@debian.org>
1N/A * util/mkbimage: Fix XSI-isms (for supporting POSIX-only shells).
1N/A
1N/A2004-07-20 Robert Millan <robertmh@gnu.org>
1N/A
1N/A * util/grub-install.in: Detect GNU/k*BSD systems as well.
1N/A
1N/A2004-07-16 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * util/grub-install.in (convert): Fix the sed statement for
1N/A Linux. The expression was ambigious in some cases.
1N/A
1N/A2004-06-29 Robert Millan <robertmh@gnu.org>
1N/A
1N/A * util/grub-set-default.in: Fix minor syntax error (non-escaped
1N/A characters).
1N/A
1N/A2004-06-24 Robert Millan <robertmh@gnu.org>
1N/A
1N/A Fixes for FHS compliance. (/usr/share is for arch-independant data)
1N/A * stage1/Makefile.am: Move stage files to pkglibdir.
1N/A * stage2/Makefile.am: Likewise.
1N/A * docs/grub.texi: s,/usr/share,/usr/lib,g.
1N/A * util/grub-image.in: Look for stage files in pkglibdir.
1N/A * util/grub-install.in: Likewise.
1N/A
1N/A * util/grub-install.in: Improve usage message.
1N/A
1N/A2004-06-20 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A This is a big change on saving a default entry. This change
1N/A makes it possible to set up a quite robust system using GRUB.
1N/A Now we do not use the second sector of Stage 2 to store an
1N/A entry number but use the file /boot/grub/default. This file
1N/A must be generated by grub-set-default, although this file is
1N/A plain-text.
1N/A
1N/A * util/grub-set-default.in: New file.
1N/A
1N/A * util/grub-install.in (grub_set_default): New variable.
1N/A Use /grub instead of /boot/grub on OpenBSD as well as NetBSD.
1N/A Run grub-set-default to make a default file.
1N/A
1N/A * util/Makefile.am (sbin_SCRIPTS): Added grub-set-default.
1N/A
1N/A * stage2/stage2.c (run_menu): Change the fallback handling to
1N/A support multiple fallback entries.
1N/A (cmain): Likewise. Also, get a saved entry from a default file
1N/A if possible, before reading a config file.
1N/A
1N/A * stage2/shared.h (DEFAULT_FILE_BUF): New macro.
1N/A (DEFAULT_FILE_BUFLEN): Likewise.
1N/A (CMDLINE_BUF): Set to DEFAULT_FILE_BUF + DEFAULT_FILE_BUFLEN.
1N/A (MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - MENU_BUF.
1N/A (fallback_entry): Removed.
1N/A (fallback_entries): Declared.
1N/A (fallback_entryno): Likewise.
1N/A (MAX_FALLBACK_ENTRIES): New macro.
1N/A
1N/A * stage2/cmdline.c (run_script): Use FALLBACK_ENTRYNO instead of
1N/A FALLBACK_ENTRY.
1N/A
1N/A * stage2/builtins.c (fallback_entry): Removed.
1N/A (fallback_entryno): New variable.
1N/A (fallback_entries): Likewise.
1N/A (init_config): Initialize FALLBACK_ENTRYNO and FALLBACK_ENTRIES.
1N/A (fallback_func): Rewritten completely.
1N/A (savedefault_func): Likewise.
1N/A
1N/A * docs/grub.texi (grub-set-default): New direntry.
1N/A (Installation): Describe grub-set-default for manual
1N/A installations.
1N/A (Making your system robust): New section.
1N/A (Booting once-only): New subsection.
1N/A (Booting fallback systems): Likewise.
1N/A (fallback): Describe multiple fallback entries.
1N/A (savedefault): Describe an optional argument.
1N/A (Invoking grub-set-default): New chapter.
1N/A (Future): Replaced with a description about GRUB 2.
1N/A
1N/A * configure.ac (AC_CONFIG_FILES): Added util/grub-set-default.
1N/A
1N/A2004-06-19 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/ufs2.h (int8_t): Renamed to ...
1N/A (grub_uint8_t): ... this.
1N/A (int16_t): Renamed to ...
1N/A (grub_int16_t): ... this.
1N/A (int32_t): Renamed to ...
1N/A (grub_int32_t): ... this.
1N/A (int64_t): Renamed to ...
1N/A (grub_int64_t): ... this.
1N/A (uint8_t): Renamed to ...
1N/A (grub_uint8_t): ... this.
1N/A (uint16_t): Renamed to ...
1N/A (grub_uint16_t): ... this.
1N/A (uint32_t): Renamed to ...
1N/A (grub_uint32_t): ... this.
1N/A (uint64_t): Renamed to ...
1N/A (grub_uint64_t): ... this.
1N/A (u_char): Renamed to ...
1N/A (grub_u_char): ... this.
1N/A (u_int): Renamed to ...
1N/A (grub_u_int): ... this.
1N/A (u_int8_t): Renamed to ...
1N/A (grub_u_int8_t): ... this.
1N/A (u_int16_t): Renamed to ...
1N/A (grub_u_int16_t): ... this.
1N/A (u_int32_t): Renamed to ...
1N/A (grub_u_int32_t): ... this.
1N/A (u_int64_t): Renamed to ...
1N/A (grub_u_int64_t): ... this.
1N/A (ino_t): Renamed to ...
1N/A (grub_ino_t): ... this.
1N/A All callers are changed.
1N/A
1N/A2004-06-14 Jeroen Dekkers <jeroen@dekkers.cx>
1N/A
1N/A * stage2/ufs2.h (__uint8_t): Remove.
1N/A (__uint16_t): Likewise.
1N/A (__uint32_t): Likewise.
1N/A (__uint64_t): Likewise.
1N/A (ino_t): Typedef to uint32_t.
1N/A
1N/A2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/Makefile.am (noinst_HEADERS): Added ufs2.h.
1N/A
1N/A2005-05-08 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * configure.ac (AC_INIT): Upgraded to 0.97.
1N/A
1N/A * compile: Copied from Automake 1.9.4.
1N/A * config.guess: Likewise.
1N/A * config.sub: Likewise.
1N/A * depcomp: Likewise.
1N/A * install-sh: Likewise.
1N/A * missing: Likewise.
1N/A * mkinstalldirs: Likewise.
1N/A * mdate-sh: Likewise.
1N/A * docs/texinfo.tex: Likewise.
1N/A
1N/A2005-05-08 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/fsys_xfs.c (next_dentry): Use arrays of arrays instead of
1N/A arrays of pointers for USUAL, to avoid read-only strings. Reported
1N/A by Sven Wegener <swegener@gentoo.org>.
1N/A
1N/A2005-03-28 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * lib/device.c (get_drive_geometry): Use ST.ST_SIZE instead of
1N/A ST.ST_BLOCKS to get the total number of sectors, because st_blocks
1N/A is not the same if it is a sparse file.
1N/A
1N/A2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/stage2.c (cmain): Initialize DEFAULT_FILE to an empty
1N/A string. Reported by NATORI Shin <natori@adm.s.u-tokyo.ac.jp>.
1N/A
1N/A2005-03-15 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/fsys_fat.c (fat_mount): Ignore the 3rd bit of a media
1N/A descriptor, because some BIOSes overwrite this value, according
1N/A to the storage mode (e.g. USB Floppy or USB HDD).
1N/A
1N/A2005-02-16 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * grub/asmstub.c (grub_stage2): Remove the attribute `volatile'
1N/A from doit. I hope this change is safe for all compilers.
1N/A
1N/A2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/builtins.c (install_func): If DEST_DRIVE is a hard
1N/A disk, enable the workaround in Stage 1 by replacing the jmp
1N/A with double nop's.
1N/A
1N/A * stage1/stage1.h (STAGE1_BOOT_DRIVE_CHECK): New macro.
1N/A (STAGE1_BOOT_DRIVE_MASK): Removed.
1N/A
1N/A * stage1/stage1.S (boot_drive_check): New label. This implements
1N/A a different workaround for buggy BIOSes which don't pass boot
1N/A drive correctly. This is effective for BIOSes which pass a value
1N/A without the seventh bit (0x80).
1N/A (boot_drive_mask): Removed.
1N/A
1N/A2005-02-03 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * grub/asmstub.c (console_current_color): Make it global as
1N/A declared.
1N/A (grub_stage2): Tweak the declaration and the definition of the
1N/A nested function doit.
1N/A
1N/A2005-02-02 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/smp-imps.h (imps_any_new_apics): Removed.
1N/A (imps_enabled): Likewise.
1N/A (imps_lapic_addr): Likewise.
1N/A (imps_num_cpus): Likewise.
1N/A (imps_cpu_apic_map): Likewise.
1N/A (imps_apic_cpu_map): Likewise.
1N/A
1N/A * stage2/Makefile.am (libgrub_a_CFLAGS): Remove
1N/A -fwritable-strings. Not required for the grub shell actually.
1N/A
1N/A * grub/Makefile.am (AM_CFLAGS): Likewise.
1N/A
1N/A2005-02-01 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * grub/asmstub.c (grub_stage2): Use auto instead of static for
1N/A nested functions.
1N/A
1N/A * stage2/char_io.c (memcheck) [GRUB_UTIL]: Likewise.
1N/A
1N/A * stage2/builtins.c (blocklist_func): Likewise.
1N/A (color_func): Likewise.
1N/A (install_func): Likewise.
1N/A (setkey_func): Likewise.
1N/A
1N/A * lib/device.c (read_device_map): Likewise.
1N/A
1N/A2005-01-30 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * configure.ac (AC_INIT): Upgraded to 0.96.
1N/A
1N/A2004-10-11 Jason Thomas <jason@staff.pnc.com.au>
1N/A
1N/A Patch from Stefanus Du Toit <sjdutoit@uwaterloo.ca>
1N/A * docs/kernel.c.texi (cmain): Incremement mod by one, instead of
1N/A sizeof(module_t), since it's already a pointer of type module_t.
1N/A * docs/kernel.c (cmain): Do the same.
1N/A
1N/A2004-09-20 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * docs/internals.texi (Internals): Changed to an appendix.
1N/A
1N/A * docs/grub.texi (@setchapternewpage): Changed to odd from off.
1N/A (@contents): Moved to the beginning.
1N/A (Future): Changed to an appendix.
1N/A
1N/A2004-08-17 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/cmdline.c (run_script): Fix a reversed conditional.
1N/A Reported by Alban Crequy <alban.crequy@apinc.org>.
1N/A
1N/A2004-08-07 Jason Thomas <jason@staff.pnc.com.au>
1N/A
1N/A From Michael Hohnbaum <hohnbaum@us.ibm.com>:
1N/A * stage2/fsys_ext2fs.c (ext2fs_read): Handle sparse files.
1N/A
1N/A2004-07-24 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/stage2.c (cmain): Terminate DEFAULT_FILE with NUL
1N/A correctly. Reported by Alban Crequy <alban.crequy@apinc.org>.
1N/A
1N/A2004-07-21 Robert Millan <robertmh@gnu.org>
1N/A
1N/A Patch from David Weinehall <tao@debian.org>
1N/A * util/mkbimage: Fix XSI-isms (for supporting POSIX-only shells).
1N/A
1N/A2004-07-20 Robert Millan <robertmh@gnu.org>
1N/A
1N/A * util/grub-install.in: Detect GNU/k*BSD systems as well.
1N/A
1N/A2004-07-16 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * util/grub-install.in (convert): Fix the sed statement for
1N/A Linux. The expression was ambigious in some cases.
1N/A
1N/A2004-06-29 Robert Millan <robertmh@gnu.org>
1N/A
1N/A * util/grub-set-default.in: Fix minor syntax error (non-escaped
1N/A characters).
1N/A
1N/A2004-06-24 Robert Millan <robertmh@gnu.org>
1N/A
1N/A Fixes for FHS compliance. (/usr/share is for arch-independant data)
1N/A * stage1/Makefile.am: Move stage files to pkglibdir.
1N/A * stage2/Makefile.am: Likewise.
1N/A * docs/grub.texi: s,/usr/share,/usr/lib,g.
1N/A * util/grub-image.in: Look for stage files in pkglibdir.
1N/A * util/grub-install.in: Likewise.
1N/A
1N/A * util/grub-install.in: Improve usage message.
1N/A
1N/A2004-06-20 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A This is a big change on saving a default entry. This change
1N/A makes it possible to set up a quite robust system using GRUB.
1N/A Now we do not use the second sector of Stage 2 to store an
1N/A entry number but use the file /boot/grub/default. This file
1N/A must be generated by grub-set-default, although this file is
1N/A plain-text.
1N/A
1N/A * util/grub-set-default.in: New file.
1N/A
1N/A * util/grub-install.in (grub_set_default): New variable.
1N/A Use /grub instead of /boot/grub on OpenBSD as well as NetBSD.
1N/A Run grub-set-default to make a default file.
1N/A
1N/A * util/Makefile.am (sbin_SCRIPTS): Added grub-set-default.
1N/A
1N/A * stage2/stage2.c (run_menu): Change the fallback handling to
1N/A support multiple fallback entries.
1N/A (cmain): Likewise. Also, get a saved entry from a default file
1N/A if possible, before reading a config file.
1N/A
1N/A * stage2/shared.h (DEFAULT_FILE_BUF): New macro.
1N/A (DEFAULT_FILE_BUFLEN): Likewise.
1N/A (CMDLINE_BUF): Set to DEFAULT_FILE_BUF + DEFAULT_FILE_BUFLEN.
1N/A (MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - MENU_BUF.
1N/A (fallback_entry): Removed.
1N/A (fallback_entries): Declared.
1N/A (fallback_entryno): Likewise.
1N/A (MAX_FALLBACK_ENTRIES): New macro.
1N/A
1N/A * stage2/cmdline.c (run_script): Use FALLBACK_ENTRYNO instead of
1N/A FALLBACK_ENTRY.
1N/A
1N/A * stage2/builtins.c (fallback_entry): Removed.
1N/A (fallback_entryno): New variable.
1N/A (fallback_entries): Likewise.
1N/A (init_config): Initialize FALLBACK_ENTRYNO and FALLBACK_ENTRIES.
1N/A (fallback_func): Rewritten completely.
1N/A (savedefault_func): Likewise.
1N/A
1N/A * docs/grub.texi (grub-set-default): New direntry.
1N/A (Installation): Describe grub-set-default for manual
1N/A installations.
1N/A (Making your system robust): New section.
1N/A (Booting once-only): New subsection.
1N/A (Booting fallback systems): Likewise.
1N/A (fallback): Describe multiple fallback entries.
1N/A (savedefault): Describe an optional argument.
1N/A (Invoking grub-set-default): New chapter.
1N/A (Future): Replaced with a description about GRUB 2.
1N/A
1N/A * configure.ac (AC_CONFIG_FILES): Added util/grub-set-default.
1N/A
1N/A2004-06-19 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/ufs2.h (int8_t): Renamed to ...
1N/A (grub_uint8_t): ... this.
1N/A (int16_t): Renamed to ...
1N/A (grub_int16_t): ... this.
1N/A (int32_t): Renamed to ...
1N/A (grub_int32_t): ... this.
1N/A (int64_t): Renamed to ...
1N/A (grub_int64_t): ... this.
1N/A (uint8_t): Renamed to ...
1N/A (grub_uint8_t): ... this.
1N/A (uint16_t): Renamed to ...
1N/A (grub_uint16_t): ... this.
1N/A (uint32_t): Renamed to ...
1N/A (grub_uint32_t): ... this.
1N/A (uint64_t): Renamed to ...
1N/A (grub_uint64_t): ... this.
1N/A (u_char): Renamed to ...
1N/A (grub_u_char): ... this.
1N/A (u_int): Renamed to ...
1N/A (grub_u_int): ... this.
1N/A (u_int8_t): Renamed to ...
1N/A (grub_u_int8_t): ... this.
1N/A (u_int16_t): Renamed to ...
1N/A (grub_u_int16_t): ... this.
1N/A (u_int32_t): Renamed to ...
1N/A (grub_u_int32_t): ... this.
1N/A (u_int64_t): Renamed to ...
1N/A (grub_u_int64_t): ... this.
1N/A (ino_t): Renamed to ...
1N/A (grub_ino_t): ... this.
1N/A All callers are changed.
1N/A
1N/A2004-06-14 Jeroen Dekkers <jeroen@dekkers.cx>
1N/A
1N/A * stage2/ufs2.h (__uint8_t): Remove.
1N/A (__uint16_t): Likewise.
1N/A (__uint32_t): Likewise.
1N/A (__uint64_t): Likewise.
1N/A (ino_t): Typedef to uint32_t.
1N/A
1N/A2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/Makefile.am (noinst_HEADERS): Added ufs2.h.
1N/A
1N/A2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * configure.ac (AC_INIT): Upgraded to 0.95.
1N/A
1N/A2004-05-23 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/char_io.c (grub_isspace): Use a switch sentense instead
1N/A of an if sentense, because that reduces the size.
1N/A
1N/A * lib/device.c (read_device_map): Change the max number of DRIVE
1N/A to 127 from 8. This was too strict.
1N/A
1N/A * stage2/asm.S (stop_floppy): Call pusha and popa outside the
1N/A block of real mode code. Reported by Guillem Jover
1N/A <guillem@debian.org>.
1N/A
1N/A2004-05-20 Damian Ivereigh <damian@cisco.com>
1N/A
1N/A * netboot/main.c: Fixed bootp only code so that options
1N/A work properly. This fix is obvious when compared with the
1N/A DHCP code.
1N/A
1N/A2004-05-17 Pavel Roskin <proski@gnu.org>
1N/A
1N/A * stage2/char_io.c (safe_parse_maxint): Disable for stage 1.5.
1N/A (grub_tolower): Disable for stage 1.5 except fat_stage1_5.
1N/A (grub_memcmp): Disable for stage 1.5 except iso9660_stage1_5.
1N/A
1N/A2004-05-14 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Sergey Matveychuk <sem@ciam.ru>:
1N/A * stage2/size_test: Added a check for ufs2_stage1_5.
1N/A
1N/A * stage2/shared.h (STAGE2_ID_UFS2_STAGE1_5): New macro.
1N/A [FSYS_UFS2] (STAGE2_ID): Set to STAGE2_ID_UFS2_STAGE1_5.
1N/A
1N/A * stage2/filesys.h (FSYS_UFS2_NUM): New macro.
1N/A [FSYS_UFS2] (ufs2_mount): New prototype.
1N/A [FSYS_UFS2] (ufs2_read): Likewise.
1N/A [FSYS_UFS2] (ufs2_dir): Likewise.
1N/A [FSYS_UFS2] (ufs2_embed): Likewise.
1N/A (NUM_FSYS): Added FSYS_UFS2_NUM.
1N/A
1N/A * stage2/disk_io.c (fsys_table): Added an ufs2 entry.
1N/A
1N/A * stage2/builtins.c (setup_func): Added ufs2 into the
1N/A STAGE1_5_MAP.
1N/A
1N/A * stage2/Makefile.am (libgrub_a_SOURCES): Added fsys_ufs2.c.
1N/A (libgrub_a_CFLAGS): Added -DFSYS_UFS2=1.
1N/A (pkgdata_DATA): Added ufs2_stage1_5.
1N/A (noinst_PROGRAMS): Added ufs2_stage1_5.exec.
1N/A (ufs2_stage1_5_exec_SOURCES): New variable.
1N/A (ufs2_stage1_5_exec_CFLAGS): Likewise.
1N/A (ufs2_stage1_5_exec_CCASFLAGS): Likewise.
1N/A (ufs2_stage1_5_exec_LDFLAGS): Likewise.
1N/A
1N/A * grub/Makefile.am (AM_CPPFLAGS): Added -DFSYS_ISO9660=1,
1N/A -DFSYS_JFS=1, -DFSYS_REISERFS=1, -DFSYS_UFS2=1, -DFSYS_VSTAFS=1,
1N/A -DFSYS_XFS=1, and -DUSE_MD5_PASSWORDS=1.
1N/A
1N/A * configure.ac (--disable-ufs2): New option.
1N/A
1N/A * stage2/fsys_ufs2.c: New file.
1N/A * stage2/ufs2.h: Likewise.
1N/A
1N/A2004-05-10 Robert Millan <robertmh@gnu.org>
1N/A
1N/A * lib/device.c: Mangle __FreeBSD_* macro usage to support
1N/A kFreeBSD-based non-FreeBSD systems (i.e. GNU/kFreeBSD).
1N/A
1N/A Implement runtime detection of version of kFreeBSD. Now if
1N/A we build against kFreeBSD 5.x headers the GRUB shell will work on
1N/A both 4.x and 5.x.
1N/A
1N/A Replace `u_int_t' types with portable `unsigned int' and old
1N/A reference to `geometry' structure to new `geom' one.
1N/A
1N/A * docs/menu.lst: Split GNU/kFreeBSD and GNU/kNetBSD as separate
1N/A options than FreeBSD and NetBSD, respectively. There are minor
1N/A differences now (different paths).
1N/A
1N/A2004-05-03 Pavel Roskin <proski@gnu.org>
1N/A
1N/A * stage2/char_io.c (convert_to_ascii): Remove "%b" support.
1N/A It's non-standard and is not used anymore.
1N/A (grub_printf): Likewise.
1N/A
1N/A2004-04-29 Robert Millan <robertmh@gnu.org>
1N/A
1N/A From Yann Dirson <dirson@debian.org>:
1N/A * util/mkbimage: Misc syntax fixes.
1N/A
1N/A2004-04-29 Jeroen Dekkers <jeroen@dekkers.cx>
1N/A
1N/A * stage2/char_io.c (grub_memcmp): Define for stage1.5 too.
1N/A
1N/A * stage2/fsys_iso9660.c (iso9660_mount): Use memcmp() instead of
1N/A __builtin_memcmp().
1N/A (iso9660_dir): Likewise.
1N/A
1N/A2004-04-26 Christian Jones <chjones@aleph0.com>
1N/A
1N/A * docs/grub.texi (Making a GRUB bootable CD-ROM): minor edits,
1N/A including a few compatibility notes and a change to
1N/A -boot-load-size 4 for the mkisofs command.
1N/A
1N/A2004-04-22 Jeroen Dekkers <jeroen@dekkers.cx>
1N/A
1N/A * Makefile.am (AUTOMAKE_OPTIONS): Add "gnu".
1N/A * configure.ac: Update to work with automake 1.8, quote all
1N/A AC_DEFUN's correctly and provide descriptions for AC_DEFINE's.
1N/A * acinclude.m4: Likewise.
1N/A * acconfig.h: Removed.
1N/A
1N/A * stage1/Makefile.am (.exec): Use suffix rules instead of pattern
1N/A rules.
1N/A * stage2/Makefile.am (.exec): Likewise.
1N/A
1N/A2004-04-18 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * docs/grub.texi (Making a GRUB bootable CD-ROM): New section.
1N/A
1N/A * stage2/disk_io.c (set_device): Use CH instead of *DEVICE to
1N/A test the first character of DEVICE, because DEVICE is
1N/A incremented.
1N/A Reported by Bernhard Treutwein.
1N/A
1N/A2004-04-15 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * netboot/fsys_tftp.c (buf_fill): Cast 1 to unsigned short
1N/A explicitly so that the constant doesn't extend unsigned short
1N/A to int automatically.
1N/A Reported by Eduard Guzovsky <eguzovsk@enterasys.com>.
1N/A
1N/A * docs/grub.texi (Invoking grub-md5-crypt): Fixed the chapter
1N/A name.
1N/A Reported by Martin Pool <mbp@sourcefrog.net>.
1N/A
1N/A2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * configure.ac (STAGE2_CFLAGS): Check if -fno-stack-protector is
1N/A supported by GCC. If yes, added the option. This is necessary
1N/A for OpenBSD, because the stack protector defines additional
1N/A symbols. Reported by uc.sheda <uc.sheda@laposte.net>.
1N/A
1N/A2004-03-28 Pavel Roskin <proski@gnu.org>
1N/A
1N/A * stage2/boot.c: Imply --no-mem-option for Linux kernels with
1N/A protocol version 2.03 and above (Linux 2.4.18 and newer).
1N/A
1N/A2004-03-27 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/char_io.c [!GRUB_UTIL] (memcpy): New function. It is
1N/A defined as an alias of grub_memmove. This is copied from GRUB 2.
1N/A
1N/A * stage2/disk_io.c (print_completions): Simplified conditionals
1N/A to make it easier to edit the file with Emacs.
1N/A Added support for (cd).
1N/A (set_device): Likewise.
1N/A
1N/A * stage2/common.c (init_bios_info): Check if BOOT_DRIVE is a
1N/A CDROM drive. If it is true, set CDROM_DRIVE to BOOT_DRIVE.
1N/A (cdrom_drive): New variable.
1N/A
1N/A From Leonid Lisovskiy <lly@pisem.net>:
1N/A * stage2/start_eltorito.S: New file.
1N/A
1N/A * stage2/stage2.c (run_menu): Use GRUB_INVALID_DRIVE instead of
1N/A 0xFF.
1N/A
1N/A * stage2/shared.h (STAGE2_ID_ISO9660_STAGE1_5): New macro.
1N/A [FSYS_ISO9660] (STAGE2_ID): Set to STAGE2_ID_ISO9660_STAGE1_5.
1N/A (struct geometry): Added a new member ``sector_size''.
1N/A (BIOSDISK_FLAG_CDROM): New macro.
1N/A (cdrom_drive): Declared.
1N/A
1N/A * stage2/fsys_iso9660.c: New file.
1N/A * stage2/iso9660.h: Likewise.
1N/A
1N/A * stage2/filesys.h (FSYS_ISO9660_NUM): New macro.
1N/A [FSYS_ISO9660] (iso9660_mount): Declared.
1N/A [FSYS_ISO9660] (iso9660_read): Likewise.
1N/A [FSYS_ISO9660] (iso9660_dir): Likewise.
1N/A (NUM_FSYS): Added FSYS_ISO9660_NUM.
1N/A
1N/A * stage2/disk_io.c (fsys_table) [FSYS_ISO9660]: Added iso9660.
1N/A (current_drive): Use GRUB_INVALID_DRIVE.
1N/A (log2): New function.
1N/A (rawread): Use BUF_GEOM.SECTOR_SIZE instead of SECTOR_SIZE.
1N/A Change the type of BUFADDR from int to char *.
1N/A Use a virtual track to make sure that one track fits in the
1N/A buffer.
1N/A (sane_partition): Allow CURRENT_DRIVE to be CDROM_DRIVE, because
1N/A a bios drive for a CD-ROM is often assigned to greater than
1N/A 0x88.
1N/A (set_device): Use GRUB_INVALID_DRIVE instead of 0xFF.
1N/A (setup_part): Likewise.
1N/A
1N/A * stage2/cmdline.c (init_cmdline): Use GRUB_INVALID_DRIVE.
1N/A
1N/A * stage2/builtins.c (install_func): Use GRUB_INVALID_DRIVE.
1N/A (setup_func): Added iso9660_stage1_5.
1N/A
1N/A * stage2/bios.c (biosdisk): Don't fall back to the CHS mode
1N/A if the drive is a CDROM.
1N/A (get_cdinfo): New function.
1N/A (get_diskinfo): Call get_cdinfo if the drive is greater than or
1N/A equal to 0x88 or the drive supports LBA.
1N/A Set the sector size to SECTOR_SIZE if it is not a CD-ROM.
1N/A
1N/A * stage2/asm.S (biosdisk_int13_extensions): Take a word
1N/A argument AX instead of a byte argument AH.
1N/A (get_diskinfo_int13_extensions): Removed.
1N/A
1N/A * stage2/Makefile.am (noinst_HEADERS): Added iso9660.h.
1N/A (libgrub_a_SOURCES): Added fsys_iso9660.c.
1N/A (libgrub_a_CFLAGS): Added -DFSYS_ISO9660=1.
1N/A (pkgdata_DATA): Added iso9660_stage1_5 and stage2_eltorito.
1N/A (noinst_PROGRAMS): Added iso9660_stage1_5.exec and
1N/A start_eltorito.exec.
1N/A (noinst_DATA): Added start_eltorito.
1N/A (pre_stage2_exec_SOURCES): Added fsys_iso9660.c.
1N/A (START_ELTORITO_LINK): New variable.
1N/A (start_eltorito_exec_SOURCES): Likewise.
1N/A (start_eltorito_exec_CCASFLAGS): Likewise.
1N/A (start_eltorito_exec_LDFLAGS): Likewise.
1N/A (start_eltorito_exec-start.$(OBJEXT)): New dependency.
1N/A (stage2_eltorito): New target.
1N/A (iso9660_stage1_5_exec_SOURCES): New variable.
1N/A (iso9660_stage1_5_exec_CFLAGS): Likewise.
1N/A (iso9660_stage1_5_exec_CCASFLAGS): Likewise.
1N/A (iso9660_stage1_5_exec_LDFLAGS): Likewise.
1N/A
1N/A * stage1/stage1.h (GRUB_INVALID_DRIVE): New macro.
1N/A
1N/A * stage1/stage1.S (boot_drive): Use the macro GRUB_INVALID_DRIVE.
1N/A (real_start): Likewise.
1N/A
1N/A * lib/device.c (get_drive_geometry): Set GEOM->SECTOR_SIZE to
1N/A SECTOR_SIZE by default.
1N/A
1N/A * configure.ac (--disable-iso9660): New option.
1N/A
1N/A2004-03-13 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Daniele Zelante <zeldan@email.it>:
1N/A * stage2/asm.S (stop_floppy): Use INT 13, AH=00h to stop the
1N/A floppy controller instead of a direct I/O.
1N/A
1N/A2004-03-12 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/serial.c (serial_putchar): Handle the character code
1N/A 127 as a backspace. Reported by Florian Engelhardt
1N/A <f.engelhardt@gmx.net>.
1N/A
1N/A2004-03-12 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Boji Tony Kannanthanam <boji.t.kannanthanam@intel.com>:
1N/A * util/grub-install.in (convert): Add support for ATARAID
1N/A device names.
1N/A * lib/device.c (get_ataraid_disk_name) [__linux__]: New
1N/A function.
1N/A (init_device_map) [__linux__]: Probe ATARAID disks.
1N/A
1N/A * stage2/size_test (check): Don't use the local statement any
1N/A longer. It was unneeded actually. Reported by Paul Jarc.
1N/A
1N/A2004-03-12 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Sergey Matveychuk <sem@ciam.ru>:
1N/A * lib/device.c (get_drive_geometry): Do not open the same device
1N/A more than once unnecessarily.
1N/A (get_drive_geometry) [__FreeBSD_version >= 500040]: Use new
1N/A ioctl methods.
1N/A (get_floppy_disk_name) [__FreeBSD__ >= 4]: Use /dev/fd%d rather
1N/A than /dev/rfd%d.
1N/A (get_ide_disk_name) [__FreeBSD__ >= 4]: Use /dev/ad%d rather
1N/A than /dev/rad%d.
1N/A (get_scsi_disk_name) [__FreeBSD__ >= 4]: Use /dev/da%d rather
1N/A than /dev/rda%d.
1N/A * grub/asmstub.c (get_diskinfo): Check if ERRNO is EPERM as
1N/A well.
1N/A
1N/A2004-02-28 Jeroen Dekkers <jeroen@dekkers.cx>
1N/A
1N/A * docs/grub.texi (partnew): Change @var{to} to @var{len}.
1N/A
1N/A2004-02-18 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Yury V. Umanets <umka@namesys.com>:
1N/A * stage2/fsys_reiserfs.c (REISER3FS_SUPER_MAGIC_STRING): New
1N/A macro.
1N/A (reiserfs_mount): Added checks for ReiserFS 3.
1N/A (reiserfs_embed): Likewise.
1N/A
1N/A2004-01-25 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * docs/grub.texi (Obtaining and Building GRUB): Instead of
1N/A describing how to use the anoncvs method, specify the URL of
1N/A the description page on Savannah.
1N/A Reported by Bernhard Treutwein.
1N/A
1N/A2004-01-18 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Thomas Schwinge <kischde@gmx.net>:
1N/A * grub/Makefile.am (AM_CPPFLAGS): New variable.
1N/A (AM_CFLAGS): Removed all cpp flags.
1N/A
1N/A * stage2/xfs.h (__int8_t): Renamed to ...
1N/A (xfs_int8_t): ... this.
1N/A (__uint8_t): Renamed to ...
1N/A (xfs_uint8_t): ... this.
1N/A (__int16_t): Renamed to ...
1N/A (xfs_int16_t): ... this.
1N/A (__uint16_t): Renamed to ...
1N/A (xfs_uint16_t): ... this.
1N/A (__int32_t): Renamed to ...
1N/A (xfs_int32_t): ... this.
1N/A (__uint32_t): Renamed to ...
1N/A (xfs_uint32_t): ... this.
1N/A (__int64_t): Renamed to ...
1N/A (xfs_int64_t): ... this.
1N/A (__uint64_t): Renamed to ...
1N/A (xfs_uint64_t): ... this.
1N/A All callers are changed.x
1N/A
1N/A From Egmont Koblinger <egmont@uhulinux.hu>:
1N/A * util/grub-install.in: Support an install devices in GRUB's
1N/A notation without parentheses.
1N/A
1N/A * docs/grub.texi (Installing GRUB using grub-install): Added an
1N/A example of using grub-install without parentheses.
1N/A
1N/A2004-01-18 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * util/grub-install.in: Use the first word of GRUB_SHELL when
1N/A checking if the grub shell is present. This is necessary to
1N/A support options to the grub shell (e.g. grub --read-only).
1N/A
1N/A From Eric Kvaalen <E_Kvaalen.Arnesen@noos.fr>:
1N/A * docs/grub.texi: Many bug fixes.
1N/A
1N/A2004-01-17 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * lib/device.c [__linux__] (MAJOR): Support 32 bit and 64 bit
1N/A dev_t. This code is stolen from glibc.
1N/A Suggested by Shen Feng <shen@nanjing-fnst.com>.
1N/A
1N/A2004-01-11 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/terminfo.c (ti_set_term): Use a pointer to struct
1N/A terminfo instead to avoid GCC's bug, which inserts a reference
1N/A to memcpy implicitly.
1N/A (ti_get_term): Likewise.
1N/A All callers are fixed.
1N/A
1N/A * stage2/terminfo.h (ti_set_term): Updated.
1N/A (ti_get_term): Likewise.
1N/A
1N/A * stage2/shared.h (struct linux_kernel_header): New member,
1N/A initrd_max_address. Defined in the boot protocol 2.03 or higher.
1N/A
1N/A * stage2/boot.c (load_initrd): If the boot protocol is greater
1N/A than or equal to 2.03, use the field ``initrd_max_address''
1N/A instead of LINUX_INITRD_MAX_ADDRESS.
1N/A
1N/A2003-12-30 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/fsys_ext2fs.c (ext2_is_fast_symlink): New function.
1N/A (ext2fs_dir): Use ext2_is_fast_symlink to check if the current
1N/A inode is a fast or slow symlink. This change was required
1N/A because Linux now uses acl seriously (i.e. incompatibility).
1N/A Reported by Chris PeBenito <pebenito@gentoo.org> and Seemant
1N/A Kulleen <seemant@gentoo.org>
1N/A
1N/A2003-11-30 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * lib/device.c (read_device_map) (sho_warning): New internal
1N/A function.
1N/A (read_device_map): If DRIVE is greater than 8, emit a warning
1N/A and ignore the drive, rather than exiting abnormally.
1N/A Reported by Greg Newby <newby@arsc.edu>.
1N/A
1N/A2003-10-19 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A Migrated to newer autotools. Also, don't install mkbimage
1N/A because its name is too general and it does not conform to the
1N/A GNU Coding Standards in some points.
1N/A
1N/A * util/Makefile.am (EXTRA_DIST): New variable.
1N/A (sbin_SCRIPTS): Removed mkbimage.
1N/A (noinst_SCRIPTS): Added mkbimage.
1N/A
1N/A * stage1/Makefile.am (AM_ASFLAGS): Renamed to ...
1N/A (AM_CCASFLAGS): ... this.
1N/A
1N/A * stage2/Makefile.am (pre_stage2_exec_ASFLAGS): Renamed to ...
1N/A (pre_stage2_exec_CCASFLAGS): ... this.
1N/A (start_exec_ASFLAGS): Renamed to ...
1N/A (start_exec_CCASFLAGS): ... this.
1N/A (e2fs_stage1_5_exec_ASFLAGS): Renamed to ...
1N/A (e2fs_stage1_5_exec_CCASFLAGS): ... this.
1N/A (fat_stage1_5_exec_ASFLAGS): Renamed to ...
1N/A (fat_stage1_5_exec_CCASFLAGS): ... this.
1N/A (ffs_stage1_5_exec_ASFLAGS): Renamed to ...
1N/A (ffs_stage1_5_exec_CCASFLAGS): ... this.
1N/A (minix_stage1_5_exec_ASFLAGS): Renamed to ...
1N/A (minix_stage1_5_exec_CCASFLAGS): ... this.
1N/A (reiserfs_stage1_5_exec_ASFLAGS): Renamed to ...
1N/A (reiserfs_stage1_5_exec_CCASFLAGS): ... this.
1N/A (vstafs_stage1_5_exec_ASFLAGS): Renamed to ...
1N/A (vstafs_stage1_5_exec_CCASFLAGS): ... this.
1N/A (jfs_stage1_5_exec_ASFLAGS): Renamed to ...
1N/A (jfs_stage1_5_exec_CCASFLAGS): ... this.
1N/A (xfs_stage1_5_exec_ASFLAGS): Renamed to ...
1N/A (xfs_stage1_5_exec_CCASFLAGS): ... this.
1N/A (diskless_exec_ASFLAGS): Renamed to ...
1N/A (diskless_exec_CCASFLAGS): ... this.
1N/A (nbloader_exec_ASFLAGS): Renamed to ...
1N/A (nbloader_exec_CCASFLAGS): ... this.
1N/A (pxeloader_exec_ASFLAGS): Renamed to ...
1N/A (pxeloader_exec_CCASFLAGS): ... this.
1N/A
1N/A * configure.in: Removed.
1N/A * configure.ac: New file. Mostly derived from configure.in.
1N/A
1N/A2003-10-19 Yoshinori OKUJI <okuji@enbug.org>
1N/A
1N/A From KB Sriram <mail_kb@yahoo.com>:
1N/A * stage2/disk_io.c (set_device) [SUPPORT_NETBOOT]: Added support
1N/A for a completion of a network device.
1N/A (print_completions): Likewise.
1N/A
1N/A2003-10-10 Robert Millan <robertmh@gnu.org>
1N/A
1N/A * config.guess: Update from official source (CVS).
1N/A * config.sub: Likewise.
1N/A
1N/A2003-09-18 Robert Millan <robertmh@gnu.org>
1N/A
1N/A * docs/texinfo.tex: Update from ftp.gnu.org.
1N/A
1N/A2003-09-05 KB Sriram <mail_kb@yahoo.com>
1N/A
1N/A * stage2/fsys_fat.c: Fix missdetection of ext2fs as fatfs.
1N/A
1N/A2003-09-05 Robert Millan <robertmh@gnu.org>
1N/A
1N/A * docs/menu.lst (GNU/Linux): Add commented initrd command, which
1N/A is consistent with documentation.
1N/A
1N/A2003-09-01 Robert Millan <robertmh@gnu.org>
1N/A
1N/A * docs/menu.lst: Add NetBSD, OpenBSD, GNU/KFreeBSD and
1N/A GNU/KNetBSD.
1N/A
1N/A2003-08-13 Jason Thomas <jason@intology.com.au>
1N/A
1N/A * util/grub-install.in (resolve_symlink): New function to
1N/A resolve symlinks.
1N/A (find_device): Moved symlink code to new function.
1N/A Before we convert the install_device we attempt to resolve it if
1N/A its a symlink using the new function.
1N/A * util/mbchk.c (check_multiboot): The sense of an error message
1N/A was inverted.
1N/A Reported by Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>.
1N/A
1N/A2003-08-12 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/fsys_reiserfs.c (read_tree_node): Fixed a typo; only
1N/A matters for very large fs when tree doesn't fit in cache.
1N/A (IH_KEY_OFFSET): Don't check for INFO->version. There are
1N/A actually old version file systems that use new version items.
1N/A (IH_KEY_ISTYPE): Likewise.
1N/A (reiserfs_dir): Likewise.
1N/A
1N/A2003-08-09 Thierry Laronde <tlaronde@polynum.org>
1N/A
1N/A * util/mkbimage: New File. `mkbimage' depends on GRUB and
1N/A existed elsewhere. It is now part of GRUB so that people can
1N/A fix/contribute.
1N/A * util/Makefile.am (sbin_SCRIPTS): Added script `mkbimage'
1N/A
1N/A2003-08-01 Jason Thomas <jason@intology.com.au>
1N/A
1N/A * util/grub-install.in: support --no-floppy
1N/A This allow users to specify the --no-floppy option which
1N/A is passed onto the grub shell, so it does not probe the floppy
1N/A drive.
1N/A Patch from kesha@diedas.soften.ktu.lt
1N/A
1N/A2003-06-17 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/fsys_reiserfs.c (reiserfs_mount): Clear the node cache.
1N/A This fixes a problem where files from other partitions appear at
1N/A the wrong partition. Problem reported by Johan Regin.
1N/A
1N/A2003-05-04 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * docs/grub.texi (partnew): Fixed the inconsistency between the
1N/A implementation and the documentation. The last argument is the
1N/A length instead of the ending address.
1N/A Reported by Daniel Farrell <s2108287@student.rmit.edu.au>.
1N/A
1N/A2003-03-19 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Adam Lackorzynski <adam@os.inf.tu-dresden.de>:
1N/A * stage2/shared.h (KEY_NPAGE): Changed to 0x5100.
1N/A (KEY_PPAGE): Changed to 0x4900.
1N/A
1N/A2003-03-19 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/boot.c (load_image): Check if DATA_LEN plus SECTOR_SIZE
1N/A is less than or equal to MULTIBOOT_SEARCH, instead of if
1N/A DATA_LEN is less than or equal to MULTIBOOT_SEARCH.
1N/A Reported by Neelkanth Natu <neelnatu@yahoo.com>.
1N/A
1N/A2003-03-10 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Andrew Walrond <andrew@walrond.org>:
1N/A * stage2/fsys_reiserfs.c (struct reiserfs_journal_header):
1N/A Remove an unnecessary ``long''.
1N/A
1N/A2003-03-10 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Tilmann Bubeck:
1N/A * stage2/builtins.c [SUPPORT_SERIAL] (terminfo_func): Unescape
1N/A arguments before copying them, and escape sequences before
1N/A printing them.
1N/A * stage2/terminfo.h (TERMINFO_LEN): Changed to 40.
1N/A
1N/A2003-02-20 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * util/grub-install.in (find_device): Fix the sed script.
1N/A
1N/A2003-02-17 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * lib/device.c (check_device): If DEVICE is empty, just return
1N/A 1.
1N/A (get_scsi_disk_name) [__QNXNTO__]: Make NAME empty, because SCSI
1N/A disks are detected as IDE disks on QNX RTP.
1N/A
1N/A From Taketo Kabe <kabe@sra-tohoku.co.jp>:
1N/A * lib/device.c (get_ide_disk_name) [__QNXNTO__]: Set NAME to
1N/A "/dev/hdX".
1N/A (get_floppy_disk_name) [__QNXNTO__]: Set NAME to "/dev/fdX".
1N/A * stage2/mb_info.h (struct AddrRangeDesc): Specified with the
1N/A attribute packed.
1N/A * stage2/shared.h (struct mmar_desc): Likewise.
1N/A
1N/A2003-01-29 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Ilguiz Latypov:
1N/A * configure.in: Fix a syntax error in a sed script.
1N/A * stage2/bios.c (get_diskinfo): PhoenixBIOS 4.0 Revision 6.0
1N/A for ZF Micro might understand the greater buffer size for the
1N/A "get drive parameters" int 0x13 call in its own way.
1N/A Supposedly the BIOS assumes even bigger space is available and
1N/A thus corrupts the stack. This is why we specify the exactly
1N/A necessary size of 0x42 bytes.
1N/A
1N/A2003-01-25 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Steven Dick <ssd.gnu@mmae.ucf.edu>:
1N/A * stage2/pc_slice.h (PC_SLICE_TYPE_DELL_UTIL): New macro.
1N/A (IS_PC_SLICE_TYPE_FAT): Recognize PC_SLIDE_TYPE_DELL_UTIL as
1N/A well.
1N/A
1N/A2003-01-25 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Karsten Scheibler <karsten.scheibler@student.uni-halle.de>:
1N/A * stage2/terminfo.c (term): Don't use a C99-style initializer.
1N/A
1N/A2003-01-16 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From H.J. Lu <hjl@gnu.org>:
1N/A * stage2/disk_io.c (part_start): Use unsigned long to support
1N/A large disks.
1N/A (part_length): Likewise.
1N/A * stage2/shared.h (part_start): Likewise.
1N/A (part_length): Likewise.
1N/A
1N/A2003-01-05 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * configure.in (CFLAGS): When the default CFLAGS is used,
1N/A eliminate -O2 and -g from CFLAGS, because Autoconf may
1N/A automatically set CFLAGS to them.
1N/A
1N/A2003-01-02 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Jeremy Katz:
1N/A * configure.in: Support building on x86_64 with gcc -m32.
1N/A
1N/A2003-01-02 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Jeremy Katz:
1N/A * stage2/fsys_ext2fs.c (ext2fs_dir): Initialize STR_CHK to shut
1N/A up GCC.
1N/A * stage2/fsys_minix.c (minix_dir): Likewise.
1N/A
1N/A2002-12-21 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/asm.S (gateA20): First, try a BIOS call (INT 15H,
1N/A AX=2400/2401). Use the keyboard controller, only if that failed.
1N/A
1N/A2002-12-11 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A Add a workaround for buggy BIOSes which don't pass boot drive
1N/A correctly. The idea is that GRUB forces the fixed disk flag
1N/A when booted from a hard disk. When BIOS loads GRUB directly,
1N/A the boot drive must be either of 0x00 and 0x80, so this should
1N/A work, if those BIOSes always pass zero to %dl. AFAIK, this
1N/A assumption is always correct.
1N/A
1N/A * stage2/builtins.c (install_func): Store the fixed disk flag of
1N/A the destination drive in BOOT_DRIVE_MASK in Stage 1.
1N/A
1N/A * stage1/stage1.h (STAGE1_BOOT_DRIVE_MASK): New macro.
1N/A
1N/A * stage1/stage1.S (boot_drive_mask): New variable. It is or'ed
1N/A to %dl.
1N/A
1N/A2002-12-09 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/char_io.c (init_page): Change the software name from
1N/A "GRUB" to "GNU GRUB". This was inaccurate. Reported by Ciaran
1N/A O'Riordan <coriordan@compsoc.com>.
1N/A
1N/A2002-12-04 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/builtins.c (embed_func): When checking if the disk can
1N/A store Stage 1.5, check every partition, if it isn't empty.
1N/A
1N/A2002-12-04 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/stage2.c (print_entry): Put a right arrow, if the entry
1N/A is longer than 71 characters. Reported by Pavel Roskin.
1N/A
1N/A2002-12-04 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/disk_io.c (set_device): If '(n' is given, add 'd' into
1N/A DEVICE. Reported by Pavel Roskin.
1N/A
1N/A2002-12-03 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A Change the terminal structure a bit, to turn the cursor state
1N/A explicitly. Suggested by Pavel Roskin.
1N/A
1N/A * stage2/term.h (struct term_entry): Remove the member
1N/A `nocursor' and add `setcursor'.
1N/A [!STAGE1_5] (console_setcursor): New prototype.
1N/A [SUPPORT_HERCULES] (hercules_setcursor): Likewise.
1N/A [!STAGE1_5] (console_nocursor): Removed.
1N/A [SUPPORT_HERCULES] (hercules_nocursor): Likewise.
1N/A
1N/A * stage2/stage2.c (run_menu): Call setcursor instead of
1N/A nocursor.
1N/A Call setcursor with 1 before starting a boot entry.
1N/A
1N/A * stage2/shared.h (nocursor): Removed.
1N/A (setcursor): New prototype.
1N/A
1N/A * stage2/hercules.c (herc_cursor_state): New variable.
1N/A (herc_turn_cursor): Removed.
1N/A (hercules_nocursor): Likewise.
1N/A (hercules_setcursor): New function.
1N/A
1N/A * stage2/char_io.c (get_cmdline): Turn on the cursor at the
1N/A beginning, and restore it before returning.
1N/A (nocursor): Removed.
1N/A (setcursor): New function.
1N/A
1N/A * stage2/asm.S (console_cursor_state): New variable.
1N/A (console_cursor_shape): Likewise.
1N/A (console_setcursor): New function.
1N/A (console_nocursor): Removed.
1N/A
1N/A * grub/asmstub.c (console_setcursor): New function.
1N/A (hercules_setcursor): Likewise.
1N/A (console_nocursor): Removed.
1N/A (hercules_nocursor): Likewise.
1N/A
1N/A2002-12-03 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * docs/grub.texi (terminfo): Fix a misleading English sentence.
1N/A Reported by Pavel Roskin.
1N/A * stage2/builtins.c (builtin_terminfo): Likewise.
1N/A
1N/A2002-12-01 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Alexander Langer <alex@big.endian.de>:
1N/A * stage2/freebsd.h (RB_GDB): New macro.
1N/A (RB_MUTE): Likewise.
1N/A (RB_MULTIPLE): Likewise.
1N/A
1N/A * stage2/boot.c (bsd_boot): Set the bits of RB_MULTIPLE, RB_GDB
1N/A and RB_MUTE when "-D", "-g" and "-m" are specified,
1N/A respectively.
1N/A
1N/A2002-12-01 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * docs/grub.texi (Reporting bugs): Specify the project page of
1N/A the BTS instead of the BTS itself.
1N/A
1N/A2002-11-30 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * docs/Makefile.am (man_MANS): Added grub-terminfo.8.
1N/A ($(srcdir)/grub_terminfo.8): New target.
1N/A * utils/grub-terminfo.in: New file.
1N/A * util/Makefile.am (sbin_SCRIPTS): Added grub-terminfo.
1N/A * configure.in (AC_OUTPUT): Added util/grub-terminfo.
1N/A
1N/A * docs/grub.texi (terminfo): New subsection.
1N/A (Invoking grub-terminfo): New chapter.
1N/A
1N/A From Tilmann Bubeck <t.bubeck@reinform.de>:
1N/A * stage2/Makefile.am (noinst_HEADERS): Added terminfo.h and
1N/A tparm.h.
1N/A (libgrub_a_SOURCES): Added terminfo.c and tparm.c.
1N/A (pre_stage2_exe_SOURCES): Likewise.
1N/A * stage2/terminfo.c: New file.
1N/A * stage2/terminfo.h: Likewise.
1N/A * stage2/tparm.c: Likewise.
1N/A * stage2/tparm.h: Likewise.
1N/A * stage2/stage2.c (get_line_from_config): Fix handling of
1N/A backslashes.
1N/A * stage2/char_io.c (grub_putstr): New function.
1N/A (grub_printf): Use grub_putstr.
1N/A (substring): Add const into both arguments.
1N/A * stage2/builtins.c [SUPPORT_SERIAL]: Include terminfo.h.
1N/A [SUPPORT_SERIAL] (terminfo_func): New function.
1N/A [SUPPORT_SERIAL] (builtin_terminfo): New variable.
1N/A (builtin_table) [SUPPORT_SERIAL]: Added a pointer to
1N/A BUILTIN_TERMINFO.
1N/A * stage2/serial.c (serial_gotoxy): Use ti_cursor_address.
1N/A (serial_cls): Use ti_clear_screen.
1N/A (serial_highlight): use ti_enter_standout_mode and
1N/A ti_exit_standout_mode.
1N/A
1N/A2002-11-30 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/disk_io.c (rawread): Make sure that SECTOR is valid.
1N/A If not, set ERRNUM to ERR_GEOM and return zero. This check is
1N/A critical when a partition table is corrupted.
1N/A
1N/A2002-11-28 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/asm.S (console_cls): Write spaces to the entire screen
1N/A instead of getting/setting the video mode, because this flickers
1N/A the screen and is quite annoying, if using a LCD.
1N/A
1N/A2002-11-15 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * docs/grub.texi (QNX): New subsection. Reported by
1N/A Marian-Nicolae V. ION <marian_ion@noos.fr>.
1N/A
1N/A2002-10-28 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * grub/asmstub.c (console_translate_key): Deal with KEY_PPAGE
1N/A and KEY_NPAGE.
1N/A * stage2/serial.c (serial_translate_key_sequence): Added two new
1N/A codes for Page Up and Page Down.
1N/A * stage2/asm.S (translation_table): Added entries for KEY_PPAGE
1N/A and KEY_NPAGE.
1N/A * stage2/stage2.c (run_menu): Deal with Page Up and Page Down.
1N/A Also recognize the right key for the selection of a boot entry.
1N/A Suggested by Adam Lackorzynski <adam@os.inf.tu-dresden.de>.
1N/A
1N/A2002-10-10 Jason Thomas <jason@topic.com.au>
1N/A
1N/A * stage2/builtins.c (setup_func): Added missing space to --force-lba
1N/A option. Reported by Kenneth Crudup <kenny@panix.com>
1N/A
1N/A2002-10-06 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/asm.S (gateA20): Output a dummy command (0xff), as a
1N/A workaround for USB keyboard hanging problem. Suggested by
1N/A Hidetoshi Nishimaki <nishimaki@mxs.nes.nec.co.jp>.
1N/A
1N/A2002-10-06 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * configure.in (falign_loop_flag): New variable. Set to if GCC
1N/A supports `-falign-*'. If true, use `-falign-jumps',
1N/A `-falign-loops' and `-falign-functions' instead of
1N/A `-malign-jumps', `-malign-loops' and `-malign-functions',
1N/A because `-malign-*' are obsolete in GCC 3.x. Reported by Jeremy
1N/A Katz.
1N/A
1N/A2002-09-13 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/serial.c (fill_input_buf): Take a new argument NOWAIT.
1N/A If NOWAIT is true, don't loop.
1N/A All callers are changed.
1N/A
1N/A2002-09-08 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * configure.in (--disable-serial): Fix a typo in the
1N/A description.
1N/A
1N/A2002-08-20 Jason Thomas <jason@topic.com.au>
1N/A
1N/A Changed highlight state code for hercules, console and serial.
1N/A The state was 0 - normal or 1 - highlight.
1N/A The state is now defined using an enum called color_state.
1N/A
1N/A * stage2/term.h (color_state): New enum.
1N/A (COLOR_STATE_STANDARD): Standard color to use when not using
1N/A user defined.
1N/A (COLOR_STATE_NORMAL): User defined normal color.
1N/A (COLOR_STATE_HIGHLIGHT): User defined highlight color.
1N/A (console_highlight): Renamed to console_setcolorstate.
1N/A (serial_highlight): Renamed to serial_setcolorstate.
1N/A (hercules_highlight): Renamed to hercules_setcolorstate.
1N/A * stage2/hercules.c (herc_highlight_state): Removed.
1N/A (herc_standard_color): New variable.
1N/A (herc_color_state): Likewise.
1N/A (herc_highlight): Renamed to herc_setcolorstate.
1N/A (herc_setcolorstate): Added switch to handle new states.
1N/A * stage2/console.c (console_highlight_state): Removed.
1N/A (console_standard_color): New variable.
1N/A (console_color_state): Likewise.
1N/A (console_highlight): Renamed to console_setcolorstate.
1N/A (console_setcolorstate): Added switch to handle new states.
1N/A * stage2/serial.c (serial_highlight): Renamed to
1N/A serial_setcolorstate.
1N/A (serial_setcolorstate): Adjusted 'if' to suit new states.
1N/A * grub/asmstub.c (console_highlight): Renamed to
1N/A console_setcolorstate.
1N/A (console_setcolorstate): Adjusted 'if' to suit new states.
1N/A * stage2/stage2.c (print_entry): Set color states using new
1N/A states.
1N/A (print_border): Likewise.
1N/A * stage2/stage2.c (run_menu): Reverse if (!) to if () for
1N/A uniformitty.
1N/A
1N/A2002-07-12 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/boot.c (load_image): Rewrite the Linux booting support
1N/A radically. Now it should work even on a machine having, say,
1N/A only 128KB, theoretically. Of course, GRUB itself doesn't work
1N/A on such a system, though.
1N/A (load_initrd): Initialize LH based on CUR_ADDR, because the
1N/A location becomes dynamic.
1N/A * stage2/shared.h (LINUX_MAX_SETUP_SECTS): Set to 64.
1N/A (LINUX_HEAP_END_OFFSET): Set to (0x9000 - 0x200).
1N/A (LINUX_STAGING_AREA): Removed.
1N/A (LINUX_SETUP): Likewise.
1N/A (LINUX_KERNEL): Likewise.
1N/A (LINUX_KERNEL_MAXLEN): Likewise.
1N/A (LINUX_SETUP_SEG): Likewise.
1N/A (LINUX_INIT_SEG): Likewise.
1N/A (LINUX_SETUP_STACK): Set to 0x9000.
1N/A (LINUX_BZIMAGE_ADDR): New macro.
1N/A (LINUX_ZIMAGE_ADDR): Likewise.
1N/A (LINUX_OLD_REAL_MODE_ADDR): Likewise.
1N/A (CL_MY_LOCATION): Removed.
1N/A (CL_MY_END_ADDR): Likewise.
1N/A (CL_BASE_ADDR): Likewise.
1N/A (CL_MAGIC): Renamed to ...
1N/A (LINUX_CL_MAGIC): ... this.
1N/A (LINUX_CL_OFFSET): New macro.
1N/A (LINUX_CL_END_OFFSET): Likewise.
1N/A (LINUX_SETUP_MOVE_SIZE): Likewise.
1N/A (struct linux_kernel_header): Change the type of the member
1N/A "cmd_line_ptr" to char *.
1N/A (linux_data_tmp_addr): Declared.
1N/A (linux_data_real_addr): Likewise.
1N/A * stage2/asm.S [!STAGE1_5] (linux_data_tmp_addr): New variable.
1N/A [!STAGE1_5] (linux_data_real_addr): Likewise.
1N/A [!STAGE1_5] (big_linux_boot): Copy the real mode part from
1N/A LINUX_DATA_TMP_ADDR to LINUX_DATA_REAL_ADDR.
1N/A * grub/asmstub.c (linux_data_tmp_addr): New variable.
1N/A (linux_data_real_addr): Likewise.
1N/A
1N/A2002-07-09 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Mark Kettenis <kettenis@chello.nl>:
1N/A * stage2/boot.c (load_image): Recognize newer FreeBSD kernels.
1N/A * stage2/i386-elf.h (EI_OSABI): New macro.
1N/A (EI_ABIVERSION): Likewise.
1N/A (ELFOSABI_FREEBSD): Likewise.
1N/A (EI_PAD): Set to 9.
1N/A
1N/A2002-07-06 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/shared.h (boot_part_offset): Removed.
1N/A
1N/A * stage2/disk_io.c (set_bootdev): Copy the partition information
1N/A here. Now this function can call rawread, so it can fail.
1N/A (boot_part_offset): Removed.
1N/A
1N/A * stage2/builtins.c (boot_func): Don't copy the partition
1N/A information here.
1N/A (real_root_func): Check ERRNUM after calling set_bootdev.
1N/A
1N/A2002-07-04 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * docs/grub.texi (Reporting bugs): Use the group name (i.e.
1N/A grub) instead of the group id (i.e. 68) for the URL of the BTS.
1N/A
1N/A2002-07-03 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/serial.c [!GRUB_UTIL] (inb): Added a delay into this
1N/A function itself.
1N/A [!GRUB_UTIL] (outb): Likewise.
1N/A [!GRUB_UTIL] (serial_hw_put): Increase the timeout value, and
1N/A don't call serial_hw_delay explicitly any longer.
1N/A (fill_input_buf): Increase the maximum number of retries, reset
1N/A the counter to zero after getting a valid character, and don't
1N/A call serial_hw_delay explicitly any longer.
1N/A
1N/A2002-07-03 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed a typo.
1N/A Reported by Ilguiz Latypov.
1N/A
1N/A2002-07-01 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * Makefile.am (AUTOMAKE_OPTIONS): New variable. Specify the
1N/A required Automake version explicitly.
1N/A
1N/A2002-06-30 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/builtins.c [SUPPORT_SERIAL || SUPPORT_HERCULES]
1N/A (terminal_func): Set CURRENT_TERM to each of selected terminals
1N/A before calling grub_printf, and restore CURRENT_TERM after it.
1N/A Reported by Ilguiz Latypov.
1N/A Prepend a carriage return to the prompting message, because it
1N/A is ugly that the same messages fulfill the whole screen.
1N/A
1N/A2002-06-30 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed the
1N/A conditional statement. Reported by Ilguiz Latypov.
1N/A
1N/A2002-06-24 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * MAINTENANCE: New file.
1N/A
1N/A2002-06-15 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/disk_io.c [SUPPORT_NETBOOT] (GRUB): Defined.
1N/A [SUPPORT_NETBOOT]: Include etherboot.h.
1N/A [!STAGE1_5] (print_completions) [SUPPORT_NETBOOT]: When
1N/A completing a disk name, if NETWORK_READY is true, add "nd" as a
1N/A completion.
1N/A
1N/A2002-06-15 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/fsys_xfs.c (le32): Don't use bswap, but use xchgb and
1N/A roll, because 386 doesn't have bswap. Reported by Frode Vatvedt
1N/A Fjeld <frodef@acm.org>.
1N/A
1N/A2002-06-12 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * netboot/main.c (ifconfig): If GW is specified, clear out the
1N/A ARP entry for the gateway. If SVR is specified, clear out the
1N/A ARP entry for the server. Reported by Uwe Dannowski
1N/A <ud3@ira.uka.de>.
1N/A
1N/A2002-06-12 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * util/grub-md5-crypt.in: Prompt to retype a password, and check
1N/A if the passwords matches. Suggested by Matt Perry
1N/A <matt@primefactor.com>.
1N/A Also, don't use Perl any longer, because *BSD's sh and GNU
1N/A support ``read -r'', and GRUB doesn't support any other
1N/A operating system anyway.
1N/A
1N/A2002-06-12 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A The terminal handling code is rewritten radically.
1N/A
1N/A * stage2/console.c: New file.
1N/A * stage2/term.h: Likewise.
1N/A
1N/A * stage2/Makefile.am (noinst_HEADERS): Added term.h.
1N/A (libgrub_a_SOURCES): Added serial.c.
1N/A (pre_stage2_exec_SOURCES): Added console.c.
1N/A
1N/A * stage2/asm.S (console_putchar): Rewritten from scratch.
1N/A [!STAGE1_5] (translation_table): New variable.
1N/A [!STAGE1_5] (translate_keycode): New function.
1N/A [!STAGE1_5] (console_getkey): Call translate_keycode.
1N/A [!STAGE1_5] (console_checkkey): Likewise.
1N/A [!STAGE1_5] (nocursor): Renamed to ...
1N/A [!STAGE1_5] (console_nocursor): ... this.
1N/A [!STAGE1_5] (console_set_attrib): Removed.
1N/A
1N/A * stage2/builtins.c: Include term.h.
1N/A (terminal): Removed.
1N/A (normal_color): Likewise.
1N/A (highlight_color): Likewise.
1N/A (cat_func): Display a question mark when a non-printable
1N/A character was read.
1N/A (terminal_func): Rewritten almost from scratch.
1N/A
1N/A * stage2/char_io.c: Include term.h.
1N/A [!STAGE1_5] (auto_fill): Removed.
1N/A [!STAGE1_5] (term_table): New variable.
1N/A [!STAGE1_5] (current_term): Likewise.
1N/A [!STAGE1_5] (real_get_cmdline): New function. The code was
1N/A stolen from the previous version of get_cmdline.
1N/A [!STAGE1_5] (get_cmdline): Rewritten from scratch.
1N/A [!STAGE1_5] (translate_keycode): Removed.
1N/A [!STAGE1_5] (getkey): Rewritten from scratch.
1N/A [!STAGE1_5] (checkkey): Likewise.
1N/A (grub_putchar): Likewise.
1N/A [!STAGE1_5] (gotoxy): Likewise.
1N/A [!STAGE1_5] (getxy): Likewise.
1N/A [!STAGE1_5] (cls): Likewise.
1N/A [!STAGE1_5] (nocursor): New function.
1N/A [SUPPORT_SERIAL] (serial_getxy): Removed.
1N/A [SUPPORT_SERIAL] (serial_gotoxy): Likewise.
1N/A [SUPPORT_SERIAL] (serial_cls): Likewise.
1N/A [SUPPORT_SERIAL] (serial_getxy): Likewise.
1N/A [!STAGE1_5] (set_attrib): Likewise.
1N/A
1N/A * stage2/cmdline.c (init_cmdline): Set COUNT_LINES to -1.
1N/A
1N/A * stage2/common.c [!STAGE1_5] (err_list): Removed
1N/A ERR_NEED_SERIAL and added ERR_DEV_NEED_INIT.
1N/A
1N/A * stage2/hercules.c: Rewritten almost from scratch.
1N/A * stage2/hercules.h (herc_putchar): Removed.
1N/A (herc_cls): Likewise.
1N/A (herc_getxy): Likewise.
1N/A (herc_gotoxy): Likewise.
1N/A (herc_set_attrib): Likewise.
1N/A
1N/A * stage2/serial.c: Rewritten almost from scratch.
1N/A * stage2/serial.h: Likewise.
1N/A
1N/A * stage2/shared.h [GRUB_UTIL] (DISP_UL): Set to the same value
1N/A as VGA's.
1N/A [GRUB_UTIL] (DISP_UR): Likewise.
1N/A [GRUB_UTIL] (DISP_LL): Likewise.
1N/A [GRUB_UTIL] (DISP_LR): Likewise.
1N/A [GRUB_UTIL] (DISP_HORIZ): Likewise.
1N/A [GRUB_UTIL] (DISP_VERT): Likewise.
1N/A [GRUB_UTIL] (DISP_LEFT): Likewise.
1N/A [GRUB_UTIL] (DISP_RIGHT): Likewise.
1N/A [GRUB_UTIL] (DISP_UP): Likewise.
1N/A [GRUB_UTIL] (DISP_DOWN): Likewise.
1N/A (grub_error_t): Removed ERR_NEED_SERIAL.
1N/A Added ERR_DEV_NEED_INIT.
1N/A (normal_color): Removed.
1N/A (highlight_color): Likewise.
1N/A (console_cls): Removed, because this is declared in term.h.
1N/A (console_getxy): Likewise.
1N/A (console_gotoxy): Likewise.
1N/A (console_putchar): Likewise.
1N/A (console_getkey): Likewise.
1N/A (console_checkkey): Likewise.
1N/A (console_set_attrib): Removed.
1N/A (set_attrib): Likewise.
1N/A [GRUB_UTIL] (nocursor): Declared.
1N/A (auto_fill): Removed.
1N/A (terminal): Likewise.
1N/A (TERMINAL_CONSOLE): Likewise.
1N/A (TERMINAL_SERIAL): Likewise.
1N/A (TERMINAL_HERCULES): Likewise.
1N/A (TERMINAL_DUMB): Likewise.
1N/A (translate_keycode): Likewise.
1N/A
1N/A * stage2/stage2.c: Include term.h.
1N/A (print_entry): Rewritten from scratch.
1N/A (print_entries): Likewise.
1N/A (print_border): Likewise.
1N/A (set_line): Removed.
1N/A (set_line_normal): Likewise.
1N/A (set_line_highlight): Likewise.
1N/A
1N/A * grub/Makefile.am (AM_CFLAGS): Added -DSUPPORT_HERCULES=1.
1N/A
1N/A * grub/asmstub.c: Don't include hercules.h. Include term.h.
1N/A (console_current_color): New variable.
1N/A (console_translate_key): New function.
1N/A (console_checkkey): Rewritten from scratch.
1N/A (console_getkey): Likewise.
1N/A (console_putchar): Likewise.
1N/A (console_set_attrib): Removed.
1N/A (console_highlight): New function.
1N/A (console_setcolor): Likewise.
1N/A (console_nocursor): Likewise.
1N/A (serial_getkey): Removed.
1N/A (serial_checkkey): Likewise.
1N/A (serial_putchar): Likewise.
1N/A (serial_exists): Likewise.
1N/A (serial_get_port): Likewise.
1N/A (serial_init): Likewise.
1N/A (serial_hw_fetch): New function.
1N/A (serial_hw_put): Likewise.
1N/A (serial_hw_delay): Likewise.
1N/A (serial_hw_get_port): Likewise.
1N/A (serial_hw_init): Likewise.
1N/A (set_serial_device): Renamed to ...
1N/A (serial_set_device): ... this.
1N/A (herc_putchar): Renamed to ...
1N/A (hercules_putchar): ... this.
1N/A (herc_cls): Renamed to ...
1N/A (hercules_cls): ... this.
1N/A (herc_getxy): Renamed to ...
1N/A (hercules_getxy): ... this.
1N/A (herc_gotoxy): Renamed to ...
1N/A (hercules_gotoxy): ... this.
1N/A (hercules_highlight): New function.
1N/A (hercules_setcolor): Likewise.
1N/A (hercules_nocursor): Likewise.
1N/A (herc_set_attrib): Removed.
1N/A
1N/A * grub/main.c: Include term.h.
1N/A (main): If USE_CURSES is false, set CURRENT_TERM->FLAGS to
1N/A TERM_NO_EDIT | TERM_DUMB. TERMINAL is not used any longer.
1N/A
1N/A2002-06-01 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * docs/grub.texi (FAQ): Removed. See the GNU GRUB FAQ on the web
1N/A instead.
1N/A
1N/A2002-05-31 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * docs/grub.texi (Reporting bugs): Recommend using the BTS on
1N/A Savannah rather than the list bug-grub.
1N/A
1N/A2002-05-25 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/builtins.c (boot_func): Load the boot partition
1N/A information, only if the address of the boot partition entry is
1N/A set appropriately.
1N/A (real_root_func): If ATTEMPT_MOUNT is false, call open_partition
1N/A and if successful, call set_bootdev, to set the offset of the
1N/A boot partition and the address of the boot paetition entry.
1N/A IF ATTEMPT_MOUNT is false, don't set BOOTDEV. The BSD evil hack
1N/A is useless with the command "rootnoverify" anyway.
1N/A * stage2/disk_io.c (boot_part_addr): Initialized with zero
1N/A explicitly, to emphasize that it is invalid.
1N/A
1N/A2002-05-24 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/builtins.c (real_root_func): New function.
1N/A (root_func): Just call real_root_func.
1N/A (rootnoverify_func): Likewise.
1N/A
1N/A2002-05-23 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * configure.in (AM_INIT_AUTOMAKE): Changed the version number to
1N/A 0.93.
1N/A
1N/A2002-05-23 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A Define the behavior of the boot loader when the load end address
1N/A and the bss end address are zero in the Multiboot Specification,
1N/A and add the support into GRUB. I've modified a patch from Yuri
1N/A Zaporogets <yuriz@ukr.net>.
1N/A
1N/A * stage2/boot.c (load_image): In the case of Multiboot a.out
1N/A kludge, set the load end address to the load address plus the
1N/A size of the OS image file, if it is zero. Similarly, set the bss
1N/A end address to the load end address, if it is zero.
1N/A
1N/A * util/mbchk.c (check_multiboot): Don't check if the load
1N/A address is greater than or equal to the load end address, if the
1N/A load end address is zero. Don't check if the load end address is
1N/A greater than the bss end address, if the bss end address is
1N/A zero. And, don't check if the load end address is less than or
1N/A equal to the entry address, if the load end address is zero.
1N/A
1N/A * docs/multiboot.texi (The address fields of Multiboot header):
1N/A Added descriptions about the behavior of the boot loader when
1N/A LOAD_END_ADDR is zero and BSS_END_ADDR is zero.
1N/A
1N/A2002-05-22 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/builtins.c (boot_func): If DEBUG is true, print
1N/A BOOT_DRIVE and BOOT_PART_OFFSET.
1N/A Don't set ERRNUM after rawread failed, because rawread should
1N/A set ERRNUM itself.
1N/A
1N/A2002-05-20 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * lib/device.c (read_device_map): Show an error message and exit
1N/A abnormally, if MAP[DRIVE] has already been filled.
1N/A * util/grub-install.in: If there is any dulicated entry, print
1N/A an error message and exit abnormally.
1N/A
1N/A2002-05-20 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * lib/device.c: Don't include linux/hdreg.h, linux/major.h,
1N/A or linux/kdev_t.h.
1N/A [__linux__] (HDIO_GETGEO): Defined.
1N/A [__linux__] (hd_geometry): Likewise.
1N/A [__linux__] (FLOPPY_MAJOR): Likewise.
1N/A [__linux__] (MINORBITS): Likewise.
1N/A [__linux__] (MAJOR): Likewise.
1N/A
1N/A2002-05-08 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * netboot/fsys_tftp.c (tftp_read): Don't call buf_fill unless
1N/A SIZE is positive.
1N/A
1N/A2002-05-08 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * netboot/etherboot.h (ETH_MAX_MTU): Because some DHCP/BOOTP
1N/A servers don't treat the maximum length the same as Etherboot,
1N/A subtract the size of an IP header and that of an UDP header.
1N/A
1N/A2002-04-30 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A From Jean-Jacques Michel <jjmichel@linbox.com>:
1N/A * stage2/boot.c (load_image): For Linux, check if DATA_LEN is
1N/A greater than MULTIBOOT_SEARCH. If that's true, read the rest
1N/A after copying data already read in BUFFER.
1N/A
1N/A2002-04-30 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/boot.c (load_image): For Linux, don't check if the
1N/A length of protected mode code is greater than or equal to the
1N/A expected length minus 16. Instead, just check if no error
1N/A occurred. That was problematic, because memdisk has no protected
1N/A mode code. Also, I don't see what the magic number 16 was for.
1N/A
1N/A2002-04-29 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Added a
1N/A new option ``--silent''. This suppresses messages, if specified.
1N/A
1N/A2002-04-29 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * config.guess: New upstream version.
1N/A * config.sub: Likewise.
1N/A
1N/A2002-04-20 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * netboot/config.c (PCI_NIC) [INCLUDE_DAVICOM]: Fix typos.
1N/A Reported by Julien Perrot <julien.perrot@iie.cnam.fr>.
1N/A
1N/A2002-04-17 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Set
1N/A COUNT_LINES to -1, to disable the pager.
1N/A
1N/A2002-04-16 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * docs/grub.texi (Obtaining and Building GRUB): Update the link
1N/A to the binutils site.
1N/A
1N/A2002-04-06 Pavel Roskin <proski@gnu.org>
1N/A
1N/A * util/grub-install.in: Fix hardcoded /dev/hda1.
1N/A
1N/A2002-04-06 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/builtins.c [GRUB_UTIL] (dump_func): New function.
1N/A [GRUB_UTIL] (builtin_dump): New variable.
1N/A (builtin_table) [GRUB_UTIL]: Added a pointer to BUILTIN_DUMP.
1N/A * util/grub-install.in: Make sure that GRUB reads the same
1N/A images as the host operating system by comparing the result of
1N/A running the command "dump" with the contents of the OS file.
1N/A
1N/A2002-04-04 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/builtins.c (setup_func): Don't embed a drive number, if
1N/A unnecessary.
1N/A
1N/A2002-03-29 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * docs/grub.texi (General commands): Added ``pager'' into the
1N/A menu.
1N/A (pager): New subsection.
1N/A (terminal): Added a description about the option
1N/A ``--lines=LINES''.
1N/A
1N/A * configure.in (AC_INIT_AUTOMAKE): Set the version number to
1N/A 0.92.
1N/A
1N/A2002-03-26 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * netboot/eepro100.c (eepro100_probe): Increase the delay at the
1N/A initialization.
1N/A
1N/A2002-03-26 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/boot.c (linux_mem_size): New variable.
1N/A (load_image): Check a mem= option and set LINUX_MEM_SIZE to the
1N/A specified memory size, if any. Otherwise, to zero. When an
1N/A overflow is detected, use LINUX_INITRD_MAX_ADDRESS instead.
1N/A (load_initrd): If LINUX_MEM_SIZE is non-zero, use it instead of
1N/A the actual memory size.
1N/A * stage2/char_io.c (safe_parse_maxint): Use ERR_NUMBER_OVERFLOW
1N/A instead of ERR_NUMBER_PARSING, when an overflow occurs.
1N/A * stage2/common.c [!STAGE1_5] (err_list): Added
1N/A ERR_NUMBER_OVERFLOW.
1N/A * stage2/shared.h (ERR_NUMBER_OVERFLOW): New constant.
1N/A
1N/A2002-03-24 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/stage2.c (run_menu): Call cls outside the loop to run
1N/A scripts.
1N/A * stage2/cmdline.c (run_script): Prompt a user's intervention,
1N/A only when FALLBACK_ENTRY is negative.
1N/A
1N/A2002-02-11 Pavel Roskin <proski@gnu.org>
1N/A
1N/A * util/grub-install.in (find_device): New function - find block
1N/A device for given file or directory. Resolve symlinks to fix
1N/A problem on Linux with devfs and old device names in /etc/fstab.
1N/A Use find_device() for root_device, bootdir_device and
1N/A grubdir_device.
1N/A
1N/A2002-02-08 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * grub/main.c (OPT_NO_PAGER): New macro.
1N/A (longopts): Added an entry for "--no-pager".
1N/A (usage): Added a description about "--no-pager".
1N/A (main): In case of OPT_NO_PAGER, set USE_PAGER to zero. The same
1N/A thing is done with OPT_BATCH, because the pager is just harmful
1N/A in batch mode.
1N/A
1N/A2002-02-08 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/builtins.c (help_func): Show all the commands runnable
1N/A with the command-line interface, if "--all" is specified.
1N/A
1N/A2002-02-08 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A An internal pager is implemented.
1N/A
1N/A * stage2/builtins.c (pager_func): New function.
1N/A (builtin_pager): New variable.
1N/A (terminal_func): New option, "--lines=LINES" is added. If this
1N/A option is specified, set MAX_LINES to the value. Otherwise, set
1N/A MAX_LINES to 24.
1N/A (vbeprobe_func): Remove the pager code specific to this
1N/A function.
1N/A (builtin_table): Added a pointer to BUILTIN_PAGER.
1N/A * stage2/char_io.c (max_lines) [!STAGE1_5]: New variable.
1N/A (count_lines) [!STAGE1_5]: Likewise.
1N/A (use_pager) [!STAGE1_5]: Likewise.
1N/A (grub_putchar) [!STAGE1_5]: if C is a newline and COUNT_LINES is
1N/A not -1, count up the number of lines. If it exceeds the maximum
1N/A number of lines minus 2, show a message and wait for input of
1N/A return key. "minus 2" is to reserve space for the message
1N/A printed by this internal pager.
1N/A * stage2/cmdline.c (enter_cmdline): If USE_PAGER is true, set
1N/A COUNT_LINES to zero, before running a command, and reset
1N/A COUNT_LINES to -1 after that.
1N/A * stage2/shared.h (max_lines) [!STAGE1_5]: Declared.
1N/A (count_lines) [!STAGE1_5]: Likewise.
1N/A (use_pager) [!STAGE1_5]: Likewise.
1N/A
1N/A2002-02-08 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/fsys_jfs.c (jfs_read) [STAGE1_5]: Set and reset
1N/A DISK_READ_FUNC even in Stage 1.5.
1N/A * stage2/fsys_xfs.c (xfs_read) [STAGE1_5]: Likewise.
1N/A
1N/A * stage2/stage1_5.c (saved_sector): Initialized with -1.
1N/A (cmain): Check if SAVED_SECTOR was set appropriately after
1N/A reading the second sector of Stage 2. If SAVED_SECTOR is not
1N/A set (i.e. it is equal to -1), print an error and stop.
1N/A
1N/A2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/builtins.c (setup_func): Add a VSTa fs entry into
1N/A STAGE1_5_MAP.
1N/A
1N/A2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/shared.h (BUILTIN_HELP_LIST): New macro. Used for
1N/A commands whose help messages are listed when no argument is
1N/A specified to the command "help".
1N/A * stage2/builtins.c (builtin_blocklist): Added the attribute
1N/A BUILTIN_HELP_LIST.
1N/A (builtin_boot): Likewise.
1N/A (builtin_bootp): Likewise.
1N/A (builtin_cat): Likewise.
1N/A (builtin_chainloader): Likewise.
1N/A (builtin_color): Likewise.
1N/A (builtin_configfile): Likewise.
1N/A (builtin_device): Likewise.
1N/A (builtin_dhcp): Likewise.
1N/A (builtin_displayapm): Likewise.
1N/A (builtin_displaymem): Likewise.
1N/A (builtin_find): Likewise.
1N/A (builtin_geometry): Likewise.
1N/A (builtin_halt): Likewise.
1N/A (builtin_help): Likewise.
1N/A (builtin_hide): Likewise.
1N/A (builtin_ifconfig): Likewise.
1N/A (builtin_initrd): Likewise.
1N/A (builtin_kernel): Likewise.
1N/A (builtin_makeactive): Likewise.
1N/A (builtin_map): Likewise.
1N/A (builtin_md5crypt): Likewise.
1N/A (builtin_module): Likewise.
1N/A (builtin_modulenounzip): Likewise.
1N/A (builtin_partnew): Likewise.
1N/A (builtin_parttype): Likewise.
1N/A (builtin_quit): Likewise.
1N/A (builtin_rarp): Likewise.
1N/A (builtin_reboot): Likewise.
1N/A (builtin_root): Likewise.
1N/A (builtin_rootnoverify): Likewise.
1N/A (builtin_serial): Likewise.
1N/A (builtin_setkey): Likewise.
1N/A (builtin_setup): Likewise.
1N/A (builtin_terminal): Likewise.
1N/A (builtin_testvbe): Likewise.
1N/A (builtin_tftpserver): Likewise.
1N/A (builtin_unhide): Likewise.
1N/A (builtin_uppermem): Likewise.
1N/A (builtin_vbeprobe): Likewise.
1N/A
1N/A (help_func): When no argument is specified, if the last entry
1N/A was at the left column, print an extra newline.
1N/A
1N/A2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/shared.h (BUILTIN_HIDDEN): Renamed to ...
1N/A (BUILTIN_NO_ECHO): ... this. The old name was too difficult to
1N/A see _what_ was hidden.
1N/A
1N/A2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * netboot/misc.c (twiddle): Go back to the bar progress, copied
1N/A from etherboot-5.0.5/src/misc.c. Execute the code only if DEBUG
1N/A is true.
1N/A
1N/A2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
1N/A
1N/A * stage2/builtins.c (displaymem_func): Use hex digits to display
1N/A for consistency.
1N/A
1N/A2002-02-04 Jason Thomas <jason@topic.com.ah>
1N/A
1N/A From Denis Kitzman <dkitzman@blue.weeg.uiowa.edu>:
1N/A * stage2/Makefile.am (libgrub_a_CFLAGS): Fixed a typo.
1N/A FSYS_XFS, USE_MD5_PASSWORDS, SUPPORT_SERIAL, and
1N/A SUPPORT_HERCULES did not get defined.
1N/A
1N/A2002-01-20 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * util/grub-image.in: Check stage2 instead of stage2.c to
1N/A determine where the script is invoked, because srcdir may not
1N/A be used for the compilation.
1N/A
1N/A2002-01-20 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * grub/asmstub.c (console_putchar): When not using curses,
1N/A ignore a carriage return, because a newline in Unix is only a
1N/A line feed.
1N/A
1N/A2002-01-18 Klaus Reichl <Klaus.Reichl@alcatel.at>
1N/A
1N/A * stage2/fsys_minix.c (minix_dir): Fixed bug getting filenames
1N/A with MAXNAMELEN right.
1N/A
1N/A * stage2/char_io.c (get_cmdline, cl_refresh): If TERMINAL_DUMB
1N/A section is always 0.
1N/A Line is only cleared if !TERMINAL_DUMB.
1N/A
1N/A * grub/main.c (use_curses): Initialize to 0 if !HAVE_LIBCURSES
1N/A (main): Check for curses use and set terminal to dumb if we
1N/A don't use it (helps for --batch and variants of non-curses
1N/A setup).
1N/A
1N/A2002-01-15 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * configure.in (AM_INIT_AUTOMAKE): The version number is
1N/A upgraded to 0.91.
1N/A
1N/A2002-01-15 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * docs/grub.texi (Preset Menu): New chapter.
1N/A
1N/A2002-01-15 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * docs/grub.texi: Added some text about JFS and XFS.
1N/A
1N/A2002-01-08 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * grub/main.c (use_preset_menu): New variable.
1N/A (OPT_PRESET_MENU): New macro.
1N/A (longopts): Added an entry for "--preset-menu".
1N/A (usage): Added a description for "--preset-menu". Also, change
1N/A the first character of the description for "--device-map" to
1N/A lower case for consistency.
1N/A (main): Set USE_PRESET_MENU to 1 in the case of OPT_PRESET_MENU.
1N/A * stage2/shared.h (use_preset_menu): Declared.
1N/A * stage2/stage2.c [PRESET_MENU_STRING || SUPPORT_DISKLESS]
1N/A (open_preset_menu) [GRUB_UTIL]: If USE_PRESET_MENU is false,
1N/A return zero immediately.
1N/A
1N/A2002-01-08 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * stage2/common.c [SUPPORT_DISKLESS]
1N/A (setup_diskless_environment): Removed. The feature is moved to
1N/A the preset menu.
1N/A * stage2/stage2.c [SUPPORT_DISKLESS] (preset_menu): Set to the
1N/A string "bootp\n".
1N/A [SUPPORT_DISKLESS] (preset_menu_offset): Defined, as if
1N/A PRESET_MENU_STRING is defined.
1N/A [SUPPORT_DISKLESS] (open_preset_menu): Likewise.
1N/A [SUPPORT_DISKLESS] (read_from_preset_menu): Likewise.
1N/A [SUPPORT_DISKLESS] (close_preset_menu): Likewise.
1N/A
1N/A2002-01-06 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A The preset menu has a priority over the configuration file.
1N/A Suggested by Christoph Plattner.
1N/A
1N/A * stage2/stage2.c [PRESET_MENU_STRING] (open_preset_menu):
1N/A Check if PRESET_MENU is not NULL.
1N/A [PRESET_MENU_STRING] (close_preset_menu): Set PRESET_MENU to
1N/A NULL.
1N/A (cmain): New internal function, reset. This function resets
1N/A AUTO_FILL, CONFIG_LEN, MENU_LEN, NUM_ENTRIES, CONFIG_ENTRIES,
1N/A MENU_ENTRIES and call init_config.
1N/A Try to open the preset menu first, and try to open the
1N/A configuration file, only if that failed.
1N/A Even if the preset menu was read, try to open the configuration
1N/A file. This time, opening the preset menu never succeed, because
1N/A close_preset_menu ensures that the preset menu is available at
1N/A most once.
1N/A
1N/A2002-01-06 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * netboot/misc.c (inet_aton): Don't check if *P is an asterisk,
1N/A if I is 3. Reported by Rick (his real name and address are
1N/A unknown).
1N/A
1N/A2002-01-03 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A Update the netboot stuff to Etherboot-5.0.5.
1N/A
1N/A * configure.in (--enable-3c590): Removed. This was a mistake.
1N/A (--enable-davicom): New option.
1N/A (--enable-eepro): Likewise.
1N/A (--enable-natsemi): Likewise.
1N/A (--enable-ni5010): Likewise.
1N/A (--enable-sis900): Likewise.
1N/A (--enable-w89c840): Likewise.
1N/A (--enable-3c509-hack): Removed.
1N/A (--enable-ns8390-force-16bit): Likewise.
1N/A
1N/A * netboot/Makefile.am (libdrivers_a_SOURCES): Added timer.c and
1N/A timer.h.
1N/A (EXTRA_libdrivers_a_SOURCES): Added davicom.c, eepro.c, fa311.c,
1N/A natsemi.c, ni5010.c, sis900.c, sis900.h, tlan.c and w89c840.c.
1N/A (EXTRA_DIST): Added sis900.txt.
1N/A (3c595_drivers): Remove 3c590.o from this.
1N/A (davicom_drivers): New variable.
1N/A (eepro_drivers): Likewise.
1N/A (natsemi_drivers): Likewise.
1N/A (ni5010_drivers): Likewise.
1N/A (sis900_drivers): Likewise.
1N/A (w89c840_drivers): Likewise.
1N/A (3c590_o_CFLAGS): Removed.
1N/A (davicom_o_CFLAGS): New variable.
1N/A (eepro_o_CFLAGS): Likewise.
1N/A (natsemi_o_CFLAGS): Likewise.
1N/A (ni5010_o_CFLAGS): Likewise.
1N/A (sis900_o_CFLAGS): Likewise.
1N/A (w89c840_o_CFLAGS): Likewise.
1N/A
1N/A * netboot/davicom.c: New file, from Etherboot-5.0.5.
1N/A * netboot/eepro.c: Likewise.
1N/A * netboot/natsemi.c: Likewise.
1N/A * netboot/ni5010.c: Likewise.
1N/A * netboot/sis900.c: Likewise.
1N/A * netboot/sis900.h: Likewise.
1N/A * netboot/sis900.txt: Likewise.
1N/A * netboot/timer.c: Likewise.
1N/A * netboot/timer.h: Likewise.
1N/A * netboot/w89c840.c: Likewise.
1N/A * netboot/fa311.c: Likewise.
1N/A * netboot/tlan.c: Likewise.
1N/A
1N/A * netboot/3c509.c: Copied from Etherboot-5.0.5.
1N/A * netboot/3c509.h: Likewise.
1N/A * netboot/3c595.c: Likewise.
1N/A * netboot/3c90x.c: Likewise.
1N/A * netboot/3c90x.txt: Likewise.
1N/A * netboot/cards.h: Likewise.
1N/A * netboot/cs89x0.c: Likewise.
1N/A * netboot/depca.c: Likewise.
1N/A * netboot/eepro100.c: Likewise.
1N/A * netboot/epic100.c: Likewise.
1N/A * netboot/i82586.c: Likewise.
1N/A * netboot/lance.c: Likewise.
1N/A * netboot/linux-asm-string.h: Likewise.
1N/A * netboot/nic.h: Likewise.
1N/A * netboot/ns8390.c: Likewise.
1N/A * netboot/ns8390.h: Likewise.
1N/A * netboot/otulip.c: Likewise.
1N/A * netboot/pci.h: Likewise.
1N/A * netboot/rtl8139.c: Likewise.
1N/A * netboot/sk_g16.c: Likewise.
1N/A * netboot/smc9000.c: Likewise.
1N/A * netboot/tiara.c: Likewise.
1N/A * netboot/tulip.c: Likewise.
1N/A * netboot/via-rhine.c: Likewise.
1N/A
1N/A * netboot/config.c: Applied a diff between Etherboot-4.6.4 and
1N/A Etherboot-5.0.5 manually.
1N/A * netboot/main.c: Likewise.
1N/A * netboot/pci.c: Likewise.
1N/A * netboot/etherboot.h: Rewritten mostly from scratch, based on
1N/A the same file in Etherboot-5.0.5.
1N/A * netboot/misc.c: Likewise.
1N/A * netboot/osdep.h: Likewise.
1N/A * netboot/fsys_tftp.c (GRUB): Defined.
1N/A (buf_fill): Use rfc2131_sleep_interval instead of rfc951_sleep.
1N/A
1N/A * stage2/builtins.c [SUPPORT_NETBOOT] (GRUB): Defined.
1N/A (boot_func) [SUPPORT_NETBOOT]: Call cleanup_net.
1N/A * stage2/cmdline.c [SUPPORT_DISKLESS] (GRUB): Defined.
1N/A * stage2/common.c [SUPPORT_DISKLESS] (GRUB): Likewise.
1N/A
1N/A2002-01-02 Jeremy Katz <katzj@redhat.com>
1N/A
1N/A * util/grub-install.in: Support using mktemp as well as tempfile
1N/A for secure temporary file creation.
1N/A
1N/A2002-01-02 Jeremy Katz <katzj@redhat.com>
1N/A
1N/A * stage2/md5.c (md5_password): Ensure the password exists before
1N/A trying to check against the md5 crypted version.
1N/A
1N/A2001-12-30 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * stage1/stage1.S: Don't call INT 13, AH=48H, because it is
1N/A difficult to call this function with the workaround implemented
1N/A in the previous change due to the size limit of Stage 1.
1N/A
1N/A (lba_mode) [NO_BUGGY_BIOS_IN_THE_WORLD]: Don't check the
1N/A geometry explicitly. This shouldn't be harmful, as INT 13,
1N/A AH=42H should take care of it, and if you cannot read Stage 2
1N/A even with LBA because of a geometry problem, you can never read
1N/A it.
1N/A
1N/A * stage2/start.S (lba_mode) [NO_BUGGY_BIOS_IN_THE_WORLD]:
1N/A Likewise.
1N/A
1N/A2001-12-30 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * stage2/bios.c (get_diskinfo): Clear out the structure DRP
1N/A before calling get_diskinfo_int13_extensions, because the Ralf
1N/A Brown's Interrupt List says that Dell machines using PhoenixBIOS
1N/A 4.0 Release 6.0 fail, if DRP.FLAGS is not zero. Setting the
1N/A entire structure to zero may be overkill, but it should be safe.
1N/A
1N/A * stage2/char_io.c [STAGE1_5] (grub_memset): Defined.
1N/A
1N/A2001-12-30 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A From John Goerzen <jgoerzen@complete.org>:
1N/A * util/grub-install.in (convert): Added NetBSD support.
1N/A
1N/A2001-12-30 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * util/grub-install.in: Set GRUB_PREFIX and BOOTDIR to "/grub"
1N/A and "${rootdir}" respectively in NetBSD.
1N/A
1N/A2001-12-30 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (builtin_geometry): Add extra space
1N/A characters into the long description.
1N/A (builtin_kernel): Likewise.
1N/A (builtin_vbeprobe): Likewise.
1N/A
1N/A2001-12-19 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A From Michael Sullivan <mike@trdlnk.com>:
1N/A * stage1/stage1.S (real_start): Added a workaround for AST BIOS,
1N/A because it clobbers %dl with INT 13, AH=41H.
1N/A
1N/A2001-12-19 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * stage2/fsys_fat.c (fat_read): Fix the contradictory comment.
1N/A Reported by Filip Van Raemdonck <mechanix@digibel.org>.
1N/A
1N/A2001-12-11 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (displayapm_func): Don't use multi-line
1N/A string literals but string concatenation instead, to suppress
1N/A warnings from gcc-3.0.x.
1N/A * stage2/cmdline.c (print_cmdline_message): Likewise.
1N/A * util/mbchk.c (usage): Likewise.
1N/A
1N/A * stage2/smp-imps.c (imps_read_config_table): Add a break
1N/A statement after the label ``default''.
1N/A
1N/A * util/mbchk.c: Include <stdlib.h> for the prototype of exit.
1N/A
1N/A * stage2/serial.c (serial_port): Initialize with 0 instead of
1N/A -1, as an invalid value, because SERIAL_PORT is unsigned. This
1N/A change shouldn't affect anything.
1N/A (serial_exists): For the above change, check SERIAL_PORT with 0
1N/A instead of -1.
1N/A
1N/A2001-12-10 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * stage2/shared.h (ERR_NO_DISK_SPACE): New constant.
1N/A * stage2/common.c (err_list): Added an entry for
1N/A ERR_NO_DISK_SPACE.
1N/A * docs/grub.texi (Stage2 errors): Added the description.
1N/A * stage2/builtins.c (embed_func): Use ERR_NO_DISK_SPACE instead
1N/A of ERR_DEV_VALUES when the spare space is too small. Suggested
1N/A by Eric Mumpower <nocturne@permabit.com>.
1N/A
1N/A2001-12-10 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * grub/asmstub.c: Include <signal.h>.
1N/A (grub_stage2) [HAVE_LIBCURSES]: If USE_CURSES is true, ignore
1N/A the signal SIGWINCH. Reported by Christian Hudon
1N/A <chrish@debian.org>.
1N/A
1N/A2001-11-29 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A From Jason Thomas:
1N/A * stage2/disk_io.c (set_partition_hidden_flag): Complete rewrite
1N/A of this function which now supports logical partitions.
1N/A
1N/A2001-11-12 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * docs/grub.texi: The copyright of this file is only held by
1N/A Free Software Foundation, Inc., as Erich Boleyn has assigned his
1N/A copyright to the FSF.
1N/A * stage1/stage1.S: Likewise.
1N/A * stage2/asm.S: Likewise.
1N/A * stage2/boot.c: Likewise.
1N/A * stage2/builtins.c: Likewise.
1N/A * stage2/char_io.c: Likewise.
1N/A * stage2/cmdline.c: Likewise.
1N/A * stage2/common.c: Likewise.
1N/A * stage2/disk_io.c: Likewise.
1N/A * stage2/fat.h: Likewise.
1N/A * stage2/filesys.h: Likewise.
1N/A * stage2/freebsd.h: Likewise.
1N/A * stage2/fsys_ext2fs.c: Likewise.
1N/A * stage2/fsys_fat.c: Likewise.
1N/A * stage2/fsys_ffs.c: Likewise.
1N/A * stage2/gunzip.c: Likewise.
1N/A * stage2/i386-elf.h: Likewise.
1N/A * stage2/mb_header.h: Likewise.
1N/A * stage2/mb_info.h: Likewise.
1N/A * stage2/pc_slice.h: Likewise.
1N/A * stage2/shared.h: Likewise.
1N/A * stage2/stage1_5.c: Likewise.
1N/A * stage2/stage2.c: Likewise.
1N/A * stage2/start.S: Likewise.
1N/A
1N/A2001-11-07 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (terminal_func) [!SUPPORT_SERIAL]: Disable
1N/A the wait code, as it is usable only when serial support is on.
1N/A Reported by Karl Hammar <karl@kalle.csb.ki.se>.
1N/A
1N/A2001-10-27 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A JFS and XFS support is added.
1N/A
1N/A From Serguei Tzukanov <tzukanov@narod.ru>:
1N/A * configure.in (--disable-jfs): New option.
1N/A (--disable-xfs): Likewise.
1N/A * stage2/Makefile.am (noinst_HEADERS): Added jfs.h and xfs.h.
1N/A (libgrub_a_SOURCES): Added fsys_jfs.c and fsys_xfs.c.
1N/A (libgrub_a_CFLAGS): Added -DFSYS_JFS=1 and -DFSYS_XFS=1.
1N/A (pkgdata_DATA): Added jfs_stage1_5 and xfs_stage1_5.
1N/A (noinst_PROGRAMS): Added jfs_stage1_5.exec and
1N/A xfs_stage1_5.exec.
1N/A (pre_stage2_exec_SOURCES): Added fsys_jfs.c and fsys_xfs.c.
1N/A (jfs_stage1_5_exec_SOURCES): New variable.
1N/A (jfs_stage1_5_exec_CFLAGS): Likewise.
1N/A (jfs_stage1_5_exec_ASFLAGS): Likewise.
1N/A (jfs_stage1_5_exec_LDFLAGS): Likewise.
1N/A (xfs_stage1_5_exec_SOURCES): Likewise.
1N/A (xfs_stage1_5_exec_CFLAGS): Likewise.
1N/A (xfs_stage1_5_exec_ASFLAGS): Likewise.
1N/A (xfs_stage1_5_exec_LDFLAGS): Likewise.
1N/A * stage2/builtins.c (setup_func): Add items for JFS and XFS into
1N/A STAGE1_5_MAP.
1N/A * stage2/disk_io.c (fsys_table): Added entries for JFS and XFS.
1N/A * stage2/filesys.h [FSYS_JFS] (FSYS_JFS_NUM): Set to 1.
1N/A [FSYS_JFS] (jfs_mount): Declared.
1N/A [FSYS_JFS] (jfs_read): Likewise.
1N/A [FSYS_JFS] (jfs_dir): Likewise.
1N/A [FSYS_JFS] (jfs_embed): Likewise.
1N/A [!FSYS_JFS] (FSYS_JFS_NUM): Set to 0.
1N/A [FSYS_XFS] (FSYS_XFS_NUM): Set to 1.
1N/A [FSYS_XFS] (xfs_mount): Declared.
1N/A [FSYS_XFS] (xfs_read): Likewise.
1N/A [FSYS_XFS] (xfs_dir): Likewise.
1N/A (NUM_FSYS): Added FSYS_JFS_NUM and FSYS_XFS_NUM.
1N/A * stage2/shared.h (STAGE2_ID_JFS_STAGE1_5): New macro.
1N/A (STAGE2_ID_XFS_STAGE1_5): Likewise.
1N/A [FSYS_JFS] (STAGE2_ID): Set to STAGE2_ID_JFS_STAGE1_5.
1N/A [FSYS_XFS] (STAGE2_ID): Set to STAGE2_ID_XFS_STAGE1_5.
1N/A * stage2/fsys_jfs.c: New file.
1N/A * stage2/fsys_xfs.c: Likewise.
1N/A * stage2/jfs.h: Likewise.
1N/A * stage2/xfs.h: Likewise.
1N/A
1N/A2001-10-27 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * stage2/apm.S: Always disconnect from APM. Written by Erich
1N/A Stefan Boleyn.
1N/A
1N/A * util/Makefile.am (noinst_DATA): Removed.
1N/A (EXTRA_DIST): Likewise.
1N/A
1N/A2001-10-14 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * configure.in: Explicitly call _AM_DEPENDENCIES(CC) for the
1N/A benefit of older Autoconfs.
1N/A
1N/A2001-10-13 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A * netboot/fsys_tftp.c (tftp_read): Move the unused data
1N/A forwards, only if AMT is more than zero. If AMT is not positive,
1N/A subtract BUF_READ from SAVED_FILEPOS and set BUF_READ to zero,
1N/A to skip the whole buffer. Reported by Frank Mehnert.
1N/A
1N/A2001-10-13 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A Don't use get_diskinfo_floppy. Reported by Ben Liblit
1N/A <liblit@eecs.berkeley.edu>.
1N/A
1N/A * stage2/asm.S (get_diskinfo_floppy): Removed (by cpp).
1N/A * stage2/bios.c (get_diskinfo_floppy): Removed.
1N/A (get_diskinfo): Don't call get_diskinfo_floppy any longer.
1N/A
1N/A2001-10-13 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A Based on a patch from Jeremy Katz <katzj@redhat.com>:
1N/A * docs/grub.texi (Stage2 errors): Added documentation on the
1N/A error number 33 (Serial device not configured).
1N/A * grub/asmstub.c (serial_exists): New function.
1N/A * stage2/serial.c (serial_exists): Likewise.
1N/A * stage2/serial.h (serial_exists): New prototype.
1N/A * stage2/shared.h (grub_error_t): ERR_NEED_SERIAL is added.
1N/A * stage2/builtins.c (terminal_func) [SUPPORT_SERIAL]: If a
1N/A serial device is not configured yet, restore the terminal and
1N/A set ERRNUM to ERR_NEED_SERIAL.
1N/A * stage2/common.c (err_list): Added an item for ERR_NEED_SERIAL.
1N/A
1N/A2001-10-13 Yoshinori K. Okuji <okuji@gnu.org>
1N/A
1N/A From Jason Thomas <jason@topic.com.au>:
1N/A * util/grub-install.in (convert): Add support for DAC960.
1N/A
1N/A From Adrian Phillips <a.phillips@dnmi.no>:
1N/A * lib/device.c (get_dac960_disk_name): New function.
1N/A (init_device_map) [__linux__]: Add support for DAC960.
1N/A
1N/A2001-10-11 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/fsys_reiserfs.c (reiserfs_super_block): Updated
1N/A to better match recent reiserfs versions.
1N/A (reiserfs_mount): Handle cases where journal can't be found,
1N/A e.g. journal on another disk or unexpected journal parameters.
1N/A In that case the journal isn't used.
1N/A
1N/A2001-10-10 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/fsys_reiserfs.c (reiserfs_mount): Don't look at
1N/A the superblock field s_journal_block_count anymore. It used
1N/A to contain 0, it never contained a valid value, and now I
1N/A have a report that it can contain an invalid value.
1N/A Bug reported by Jim Caley <caley@chesco.com>.
1N/A
1N/A2001-09-24 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/fsys_reiserfs.c (reiserfs_dir): Set errnum to
1N/A ERR_FSYS_CORRUPT if a symlink can't be read for some reason,
1N/A but no error is set by read.
1N/A
1N/A2001-08-08 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Derrik Pates <dpates@dsdk12.net>:
1N/A * stage2/asm.S [!STAGE1_5] (grub_halt): Set the level of APM
1N/A support to 1.1, before turning off the power state.
1N/A
1N/A2001-08-08 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * util/grub-md5-crypt.in: Prefix backquotes with backslashes in
1N/A strings. From Fernando Silveira.
1N/A
1N/A2001-08-02 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * stage2/common.c (init_bios_info): Ignore zero-length memory
1N/A ranges. From Derrik Pates <dpates@dsdk12.net>.
1N/A
1N/A2001-07-26 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/Makefile.am (libgrub_a_CFLAGS): Enable USE_MD5_PASSWORDS
1N/A for libgrub. Previously that was implicitly done by configure.in
1N/A until the patch from 2001-07-04, which moved that flag from CFLAGS
1N/A to FSYS_CFLAGS. Reported by YAMAGUCHI Shingo
1N/A <shingo@kip.iis.toyama-u.ac.jp>
1N/A
1N/A2001-07-13 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * util/grub-install.in (convert): Recognize the naming scheme
1N/A for Linux devfs floppy devices. Reported by Jason Thomas
1N/A <jason@topic.com.au>.
1N/A
1N/A2001-07-07 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * netboot/compile: New file. This was also missing... How many
1N/A ``compile''s does automake want?
1N/A
1N/A2001-07-07 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Jan Zerebecki <jan.list@elite-pferde.de>:
1N/A * acinclude.m4 (grub_DEFINE_FILE): Escape double-quotations as
1N/A well.
1N/A
1N/A2001-07-05 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * configure.in (AM_INIT_AUTOMAKE): Set the version number to
1N/A 0.90.
1N/A
1N/A2001-07-05 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Ughh! I forgot to add this file to the CVS.
1N/A
1N/A * docs/compile: New file.
1N/A
1N/A2001-07-05 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/grub.texi: Updated.
1N/A
1N/A2001-07-05 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/boot.c (load_initrd) [!NO_DECOMPRESSION]: Set
1N/A NO_DECOMPRESSION to one before opening INITRD, so that GRUB
1N/A doesn't decompress an initrd automatically. Reported by
1N/A Thierry Laronde.
1N/A
1N/A2001-07-04 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/compile: New file.
1N/A * docs/mdate-sh: Likewise.
1N/A * docs/texinfo.tex: Likewise.
1N/A * compile: Removed.
1N/A * mdate-sh: Likewise.
1N/A * texinfo.tex: Likewise.
1N/A * config.guess: Updated from automake-1.4h.
1N/A * config.sub: Likewise.
1N/A * depcomp: Likewise.
1N/A * install-sh: Likewise.
1N/A * missing: Likewise.
1N/A * mkinstalldirs: Likewise.
1N/A * configure.in (AS): New variable.
1N/A (ASFLAGS): Likewise.
1N/A (--disable-md5-password): Use FSYS_CFLAGS instead of CFLAGS.
1N/A * stage1/Makefile.am (AM_CFLAGS): Renamed to ...
1N/A (AM_ASFLAGS): ... this.
1N/A * stage2/Makefile.am (pre_stage2_exec_ASFLAGS): New variable.
1N/A (start_exec_CFLAGS): Renamed to ...
1N/A (start_exec_ASFLAGS): ... this.
1N/A (start_exec-start.o): Renamed to ...
1N/A (start_exec-start.$(OBJEXT)): ... this.
1N/A (e2fs_stage1_5_exec_ASFLAGS): New variable.
1N/A (fat_stage1_5_exec_ASFLAGS): Likewise.
1N/A (ffs_stage1_5_exec_ASFLAGS): Likewise.
1N/A (minix_stage1_5_exec_ASFLAGS): Likewise.
1N/A (reiserfs_stage1_5_exec_ASFLAGS): Likewise.
1N/A (vstafs_stage1_5_exec_ASFLAGS): Likewise.
1N/A (diskless_exec_ASFLAGS): Likewise.
1N/A (nbloader_exec_CFLAGS): Renamed to ...
1N/A (nbloader_exec_ASFLAGS): ... this.
1N/A (nbloader_exec-nbloader.o): Renamed to ...
1N/A (nbloader_exec-nbloader.$(OBJEXT)): ... this.
1N/A (pxeloader_exec_CFLAGS): Renamed to ...
1N/A (pxeloader_exec_ASFLAGS): ... this.
1N/A (pxeloader_exec-pxeloader.$(OBJEXT)): New target.
1N/A
1N/A2001-07-03 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Julien Bordet <julien.bordet@int-evry.fr>:
1N/A * stage2/i386-elf.h (Elf32_Shdr): New type.
1N/A * stage2/boot.c (load_image): Added ELF symbol loading support.
1N/A
1N/A2001-06-22 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/char_io.c [STAGE1_5] (grub_strcmp): Defined, even
1N/A for Stage 1.5. See thecomment, for a possible future strategy.
1N/A * stage2/fsys_vstafs.c [!FSYS_VSTAFS]: Don't define anything.
1N/A [STAGE1_5] (grub_strcmp): Removed.
1N/A (get_file_info): Made static.
1N/A (vstafs_readdir): Likewise.
1N/A (vstafs_nextdir): Likewise.
1N/A (curr_ext): Likewise.
1N/A (current_direntry): Likewise.
1N/A (current_blockpos): Likewise.
1N/A (a): Likewise.
1N/A
1N/A2001-06-22 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A VSTa filesystem support is added.
1N/A
1N/A From Kristoffer Br�nemyr <ztion@swipnet.se>:
1N/A * stage2/configure.in (--disable-vstafs): New option.
1N/A * stage2/Makefile.am (noinst_HEADERS): Added vstafs.h.
1N/A (libgrub_a_SOURCES): Added fsys_vstafs.c.
1N/A (libgrub_a_CFLAGS): Added -DFSYS_VSTAFS=1.
1N/A (pkgdata_DATA): Added vstafs_stage1_5.
1N/A (noinst_PROGRAMS): Added vstafs_stage1_5.exec.
1N/A (pre_stage2_exec_SOURCES): Added fsys_vstafs.c.
1N/A (vstafs_stage1_5_exec_SOURCES): New variable.
1N/A (vstafs_stage1_5_exec_CFLAGS): Likewise.
1N/A (vstafs_stage1_5_exec_LDFLAGS): Likewise.
1N/A * stage2/disk_io.c (fsys_table): Added an entry for vstafs.
1N/A * stage2/filesys.h [FSYS_VSTAFS] (FSYS_VSTAFS_NUM): Defined as
1N/A 1.
1N/A [FSYS_VSTAFS] (vstafs_mount): New prototype.
1N/A [FSYS_VSTAFS] (vstafs_read): Likewise.
1N/A [FSYS_VSTAFS] (vstafs_dir): Likewise.
1N/A [!FSYS_VSTAFS] (FSYS_VSTAFS_NUM): Defined as 0.
1N/A (NUM_FSYS): Added FSYS_VSTAFS_NUM.
1N/A * stage2/pc_slice.h (PC_SLICE_TYPE_VSTAFS): New macro.
1N/A * stage2/shared.h (STAGE2_ID_VSTAFS_STAGE1_5): Likewise.
1N/A [STAGE1_5 && FSYS_VSTAFS] (STAGE2_ID): Defined as
1N/A STAGE2_ID_VSTAFS_STAGE1_5.
1N/A * stage2/vstafs.h: New file.
1N/A * stage2/fsys_vstafs.c: Likewise.
1N/A
1N/A2001-06-22 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Thierry Laronde <thierry@cri74.org>:
1N/A * stage2/builtins.c (configfile_func): Added a prototype.
1N/A (bootp_func): If `--with-configfile' is given, set
1N/A WITH_CONFIGFILE to one, and call configfile_func with
1N/A CONFIG_FILE.
1N/A
1N/A2001-06-21 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/grub.texi: Update the location of the CVS repository
1N/A [/home/cvs -> /cvsroot/grub].
1N/A * README: Likewise.
1N/A
1N/A2001-06-19 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/boot.c (load_image): If the image is a Multiboot ELF OS
1N/A image, get the physical entry address, when a loaded memory
1N/A segment contains it. And, set ENTRY_ADDR to it, after printing
1N/A out the virtual one. Suggested by Rogelio M. Serrano Jr.
1N/A <rogelio@victorio.com>.
1N/A
1N/A2001-05-30 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/grub.texi: Fix some typos. Reported by Florian Hatat
1N/A <mininet@wanadoo.fr>.
1N/A
1N/A2001-05-29 Pavel Roskin <proski@gnu.org>
1N/A
1N/A * configure.in (AC_OUTPUT): Remove debian/Makefile.
1N/A
1N/A2001-05-28 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * Makefile.am (SUBDIRS): Remove reference to debian directory.
1N/A Packaging is no longer done by the GRUB team.
1N/A
1N/A2001-05-03 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * stage1/stage1.S (nt_magic): Explicitly reserve space for the NT
1N/A magic number.
1N/A
1N/A2001-05-25 Klaus Reichl <Klaus.Reichl@alcatel.at>
1N/A
1N/A * stage2/stage2.c (print_entries_raw): New function.
1N/A (run_menu): Use it to implement menu & command-list if on dumb
1N/A terminals.
1N/A Changes are:
1N/A Adjust FIRST_ENTRY only on non-dumb terminals.
1N/A Setting of SHOW_MENU is honoured also on dumb
1N/A terminals.
1N/A Likely if SHOW_MENU is false, ESC brings her to the
1N/A menu - not to the command-line as before.
1N/A PRINT_BORDER, GOTOXY, SET_LINE_xxx are only called if
1N/A not on dumb terminals.
1N/A Show entry number when timeout is running if terminal is dumb.
1N/A Prompt with entry number when waiting for keys.
1N/A
1N/A2001-05-14 Pavel Roskin <proski@gnu.org>
1N/A
1N/A * stage2/shared.h (ENTRY): Remove unnecessary `##'.
1N/A
1N/A2001-05-03 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * grub/asmstub.c (biosdisk): Work around a bug in linux's ez
1N/A remapping. Problem reported by Ben Byer <bbyer@rice.edu>.
1N/A
1N/A2001-03-28 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * stage2/boot.c (load_image): Don't cast entry_addr to an int, or
1N/A the top bit will be interpreted as the sign.
1N/A
1N/A2001-03-16 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Bodo Rueskamp <br@itchigo.com>:
1N/A * stage2/boot.c (load_initrd): Avoid the last 64kb for
1N/A Linux 2.2.x bug.
1N/A
1N/A2001-03-03 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/multiboot.texi (History): Written.
1N/A
1N/A2001-02-28 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From HASEGAWA Tomoki <thasegawa@mta.biglobe.ne.jp>:
1N/A * lib/device.c (get_ide_disk_name) [__FreeBSD__]: Add support
1N/A for FreeBSD-4.0 or later. Use "/dev/rad0".
1N/A * util/grub-install.in (convert): Add code for FreeBSD
1N/A disklabels.
1N/A
1N/A2001-02-28 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Thierry Laronde <thierry@cri74.org>:
1N/A * stage2/stage2.c (cmain): If the default entry is wrong, set it
1N/A to FALLBACK_ENTRY if FALLBACK_ENTRY is valid, otherwise set it
1N/A to zero. Suggested by Nicolas Boos <nicolas.boos@wanadoo.fr>.
1N/A
1N/A2001-02-28 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * acconfig.h (AUTO_LINUX_MEM_OPT): New entry.
1N/A * configure.in (--disable-auto-linux-mem-opt): New option.
1N/A * stage2/builtins.c (kernel_func) [!AUTO_LINUX_MEM_OPT]: Add
1N/A KERNEL_LOAD_NO_MEM_OPTION into LOAD_FLAGS, whether the user
1N/A specifies --no-mem-option or not.
1N/A
1N/A2001-02-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (chainloader_func): Don't check if the
1N/A current partition is FAT, but check if it has a FAT partition
1N/A type and the BPB has a system id starting with "MSWIN".
1N/A
1N/A2001-02-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Added hercules support based on a patch by Frank Mehnert
1N/A <fm3@os.inf.tu-dresden.de>. I translated his assembly code into
1N/A C, and separated hercules from the normal console.
1N/A
1N/A * configure.in (--disable-hercules): New option.
1N/A
1N/A * grub/asmstub.c: Include <hercules.h>.
1N/A (set_attrib): Renamed to ...
1N/A (console_set_attrib): ... this.
1N/A (herc_cls): New function.
1N/A (herc_getxy): Likewise.
1N/A (herc_gotoxy): Likewise.
1N/A (herc_putchar): Likewise.
1N/A (herc_set_attrib): Likewise.
1N/A
1N/A * stage2/Makefile.am (noinst_HEADERS): Added hercules.h.
1N/A (libgrub_a_CFLAGS): Added -DSUPPORT_HERCULES=1.
1N/A (HERCULES_FLAGS): New variable.
1N/A (STAGE2_COMPILE): Added $(HERCULES_FLAGS).
1N/A (pre_stage2_exec_SOURCES): Added hercules.c.
1N/A * stage2/asm.S [!STAGE1_5] (set_attrib) Renamed to ...
1N/A [!STAGE1_5] (console_set_attrib): ... this.
1N/A * stage2/builtins.c [SUPPORT_HERCULES] (terminal_func): Added
1N/A hercules support.
1N/A (builtin_table) [SUPPORT_HERCULES]: Added a pointer to
1N/A BUILTIN_TERMINAL.
1N/A * stage2/char_io.c [SUPPORT_HERCULES]: Include <hercules.h>.
1N/A [!STAGE1_5] (get_cmdline) [SUPPORT_HERCULES]: Added hercules
1N/A support.
1N/A [!STAGE1_5] (getkey) [SUPPORT_HERCULES]: Likewise.
1N/A [!STAGE1_5] (checkkey) [SUPPORT_HERCULES]: Likewise.
1N/A (grub_putchar) [SUPPORT_HERCULES]: Likewise.
1N/A [!STAGE1_5] (gotoxy) [SUPPORT_HERCULES]: Likewise.
1N/A [!STAGE1_5] (getxy) [SUPPORT_HERCULES]: Likewise.
1N/A [!STAGE1_5] (cls) [SUPPORT_HERCULES]: Likewise.
1N/A (set_attrib): New function.
1N/A * stage2/shared.h (console_set_attrib): Declared.
1N/A (TERMINAL_HERCULES): New macro.
1N/A * stage2/stage2.c (run_menu) [SUPPORT_HERCULES]: Added hercules
1N/A support.
1N/A * stage2/hercules.h: New file.
1N/A * stage2/hercules.c: Likewise.
1N/A
1N/A2001-02-17 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From "Treutwein; Bernhard"
1N/A <Bernhard.Treutwein@Verwaltung.Uni-Muenchen.DE>:
1N/A * docs/grub.texi (DOS/Windows): Improved the readability.
1N/A
1N/A2001-02-11 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/grub.texi (Command-line and menu commands): Renamed to ...
1N/A (General commands): ... this.
1N/A
1N/A2001-02-08 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/asm.S [STAGE1_5] (chain_stage2): Save the second sector
1N/A of stage2 in %ecx temporarily, and set %ebp to %ecx after
1N/A switching to protected mode. I forgot that %ebp is broken by
1N/A rot_to_real. Reported by Torvald Riegel
1N/A <tr16@inf.tu-dresden.de>.
1N/A
1N/A2001-02-08 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/grub-new.texi: Moved to ...
1N/A * docs/grub.texi: ... here. And, include internals.texi.
1N/A * docs/internals.texi: New file.
1N/A * docs/prog-ref.texi: Removed.
1N/A * docs/user-ref.texi: Likewise.
1N/A * docs/tutorial.texi: Likewise.
1N/A * docs/appendices.texi: Likewise.
1N/A * docs/Makefile.am (grub_TEXINFOS): Removed prog-ref.texi,
1N/A user-ref.texi, tutorial.texi, and appendices.texi. Added
1N/A internals.texi.
1N/A
1N/A2001-02-03 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Erik Schoenfelder <schoenfr@gaertner.de>:
1N/A * stage2/shared.h (LINUX_INITRD_MAX_ADDRESS): Changed from
1N/A 0x3C000000 to 0x38000000.
1N/A
1N/A2001-02-03 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (savedefault_func)
1N/A [!SUPPORT_DISKLESS && !GRUB_UTIL]: Check if the version
1N/A contained in the buffer matches to current one as well.
1N/A
1N/A2001-02-02 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (savedefault_func)
1N/A [!SUPPORT_DISKLESS && !GRUB_UTIL]: Check if the stage2 id is
1N/A STAGE2_ID_STAGE2. Suggested by Jochen Hoenicke.
1N/A
1N/A * stage2/stage2.c (cmain): If DEFAULT_ENTRY is out of entries,
1N/A reset DEFAULT_ENTRY to zero.
1N/A
1N/A2001-02-02 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Make savedefault workable even with Stage 1.5. Reported by
1N/A Thierry Laronde <thierry@cri74.org>.
1N/A
1N/A * grub/asmstub.c (chain_stage2): Added an additional argument,
1N/A SECOND_SECTOR.
1N/A * stage2/asm.S [STAGE1_5] (chain_stage2): Set %ebp to
1N/A SECOND_SECTOR.
1N/A * stage2/disk_io.c [STAGE1_5] (disk_read_hook): Defined.
1N/A [STAGE1_5] (disk_read_func): Likewise.
1N/A (rawread) [STAGE1_5]: Handle DISK_READ_FUNC.
1N/A (grub_read) [STAGE1_5]: Likewise.
1N/A * stage2/fsys_ext2fs.c (ext2fs_read) [STAGE1_5]: Likewise.
1N/A * stage2/fsys_fat.c (fat_read) [STAGE1_5]: Likewise.
1N/A * stage2/fsys_ffs.c (ffs_read) [STAGE1_5]: Likewise.
1N/A * stage2/fsys_minix.c (minix_read) [STAGE1_5]: Likewise.
1N/A * stage2/fsys_reiserfs.c (reiserfs_read) [STAGE1_5]: Likewise.
1N/A
1N/A2001-02-02 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * netboot/config.c [GRUB && INCLUDE_PCI] (pci_dispatch_table):
1N/A New structure.
1N/A [GRUB && INCLUDE_PCI] (PCI_NIC): New variable.
1N/A (eth_probe) [GRUB && INCLUDE_PCI]: If a PCI NIC candidate is
1N/A present, probe it first.
1N/A
1N/A2001-01-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Danilo Godec <danci@agenda.si>:
1N/A * stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_RAID): New macro.
1N/A * stage2/fsys_ext2fs.c (ext2fs_mount): Add a check for
1N/A PC_SLICE_LINUX_RAID.
1N/A
1N/A2001-01-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Bernhard Treutwein
1N/A <Bernhard.Treutwein@Verwaltung.Uni-Muenchen.DE>:
1N/A * docs/grub-new.texi (DOS/Windows): Made more readable.
1N/A
1N/A2001-01-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/multiboot.texi: Start reorganizing Multiboot
1N/A Specification.
1N/A
1N/A2001-01-15 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Thierry Laronde <thierry.laronde@polynum.com>:
1N/A * docs/user-ref.texi (Command-line and menu commands): Update
1N/A the description about setkey.
1N/A * stage2/builtins.c (setkey_func): When checking if TO_KEY and
1N/A FROM_KEY are specified, see *TO_KEY and *FROM_KEY instead of
1N/A TO_KEY and FROM_KEY, respectively.
1N/A
1N/A2001-01-13 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Thierry Laronde <thierry.laronde@polynum.com>:
1N/A * util/grub-md5-crypt.in (prefix): New variable.
1N/A (exec_prefix): Likewise.
1N/A (sbindir): Likewise.
1N/A
1N/A2001-01-12 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/multiboot.h [__ELF__] (MULTIBOOT_HEADER_FLAGS): Defined
1N/A as 0x00000003 instead of 0x00010003.
1N/A * docs/boot.S (multiboot_header) [__ELF__]: Don't define a.out
1N/A kludge information.
1N/A
1N/A * docs/Makefile.am (EXTRA_PROGRAMS): New variable.
1N/A [BUILD_EXAMPLE_KERNEL] (noinst_DATA): Removed.
1N/A [BUILD_EXAMPLE_KERNEL] (noinst_PROGRAMS): Changed to kernel.
1N/A [BUILD_EXAMPLE_KERNEL] (kernel_exec_SOURCES): Renamed to ...
1N/A [BUILD_EXAMPLE_KERNEL] (kernel_SOURCES): ... this.
1N/A [BUILD_EXAMPLE_KERNEL] (kernel_exec_CFLAGS): Renamed to ...
1N/A [BUILD_EXAMPLE_KERNEL] (kernel_CFLAGS): ... this.
1N/A [BUILD_EXAMPLE_KERNEL] (kernel_exec_LDFLAGS): Renamed to ...
1N/A [BUILD_EXAMPLE_KERNEL] (kernel_LDFLAGS): ... this.
1N/A [BUILD_EXAMPLE_KERNEL] (kernel): Removed.
1N/A [BUILD_EXAMPLE_KERNEL] (boot.o): New dependency.
1N/A (CLEANFILES): New variable.
1N/A
1N/A2001-01-11 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c [SUPPORT_NETBOOT] (ifconfig_func): Always
1N/A print current network configuration.
1N/A [SUPPORT_NETBOOT] (tftpserver_func): Use ifconfig instead of
1N/A arp_server_override.
1N/A * netboot/main.c (arp_server_override): Removed.
1N/A * netboot/etherboot.h (arp_server_override): Likewise.
1N/A
1N/A2001-01-11 Eugene Doudine <dudin@np.nk.nornik.ru>
1N/A
1N/A * stage2/builtins.c [SUPPORT_NETBOOT] (ifconfig_func): New
1N/A function to configure network interface from command line.
1N/A [SUPPORT_NETBOOT] (builtin_ifconfig): New variable.
1N/A [SUPPORT_NETBOOT] (builtin_table): Added a pointer to
1N/A BUILTIN_IFCONFIG.
1N/A * netboot/main.c (ifconfig): New function.
1N/A * netboot/etherboot.h (ifconfig): Added the prototype.
1N/A
1N/A2001-01-11 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/Makefile.am [BUILD_EXAMPLE_KERNEL] (noinst_DATA): New
1N/A variable.
1N/A [BUILD_EXAMPLE_KERNEL] (noinst_PROGRAMS): Likewise.
1N/A [BUILD_EXAMPLE_KERNEL] (kernel_exec_SOURCES): Likewise.
1N/A [BUILD_EXAMPLE_KERNEL] (kernel_exec_CFLAGS): Likewise.
1N/A [BUILD_EXAMPLE_KERNEL] (kernel_exec_LDFLAGS): Likewise.
1N/A [BUILD_EXAMPLE_KERNEL] (kernel): New target.
1N/A * configure.in (--enable-example-kernel): New option.
1N/A
1N/A * docs/kernel.c (cmain): Cast unsigned long variables to
1N/A unsigned explicitly, to suppress GCC warnings.
1N/A
1N/A2001-01-08 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/shared.h (BOOTSEC_BPB_HIDDEN_SECTORS): New macro.
1N/A
1N/A * stage2/builtins.c (chainloader_func): If CURRENT_PARTITION is
1N/A FAT, set the hidden sectors field of the BPB to PART_START, to
1N/A avoid a Windows bug which affects only when Windows is booted
1N/A from a logical partition. And, clear ERRNUM after testing if a
1N/A partition is FAT, because open_partition or fat_mount may set
1N/A ERRNUM. Reported by Ingo Korb <ingo@akana.de>.
1N/A
1N/A2001-01-07 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (boot_func): In the chain-loading mode,
1N/A clear the active flag of each of the loaded partition entries,
1N/A and then set the active flag of the booted partition image.
1N/A
1N/A2001-01-04 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/builtins.c (embed_func): Call open_partition() even for
1N/A MBR, so that part_start is correct. This fixes a bug reported by
1N/A Matthias Granberry <matthias@slurpee.org>.
1N/A
1N/A2000-12-22 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/disk_io.c (make_saved_active): Change the variable name
1N/A ``MBR'' to lower case.
1N/A (set_partition_hidden_flag): Likewise.
1N/A
1N/A2000-12-20 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A From Cedric Ware <ware@com.enst.fr>:
1N/A * stage2/fsys_ext2.c (ext2fs_mount): Detect ext2 partitions in
1N/A a OpenBSD/NetBSD FS_EXT2FS slice.
1N/A * stage2/pc_slice.h (FS_ADOS): New Macro from OpenBSD/NetBSD.
1N/A (FS_HFS): Likewise.
1N/A (FS_FILECORE): Likewise.
1N/A (FS_EXT2FS): Likewise.
1N/A
1N/A2000-12-17 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/disk_io.c (rawread): Check if there is a EZD partition
1N/A and remap sector 0 to sector 1 like EZ-BIOS does.
1N/A (rawwrite): New function to write to disk. Also does EZD
1N/A remapping.
1N/A (devwrite): New function. Does the special remapping to
1N/A partitions needed for linux. This contains the code that was
1N/A previously duplicated in embed_func and install_func at several
1N/A places.
1N/A (make_saved_active): Use rawwrite. Don't use SCRATCHSEG, as it is
1N/A needed by devwrite.
1N/A (set_partition_hidden_flag): Likewise.
1N/A * stage2/disk_io.h (rawwrite): New function.
1N/A (devwrite): Likewise.
1N/A * stage2/pc_slice.h (PC_SLICE_TYPE_EZD): New macro.
1N/A * stage2/builtins.c (embed_info): New variable to store the
1N/A position of the embedded stage1_5 for setup_func.
1N/A (embed_func): Don't embed after the MBR if an EZ-BIOS is detected
1N/A there. Use the new devwrite method. If embedding is successful
1N/A store position in embed_info.
1N/A (install_func): Use devwrite. Don't use SCRATCHSEG.
1N/A (partnew_func): Use rawwrite. Don't use SCRATCHSEG.
1N/A (parttype_func): Likewise.
1N/A (savedefault_func): Likewise.
1N/A (setup_func): New nested function embed_stage1_5. Stage1_5 is now
1N/A also be embedded into filesystems which supports that.
1N/A
1N/A2000-12-17 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (chainloader_func): Set ERRNUM to
1N/A ERR_EXEC_FORMAT, when ERRNUM is ERR_NONE, even if grub_read
1N/A fails in reading one sector.
1N/A
1N/A2000-12-14 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/prog-ref.texi (Partition types): Rewrite the footnotes.
1N/A Suggested by Ralf.Medow@t-online.de (Ralf Medow).
1N/A
1N/A2000-12-14 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Erik Schoenfelder <schoenfr@gaertner.de>:
1N/A * util/grub-install.in (convert): Revised the fix for floppy
1N/A device handling.
1N/A
1N/A2000-12-14 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From HORIKAWA Kazunori <kaz-hori@tkd.att.ne.jp>:
1N/A * stage2/bios.c (get_diskinfo): Append 16 bytes dummy data to
1N/A DRP, because the BIOS of Thinkpad X20 write a garbage beyond the
1N/A size of the structure.
1N/A
1N/A2000-12-09 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/disk_io.c (next_partition): Mask out bsd partition sub
1N/A type when checking if last partition was a bsd partition.
1N/A Reported by Heikki Vatiainen <hessu@cs.tut.fi>.
1N/A
1N/A2000-12-09 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Leendert Meyer <leen.meyer@home.nl>:
1N/A * util/grub-install.in (convert): If a floppy device is
1N/A specified, remove everything from $tmp_part.
1N/A
1N/A2000-12-09 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * lib/device.c [__linux__] (write_to_partition): Use strcpy
1N/A instead of strcat, to overwrite "/disc". Reported by Thiago
1N/A Macieira <thiagom@mail.com>.
1N/A
1N/A2000-12-05 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/fsys_minix.c (minix_mount): Corrected the check for
1N/A IS_PC_SLICE_TYPE_MINIX; minix was only working if slice type was
1N/A wrong! Reported by Ralf Medow <ralf.medow@t-online.de>.
1N/A
1N/A2000-11-27 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/fsys_reiserfs.c: Handle items with old version key on
1N/A new version reiserfs partition.
1N/A (K_OFFSET): Removed.
1N/A (IH_KEY_OFFSET): New Macro, which checks item head version.
1N/A (IH_KEY_ISOFFSET): Likewise.
1N/A (reiserfs_read): Use new macros.
1N/A (reiserfs_dir): Fixed version check for >4GB stat entries.
1N/A
1N/A2000-11-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/common.c (init_bios_info) [!STAGE1_5]: Don't call
1N/A track_int13, because the current implementation hangs up in some
1N/A environments.
1N/A
1N/A2000-11-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * grub/asmstub.c (serial_init) [!O_SYNC]: Don't specify O_SYNC
1N/A to open SERIAL_DEVICE.
1N/A (serial_init) [O_FSYNC]: Specify O_FSYNC to open SERIAL_DEVICE.
1N/A Reported by Farid Hajji <farid.hajji@ob.kamp.net>.
1N/A
1N/A2000-11-22 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Vesa Jaaskelainen <jaaskela@tietomyrsky.fi>:
1N/A * stage2/builtins.c (testvbe_func): Don't set the bit 14 of a
1N/A VBE mode number explicitly when calling get_vbe_mode_info.
1N/A (vbeprobe_func): Likewise.
1N/A
1N/A2000-11-22 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A The code for the "INT 13H tracking technique" is somewhat
1N/A simplified.
1N/A
1N/A * stage2/asm.S [!STAGE1_5] (track_int13): Don't replace an int13
1N/A handler with set_tf_int13_handler. Instead, track_int13 itself
1N/A emulates an int13 interrupt.
1N/A [!STAGE1_5] (set_tf_int13_handler): Removed.
1N/A [!STAGE1_5] (int1_handler): Use movzbw instead of xorb and movb.
1N/A
1N/A2000-11-15 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * acconfig.h (PRESET_MENU_STRING): New entry.
1N/A * acinclude.m4 (grub_DEFINE_FILE): New M4 macro.
1N/A * configure.in (--enable-preset-menu): New option.
1N/A * stage2/stage2.c [PRESET_MENU_STRING] (preset_menu): New
1N/A variable.
1N/A [PRESET_MENU_STRING] (preset_menu_offset): Likewise.
1N/A [PRESET_MENU_STRING] (open_preset_menu): New function.
1N/A [PRESET_MENU_STRING] (read_from_preset_menu): Likewise.
1N/A [PRESET_MENU_STRING] (close_preset_menu): Likewise.
1N/A [!PRESET_MENU_STRING] (open_preset_menu): New macro.
1N/A [!PRESET_MENU_STRING] (read_from_preset_menu): Likewise.
1N/A [!PRESET_MENU_STRING] (close_preset_menu): Likewise.
1N/A (get_line_from_config): Accept a new argument READ_FROM_FILE.
1N/A If it is false, read data from the preset menu instead.
1N/A (cmain): If grub_open fails in opening the configuration file,
1N/A then try to open the preset menu.
1N/A
1N/A2000-11-11 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Jan Fricke <fricke@uni-greifswald.de>:
1N/A * stage2/asm.S [!STAGE1_5] (set_vbe_mode): Add a missing `$'
1N/A prefix.
1N/A
1N/A2000-11-11 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/bios.c (get_diskinfo): If BIOS supports LBA but doesn't
1N/A return the correct total number of sectors, compute this by
1N/A C/H/S returned by get_diskinfo_int13_extensions instead of
1N/A get_diskinfo_standard.
1N/A
1N/A2000-11-09 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/disk_io.c (make_saved_active): Set ERRNUM to
1N/A ERR_DEV_VALUES instead of ERR_NO_PART, when the save partition
1N/A is not a primary partition.
1N/A
1N/A2000-11-05 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/user-ref.texi (Features): Update the URL of grub/98.
1N/A
1N/A2000-11-03 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A VBE support is _partially_ implemented.
1N/A
1N/A * stage2/mb_header.h (multiboot_header): Added new fields,
1N/A mode_type, width, height, and depth.
1N/A (MULTIBOOT_FOUND): Check if MULTIBOOT_VIDEO_MODE is set, and
1N/A check if LEN is greater than or equal to 48, if set.
1N/A (MULTIBOOT_UNSUPPORTED): Set to 0x0000FFF8.
1N/A (MULTIBOOT_VIDEO_MODE): New macro.
1N/A * stage2/mb_info.h (multiboot_info): Added new fields,
1N/A vbe_control_info, vbe_mode_info, vbe_mode, vbe_interface_seg,
1N/A vbe_interface_off, and vbe_interface_len.
1N/A (MB_INFO_VIDEO_INFO): New macro.
1N/A
1N/A * stage2/shared.h (vbe_controller): New structure.
1N/A (vbe_mode): Likewise.
1N/A (get_vbe_controller_info): Declared.
1N/A (get_vbe_mode_info): Likewise.
1N/A (set_vbe_mode): Likewise.
1N/A * stage2/asm.S [!STAGE1_5] (get_vbe_controller_info): New
1N/A function.
1N/A [!STAGE1_5] (get_vbe_mode_info): Likewise.
1N/A [!STAGE1_5] (set_vbe_mode): Likewise.
1N/A * grub/asmstub.c (get_vbe_controller_info): Likewise.
1N/A (get_vbe_mode_info): Likewise.
1N/A (set_vbe_mode): Likewise.
1N/A
1N/A * stage2/builtins.c (testvbe_func): New function.
1N/A (builtin_testvbe): New variable.
1N/A (vbeprobe_func): New function.
1N/A (builtin_vbeprobe): New variable.
1N/A (builtin_table): Added pointers to BUILTIN_TESTVBE and
1N/A BUILTIN_VBEPROBE.
1N/A
1N/A2000-11-01 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/help2man: Copied from help2man-1.23.
1N/A
1N/A2000-10-29 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/asm.S [STAGE1_5]: Don't include setjmp.S or apm.S.
1N/A
1N/A2000-10-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * lib/device.c (read_device_map): Don't parse a line, if it is
1N/A empty. Reported by Holger Bauer <bauer@itsm.uni-stuttgart.de>.
1N/A
1N/A2000-10-25 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/builtins.c (md5crypt_func): Use all bits of currticks ()
1N/A to generate the salt. The old code would often produce the same
1N/A one character salt.
1N/A
1N/A2000-10-25 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/apm.S (get_apm_info): Fix a serious typo: prot_to_real
1N/A -> real_to_prot. Umm, I can't understand why it worked for me!
1N/A
1N/A2000-10-24 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/builtins.c (setup_func): When invoking install with an
1N/A embedded stage1_5 give the path to menu.lst as real_config_file.
1N/A
1N/A2000-10-23 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/multiboot.texi: Upgraded to 0.6.92.
1N/A (Boot information format): Re-designed the graphics table.
1N/A
1N/A2000-10-22 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/tutorial.texi: Miscellaneous updates.
1N/A * docs/user-ref.texi: Likewise.
1N/A * docs/appendices.texi: Likewise.
1N/A
1N/A2000-10-22 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * util/grub-install.in (usage): Removed unnecessary commas.
1N/A
1N/A * util/grub-md5-crypt.in: New file.
1N/A * util/Makefile.am (sbin_SCRIPTS): Added grub-md5-crypt.
1N/A * configure.in (AC_OUTPUT): Added util/grub-md5-crypt.
1N/A * docs/Makefile.am (man_MANS): Added grub-md5-crypt.8.
1N/A [MAINTAINER_MODE] ($(srcdir)/grub-md5-crypt.8): New target.
1N/A * docs/grub-md5-crypt.8: New file. Generated by help2man.
1N/A
1N/A * docs/grub.texi (grub-md5-crypt): New direntry.
1N/A (Invoking grub-md5-crypt): New entry.
1N/A * docs/user-ref.texi (Invoking grub-md5-crypt): New chapter.
1N/A
1N/A2000-10-22 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Matthias Granberry <matthias@slurpee.org>:
1N/A * util/grub-install.in (convert): Added backslashes into
1N/A continuous lines.
1N/A
1N/A2000-10-21 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/md5.c (check_md5_password): Removed.
1N/A (md5_password): New function. Mostly copied from
1N/A check_md5_password.
1N/A (md5_init): Made static.
1N/A (md5_update): Likewise.
1N/A (md5_final): Likewise.
1N/A * stage2/md5.h (check_md5_password): Changed to just a macro.
1N/A (md5_password): Declared.
1N/A (make_md5_password): New macro.
1N/A * stage2/char_io.c [!STAGE1_5] (grub_strstr): Rewriten, because
1N/A it was too buggy.
1N/A * stage2/builtins.c [USE_MD5_PASSWORDS] (md5crypt_func): New
1N/A function.
1N/A [USE_MD5_PASSWORDS] (builtin_md5crypt): New variable.
1N/A (builtin_table) [USE_MD5_PASSWORDS]: Added a pointer to
1N/A BUILTIN_MD5CRYPT.
1N/A * docs/tutorial.texi (Security): Added a paragraph about
1N/A md5crypt.
1N/A
1N/A2000-10-21 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/user-ref.texi: Fixed several typos and some inappropriate
1N/A texinfo commands, and update the descriptions about some
1N/A commands.
1N/A
1N/A2000-10-20 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (displayapm_func): New function.
1N/A (builtin_displayapm): New variable.
1N/A (builtin_table): Added a pointer to BUILTIN_DISPLAYAPM.
1N/A
1N/A2000-10-20 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A APM BIOS table support is added, based on a patch by Matt Yourst
1N/A <yourst@mit.edu>.
1N/A
1N/A * docs/multiboot.texi (Boot information format): Added the
1N/A definition of APM table format.
1N/A
1N/A * stage2/mb_info.h (apm_info): New structure.
1N/A (multiboot_info): Added a new element, apm_table.
1N/A (MB_INFO_APM_TABLE): New macro.
1N/A * stage2/asm.S (apm_bios_info): New variable.
1N/A Include "apm.S".
1N/A * stage2/apm.S: New file.
1N/A * stage2/common.c (init_bios_info) [!STAGE1_5]: Added APM BIOS
1N/A table support.
1N/A * stage2/shared.h (apm_bios_info): Declared.
1N/A (get_apm_info): Likewise.
1N/A * stage2/Makefile.am (EXTRA_DIST): Added apm.S.
1N/A * grub/asmstub.c (apm_bios_info): New variable.
1N/A (get_apm_info): New function.
1N/A
1N/A2000-10-19 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Segregate functions which are copyrighted differently.
1N/A
1N/A * stage2/setjmp.S: New file.
1N/A * stage2/Makefile.am (EXTRA_DIST): Added setjmp.S.
1N/A * stage2/asm.S: Include "setjmp.S".
1N/A (grub_setjmp): Moved to ...
1N/A * stage2/setjmp.S (grub_setjmp): ... here.
1N/A * stage2/asm.S (grub_longjmp): Moved to ...
1N/A * stage2/setjmp.S (grub_longjmp): ... here.
1N/A
1N/A2000-10-18 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/Makefile.am (noinst_HEADERS): Added md5.h. Reported by
1N/A Volker Augustin <Volker.Augustin@stud.uni-regensburg.de>.
1N/A
1N/A2000-10-17 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * configure.in (--disable-md5password): Renamed to ...
1N/A (--disable-md5-password): ... this. Just for my preference.
1N/A
1N/A2000-10-17 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A Added MD5 passwords and extended password command:
1N/A
1N/A * configure.in (--disable-md5password): New option.
1N/A * stage2/Makefile.am (libgrub_a_SOURCES): Added md5.c.
1N/A (pre_stage2_exec_SOURCES): Likewise.
1N/A * stage2/md5.c: New file.
1N/A * stage2/shared.h (password_t): New type.
1N/A (password_type): New variable.
1N/A (BUILTIN_HIDDEN): New flag, describing that a command should not
1N/A be printed when booting the entry.
1N/A (check_password): New function.
1N/A * stage2/cmdline.c (run_script): Don't show commands that have
1N/A the hidden attribute.
1N/A * stage2/builtins.c (password_type): New variable.
1N/A (check_password): New function.
1N/A (password_func): Handle the --md5 option and set password_type.
1N/A Check if in CMDLINE or SCRIPT mode and ask password immediately.
1N/A (builtin_password): Also allow passwords in CMDLINE mode, make
1N/A it hidden, so the user wont see the password he should enter.
1N/A Changed command description.
1N/A (builtin_pause): Make the command hidden.
1N/A (pause_func): Print argument, since the command is now hidden.
1N/A * stage2/stage2.c (run_menu): Call check_password to check password.
1N/A * docs/tutorial.texi (Security): Describe the new features of the
1N/A password commands.
1N/A * docs/user-ref.texi (Menu-specific commands): password command
1N/A moved ...
1N/A (Command-line and menu commands): ... to here. New features
1N/A doumented.
1N/A
1N/A2000-10-17 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (setkey_func): Clear the all elements of
1N/A BIOS_KEY_MAP and ASCII_KEY_MAP instead of only the first
1N/A elements, when TO_KEY is NULL.
1N/A
1N/A2000-10-16 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/boot.c (load_image): When handling Linux cmdline, don't
1N/A copy a null character from SRC to DEST, because this inserted an
1N/A extra null character into the cmdline. Reported by Robert
1N/A Bihlmeyer <robbe@orcus.priv.at>.
1N/A
1N/A2000-10-16 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Some of the new Multiboot features are supported. APM support
1N/A and VESA support are not strictly defined or implemented yet.
1N/A
1N/A * docs/multiboot.texi (Top): Increase the version number.
1N/A (Boot information format): Changed the drive information format,
1N/A because it was not straightforward.
1N/A
1N/A * grub/asmstub.c (io_map): New variable.
1N/A (track_int13): New function.
1N/A (get_rom_config_table): Likewise.
1N/A * stage2/stage2.c (cmain): Set CONFIG_ENTRIES to MBI.DRIVES_ADDR
1N/A + MBI.DRIVES.LENGTH instead of MBI.MMAP_ADDR + MBI.MMAP_LENGTH.
1N/A * stage2/common.c (init_bios_info) [!STAGE1_5]: Added support
1N/A for drive info, ROM config table, and boot loader name features
1N/A of the Multiboot Specification.
1N/A * stage2/mb_info.h (drive_info): New structure.
1N/A (MB_DI_CHS_MODE): New macro.
1N/A (MB_DI_LBA_MODE): Likewise.
1N/A (multiboot_info): Added drives_length, drives_addr,
1N/A config_table, and boot_loader_name.
1N/A (MB_INFO_DRIVE_INFO): New macro.
1N/A (MB_INFO_CONFIG_TABLE): Likewise.
1N/A (MB_INFO_BOOT_LOADER_NAME): Likewise.
1N/A * stage2/asm.S (get_rom_config_table): New function.
1N/A * stage2/shared.h (get_rom_config_table): Declared.
1N/A
1N/A2000-10-16 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * util/grub-install.in (convert): Check only if the file exists,
1N/A instead of checking if the file is a block device as well.
1N/A Because, in a sane operating system, it should be a char device
1N/A but not a block device (unlike Linux), and it may be a symbolic
1N/A link (this can happen if you use Linux's devfs without devfsd).
1N/A (recheck): New variable. Set to "no" by default, and set to
1N/A "yes", if you specify the new option ``--recheck''. If $recheck
1N/A is "yes", remove the device map file, if present.
1N/A
1N/A2000-10-16 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Roderich Schupp:
1N/A * lib/device.c: Include <limits.h>.
1N/A [__linux__] (have_devfs): New function.
1N/A (get_floppy_disk_name) [__linux__]: If devfs is supported, use
1N/A the name "/dev/floppy/N" instead.
1N/A (init_device_map) [__linux__]: If devfs is supported, use
1N/A "/dev/discs/discN" instead.
1N/A [__linux__] (write_to_partition): Change the size of DEV to
1N/A PATH_MAX instead of 64.
1N/A If devfs is supported, replace "/disc" in the device name with
1N/A "/part".
1N/A
1N/A2000-10-15 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Roderich Schupp <rsch@ExperTeam.de>:
1N/A * util/grub-install.in (convert): Added support for "native"
1N/A devfs device names.
1N/A
1N/A2000-10-14 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/tutorial.texi (Serial terminal): Fixed a typo.
1N/A * docs/user-ref.texi (GRUB images): New chapter.
1N/A * docs/grub.texi: Added an entry for the chapter "GRUB images".
1N/A
1N/A2000-10-14 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (setkey_func): If TO_KEY is NULL (i.e. the
1N/A user specifies no argument), clear BIOS_KEY_MAP and
1N/A ASCII_KEY_MAP.
1N/A If TO_KEY is non-NULL but FROM_KEY is NULL, set ERRNUM to
1N/A ERR_BAD_ARGUMENT and return one.
1N/A
1N/A2000-10-13 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/grub.texi: Added an entry for the new chapter "Security",
1N/A and the order of the chapters in the Tutorial Manual was
1N/A changed.
1N/A * docs/tutorial.texi (Configuration): Moved to right after the
1N/A chapter "Booting".
1N/A (Security): New chapter.
1N/A
1N/A2000-10-10 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Alessandro Rubini:
1N/A * util/grub-install.in (root_device): Use the regular expression
1N/A 's%.*\(/dev/[^ ]*\).*%\1%' instead of
1N/A 's%.*\(/dev/[a-z0-9]*\).*%\1%'.
1N/A (bootdir_device): Likewise.
1N/A (grubdir_device): Likewise.
1N/A
1N/A2000-10-10 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/start.S (copy_buffer): Use pusha and popa instead of
1N/A pushing and poping %di and %si individually, to reduce the code
1N/A size and save %cx as well. Reported by Herbert Nachtnebel
1N/A <nachtneb@iaee.tuwien.ac.at>.
1N/A
1N/A2000-10-10 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Daniel Pittman <daniel@rimspace.net>:
1N/A * stage2/builtins.c (setkey_func): Check if
1N/A KEYSYM_TABLE[I].UNSHIFTED_NAME and KEYSYM_TABLE[I].SHIFTED_NAME
1N/A are not NULLs, before calling grub_strcmp.
1N/A
1N/A2000-10-08 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * util/grub-install.in (grub_prefix): New variable. The default
1N/A is "/boot/grub".
1N/A If the user has a separate boot partition, set grub_prefix
1N/A instead of grubdir to "/grub".
1N/A When running the command "setup", specify $grub_prefix instead
1N/A of $grubdir to the option "--prefix".
1N/A Report by Thierry Laronde.
1N/A
1N/A2000-10-08 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (find_func): Clear ERRNUM after the last
1N/A call of next_partition, because it always sets ERRNUM. Reported
1N/A by Thierry Laronde <thierry.laronde@polynum.com>.
1N/A
1N/A2000-10-07 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * lib/device.c [__linux__] (write_to_partition): Open DEV with
1N/A O_RDWR instead of O_ORONLY.
1N/A
1N/A2000-10-06 Alessandro Rubini <rubini@gnu.org>
1N/A
1N/A * docs/user-ref.texi (Commands): Added missing commands and
1N/A reworded part of the text.
1N/A
1N/A * stage2/builtins.c (serial_func): Unswap the setting of "speed"
1N/A and "port".
1N/A
1N/A2000-10-06 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (setup_func): Append "... " to the
1N/A messages when calling embed_func and install_func, and print
1N/A the result.
1N/A Don't jump to the label "fail", even when embed_func failed.
1N/A
1N/A2000-10-05 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * stage2/disk_io.c (real_open_partition): Make sure that buf_geom
1N/A corresponds to the current drive before using it.
1N/A
1N/A * lib/device.c (get_drive_geometry): Use fstat if the native
1N/A geometry methods fail, such as when the drive is mapped to a
1N/A regular file.
1N/A
1N/A * docs/tutorial.texi: Add `@kbd{...}' to examples in order to
1N/A differentiate between command output and characters the user
1N/A should type.
1N/A * docs/user-ref.texi: Likewise.
1N/A
1N/A2000-10-05 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/grub.texi: Added an entry for the chapter "Serial
1N/A terminal".
1N/A * docs/tutorial.texi (Serial terminal): New chapter.
1N/A
1N/A2000-10-04 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * util/grub-image (VERSION): Fix version calculation to tolerate
1N/A `(GNU GRUB 0.5.96)'-style versions.
1N/A
1N/A * docs/grub.texi: Remove braces from `@unnumbered' sections so
1N/A that texi2html doesn't complain.
1N/A
1N/A * debian/rules: Build HTML documentation to appease the Debian
1N/A masses.
1N/A
1N/A2000-10-04 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/fsys_reiserfs.c (reiserfs_mount): Compare PART_LENGTH
1N/A with SUPERBLOCK + (sizeof(super) >> SECTOR_BITS) instead of
1N/A sizeof(struct reiserfs_super_block). Reported by Jochen
1N/A Hoenicke.
1N/A
1N/A2000-10-05 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * configure.in (AM_INIT_AUTOMAKE): The version number is set to
1N/A 0.5.97. This version number is a dummy, as we will never release
1N/A 0.5.97 actually.
1N/A
1N/A2000-10-01 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * lib/device.c [__linux__]: Don't include <linux/cdrom.h>.
1N/A [__linux__ && !CDROM_GET_CAPABILITY] (CDROM_GET_CAPABILITY):
1N/A Defined as 0x5331.
1N/A
1N/A2000-10-01 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * lib/device.c (get_drive_geometry) [__GNU__]: Get the number of
1N/A total sectors by fstat. The rest are filled with arbitrary
1N/A values.
1N/A
1N/A2000-09-30 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * util/grub-install.in (convert): The code for gnu* (i.e.
1N/A GNU/Hurd) was rewritten, since it didn't work for BSD
1N/A partitions.
1N/A Use "$tmp_disk *$" instead of "$tmp_disk" to get the drive name.
1N/A
1N/A2000-09-30 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/fsys_reiserfs.c (reiserfs_mount): Check if the length
1N/A of the partition is less than the size of a super block, before
1N/A attempting to read the super block.
1N/A
1N/A * grub/asmstub.c (console_putchar)
1N/A [HAVE_LIBCURSES_H && REFRESH_IMMEDIATELY]: Call refresh, to ease
1N/A debugging.
1N/A
1N/A2000-09-30 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Added two new commands, "partnew" and "parttype", based on the
1N/A patch by Stefan Ondrejicka <ondrej@idata.sk>:
1N/A * stage2/builtins.c (partnew_func): New function.
1N/A (builtin_partnew): New variable.
1N/A (parttype_func): New function.
1N/A (builtin_parttype): New variable.
1N/A (builtin_table): Added pointers to BUILTIN_PARTNEW and to
1N/A BUILTIN_PARTTYPE.
1N/A
1N/A2000-09-29 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (find_func): New variable GOT_FILE is set to
1N/A one if FILENAME is found. Otherwise, it is set to zero.
1N/A Clear ERRNUM at the end in the loop for floppies, to ensure that
1N/A ERRNUM is cleared before examining hard disks.
1N/A Rewrite the loop for hard disks using next_partitions, so this
1N/A function now checks all partitions you have certainly.
1N/A If GOT_FILE is non-zero, set ERRNUM to ERR_FILE_NOT_FOUND and
1N/A return one.
1N/A
1N/A2000-09-29 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/disk_io.c (check_BSD_parts): Removed.
1N/A (next_partition): New function.
1N/A (real_open_partition): Rewritten using next_partition.
1N/A (set_device) [!STAGE1_5]: Skip a comma in DEVICE, even when the
1N/A BSD partition is not specified.
1N/A [!STAGE1_5] (print_completions): Don't append ')' if the
1N/A partition is a PC slice which may have BSD partitions. Instead,
1N/A try to complete the command-line with possible partitions.
1N/A * stage2/shared.h (next_partition): Declared.
1N/A
1N/A2000-09-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * configure.in (--enable-serial): Changed to ...
1N/A (--disable-serial): ... this. Now the serial support is enabled
1N/A by default.
1N/A
1N/A2000-09-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/char_io.c [!STAGE1_5] (get_cmdline) [!SUPPORT_SERIAL]:
1N/A Don't check if the terminal is dumb. If the terminal is console,
1N/A always use console functions.
1N/A * stage2/builtins.c [!SUPPORT_NETBOOT] (bootp_func): Undefined.
1N/A [!SUPPORT_NETBOOT] (builtin_bootp): Likewise.
1N/A [!GRUB_UTIL] (device_func): Likewise.
1N/A [!GRUB_UTIL] (builtin_device): Likewise.
1N/A [!SUPPORT_NETBOOT] (dhcp_func): Likewise.
1N/A [!SUPPORT_NETBOOT] (builtin_dhcp): Likewise.
1N/A [!GRUB_UTIL] (quit_func): Likewise.
1N/A [!GRUB_UTIL] (builtin_quit): Likewise.
1N/A [!SUPPORT_NETBOOT] (rarp_func): Likewise.
1N/A [!SUPPORT_NETBOOT] (builtin_rarp): Likewise.
1N/A [!SUPPORT_SERIAL] (serial_func): Likewise.
1N/A [!SUPPORT_SERIAL] (builtin_serial): Likewise.
1N/A [!SUPPORT_SERIAL] (terminal_func): Likewise.
1N/A [!SUPPORT_SERIAL] (builtin_terminal): Likewise.
1N/A [!SUPPORT_NETBOOT] (tftpserver_func): Likewise.
1N/A [!SUPPORT_NETBOOT] (builtin_tftpserver): Likewise.
1N/A (builtin_table) [!SUPPORT_NETBOOT]: Removed the pointers to
1N/A BUILTIN_BOOTP, BUILTIN_DHCP, BUILTIN_RARP, and
1N/A BUILTIN_TFTPSERVER.
1N/A (builtin_table) [!SUPPORT_SERIAL]: Removed the pointers to
1N/A BUILTIN_SERIAL and BUILTIN_TERMINAL.
1N/A (builtin_table) [!GRUB_UTIL]: Removed the pointers to
1N/A BUILTIN_DEVICE and BUILTIN_QUIT.
1N/A
1N/A2000-09-26 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * util/grub-install.in (bootdir_device): New variable. If
1N/A $bootdir_device is not the same as $root_device, set root_device
1N/A and grubdir to $bootdir_device and "/grub", respectively.
1N/A Add --prefix=$grubdir into the command "setup".
1N/A
1N/A2000-09-26 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Add --prefix=DIR to the command "setup".
1N/A
1N/A * stage2/builtins.c (setup_func): New nested function,
1N/A check_file checks if the file FILE exists.
1N/A Remove the prefix "/boot/grub" in STAGE1_5_MAP.
1N/A Don't hardcode "/boot/grub/stage1", "/boot/grub/stage2", or
1N/A "/boot/grub/menu.lst". Instead, check if ARG contains
1N/A "--prefix=", and if specified, set PREFIX to the value.
1N/A If not specified, check "/boot/grub/stage1" and, if not found,
1N/A check "/grub/stage1". If a stage1 was found, set PREFIX to the
1N/A directory which contains the stage1.
1N/A
1N/A2000-09-12 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Add additional magic to avoid a bug in Linux. *sigh*
1N/A
1N/A * stage2/boot.c (load_image): Copy SRC to DEST first, and append
1N/A a "mem=" option to DEST instead of prepending.
1N/A
1N/A2000-09-11 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Reported by Alessandro Rubini:
1N/A * stage2/fsys_minix.c (minix_mount): Check if CURRENT_SLICE is a
1N/A partition type for minix fs, using the macro
1N/A IS_PC_SLICE_TYPE_MINIX.
1N/A * stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_MINIX): New macro.
1N/A (IS_PC_SLICE_TYPE_MINIX): Likewise.
1N/A
1N/A2000-09-09 Alessandro Rubini <rubini@morgana.systemy.it>
1N/A
1N/A * stage1/stage1.S (notification_string): Print "GRUB " instead
1N/A of "stage1 ".
1N/A * stage2/start.S [STAGE1_5] (notification_string): Print
1N/A "Loading stage1.5" instead of "stage1.5 ".
1N/A [!STAGE1_5] (notification_string): Print "Loading stage2"
1N/A instead of "stage2 ".
1N/A (notification_step): New label, followed by a string ".".
1N/A (notification_done): New label, followed by a string "\r\n".
1N/A (copy_buffer): Print NOTIFICATION_STEP after copying the buffer.
1N/A (bootit): Print NOTIFICATION_DONE before restoring %dx.
1N/A
1N/A2000-09-09 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Alessandro Rubini:
1N/A * configure.in (CPPFLAGS): Added -malign-jumps=1,
1N/A -malign-loops=1 and -malign-functions=1.
1N/A
1N/A2000-09-07 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Hal Snyder <hal@vailsys.com>:
1N/A * lib/device.c (get_drive_geometry) [__FreeBSD__ || __NetBSD__
1N/A || __OpenBSD__]: Call ioctl for FD instead of
1N/A DISKS[DRIVE].FLAGS. This was a mistake when I segregated this
1N/A function from asmstub.c.
1N/A
1N/A2000-09-07 Alessandro Rubini <rubini@gnu.org>
1N/A
1N/A * docs/tutorial.texi: Fixed a few typos and minor imprecisions.
1N/A * docs/prog-ref.texi: Likewise.
1N/A * docs/user-ref.texi: Likewise.
1N/A
1N/A2000-09-07 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Alessandro Rubini:
1N/A * stage2/builtins.c (terminal_func): Rename TIMEOUT to TO, to
1N/A suppress GCC warnings.
1N/A * grub/asmstub.c (serial_checkkey): Likewise.
1N/A
1N/A2000-09-06 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/char_io.c [!STAGE1_5] (auto_fill): New variable.
1N/A [!STAGE1_5] (get_cmdline): Save AUTO_FILL in SAVED_AUTO_FILL in
1N/A the beginning and restore AUTO_FILL before return.
1N/A Set AUTO_FILL to one and zero before and after calling
1N/A print_completions, respectively.
1N/A (grub_putchar) [!STAGE1_5]: Use a static variable COL to track
1N/A the position of the cursor. If C is a carriage return, clear
1N/A COL. If C is a backspace and COL is positive, decrease COL. If C
1N/A is a printable character, increase COL. In this case, if
1N/A AUTO_FILL is non-zero and COL is greater than or equal to 79,
1N/A put a newline automatically.
1N/A * stage2/shared.h (auto_fill): Declared.
1N/A * stage2/stage2.c (run_menu): In the menu interface, disable the
1N/A auto fill mode (i.e. set AUTO_FILL to zero), and enable it again
1N/A when booting an entry.
1N/A (cmain): Initialize AUTO_FILL (i.e. set it to one) in the
1N/A beginning of the loop.
1N/A
1N/A2000-09-06 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Add support for "boot previously booted entry by default", based
1N/A on the patch by Mike Meyer <mwm@mired.org>, but I've modified
1N/A his patch thoroughly.
1N/A
1N/A * grub/asmstub.c (saved_entryno): New variable. This is a dummy.
1N/A * stage1/stage1.h (COMPAT_VERSION_MINOR): Incremented.
1N/A * stage2/asm.S (saved_entryno): New variable.
1N/A (codestart) [!SUPPORT_DISKLESS]: Set INSTALL_SECOND_SECTOR to
1N/A %ebp. %ebp is set in start.S.
1N/A (install_second_sector): New variable.
1N/A * stage2/builtins.c (current_entryno): New variable.
1N/A (default_func) [!SUPPORT_DISKLESS]: If ARG is "saved", set
1N/A DEFAULT_ENTRY to SAVED_ENTRYNO.
1N/A (savedefault_func): New function.
1N/A (builtin_savedefault): New variable.
1N/A (builtin_table): Added a pointer to BUILTIN_SAVEDEFAULT.
1N/A * stage2/shared.h (STAGE2_SAVED_ENTRYNO): New macro.
1N/A (STAGE2_STAGE2_ID): Changed to 0x10.
1N/A (STAGE2_FORCE_LBA): Chaged to 0x11.
1N/A (STAGE2_VER_STR_OFFS): Changed to 0x12.
1N/A (install_second_sector): Declared.
1N/A (saved_entryno): Likewise.
1N/A (current_entryno): Likewise.
1N/A * stage2/stage2.c (run_menu): Set CURRENT_ENTRYNO to FIRST_ENTRY
1N/A + ENTRYNO, right before calling run_script.
1N/A * stage2/start.S (start): Save the sector number of the second
1N/A sector in %ebp.
1N/A
1N/A2000-09-05 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage1/stage1.S (lba_mode) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
1N/A Don't check for the geometry, since some BIOSes don't return the
1N/A number of total sectors correctly, even if they have working LBA
1N/A support.
1N/A * stage2/start.S (lba_mode) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
1N/A Likewise.
1N/A * stage2/bios.c (biosdisk) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
1N/A Likewise.
1N/A Reported by Jan Fricke <fricke@uni-greifswald.de> and Pixel
1N/A <pixel@mandrakesoft.com>.
1N/A
1N/A2000-09-05 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Alessandro Rubini <rubini@gnu.org>:
1N/A * stage2/char_io.c (print_error) [!STAGE1_5]: Print ERRNUM like
1N/A "Error 9: Unknown boot failure".
1N/A (print_error) [STAGE1_5]: Don't print a colon.
1N/A * util/grub-install.in: When checking if an error occurred, use
1N/A the expression "Error [0-9]*: " instead of "Error: ".
1N/A * docs/user-ref.texi (Stage1.5 errors): Updated, since the error
1N/A form changed.
1N/A
1N/A2000-09-04 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/stage2.c (run_menu) [GRUB_UTIL]: Set DISP_UP and
1N/A DISP_DOWN to ACS_UARROW and ACS_DARROW, respectively. Don't call
1N/A grub_printf here.
1N/A (run_menu) [!GRUB_UTIL]: Don't call grub_printf here. Instead,
1N/A call it...
1N/A (run_menu): ... here.
1N/A * stage2/shared.h (ACS_ULCORNER): Always define this ourselves,
1N/A whether your curses library has the definition.
1N/A (ACS_URCORNER): Likewise.
1N/A (ACS_LLCORNER): Likewise.
1N/A (ACS_LRCORNER): Likewise.
1N/A (ACS_HLINE): Likewise.
1N/A (ACS_VLINE): Likewise.
1N/A (ACS_LARROW): Likewise.
1N/A (ACS_RARROW): Likewise.
1N/A (ACS_UARROW): Likewise.
1N/A (ACS_DARROW): Likewise.
1N/A
1N/A * stage2/char_io.c [SUPPORT_SERIAL] (serial_cls): If the
1N/A terminal is dumb, just put a newline.
1N/A * stage2/builtins.c (terminal_func) [SUPPORT_SERIAL]: When
1N/A choosing a terminal, don't set TERMINAL to the type of the
1N/A terminal. Instead, apply a logical AND operation with
1N/A TERMINAL_DUMB, since previous code brushed off the dumb
1N/A attribute.
1N/A
1N/A2000-09-04 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/stage2.c (run_menu): If SHOW_MENU is zero, print a
1N/A message with the timeout per second.
1N/A If GRUB_TIMEOUT is negative, set SHOW_MENU to one, since the
1N/A condition "no timeout and no interface" is nonsense.
1N/A If GRUB_TIMEOUT is equal to or greater than zero and the
1N/A terminal is dumb, set SHOW_MENU to zero.
1N/A If SHOW_MENU is non-zero and the terminal is dumb, enter the
1N/A command-line interface instead. If AUTH is false and PASSWORD is
1N/A non-NULL, prompt the user to enter a password until the entered
1N/A password is identical to PASSWORD.
1N/A
1N/A2000-09-03 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * util/grub-install.in: Fix a typo: grub_dir -> grubdir.
1N/A * stage2/builtins.c (install_func) [GRUB_UTIL]: Open a Stage 2
1N/A with "r+" instead of "r", as GRUB needs to overwrite it.
1N/A
1N/A2000-09-02 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/stage2.c (run_menu): Don't use either `p' or `n' to
1N/A move the cursor, because `p' is already used for another
1N/A purpose (password).
1N/A (run_menu) [SUPPORT_SERIAL]: Don't set the variables DISP_UP and
1N/A DISP_DOWN at the start time. Instead, set them just before using
1N/A them actually, because TERMINAL may change when running a menu.
1N/A
1N/A2000-09-01 Klaus Reichl <Klaus.Reichl@alcatel.at>
1N/A
1N/A * stage2/stage2.c (run_menu): Setup and use disp_up, disp_down
1N/A depending on the terminal mode.
1N/A (run_menu): Allow '^' (resp. 'p') and 'v' (resp 'n') keys we
1N/A described in our help above (resp. authors preferences).
1N/A
1N/A2000-08-31 Klaus Reichl <Klaus.Reichl@alcatel.at>
1N/A
1N/A * stage2/stage2.c (set_line): Go back one char, which is
1N/A consistent with the original situation, when a timeout was
1N/A running.
1N/A (run_menu): If GRUB_TIMEOUT is stopped don't loop busy over
1N/A CHECKKEY, just relax in GETKEY.
1N/A
1N/A * stage2/builtins.c (serial_func): --speed handling: corrected
1N/A typo: set SPEED instead of PORT.
1N/A
1N/A2000-08-31 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (terminal_func): Added two new options,
1N/A --dumb and --timeout=SECS.
1N/A * stage2/char_io.c [!STAGE1_5] (getkey): Use logical AND
1N/A operations, when checking if the terminal is a console or a
1N/A serial terminal.
1N/A [!STAGE1_5] (getkey) [SUPPORT_SERIAL]: Don't check if both
1N/A TERMINAL_CONSOLE and TERMINAL_SERIAL are set in TERMINAL.
1N/A
1N/A2000-08-31 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage1/stage1.S (MOV_MEM_TO_AL): New macro.
1N/A (real_start): Use the macro MOV_MEM_TO_AL instead of using movb
1N/A directly, because binutils-2.9.1.0.x doesn't produce a short
1N/A opcode for it automatically. Reported by Alessandro Rubini
1N/A <rubini@gnu.org>.
1N/A
1N/A2000-08-30 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * configure.in (CPPFLAGS): Remove -Wundef by default. Add the
1N/A option only if the C compiler supports it, because GCC 2.7.x
1N/A doesn't support it.
1N/A * grub/main.c (longopts): The type of the argument for "hold" is
1N/A changed to OPTIONAL_ARGUMENT.
1N/A (main): If --hold is specified, check if OPTARG is zero. If so,
1N/A set HOLD to -1, otherwise, set it to the digit OPTARG.
1N/A If HOLD is greater than zero, decrease it once per loop.
1N/A
1N/A2000-08-30 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A The command-line interface is switched to single-line editing
1N/A mode.
1N/A
1N/A * stage2/char_io.c [!STAGE1_5] (get_cmdline): Extensively
1N/A rewritten. The nested functions cl_print and cl_kill_to_end are
1N/A removed, cl_refresh, cl_backward, cl_forward and cl_delete are
1N/A added, and, cl_init and cl_insert are rewritten from scratch.
1N/A See the source code, for more information. I don't think this
1N/A kind of changes can be represented in ChangeLog.
1N/A [!STAGE1_5] (CMDLINE_WIDTH): New macro.
1N/A [!STAGE1_5] (CMDLINE_MARGIN): Likewise.
1N/A * stage2/shared.h (TERMINAL_DUMB): Likewise.
1N/A
1N/A2000-08-28 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * grub/asmstub.c (console_putchar) [HAVE_LIBCURSES]: If
1N/A USE_CURSES is true, emulate a new line like a ordinary terminal,
1N/A because ncurses treats it badly. If current position on y-axis
1N/A is the bottom of the screen, call scroll. Otherwise, call move
1N/A with the arguments, Y + 1 and X, where X and Y are current
1N/A position of the cursor.
1N/A
1N/A2000-08-28 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/asm.S (console_putchar): Don't print a carriage return
1N/A when C is a newline.
1N/A * stage2/char_io.c (grub_putchar): Call grub_putchar with the
1N/A arugment set to a carriage return, if C is a newline.
1N/A [!STAGE1_5 && SUPPORT_SERIAL]: Don't print a carriage return
1N/A when C is a newline.
1N/A
1N/A2000-08-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * lib/device.c [__linux__]: Don't include linux/fs.h.
1N/A [!BLKGETSIZE] (BLKGETSIZE): Defined as _IO(0x12,96).
1N/A * grub/asmstub.c [__linux__]: Don't include linux/fs.h.
1N/A
1N/A2000-08-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Preserve a magic number used by Windows NT in a MBR. Shit!
1N/A Reported by Khimenko Victor.
1N/A
1N/A * stage1/stage1.h (STAGE1_WINDOWS_NT_MAGIC): New macro.
1N/A * stage1/stage1.S (copy_buffer): Use pusha and popa, instead of
1N/A pushing/poping %cx and %si separately, to reduce the code size.
1N/A (nt_magic): New label. Set the offset to _start plus
1N/A STAGE1_WINDOWS_NT_MAGIC
1N/A (part_start): New label.
1N/A * stage2/builtins.c (install_func): If DEST_DRIVE is a hard
1N/A disk, copy the possible partition table and Windows NT magic to
1N/A STAGE1_BUFFER from OLD_SECT.
1N/A
1N/A2000-08-26 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/char_io.c (translate_keycode) [SUPPORT_SERIAL]: Don't
1N/A drain the input buffer, since that was irritating.
1N/A
1N/A2000-08-26 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Don't save/restore fragile registers unnecessarily.
1N/A
1N/A * stage2/asm.S [!STAGE1_5] (track_int13): Don't save/restore
1N/A %ecx, %edx, or %eax.
1N/A [!STAGE1_5] (set_int13_handler): Likewise.
1N/A (biosdisk_int13_extensions): Likewise.
1N/A (biosdisk_standard): Likewise.
1N/A (check_int13_extensions): Likewise.
1N/A (get_diskinfo_int13_extensions): Likewise.
1N/A (get_diskinfo_standard): Likewise.
1N/A (get_diskinfo_floppy): Likewise.
1N/A [!STAGE1_5] (get_eisamemsize): Likewise.
1N/A [!STAGE1_5] (get_mmap_entry): Likewise.
1N/A [!STAGE1_5] (console_cls): Likewise.
1N/A [!STAGE1_5] (nocursor): Likewise.
1N/A [!STAGE1_5] (console_getxy): Likewise.
1N/A [!STAGE1_5] (console_gotoxy): Likewise.
1N/A [!STAGE1_5] (set_attrib): Likewise.
1N/A [!STAGE1_5] (getrtsecs): Likewise.
1N/A [!STAGE1_5] (currticks): Likewise, and don't zero %eax
1N/A explicitly, since prot_to_real does that.
1N/A
1N/A2000-08-25 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/char_io.c [!STAGE1_5] (translate_keycode): New
1N/A function. The serial part is stolen from the patch by Christoph
1N/A Plattner.
1N/A [!STAGE1_5] (get_cmdline): Call translate_keycode instead of
1N/A translating special key codes into ASCII characters by itself.
1N/A * stage2/stage2.c (run_menu): Wrap getkey with the macro
1N/A ASCII_CHAR, when checking if ESC is pressed.
1N/A Call translate_keycode as well as getkey, unless checkkey
1N/A returns -1. So don't check if C is KEY_DOWN or KEY_UP. And don't
1N/A use the macro ASCII_CHAR for C explicitly.
1N/A * stage2/shared.h (translate_keycode): Declared.
1N/A
1N/A2000-08-24 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c [GRUB_UTIL]: Include stdio.h before
1N/A shared.h. Reported by Mathieu Chouquet-Stringer
1N/A <mchouque@cs.stevens-tech.edu>.
1N/A
1N/A2000-08-21 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * configure.in (--enable-serial-speed-emulation): New option.
1N/A (SERIAL_SPEED_SIMULATION): New conditional.
1N/A * grub/Makefile.am (SERIAL_FLAGS): New variable. Set
1N/A -DSUPPORT_SERIAL=1 and -DSIMULATE_SLOWNESS_OF_SERIAL=1, if
1N/A SERIAL_SPEED_SIMULATION is defined, otherwise, set it to
1N/A only -DSUPPORT_SERIAL=1.
1N/A (AM_CFLAGS): Removed -DSUPPORT_SERIAL=1 and added
1N/A $(SERIAL_FLAGS).
1N/A * grub/asmstub.c [SIMULATE_SLOWNESS_OF_SERIAL] (serial_speed):
1N/A New variable.
1N/A (grub_setjmp): Removed.
1N/A (grub_longjmp): Likewise.
1N/A (serial_getkey) [SIMULATE_SLOWNESS_OF_SERIAL]: Wait for
1N/A 1000000 / (SERIAL_SPEED >> 3) microseconds using gettimeofday.
1N/A (serial_putchar) [SIMULATE_SLOWNESS_OF_SERIAL]: Likewise.
1N/A (serial_init) [SIMULATE_SLOWNESS_OF_SERIAL]: Set SERIAL_SPEED to
1N/A SPEED.
1N/A * stage2/builtins.c (serial_func) [SUPPORT_SERIAL]: Added
1N/A a new option, `--speed'.
1N/A (builtin_serial): Added a description about --speed.
1N/A (terminal_func): When get a key from a serial device, if GRUB is
1N/A in the command-line interface, call grub_longjmp with
1N/A RESTART_CMDLINE_ENV, instead of init_page.
1N/A * stage2/cmdline.c (restart_cmdline_env): New variable.
1N/A (enter_cmdline): Call grub_setjmp with RESTART_CMDLINE_ENV after
1N/A calling init_cmdline.
1N/A (run_script): Run BUILTIN->FUNC with BUILTIN_SCRIPT instead of
1N/A BUILTIN_CMDLINE.
1N/A * stage2/shared.h (BUILTIN_SCRIPT): New macro.
1N/A [GRUB_UTIL] (grub_setjmp): Defined as setjmp.
1N/A [GRUB_UTIL] (grub_longjmp): Defined as longjmp.
1N/A (restart_cmdline_env): Declared.
1N/A
1N/A2000-08-20 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * configure.in (--enable-serial): New option. Serial terminal
1N/A support will be enabled by default, once it is stabilized.
1N/A (SERIAL_SUPPORT): New conditional.
1N/A * grub/Makefile.am (AM_CFLAGS): Added -DSUPPORT_SERIAL=1.
1N/A * grub/asmstub.c (cls): Renamed to ...
1N/A (console_cls): ... this.
1N/A (getxy): Renamed to ...
1N/A (console_getxy): ... this.
1N/A (gotoxy): Renamed to ...
1N/A (console_gotoxy): ... this.
1N/A * stage2/Makefile.am (libgrub_a_CFLAGS): Added
1N/A -DSUPPORT_SERIAL=1.
1N/A (NETBOOT_FLAGS): New variable.
1N/A (SERIAL_FLAGS): Likewise.
1N/A (STAGE2_COMPILE): Added $(NETBOOT_FLAGS) and $(SERIAL_FLAGS).
1N/A * stage2/asm.S [!STAGE1_5] (cls): Renamed to ...
1N/A [!STAGE1_5] (console_cls): ... this.
1N/A [!STAGE1_5] (getxy): Renamed to ...
1N/A [!STAGE1_5] (console_getxy): ... this.
1N/A [!STAGE1_5] (gotoxy): Renamed to ...
1N/A [!STAGE1_5] (console_gotoxy): ... this.
1N/A * stage2/builtins.c (terminal_func): If the bit flag
1N/A BUILTIN_CMDLINE in FLAGS is set, call init_page. But this should
1N/A be fixed so that it restarts enter_cmdline instead.
1N/A * stage2/char_io.c [!STAGE1_5] (gotoxy): New function.
1N/A [!STAGE1_5] (serial_gotoxy): Likewise.
1N/A [!STAGE1_5] (getxy): Likewise.
1N/A [!STAGE1_5] (serial_getxy): Likewise.
1N/A [!STAGE1_5] (cls): Likewise.
1N/A [!STAGE1_5] (serial_cls): Likewise.
1N/A * stage2/serial.h (serial_cls): Declared.
1N/A (serial_getxy): Likewise.
1N/A (serial_gotoxy): Likewise.
1N/A * stage2/shared.h (console_cls): Likewise.
1N/A (console_getxy): Likewise.
1N/A (console_gotoxy): Likewise.
1N/A * stage2/stage2.c (print_entries): If serial terminal is
1N/A enabled, print ACS_UARROW and ACS_DARROW instead of DISP_UP and
1N/A DISP_DOWN, respectively.
1N/A (print_border): If serial terminal is enabled, print
1N/A ACS_ULCORNER, ACS_URCORNER, ACS_LLCORNER, ACS_LRCORNER,
1N/A ACS_HLINE and ACS_VLINE instead of DISP_UL, DISP_UR, DISP_LL,
1N/A DISP_LR, DISP_HORIZ and DISP_VERT, respectively.
1N/A (print_border) [SUPPORT_SERIAL]: Color the menu only if console
1N/A is used.
1N/A (set_line): Take two more arguments, ENTRYNO and MENU_ENTRIES.
1N/A (set_line_normal): Likewise.
1N/A (set_line_highlight): Likewise.
1N/A (set_line) [SUPPORT_SERIAL]: If serial terminal is enabled, get
1N/A the menu entry whose attributes are being changed and redraw the
1N/A line.
1N/A (set_line_highlight) [SUPPORT_SERIAL]: If serial terminal is
1N/A enabled, print `ESC [ 7 m' and `ESC [ 0 m' before and after
1N/A calling set_line, respectively.
1N/A (run_menu) [SUPPORT_SERIAL]: Call nocursor only if console is
1N/A used.
1N/A
1N/A2000-08-20 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Now the serial console support is partially working.
1N/A
1N/A * grub/asmstub.c (serial_checkkey): Specify a pointer to TIMEOUT
1N/A as the fifth argument to select.
1N/A (serial_get_port): New function. Just a dummy.
1N/A (serial_init): If a serial device is opened, close SERIAL_FD
1N/A before opeing a new serial device.
1N/A Don't specify O_NDELAY to open.
1N/A * stage2/builtins.c [SUPPORT_SERIAL]: Include serial.h.
1N/A (serial_func): New function.
1N/A (builtin_serial): New variable.
1N/A (terminal_func): New function.
1N/A (builtin_terminal): New variable.
1N/A (builtin_table): Add pointers to BUILTIN_SERIAL and
1N/A BUILTIN_TERMINAL.
1N/A * stage2/char_io.c [SUPPORT_SERIAL]: Include serial.h.
1N/A (getkey) [SUPPORT_SERIAL]: If both TERMINAL_CONSOLE and
1N/A TERMINAL_SERIAL are set in TERMINAL simultaneously, print a
1N/A warning and force the console terminal.
1N/A (checkkey) [SUPPORT_SERIAL]: If TERMINAL_SERIAL is set in
1N/A TERMINAL, call serial_checkkey.
1N/A (grub_putchar) [SUPPORT_SERIAL]: If TERMINAL_SERIAL is set in
1N/A TERMINAL, call serial_putchar. If C is a newline, print a
1N/A carriage return, before printing a newline.
1N/A
1N/A2000-08-15 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A The image `nbgrub' now relocates itself from 0x10000 to 0x8000,
1N/A since the Network Boot Image Proposal doesn't permit a second
1N/A loader to be loaded below 0x10000. Reported by Matthias
1N/A Kretschmer <McCratch@gmx.net>.
1N/A
1N/A * Makefile.am (NBLOADER_LINK): New variable.
1N/A (nbloader_exec_LDFLAGS): Set to $(NBLOADER_LINK) instead of
1N/A $(START_LINK).
1N/A * stage2/nbi.h (NBI_DEST_ADDR): Changed to 0x10000.
1N/A (NBI_DEST_SEG): New macro.
1N/A (NBI_DEST_OFF): Likewise.
1N/A (RELOCATED_ADDR): Likewise.
1N/A (RELOCATED_SEG): Likewise.
1N/A (RELOCATED_OFF): Likewise.
1N/A (STAGE2_START_ADDR): Likewise.
1N/A * stage2/nbloader.S: Added .code16 directive at the start of the
1N/A code.
1N/A Set the segment and the offset of the load address to
1N/A NBI_DEST_SEG and NBI_DEST_OFF, respectively.
1N/A Set the segment and the offset of the start address to
1N/A NBI_DEST_SEG and NBI_DEST_OFF + relocate - _start, respectively.
1N/A Added a routine for relocating itself.
1N/A (relocate): New label.
1N/A (copy_rest): Likewise.
1N/A (copy_loop): Likewise.
1N/A (copy): Likewise.
1N/A (boot_stage2): Likewise.
1N/A
1N/A2000-08-13 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * grub/main.c (main): Move the version number inside the
1N/A parentheses, since the grub shell is merely one of the programs
1N/A included in GNU GRUB.
1N/A
1N/A2000-08-13 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Add a serial device emulation into the grub shell.
1N/A
1N/A * grub/asmstub.c: Include sys/time.h and termios.h.
1N/A (serial_fd): New variable.
1N/A (serial_device): Likewise.
1N/A (serial_getkey): New function.
1N/A (serial_checkkey): Likewise.
1N/A (serial_putchar): Likewise.
1N/A (get_termios_speed): Likewise.
1N/A (serial_init): Likewise.
1N/A (set_serial_device): Likewise.
1N/A (grub_stage2): Restore SERIAL_DEVICE and SERIAL_FD, if they were
1N/A allocated.
1N/A * stage2/serial.h [GRUB_UTIL] (set_serial_device): Declared.
1N/A
1N/A2000-08-13 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/asm.S (codestart) [SUPPORT_DISKLESS]: Don't reset a
1N/A disk system. That is not only uncessary but also harmful.
1N/A
1N/A2000-08-12 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Add a serial device driver (but only the driver).
1N/A
1N/A * stage2/serial.c: New file.
1N/A * stage2/serial.h: Likewise.
1N/A * stage2/shared.h (serial_getkey): Moved to stage2/serial.h.
1N/A (serial_checkkey): Likewise.
1N/A (serial_putchar): Likewise.
1N/A * stage2/Makefile.am (noinst_HEADERS): Added serial.h.
1N/A (pre_stage2_exec_SOURCES): Added serial.c.
1N/A
1N/A2000-08-10 Pavel Roskin <proski@gnu.org>
1N/A
1N/A * docs/tutorial.texi: Minor fixes.
1N/A
1N/A2000-08-10 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/tutorial.texi (Installation): Divided into three sections
1N/A instead of two sections. Don't describe the usage of the the
1N/A grub shell any longer. Instead, how to use grub-install is
1N/A documented.
1N/A
1N/A2000-08-09 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c [GRUB_UTIL]: Include stdio.h.
1N/A (embed_func) [GRUB_UTIL && __linux__]: When embedding a Stage
1N/A 1.5 into a partition, call write_to_partition instead of
1N/A biosdisk.
1N/A (install_func): Set DEST_PARTITION to the partition where Stage
1N/A 1 resides.
1N/A Set SRC_PART_START to the starting address of the partition
1N/A where Stage 2 resides.
1N/A (install_func) [GRUB_UTIL]: Set STAGE2_OS_FILE to the file name
1N/A of Stage 2 under an OS, if the new option "--stage2" is
1N/A specified. Otherwise, set it to null.
1N/A If STAGE2_OS_FILE is not null, modify the Stage 2 via the
1N/A filesystem serviced by the OS.
1N/A (install_func) [GRUB_UTIL && __linux__]: If STAGE2_OS_FILE is
1N/A null but the Stage2 resides in a partition, use
1N/A write_to_partition.
1N/A If DEST_PARTITION is not 0xFFFFFF, use write_to_partition, to
1N/A embed Stage 1.
1N/A (setup_func) [GRUB_UTIL]: If --stage2 is specified, set
1N/A STAGE2_ARG to the string pointing to the option. Otherwise, set
1N/A it to null.
1N/A (setup_func) [!GRUB_UTIL]: Set STAGE2_ARG to null.
1N/A (setup_func): If STAGE2_ARG is not null, add STAGE2_ARG and a
1N/A space character into CMD_ARG.
1N/A * lib/device.c (_LARGEFILE_SOURCE): Defined.
1N/A (_FILE_OFFSET_BITS): Likewise.
1N/A [__linux__] (write_to_partition): New function.
1N/A * lib/device.h [__linux__] (write_to_partition): Declared.
1N/A * util/grub-install.in: Specify the option "--stage2" for the
1N/A command "setup".
1N/A
1N/A2000-08-04 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/fsys_fat.c (fat_superblock): clust_eof_marker added.
1N/A (fat_mount): Initialize clust_eof_marker to 0xff8, 0xfff8, or
1N/A 0xffffff8, depending on fat size. Support for single active FAT
1N/A added (FAT32 extension). Changed the boundary between FAT12 and
1N/A FAT16, again. The Microsoft KB article Q65541 seems to be wrong
1N/A here, I go with mtools and the previous behaviour of grub: FAT12
1N/A iff number of clusters (without counting the two nonexisting
1N/A clusters) is less or equal 4095.
1N/A (fat_read): Report error if cluster number is too big, but not
1N/A greater or equal clust_eof_marker.
1N/A * stage2/fsys_reiserfs.c (journal_init): Fixed calculation of
1N/A journal_transaction.
1N/A
1N/A2000-08-01 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/fsys_reiserfs.c: Symlink support added.
1N/A (S_ISLNK): New macro.
1N/A (PATH_MAX): Likewise.
1N/A (MAX_LINK_COUNT): Likewise.
1N/A (reiserfs_dir): Check for symlink and handle them.
1N/A (read_tree_node): Take a block number and check if tree node was
1N/A already read in. If not update the INFO->blocks field.
1N/A (next_key): Changed call of read_tree_node.
1N/A (search_stat): Likewise.
1N/A (journal_init): Fixed a small bug. Some debugging messages added.
1N/A
1N/A2000-07-31 Pavel Roskin <proski@gnu.org>
1N/A
1N/A * grub/asmstub.c (biosdisk) [__linux__]: The first argument for
1N/A _llseek renamed from "seeked_fd" to "filedes".
1N/A
1N/A2000-07-30 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/appendices.texi (FAQ): Added the answer for the separate
1N/A boot partition problem.
1N/A
1N/A2000-07-30 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Update the network support to Etherboot-4.6.4.
1N/A
1N/A From Daniel Wagner <wagi@gmx.ch>:
1N/A * netboot/3c509.c: Copied from Etherboot-4.6.4.
1N/A * netboot/3c509.h: Likewise.
1N/A * netboot/cards.h: Likewise.
1N/A * netboot/ns8390.c: Likewise.
1N/A * netboot/sk_g16.c: Likewise.
1N/A * netboot/sk_g16.h: Likewise.
1N/A * netboot/tulip.c: Likewise.
1N/A * netboot/pci.h: Likewise.
1N/A * netboot/main.c (dhcpdiscover): Updated.
1N/A (dhcprequest): Likewise.
1N/A (bootp): Likewise.
1N/A * netboot/README.netboot: Added the information about the new
1N/A option --enable-ns8390-force-16bit.
1N/A * configure.in (--enable-ns8390-force-16bit): New option.
1N/A
1N/A * netboot/config.c: Updated.
1N/A
1N/A2000-07-29 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A The Linux zImage support is working now.
1N/A
1N/A * stage2/asm.S (linux_boot): Add 3 into %ecx and shift %ecx to
1N/A the right by 2 bits, instead of shift %ecx to the left by 2
1N/A bits.
1N/A
1N/A2000-07-29 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/fsys_reiserfs.c (block_read): Changed the variable "len"
1N/A to "j_len" (it shadowed a parameter).
1N/A
1N/A2000-07-29 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * configure.in (CPPFLAGS): Added -Wshadow, -Wpointer-arith and
1N/A -Wundef, as GCC sometimes more clever than me. :)
1N/A * stage2/shared.h [!ASM_FILE] (multi_boot): Change the name of
1N/A the second argument from "mbi" to "mb_info".
1N/A [!ASM_FILE] (biosdisk): Rename the first argument "read" to
1N/A "subfunc".
1N/A * lib/device.h (init_device_map): Change the name of the third
1N/A argument from "floppy_disks" to "no_floppies".
1N/A * lib/device.c (read_device_map): Rename the internal function
1N/A "print_error" to "show_error".
1N/A * stage2/builtins.c (install_func): Rename CONFIG_FILE to
1N/A REAL_CONFIG.
1N/A (setup_func): Rename INSTALL_DRIVE, INSTALL_PARTITION and
1N/A CONFIG_FILE to INSTALLED_DRIVE, INSTALLED_PARTITION and
1N/A CONFIG_FILENAME, respectively.
1N/A * stage2/char_io.c (convert_to_ascii): Rename the internal
1N/A variable C to TMP.
1N/A (get_cmdline): Rename KILL to KILL_BUF.
1N/A Rename the second argument for cl_print to REAL_ECHO_CHAR from
1N/A ECHO_CHAR.
1N/A * stage2/stage2.c (run_menu): Rename the internal variable
1N/A NUM_ENTRIES to NEW_NUM_ENTRIES.
1N/A (cmain): Rename KILL to KILL_BUF.
1N/A * stage2/disk_inode_ffs.h: Check if BYTE_MSF is defined before
1N/A checking the value.
1N/A * stage2/fsys_ext2fs.c (ext2fs_dir): Check if E2DEBUG is
1N/A defined, instead of if the value is non-zero.
1N/A * grub/asmstub.c: Check if __GLIBC__ is defined before checking
1N/A the value.
1N/A (biosdisk) [__linux__]: Likewise.
1N/A Rename the first argument for _llseek to "seeked_fd" from "fd".
1N/A (multi_boot): Rename the second argument to "mb_info" from
1N/A "mbi".
1N/A
1N/A2000-07-27 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * util/grub-image.in: Initial cut at a script for creating GRUB
1N/A boot images.
1N/A * util/Makefile.am (noinst_SCRIPTS): Added grub-image.
1N/A * configure.in (AC_OUTPUT): Added util/grub-image.
1N/A
1N/A2000-07-27 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/asm.S (check_int13_extensions): Fixed the effect of
1N/A the --force-lba switch in stage2/stage1_5.
1N/A
1N/A2000-07-25 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/fsys_fat.c (fat_mount): Fixed calculation of num_clust.
1N/A It was off by two, since the two non existing clusters 0 and 1
1N/A were not taken into account. Also fixed the boundary between
1N/A FAT12 and FAT16.
1N/A
1N/A2000-07-25 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/asm.S [!STAGE1_5] (linux_text_len): New variable.
1N/A [!STAGE1_5] (linux_boot): Don't set %eax to LINUX_SETUP
1N/A meaninglessly.
1N/A Set %ecx to LINUX_TEXT_LEN instead of LINUX_KERNEL_MAXLEN.
1N/A [!STAGE1_5] (big_linux_boot): Disable interrupts before changing
1N/A the stack pointer.
1N/A Change %ss right before %sp.
1N/A Reverse the arguments for ljmp. A segment must be after an
1N/A offset. *sigh*
1N/A * stage2/boot.c (load_image): Set LINUX_TEXT_LEN to TEXT_LEN,
1N/A if a Linux kernel is loaded successfully.
1N/A * stage2/shared.h (LINUX_VID_MODE_OFFSET): Removed.
1N/A [!ASM_FILE] (linux_kernel_header): Change the type of the member
1N/A `heap_end_ptr' to unsigned short.
1N/A [!ASM_FILE] (linux_text_len): Declared.
1N/A
1N/A2000-07-24 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Comply with the Linux/i386 boot protocol version 2.02.
1N/A
1N/A * stage2/asm.S [!STAGE1_5] (linux_boot): Set the length of moved
1N/A bytes to LINUX_KERNEL_MAXLEN instead of
1N/A LINUX_KERNEL_LEN_OFFSET(%eax), since the field is obsolete.
1N/A [!STAGE1_5] (big_linux_boot): Don't use SEGMENT or OFFSET.
1N/A Instead, embed the segment and the offset in the code itself.
1N/A Set %ds, %es, %fs and %gs to %ax (LINUX_INIT_SEG).
1N/A * stage2/boot.c (load_image): Rewrite the Linux support code
1N/A heavily. Use a structure instead of a batch of macros, to access
1N/A a Linux kernel header.
1N/A (load_initrd): If MOVETO plus LEN is greater than or equal to
1N/A LINUX_INITRD_MAX_ADDRESS, set MOVETO to LINUX_INITRD_MAX_ADDRESS
1N/A minus LEN with page aligned.
1N/A * stage2/shared.h (LINUX_MAGIC_SIGNATURE): New macro.
1N/A (LINUX_DEFAULT_SETUP_SECTS): Likewise.
1N/A (LINUX_FLAG_CAN_USE_HEAP): Likewise.
1N/A (LINUX_INITRD_MAX_ADDRESS): Likewise.
1N/A (LINUX_MAX_SETUP_SECTS): Likewise.
1N/A (LINUX_BOOT_LOADER_TYPE): Likewise.
1N/A (LINUX_HEAP_END_OFFSET): Likewise.
1N/A (LINUX_SETUP_MAXLEN): Removed.
1N/A (LINUX_KERNEL_LEN_OFFSET): Likewise.
1N/A (LINUX_SETUP_LEN_OFFSET): Likewise.
1N/A (LINUX_SETUP_STACK): Set to 0x7F00 instead of 0x3FF4 (why was it
1N/A this value?).
1N/A (LINUX_SETUP_LOADER): Removed.
1N/A (LINUX_SETUP_LOAD_FLAGS): Likewise.
1N/A (LINUX_SETUP_CODE_START): Likewise.
1N/A (LINUX_SETUP_INITRD): Likewise.
1N/A (CL_MY_LOCATION): Set to RAW_ADDR(0x97F00) instead of
1N/A RAW_ADDR(0x92000).
1N/A (CL_MY_END_ADDR): Set to RAW_addr(0x97FFF) instead of
1N/A RAW_ADDR(0x920FF).
1N/A (CL_MAGIC_ADDR): Removed.
1N/A (CL_OFFSET): Likewise.
1N/A [!ASM_FILE] (struct linux_kernel_header): New structure tag.
1N/A
1N/A2000-07-23 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/tutorial.texi: Fix some syntax errors and ambiguous
1N/A sentences. Suggested by M. Meiarashi <mes@st.rim.or.jp>.
1N/A
1N/A2000-07-14 Khimenko Victor <grub@khim.sch57.msk.ru>
1N/A
1N/A * stage2/boot.c (load_image): When getting the text length of a
1N/A Linux kernel, use unsigned long instead of unsigned short.
1N/A
1N/A2000-07-13 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * lib/device.c: Include errno.h. Reported by Thierry DELHAISE
1N/A <thierry.delhaise@delhaise.com>.
1N/A
1N/A2000-07-12 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Just to start implementing serial console support...
1N/A
1N/A * stage2/asm.S (grub_putchar): Renamed to ...
1N/A (console_putchar): ... this.
1N/A [!STAGE1_5] (getkey): Renamed to ...
1N/A [!STAGE1_5] (console_getkey): ... this.
1N/A [!STAGE1_5] (checkkey): Renamed to ...
1N/A [!STAGE1_5] (console_checkkey): ... this.
1N/A * stage2/char_io.c [!STAGE1_5] (getkey): New function.
1N/A [!STAGE1_5] (checkkey): Likewise.
1N/A (grub_putchar): Likewise.
1N/A * stage2/shared.h [!STAGE1_5] (terminal): Declared.
1N/A [!STAGE1_5] (TERMINAL_CONSOLE): New macro.
1N/A [!STAGE1_5] (TERMINAL_SERIAL): Likewise.
1N/A (console_putchar): Declared.
1N/A (serial_putchar): Likewise.
1N/A (console_getkey): Likewise.
1N/A (serial_getkey): Likewise.
1N/A (console_checkkey): Likewise.
1N/A (serial_checkkey): Likewise.
1N/A * stage2/builtins.c (terminal): New global variable. The default
1N/A is TERMINAL_CONSOLE.
1N/A * grub/asmstub.c (grub_putchar): Renamed to ...
1N/A (console_putchar): ... this.
1N/A (getkey): Renamed to ...
1N/A (console_getkey): ... this.
1N/A (checkkey): Renamed to ...
1N/A (console_checkkey): ... this.
1N/A
1N/A2000-07-12 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/Makefile.am (libgrub_a_CFLAGS): Added
1N/A -I$(top_srcdir)/lib.
1N/A * stage2/builtins.c [GRUB_UTIL]: Include device.h.
1N/A
1N/A2000-07-12 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Segreate OS-specific helper functions from asmstub.c.
1N/A
1N/A * grub/asmstub.c [__linux__]: Don't include linux/hdreg.h,
1N/A linux/major.h, linux/kdev_t.h, or linux/cdrom.h.
1N/A [__FreeBSD__ || __NetBSD__ || __OpenBSD__]: Don't include
1N/A sys/ioctl.h, sys/disklabel.h, or sys/ioctl.h.
1N/A [HAVE_OPENDISK]: Don't include util.h.
1N/A Include device.h.
1N/A (DEFAULT_FD_CYLINDERS): Removed.
1N/A (DEFAULT_FD_HEADS): Likewise.
1N/A (DEFAULT_FD_SECTORS): Likewise.
1N/A (DEFAULT_HD_CYLINDERS): Likewise.
1N/A (DEFAULT_HD_HEADS): Likewise.
1N/A (DEFAULT_HD_SECTORS): Likewise.
1N/A (NUM_DISKS): Likewise.
1N/A (init_device_map): Likewise.
1N/A (get_floppy_disk_name): Likewise.
1N/A (get_ide_disk_name): Likewise.
1N/A (get_scsi_disk_name): Likewise.
1N/A (check_device): Likewise.
1N/A (get_drive_geometry): Likewise.
1N/A * grub/main.c (no_floppy): Removed.
1N/A (probe_second_floppy): Likewise.
1N/A (floppy_disks): New global variable.
1N/A (main): Set FLOPPY_DISKS to zero, if OPT_NO_FLOPPY. Set
1N/A FLOPPY_DISKS to two, if OPT_PROBE_SECOND_FLOPPY.
1N/A * lib/Makefile.am (AM_CFLAGS): New variable.
1N/A * lib/device.h: New file.
1N/A * lib/device.c: Likewise.
1N/A * stage2/shared.h (no_floppy): Removed.
1N/A (probe_second_floppy): Likewise.
1N/A (check_device): Likewise.
1N/A (floppy_disks): Declared.
1N/A
1N/A2000-07-02 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * grub/main.c (usage): Enclose the mail address with parentheses
1N/A and add a period into the end of the line. That's just a
1N/A cosmetic change.
1N/A
1N/A2000-07-02 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/appendices.texi (Obtaining and Building GRUB): Indicate
1N/A the Cygnus's binutils webpage instead of the hjl's site, since
1N/A you can now use a public release (i.e. 2.10).
1N/A
1N/A2000-06-23 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/boot.c (load_image): Take an additional argument
1N/A LOAD_FLAGS.
1N/A If the kernel type is Linux and the bit
1N/A KERNEL_LOAD_NO_MEM_OPTION in LOAD_FLAGS is set, don't pass a
1N/A Linux's mem option automatically.
1N/A * stage2/shared.h (load_image): Added the new argument.
1N/A * stage2/builtins.c (kernel_func): If `--no-mem-option' is
1N/A specified, set the bit KERNEL_LOAD_NO_MEM_OPTION in LOAD_FLAGS,
1N/A otherwise, LOAD_FLAGS is zero.
1N/A
1N/A2000-06-22 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/tutorial.texi: Fixed some typos and syntax errors.
1N/A * docs/user-ref.texi: Likewise.
1N/A
1N/A2000-06-21 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/stage2.c (run_menu): Initialize CUR_ENTRY at the
1N/A definition.
1N/A If SHOW_MENU is zero, don't display the menu interface. Instead,
1N/A wait until the timeout is expired and then boot the default
1N/A entry. If the user presses `ESC' during the timeout, set
1N/A SHOW_MENU to one and break the loop.
1N/A Display the menu if SHOW_MENU is true, instead of if
1N/A GRUB_TIMEOUT is non-zero.
1N/A Set SHOW_MENU to one before go to the label `restart'.
1N/A * stage2/builtins.c (show_menu): New global variable.
1N/A (hiddenmenu_func): New function.
1N/A (builtin_hiddenmenu): New variable.
1N/A (builtin_table): Added a pointer to BUILTIN_HIDDENMENU.
1N/A * stage2/shared.h (show_menu): Declared.
1N/A
1N/A2000-06-19 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/mdate-sh: Moved to ...
1N/A * mdate-sh: ... here.
1N/A * docs/texinfo.tex: Moved to ...
1N/A * texinfo.tex: ... here.
1N/A
1N/A2000-06-09 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/mb_info.h (AddrRangeDesc): Use one 64bits field instead
1N/A of two 32bits fields for BaseAddr and Length, respectively.
1N/A BaseAddrLow + BaseAddrHigh -> BaseAddr, LengthLow + LengthHigh
1N/A -> Length.
1N/A * stage2/builtins.c (displaymem_func): Print BaseAddr >> 32,
1N/A BaseAddr & 0xFFFFFFFF, Length >> 32 and Length & 0xFFFFFFFF,
1N/A instead of BaseAddrLow, BaseAddrHigh, LengthLow and LengthHigh,
1N/A for MAP.
1N/A * stage2/common.c (fakemap): Adjusted to the new definition of
1N/A AddrRangeDesc.
1N/A (mmap_avail_at): Change the type of TOP to unsigned long long.
1N/A If TOP is greater than 0xFFFFFFFF, set it to 0xFFFFFFFF, since
1N/A GRUB itself cannot deal with 64bits addresses at the moment.
1N/A (init_bios_info): When getting a maximum available address from
1N/A the memory map, use a new unsigned long long variable MAX_ADDR
1N/A as the temporary variable instead of MEMTMP. This should allow
1N/A GRUB to detect at most 4TB.
1N/A
1N/A2000-06-18 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/appendices.texi (FAQ): Added an question about Linux's
1N/A `mem=' option and the answer.
1N/A
1N/A2000-06-17 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/boot.c (load_image): Pass a mem option to Linux, only
1N/A if SRC has no substring "mem=".
1N/A
1N/A2000-06-17 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/compile: Removed.
1N/A * netboot/compile: Likewise.
1N/A * compile: New file. Copied from Automake.
1N/A
1N/A2000-06-16 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/boot.c (load_image): Don't remove the vga option after
1N/A parsing it. Suggested by Tim Riker.
1N/A
1N/A2000-06-15 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/asm.S (grub_halt): Use jmp instead of jc, if INT 15
1N/A AX=5307h fails.
1N/A
1N/A2000-06-15 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * configure.in (AM_INIT_AUTOMAKE): Increase the version number.
1N/A I wish that 0.5.96 will not be released actually...
1N/A
1N/A * stage2/builtins.c (halt_func): New function.
1N/A (builtin_halt): New variable.
1N/A (reboot_func): New function.
1N/A (builtin_reboot): New variable.
1N/A (builtin_table): Added pointers to BUILTIN_HALT and
1N/A BUILTIN_REBOOT.
1N/A * stage2/asm.S (grub_halt): New function.
1N/A (grub_reboot): Likewise.
1N/A * stage2/shared.h (grub_halt): Declared.
1N/A (grub_reboot): Likewise.
1N/A * grub/asmstub.c (grub_reboot): New function.
1N/A (grub_halt): Likewise.
1N/A
1N/A2000-06-12 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * stage2/stage2.c (run_menu): Don't display the menu if the
1N/A timeout is zero. This makes for cleaner use as a noninteractive
1N/A bootloader.
1N/A
1N/A2000-06-11 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/tutorial.texi (GNU/Linux): Added a caution about the
1N/A "mem=" option.
1N/A
1N/A2000-06-11 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * util/grub-install.in (convert): When $host_os is linux*, use
1N/A the expression 's%\([sh]d[a-z]\)[0-9]*$%\1%' instead of
1N/A 's%[0-9]*$%%', to get rid of the partition part. This fixes the
1N/A bug "/dev/fd0" -> "/dev/fd". (But don't you think the naming is
1N/A quite inconsistent with hard disks? Why not /dev/fd[a-z]?)
1N/A Report by Pavel Roskin.
1N/A
1N/A2000-06-08 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/tutorial.texi (Network): The body is moved to ...
1N/A (General usage of network support): ... this new section.
1N/A (Diskless): New section.
1N/A * docs/user-ref.texi (General commands): Added a description
1N/A about the command "tftpserver".
1N/A
1N/A2000-06-08 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * netboot/main.c (decode_rfc1533) [GRUB]: Eliminate trailing
1N/A NULs in the NVT string for a configuration file name, if any.
1N/A (decode_rfc1533): Likewise, if Extensions Path is present,
1N/A eliminate the trailing NULs, if any.
1N/A Also, check the length carefully to ensure that EXTPATH can fit
1N/A in FNAME.
1N/A
1N/A2000-06-06 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/fsys_reiserfs.c: Added journaling to reiser.
1N/A (reiserfs_journal_desc): new structure.
1N/A (reiserfs_journal_commit): likewise.
1N/A (reiserfs_journal_header): likewise.
1N/A (fsys_reiser_info): Added fields for journaling.
1N/A (journal_read): new function.
1N/A (journal_init) likewise.
1N/A (block_read): New function to read reiserfs blocks, which reads
1N/A from the journal if it contains newer versions. All relevant
1N/A devread calls are replaced with calls to this method.
1N/A (reiserfs_mount): Check for journaling super block and call
1N/A journal_init.
1N/A
1N/A2000-06-06 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * netboot/main.c (dhcprequest) [GRUB]: Set the length of the
1N/A Parameter Request List to (4 + 2).
1N/A Set the list to RFC1533_VENDOR_MAGIC and
1N/A RFC1533_VENDOR_CONFIGFILE in addition to the standard
1N/A parameters.
1N/A (decode_rfc1533) [GRUB]: If C is equal to
1N/A RFC1533_VENDOR_CONFIGFILE, copy the contents of the tag to
1N/A CONFIG_FILE.
1N/A If C is equal to RFC1533_VENDOR_MAGIC, increment
1N/A VENDOREXT_ISVALID.
1N/A * netboot/etherboot.h [GRUB] (RFC1533_VENDOR_CONFIGFILE): New
1N/A macro. Defined as 150.
1N/A
1N/A2000-06-03 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/asm.S (check_int13_extensions): Check the bitmap only
1N/A if FORCE_LBA is zero.
1N/A * stage2/bios.c (get_diskinfo): Get rid of the wrong check for
1N/A the bit 0 of DRP.FLAGS. Now the bitmap check is correctly
1N/A performed in the function check_int13_extensions.
1N/A
1N/A2000-06-02 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/user-ref.texi (Invoking the grub shell): Added a caution.
1N/A Why don't so many people still understand that BIOS drive
1N/A numbering are different from OS device naming? How many cautions
1N/A and warnings should we write in the documentation? Sigh.
1N/A
1N/A2000-06-01 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Chip Salzenberg:
1N/A * stage2/cmdline.c (enter_cmdline) [SUPPORT_DISKLESS]: Redisplay
1N/A network configuration after clearing screen, before first prompt.
1N/A
1N/A * stage2/cmdline.c: Include <shared.h> instead of "shared.h".
1N/A [SUPPORT_DISKLESS]: Include <etherboot.h>.
1N/A
1N/A2000-06-01 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (setup_func): Check if INSTALL_DRIVE is a
1N/A hard disk as well as IMAGE_DRIVE, before trying to install a
1N/A Stage 1.5. Reported by Pavel Roskin.
1N/A
1N/A2000-05-31 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * acinclude.m4 (grub_ASM_ABSOLUTE_WITHOUT_ASTERISK): New
1N/A function. Check if GAS requires absolute indirect calls/jumps
1N/A with NO asterisk.
1N/A * configure.in: Call grub_ASM_ABSOLUTE_WITHOUT_ASTERISK.
1N/A * acconfig.h (ABSOLUTE_WITHOUT_ASTERISK): New macro entry.
1N/A * netboot/pci.c (bios32_service) [!ABSOLUTE_WITHOUT_ASTERISK]:
1N/A Prefix the operand to "lcall" with `*'.
1N/A (pcibios_read_config_byte) [!ABSOLUTE_WITHOUT_ASTERISK]:
1N/A Likewise.
1N/A (pcibios_read_config_word) [!ABSOLUTE_WITHOUT_ASTERISK]:
1N/A Likewise.
1N/A (pcibios_read_config_dword) [!ABSOLUTE_WITHOUT_ASTERISK]:
1N/A Likewise.
1N/A (pcibios_write_config_byte) [!ABSOLUTE_WITHOUT_ASTERISK]:
1N/A Likewise.
1N/A (pcibios_write_config_word) [!ABSOLUTE_WITHOUT_ASTERISK]:
1N/A Likewise.
1N/A (pcibios_write_config_dword) [!ABSOLUTE_WITHOUT_ASTERISK]:
1N/A Likewise.
1N/A (check_pcibios) [!ABSOLUTE_WITHOUT_ASTERISK]: Likewise.
1N/A * stage2/asm.S (chain_stage1) [!ABSOLUTE_WITHOUT_ASTERISK]:
1N/A Prefix the operand to "ljmp" with `*'.
1N/A (chain_stage2) [!ABSOLUTE_WITHOUT_ASTERISK]: Likewise.
1N/A (big_linux_boot) [!ABSOLUTE_WITHOUT_ASTERISK]: Likewise.
1N/A
1N/A2000-05-29 Chip Salzenberg <chip@valinux.com>
1N/A
1N/A * stage2/shared.h (grub_memmove): Prototype to use void *.
1N/A * stage2/char_io.c (grub_memmove): Define likewise.
1N/A
1N/A2000-05-30 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * docs/user-ref.texi (Stage2 errors): Update error messages.
1N/A
1N/A2000-05-29 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * util/grub-install.in: Fix a typo that prevented error messages
1N/A from appearing.
1N/A Copy and remove files individually and exit with an error as
1N/A soon as it fails.
1N/A Show $log_file if --debug was given on the command line.
1N/A
1N/A2000-04-19 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * stage2/cmdline.c (enter_cmdline): Don't give errors on empty
1N/A command lines.
1N/A
1N/A * stage2/common.c (err_list): Clean up wordings slightly.
1N/A
1N/A2000-05-29 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Based on a patch by Neal H Walfield <neal@walfield.org>:
1N/A * netboot/misc.c [GRUB] (inet_aton): Defined.
1N/A * netboot/main.c (arp_server_override): New function.
1N/A * netboot/etherboot.h [GRUB] (arp_server_override): Declared.
1N/A (inet_aton): Likewise.
1N/A * stage2/builtins.c (tftpserver_func): New function.
1N/A (builtin_tftpserver): New variable.
1N/A (builtin_table): Added a pointer to BUILTIN_TFTPSERVER.
1N/A
1N/A2000-05-28 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/asm.S (codestart): Fix a typo: DISKLESS_SUPPORT ->
1N/A SUPPORT_DISKLESS.
1N/A * stage2/nbloader.S: Fix the image length and the memory length
1N/A fields. They shouldn't contain the first sector for a tag.
1N/A Mmh..., that is unclear as far as I see the Net Boot Image
1N/A Proposal...
1N/A * stage2/shared.h (STACKOFF): Enclosed with parentheses.
1N/A (PROTSTACKINIT): Likewise.
1N/A
1N/A2000-05-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Add diskless support, mostly based on patches by Christoph
1N/A Plattner <Christoph.Plattner@dot.at>, but also based on a patch
1N/A by Chip Salzenberg <chip@valinux.com> for PXE. Of course, I've
1N/A modified both the patches thoroughly to adapt them to my
1N/A preference.
1N/A
1N/A * configure.in (--enable-diskless): New option. Set a
1N/A conditional DISKLESS_SUPPORT.
1N/A * stage2/Makefile.am (noinst_HEADERS): Added nbi.h.
1N/A (EXTRA_PROGRAMS): New variable.
1N/A (pkgdata_DATA) [DISKLESS_SUPPORT]: Added
1N/A nbgrub and pxegrub.
1N/A (noinst_DATA) [DISKLESS_SUPPORT]: Added nbloader, pxeloader and
1N/A diskless.
1N/A (noinst_PROGRAMS) [DISKLESS_SUPPORT]: Added nbloader.exec,
1N/A pxeloader.exec and diskless.exec.
1N/A (PXELOADER_LINK): New variable.
1N/A (BUILT_SOURCES) [DISKLESS_SUPPORT]: Added diskless_size.h.
1N/A (diskless_exec_SOURCES): New variable.
1N/A (diskless_exec_CFLAGS): Likewise.
1N/A (diskless_exec_LDFLAGS): Likewise.
1N/A (diskless_exec_LDADD): Likewise.
1N/A (diskless_size.h): New target.
1N/A (nbloader_exec_SOURCES): New variable.
1N/A (nbloader_exec_CFLAGS): Likewise.
1N/A (nbloader_exec_LDFLAGS): Likewise.
1N/A (nbloader_exec-nbloader.o): New dependency.
1N/A (nbgrub): New target.
1N/A (pxeloader_exec_SOURCES): new variable.
1N/A (pxeloader_exec_CFLAGS): Likewise.
1N/A (pxeloader_exec_LDFLAGS): Likewise.
1N/A (pxegrub): New target.
1N/A * stage2/asm.S (install_partition): Set to 0xFFFFFF instead of
1N/A 0x020000. What was the benefit from the previous setting?
1N/A (codestart) [SUPPORT_DISKLESS]: Don't move %dl to BOOT_DRIVE.
1N/A (boot_drive) [SUPPORT_DISKLESS]: Set to NETWORK_DRIVE instead of
1N/A zero.
1N/A * stage2/common.c: Include <shared.h> instead of "shared.h",
1N/A just for a cosmetic reason.
1N/A [SUPPORT_DISKLESS]: Include etherboot.h.
1N/A [SUPPORT_DISKLESS] (setup_diskless_environment): New internal
1N/A function.
1N/A (init_bios_info) [SUPPORT_DISKLESS]: Call
1N/A setup_diskless_environment after the memory initialization is
1N/A finished. Return if fails.
1N/A * stage2/nbloader.S: New file.
1N/A * stage2/pxeloader.S: Likewise.
1N/A * stage2/nbi.h: Likewise.
1N/A
1N/A2000-05-25 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * netboot/fsys_tftp.c (buf_fill): Warn when amazing things
1N/A happen.
1N/A (tftp_dir): Revert previous change. Don't use TFTP_MIN_PACKET
1N/A but calculate the appropriate length.
1N/A
1N/A2000-05-23 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * netboot/fsys_tftp.c (tftp_dir): Append "0\0" to the request
1N/A string, because the "tsize" option must be followed by zero,
1N/A according to RFC 2349.
1N/A
1N/A2000-05-22 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Synchronize the documentation with the code.
1N/A
1N/A * docs/user-ref.texi: Added ReiserFS as a supported filesystem.
1N/A Updated the descriptions about `password', `install', `kernel',
1N/A and `setup'.
1N/A Added a description about `lock'.
1N/A Added descriptions about ERR_UNALIGNED and ERR_PRIVILEGED.
1N/A Added a description about the option `--force-lba' of
1N/A the program `grub-install'.
1N/A * docs/tutorial.texi: Updated the subsection for NetBSD.
1N/A
1N/A2000-05-21 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/asm.S (set_int13_handler): Don't use MBI to get the
1N/A lower memory size. Instead, decrease it in the BIOS memory
1N/A directly and set %eax to it, since MBI.MEM_LOWER may not be the
1N/A same as [0x413] any longer due to the previous change.
1N/A
1N/A * grub/asmstub.c (CONVENTIONAL_MEMSIZE): Changed to 640 * 1024
1N/A from 640. You didn't like the inconsistency between
1N/A EXTENDED_MEMSIZE and CONVENTIONAL_MEMSIZE, did you?
1N/A (get_memsize): Return CONVENTIONAL_MEMSIZE >> 10 instead of
1N/A CONVENTIONAL_MEMSIZE, if TYPE is zero.
1N/A (get_eisamemsize): Return EXTENDED_MEMSIZE >> 10 instead of
1N/A EXTENDED_MEMSIZE / 1024. Just a cosmetic change.
1N/A (MMAR_DESC_LENGTH): New macro. Defined as 20.
1N/A (get_mmap_entry): Define a new variable DESC_TABLE statically,
1N/A and copy the CONTth entry to *DESC if CONT is a correct index.
1N/A
1N/A2000-05-21 Chip Salzenberg <chip@valinux.com>
1N/A
1N/A * stage2/common.c (mmap_avail_at): New function, abstracted out
1N/A of init_bios_info, to scan E820 memory map.
1N/A (init_bios_info): Use mmap_avail_at for _both_ MBI.MEM_UPPER and
1N/A MBI.MEM_LOWER.
1N/A
1N/A2000-05-17 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Update the network support to Etherboot-4.6.1.
1N/A
1N/A * netboot/config.c (pci_nic_list) [INCLUDE_TULIP]: Added an
1N/A entry for Davicom 9102.
1N/A * netboot/epic100.c: Just copied.
1N/A * netboot/pci.h: Likewise.
1N/A * netboot/tulip.c: Likewise.
1N/A * netboot/etherboot.h (tftp): Change the type of the first
1N/A argument to const char * from char *.
1N/A * netboot/main.c (tftp): Likewise.
1N/A
1N/A2000-05-13 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * util/grub-install.in: If the program `cp' fails, exit with the
1N/A status code 1. Suggested by Pavel Roskin.
1N/A
1N/A2000-05-13 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Pixel <pixel@mandrakesoft.com>:
1N/A * stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_EXTENDED): New macro.
1N/A (IS_PC_SLICE_TYPE_EXTENDED): Added a check for
1N/A PC_SLICE_TYPE_LINUX_EXTENDED.
1N/A
1N/A2000-05-05 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/common.c (init_bios_info) [!STAGE1_5]: When the memory
1N/A map is present, search the maximum for MEMTMP in bytes instead
1N/A of kilobytes and set EXTENDED_MEMORY to MEMTMP minus 1MB in
1N/A kilobytes.
1N/A
1N/A2000-05-05 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Ignore any memory holes when passing the maximum memory address
1N/A to non-Multiboot kernels (i.e. Linux and *BSD).
1N/A
1N/A * stage2/common.c [!STAGE1_5] (extended_memory): New global
1N/A variable.
1N/A (init_bios_info) [!STAGE1_5]: Change the type of CONT, MEMTMP
1N/A and ADDR to unsigned long from int.
1N/A Set EXTENDED_MEMORY to MBI.MEM_UPPER by default.
1N/A If MBI.MMAP_LENGTH is not zero, set EXTENDED_MEMORY to the
1N/A maximum available address, ignoring any memory holes.
1N/A If MBI.MMAP_LENGTH is zero but get_eisamemsize returns other
1N/A than -1, set EXTENDED_MEMORY to (CONT >> 10) + 0x3c00 if CONT is
1N/A non-zero, otherwise, set it to MEMTMP.
1N/A * stage2/shared.h [!STAGE1_5] (extended_memory): Declared.
1N/A * stage2/boot.c (load_image): Always pass the "mem=" option to a
1N/A Linux kernel, using EXTENDED_MEMORY instead of MBI.MEM_UPPER.
1N/A (bsd_boot): Use EXTENDED_MEMORY instead of MBI.MEM_UPPER.
1N/A
1N/A2000-04-30 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage1/stage1.S (message): Use lodsb instead of incw and movb.
1N/A From Andrew Clausen <clausen@gnu.org>.
1N/A
1N/A * stage1/stage1.S (copy_buffer): Set %cx to 0x100 and use movsw
1N/A instead of movsb, since it is guaranteed that the region is
1N/A properly aligned.
1N/A
1N/A2000-04-29 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (setup_func): Use SECTOR_BITS instead of
1N/A SECTOR_SIZE to compute BLOCKSIZE.
1N/A
1N/A2000-04-26 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * netboot/depca.c: Copied from Etherboot-4.6.0.
1N/A
1N/A2000-04-23 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A More security-related features.
1N/A
1N/A * stage2/builtins.c (auth): New global variable.
1N/A (configfile_func): Clear AUTH before jumping to cmain.
1N/A (lock_func): New function.
1N/A (builtin_lock): New variable.
1N/A (password_func): Make sure that LEN + 2 is less than or equal to
1N/A PASSWORD_BUFLEN, because now the password must be terminated
1N/A with double NULs, in order to permit an empty configuration file
1N/A name.
1N/A Copy LEN bytes from ARG to PASSWORD, instead of LEN + 1 bytes.
1N/A Clear the rest of the buffer PASSWORD.
1N/A (builtin_table): Added a pointer to BUILTIN_LOCK.
1N/A * stage2/common.c (err_list): Added an entry for ERR_PRIVILEGED.
1N/A * stage2/stage2.c (run_menu): If AUTH is true, show the messages
1N/A for a non-password configuration, even if PASSWORD is not NULL.
1N/A Likewise, if AUTH is true, allow the user to use privileged
1N/A instructions (such as `c').
1N/A If a correct password is entered, check if *PPTR is NUL or not.
1N/A If it is NUL, set AUTH to 1 and go to the label restart,
1N/A otherwise, copy PPTR to NEW_FILE, clear AUTH, and return.
1N/A * stage2/shared.h (grub_error_t): Added a new constant
1N/A ERR_PRIVILEGED.
1N/A (auth): Declared.
1N/A
1N/A2000-04-23 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/user-ref.texi (Command-line-specific commands): Don't use
1N/A the command @var for the argument "file" to the command
1N/A "configfile" on the definition.
1N/A
1N/A2000-04-22 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Update the network support to Etherboot 4.5.8.
1N/A
1N/A * configure.in (--enable-3c590): New option.
1N/A (--enable-3c595): Likewise.
1N/A (--enable-depca): Likewise.
1N/A (--enable-lance): Likewise.
1N/A (--enable-ns8390): Likewise.
1N/A (--enable-ntulip): Likewise.
1N/A (--enable-lancepci): Removed.
1N/A (--enable-nepci): Likewise.
1N/A (--enable-otulip): Likewise.
1N/A (--enable-smc9000): The duplicated one is named to ...
1N/A (--enable-smc9000-scan): ... this. This was a typo, perhaps.
1N/A
1N/A * netboot/Makefile.am (libdrivers_a_SOURCES): Removed
1N/A byteorder.h, if.h, netboot_config.h and netdevice.h, and added
1N/A cards.h.
1N/A (EXTRA_libdrivers_a_SOURCES): Removed ntulip.c and tulip.h, and
1N/A added 3c595.c, 3c595.h, depca.c, otulip.c and otulip.h.
1N/A (libdrivers_a_CFLAGS): Define FSYS_TFTP as 1 instead of empty.
1N/A (EXTRA_DIST): Removed ntulip.txt, and added cs89x0.txt and
1N/A tulip.txt.
1N/A (3c595_drivers): New variable.
1N/A (depca_drivers): Likewise.
1N/A (lance_drivers): Removed lancepci.o and added lance.o.
1N/A (ns8390_drivers): Removed nepci.o and added ns8390.o.
1N/A (ntulip_drivers): Deleted.
1N/A (otulip_drivers): New variable.
1N/A ($(3c595_drivers)): New target.
1N/A ($(depca_drivers)): Likewise.
1N/A ($(ntulip_drivers)): Deleted.
1N/A ($(otulip_drivers)): New target.
1N/A (3c590_o_CFLAGS): New variable.
1N/A (3c595_o_CFLAGS): Likewise.
1N/A (depca_o_CFLAGS): Likewise.
1N/A (lancepci_o_CFLAGS): Deleted.
1N/A (lance_o_CFLAGS): New variable.
1N/A (nepci_o_CFLAGS): Deleted.
1N/A (ns8390_o_CFLAGS): New variable.
1N/A (ntulip_o_CFLAGS): Deleted.
1N/A (otulip_o_CFLAGS): New variable.
1N/A
1N/A * netboot/3c90x.c: Updated to Etherboot-4.5.8.
1N/A * netboot/3c90x.txt: Likewise.
1N/A * netboot/cs89x0.c: Likewise.
1N/A * netboot/cs89x0.h: Likewise.
1N/A * netboot/eepro100.c: Likewise.
1N/A * netboot/epic100.c: Likewise.
1N/A * netboot/epic100.h: Likewise.
1N/A * netboot/i82586.c: Likewise.
1N/A * netboot/lance.c: Likewise.
1N/A * netboot/linux-asm-io.h: Likewise.
1N/A * netboot/linux-asm-string.h: Likewise.
1N/A * netboot/nic.h: Likewise.
1N/A * netboot/ns8390.c: Likewise.
1N/A * netboot/ns8390.h: Likewise.
1N/A * netboot/pci.c: Likewise.
1N/A * netboot/pci.h: Likewise.
1N/A * netboot/rtl8139.c: Likewise.
1N/A * netboot/sk_g16.c: Likewise.
1N/A * netboot/sk_g16.h: Likewise.
1N/A * netboot/smc9000.c: Likewise.
1N/A * netboot/smc9000.h: Likewise.
1N/A * netboot/tiara.c: Likewise.
1N/A * netboot/tulip.c: Likewise.
1N/A * netboot/via-rhine.c: Likewise.
1N/A
1N/A * netboot/config.c: Updated to Etherboot-4.5.8 and modified (see
1N/A below).
1N/A [GRUB] (print_config): Undefined.
1N/A (eth_probe) [GRUB]: If PROBED is true, do nothing. Otherwise,
1N/A clear NETWORK_READY and ARPTABLE, set ROM to ROM_INFO_LOCATION,
1N/A and set PROBED to 1 if succeeds.
1N/A * netboot/etherboot.h: Likewise,
1N/A (GRUB): New macro.
1N/A [GRUB]: Include <shared.h>.
1N/A [GRUB] (NO_DHCP_SUPPORT): Undefined.
1N/A [GRUB] (RELOC): Defined as zero.
1N/A [GRUB] (INTERNAL_BOOTP_DATA): Defined as one.
1N/A [GRUB] (USE_INTERNAL_BUFFER): Likewise.
1N/A [GRUB] (BACKOFF_LIMIT): Defined as 7.
1N/A [GRUB] (CTRL_C): New macro.
1N/A [GRUB] (print_network_configuration): Declared.
1N/A [GRUB] (ip_abort): Likewise.
1N/A [GRUB] (network_ready): Likewise.
1N/A * netboot/fsys_tftp.c: Don't include <netboot_config.h>.
1N/A (isocket): Renamed to ...
1N/A (iport): ... this.
1N/A (osocket): Renamed to ...
1N/A (oport): ... this.
1N/A (bcounter): New variable.
1N/A (buf_fill): When checking the block order, see BCOUNTER as well
1N/A as BLOCK.
1N/A Don't process a packet, if BLOCK minus PREVBLOCK is not 1,
1N/A instead of if BLOCK is less than or equal to PREVBLOCK.
1N/A Increment BCOUNTER after reseting RETRY.
1N/A (send_rrq): Clear BCOUNTER.
1N/A Call await_reply with AWAIT_QDRAIN.
1N/A * netboot/main.c: Don't include <netboot_config.h>.
1N/A (dhcpdiscover): Made const.
1N/A (dhcprequest): Likewise. Updated the contents.
1N/A (broadcast): Made const.
1N/A (udp_transmit): Copied.
1N/A (tftp): Likewise.
1N/A (bootp): Likewise.
1N/A (rarp): Likewise.
1N/A (await_reply): Likewise.
1N/A (decode_rfc1533): Likewise.
1N/A (rfc951_sleep): Likewise.
1N/A (cleanup_net): Likewise.
1N/A * netboot/misc.c (sleep): Copied.
1N/A (twiddle): Likewise.
1N/A (getdec): Likewise.
1N/A * netboot/osdep.h: Copied and modified (see below).
1N/A [GRUB] (ETHERBOOT32): Used the same definition as Linux and
1N/A FreeBSD.
1N/A [GRUB] (ntohl): Likewise.
1N/A [GRUB] (htonl): Likewise.
1N/A [GRUB] (ntohs): Likewise.
1N/A [GRUB] (htons): Likewise.
1N/A [GRUB] (swap32): Likewise.
1N/A [GRUB] (swap16): Likewise.
1N/A [GRUB]: Include "linux-asm-io.h".
1N/A
1N/A * netboot/byteorder.h: Removed.
1N/A * netboot/if.h: Likewise.
1N/A * netboot/netboot_config.h: Likewise.
1N/A * netboot/netdevice.h: Likewise.
1N/A * netboot/ntulip.c: Likewise.
1N/A * netboot/ntulip.txt: Likewise.
1N/A * netboot/tulip.h: Likewise.
1N/A
1N/A * netboot/3c595.c: New file. Copied from Etherboot-4.5.8.
1N/A * netboot/3c595.h: Likewise.
1N/A * netboot/cards.h: Likewise.
1N/A * netboot/cs89x0.txt: Likewise.
1N/A * netboot/depca.c: Likewise.
1N/A * netboot/otulip.c: Likewise.
1N/A * netboot/otulip.h: Likewise.
1N/A * netboot/tulip.txt: Likewise.
1N/A
1N/A2000-02-29 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/common.c (err_list): Added message for ERR_UNALIGNED.
1N/A * stage2/shared.h [!STAGE1_5] (disk_read_hook,disk_read_func): New
1N/A parameters offset and length.
1N/A (ERR_UNALIGNED): New error code.
1N/A * stage2/disk_io.c (rawread) [!STAGE1_5]: Call disk_read_func with
1N/A offset and length.
1N/A * stage2/builtin.c (disk_read_print_func): Print offset and length.
1N/A (blocklist_func): Print detailed byte ranges for partial sectors.
1N/A (install_func): Detect partial sectors and print error message.
1N/A
1N/A2000-04-18 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * util/grub-install.in: Don't use `!' in `test' for more
1N/A portability.
1N/A Don't use `for' without `in' for compatability with ash.
1N/A Check install_device before running grub if possible. Added
1N/A error messages if install_device is not set or not unique.
1N/A Exit if mkdir fails.
1N/A Add a message about successful installation.
1N/A Remove unneeded backslash in the final message.
1N/A (convert): use `test -b' instead of `test -e' because ash
1N/A doesn't understand the later. Correct error message accordingly.
1N/A
1N/A2000-04-17 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A The user doesn't have to recompile GRUB for his/her buggy BIOS
1N/A any longer. It is configurable to ignore the LBA support bitmap
1N/A at the installation time.
1N/A
1N/A * stage1/stage1.S (force_lba): New variable.
1N/A (stage2_address): Moved forwards, to align some variables in
1N/A natural boundaries.
1N/A (real_start): Check if FORCE_LBA is non-zero, if so, jump to
1N/A skip_lba_bitmap_check, otherwise, check if bit 0 of the support
1N/A bitmap is non-zero.
1N/A Don't use #ifdef for CHECK_LBA_SUPPORT_BITMAP.
1N/A (skip_lba_bitmap_check): New label.
1N/A * stage1/stage1.h (COMPAT_VERSION_MINOR): Set to 1.
1N/A (STAGE1_FORCE_LBA): New macro.
1N/A (STAGE1_STAGE2_ADDRESS): Set to 0x42.
1N/A (STAGE1_STAGE2_SECTOR): Set to 0x44.
1N/A (STAGE1_STAGE2_SEGMENT): Set to 0x48.
1N/A * stage2/asm.S (force_lba): New variable.
1N/A * stage2/bios.c (get_diskinfo): Don't use #ifdef for
1N/A CHECK_LBA_SUPPORT_BITMAP. Instead, check if FORCE_LBA is
1N/A non-zero. If so, don't check the bit 0 of DRP.FLAG.
1N/A * stage2/builtins.c (install_func): Check if a new option
1N/A `--force-lba' is specified. If specified, set IS_FORCE_LBA to 1
1N/A and set ARG to a value returned by skip_to. Otherwise,
1N/A IS_FORCE_LBA is zero.
1N/A Set the "force LBA" flag in STAGE1_BUFFER (the offset is
1N/A STAGE1_FORCE_LBA) to IS_FORCE_LBA.
1N/A Likewise, set the "force LBA" flag in STAGE2_SECOND_BUFFER
1N/A (the offset is STAGE2_FORCE_LBA) to IS_FORCE_LBA.
1N/A If IS_STAGE1_5 is true, then modify the Stage2, regardless of
1N/A the presence of the option REAL_CONFIG_FILE. Set the "force LBA"
1N/A flag in SCRATCHADDR (the offset is STAGE2_FORCE_LBA) to
1N/A IS_FORCE_LBA.
1N/A (builtin_install): Added description about `--force-lba' into
1N/A the docs.
1N/A (setup_func): Check if `--force-lba' is specified in ARG. If
1N/A specified, set IS_FORCE_LBA to 1 and set ARG to a value returned
1N/A by skip_to. Otherwise, IS_FORCE_LBA is zero.
1N/A If IS_FORCE_LBA is true, prepend "--force-lba " to CMD_ARG.
1N/A (builtin_setup): Added descriptions about `--force-lba' into the
1N/A docs.
1N/A * stage2/shared.h (STAGE2_FORCE_LBA): New macro.
1N/A (STAGE2_VER_STR_OFFS): Set to 0xe.
1N/A (force_lba): Declared.
1N/A * util/grub-install.in (force_lba): New variable. Set to an
1N/A empty sting by default.
1N/A (usage): Added a description about `--force-lba'.
1N/A (--force-lba): Checked in the option handling code. If
1N/A specified, set FORCE_LBA to "--force-lba".
1N/A Run the command "setup" with $force_lba added before
1N/A $install_drive.
1N/A * configure.in (--disable-lba-support-bitmap): Removed.
1N/A
1N/A2000-04-15 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * util/grub-install.in (root_device): Append `/' to ${rootdir},
1N/A since ROOTDIR may be empty. Reported by Satoshi Nagayasu
1N/A <snaga@oak.forus.or.jp>.
1N/A
1N/A2000-04-15 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * configure.in: Added --disable-reiserfs option.
1N/A * stage2/Makefile.am (libgrub_a_SOURCES): Added fsys_reiserfs.c.
1N/A (libgrub_a_CFLAGS): Added -DFSYS_REISERFS=1.
1N/A (pkgdata_DATA): Added reiserfs_stage1_5.
1N/A (noinst_PROGRAMS): Added reiserfs_stage1_5.exec.
1N/A (pre_stage2_exec_SOURCES): Added fsys_reiserfs.c.
1N/A (reiserfs_stage1_5_exec_SOURCES): New variable.
1N/A (reiserfs_stage1_5_exec_CFLAGS): Likewise.
1N/A (reiserfs_stage1_5_exec_LDFLAGS): Likewise.
1N/A * stage2/disk_io.c (fsys_table): Added reiserfs entry.
1N/A * stage2/filesys.h (FSYS_REISERFS_NUM): New macro.
1N/A [FSYS_REISERFS] (reiserfs_mount, reiserfs_read, reiserfs_dir,
1N/A reiserfs_embed): Declare external function from fsys_reiserfs.c.
1N/A [!NUM_FSYS] (NUM_FSYS): Added FSYS_REISERFS_NUM.
1N/A * stage2/builtins.c (setup_func): Added reiserfs to
1N/A STAGE1_5_MAP.
1N/A * stage2/shared.h (STAGE2_ID_REISERFS_STAGE1_5): New macro.
1N/A [STAGE1_5] [FSYS_REISERFS] (STAGE2_ID): Defined to
1N/A STAGE2_ID_REISERFS_STAGE1_5.
1N/A * stage2/fsys_reiserfs.c: New file.
1N/A
1N/A * stage2/builtins.c (embed_func): Call open_device instead of
1N/A open_partition.
1N/A Don't check if the filesystem is FFS. Instead, check if
1N/A FSYS_TABLE[FSYS_TYPE].EMBED_FUNC is NULL and, if not, call it.
1N/A (find_func): When CURRENT_SLICE is not a BSD slice, check if the
1N/A file can be opened, only if open_device succeeds.
1N/A * stage2/filesys.h (fsys_table): New entry embed_func.
1N/A (ffs_embed): Declared.
1N/A * stage2/disk_io.c (fsys_table): Fill embed_func entries. The
1N/A entry for FFS is ffs_embed and the others are NULLs.
1N/A * stage2/fsys_ffs.c (ffs_embed): New function.
1N/A
1N/A * stage2/shared.h (SECTOR_SHIFT): New constant with
1N/A (1 << SECTOR_SHIFT) == SECTOR_SIZE.
1N/A * stage2/shared.h [!NO_BLOCK_FILES] (block_files): No longer
1N/A extern.
1N/A * stage2/disk_io.c [!NO_BLOCK_FILES] (block_files): Likewise.
1N/A (rawread, devread): Use SECTOR_BITS.
1N/A (rawread): Fixed calculation of BUFADDR if an error occured. Set
1N/A it to BUFFERADDR + BYTE_OFFSET instead of BUFFERSEG +
1N/A BYTE_OFFSET.
1N/A (grub_close) [!NO_BLOCK_FILES]: If BLOCK_FILE is non-zero,
1N/A return immediately.
1N/A (grub_close): Don't check if FSYS_TYPE is NUM_FSYS.
1N/A * stage2/fsys_fat.c (log2): New inline function.
1N/A (fat_mount): Use log2 instead of calculating the size/bit by a
1N/A loop.
1N/A
1N/A2000-04-12 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * configure.in: Use AC_PATH_PROG instead of AC_PATH_TOOL,
1N/A because I don't want to use the CVS version. Now you can use
1N/A autoconf 2.13.
1N/A
1N/A2000-04-10 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/stage2.c (run_menu): In the case where C is `o', check
1N/A if ENTRYNO is less than 11. If not, increase FIRST_ENTRY instead
1N/A of ENTRYNO. Reported by Pixel <pixel@mandrakesoft.com>.
1N/A
1N/A2000-04-09 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage1/depcomp: Removed, because it makes `make dist'
1N/A unworkable.
1N/A
1N/A For developers: Don't run automake with --add-missing. Instead,
1N/A you should specify --force-missing. If you really want to add a
1N/A script from automake, copy it at hand. *sigh*
1N/A
1N/A2000-04-05 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (kernel_func): Added missing ``size''
1N/A arguments into `grub_memcmp's. Reported by Christoph Plattner
1N/A <christoph.plattner@dot.at>.
1N/A
1N/A From Torsten Duwe <duwe@caldera.de>:
1N/A * stage2/boot.c (load_initrd): Mask the address with 0x3FFFFFFF
1N/A instead of 0xFFFFFFFF to place the initrd below 1GB.
1N/A (load_image): In Linux boot, add the option "mem=" only if more
1N/A than 64MB are present.
1N/A * grub/asmstub.c [__linux__]: Include <linux/cdrom.h> for
1N/A CDROM_GET_CAPABILITY.
1N/A [__FreeBSD__ || __NetBSD__ || __OpenBSD__]: Include <sys/cdio.h>
1N/A for CDIOCCLRDEBUG.
1N/A (check_device) [__linux__] [CDROM_GET_CAPABILITY]: If ioctl for
1N/A CDROM_GET_CAPAIBILITY succeeds, return zero.
1N/A [__FreeBSD__ || __NetBSD__ || __OpenBSD__] [CDIOCCLRDEBUG]: If
1N/A ioctl for CDIOCCLRDEBUG succeeds, return zero.
1N/A
1N/A * stage2/boot.c (load_initrd): Subtract 0x1000 (one page size)
1N/A from MOVETO, to avoid a Linux 2.3.xx's bug.
1N/A
1N/A2000-04-03 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Add a dirty hack into the kernel loader so that the user can
1N/A force GRUB to load NetBSD ELF kernels. The support code is
1N/A mostly stolen from a patch by Pavel Roskin.
1N/A
1N/A * stage2/boot.c (load_image): Added an optional argument
1N/A SUGGESTED_TYPE.
1N/A If BUFFER is a bootable ELF image and SUGGESTED_TYPE is
1N/A KERNEL_TYPE_NETBSD, then load it as an ELF image and set STR2 to
1N/A "NetBSD" and TYPE to SUGGESTED_TYPE.
1N/A If the image is a Linux kernel and SUGGESTED_TYPE is not
1N/A KERNEL_TYPE_NONE, make sure that SUGGESTED_TYPE matches up to
1N/A the Linux kernel type.
1N/A If TYPE is KERNEL_TYPE_NETBSD, set MEMADDR to
1N/A RAW_ADDR (phdr->paddr & 0xFFFFFF) like FreeBSD.
1N/A If SUGGESTED_TYPE is not KERNEL_TYPE_NONE, make sure that
1N/A SUGGESTED_TYPE is equal to TYPE.
1N/A (bsd_boot): If TYPE is not KERNEL_TYPE_FREEBSD (i.e. NetBSD or
1N/A OpenBSD) and the bit MB_INFO_AOUT_SYMS is set, set END_MARK to
1N/A MBI.SYMS.A.ADDR + 4 + MBI.SYMS.A.TABSIZE + MBI.SYMS.A.STRSIZE.
1N/A If the bit is clear, set END_MARK to 0.
1N/A Pass END_MARK to *ENTRY_ADDR instead of directly calculating the
1N/A end of symbols.
1N/A * stage2/shared.h (load_image): Added the argument
1N/A SUGGESTED_TYPE to the prototype.
1N/A * stage2/builtins.c (kernel_func): Added a new option,
1N/A `--type=TYPE'. Check if ARG is started with "--type=".
1N/A If so, set SUGGESTED_TYPE to KERNEL_TYPE_NETBSD,
1N/A KERNEL_TYPE_FREEBSD, KERNEL_TYPE_NETBSD, KERNEL_TYPE_LINUX,
1N/A KERNEL_TYPE_BIG_LINUX, KERNEL_TYPE_MULTIBOOT if ARG is "netbsd",
1N/A "freebsd", "openbsd", "linux", "biglinux", "multiboot",
1N/A respectively. Otherwise, set ERRNUM to ERR_BAD_ARGUMENT and
1N/A return 1. Set KERNEL_ARG to a string after the option.
1N/A (builtin_kernel): Added a description about the new option.
1N/A
1N/A2000-04-03 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/stage2.c (run_menu) [GRUB_UTIL]: Removed a nested
1N/A "#ifdef GRUB_UTIL" ... "#endif".
1N/A * stage2/builtins.c (unhide_func): Don't modify SAVED_DRIVE or
1N/A SAVED_PARTITION.
1N/A (hide_func): Likewise.
1N/A * stage2/disk_io.c (set_partition_hidden_flag): Use
1N/A CURRENT_DRIVE and CURRENT_PARTITION instead of SAVED_DRIVE and
1N/A SAVED_PARTITION. Check if bit 7 in CURRENT_DRIVE is non-zero
1N/A instead of if CURRENT_DRIVE is non-zero.
1N/A
1N/A * grub/asmstub.c (init_device_map): Change the message
1N/A "Probe devices..." to "Probing devices...". Suggested by Neal H
1N/A Walfield.
1N/A
1N/A * stage2/pc_slice.h (PC_SLICE_TYPE_HIDDEN_FLAG): Move the
1N/A definition before the PC partition type definitions.
1N/A (IS_PC_SLICE_TYPE_FAT): Clear the hidden flag in TYPE before
1N/A checking if TYPE is either of the FAT partition types. Reported
1N/A by Thomas Schweikle <tschweikle@fiducia.de>.
1N/A
1N/A2000-04-02 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (setup_func): Don't read a stage 1.5 to get
1N/A the size. Use FILEMAX instead.
1N/A If embed_func fails (i.e. ERRNUM is non-zero), goto fail.
1N/A
1N/A2000-04-02 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Suggested by Neal H Walfield <neal@walfield.org>:
1N/A * stage2/common.c (init_bios_info): Removed a nested
1N/A "#ifndef STAGE1_5" ... "#endif".
1N/A * util/grub-install.in: Quote most of the references to
1N/A shell variables by double quotation marks.
1N/A (usage): Added a description about the argument.
1N/A * stage2/builtins.c (setup_func): Change each of the messages
1N/A when running embed_func and install_func. "Run" -> "Running".
1N/A If install_func succeeds, print a message ("Done.").
1N/A
1N/A From Frank Mehnert <fm3@os.inf.tu-dresden.de>:
1N/A * stage2/char_io.c (convert_to_ascii) [!STAGE1_5]: Accept 'X'
1N/A and 'b' as well. If C is 'X' or 'b', then set MULT to 16.
1N/A (grub_printf): Set a new variable MASK to 0xFFFFFFFF by default.
1N/A Mask *DATAPTR with MASK when calling convert_to_ascii.
1N/A (grub_printf) [!STAGE1_5]: Added 'b' and 'X'. If C is 'b', set
1N/A MASK to 0xFF and fall through to the case 'u'. 'X' is the same
1N/A as 'x'.
1N/A
1N/A From Josip Rodin <joy@cibalia.gkvk.hr>:
1N/A * grub.texi: Several awkward English sentences are fixed.
1N/A * tutorial.texi: Likewise.
1N/A * user-ref.texi: Likewise.
1N/A * appendices.texi: Likewise.
1N/A
1N/A2000-03-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage1/depcomp: New file. Automake forces to install it. This
1N/A is a known bug, so I will remove this when Tom fixes it.
1N/A * configure.in (AM_INIT_AUTOMAKE): Don't get the package name
1N/A and the version from debian/changelog. This is a workaround.
1N/A
1N/A2000-03-20 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/Makefile.am (nodist_pkgdata_DATA): Renamed to ...
1N/A (pkgdata_DATA): ... this. DATA is not distributed by default.
1N/A (CLEANFILES): Delete the first one. I don't know why this
1N/A variable was duplicated.
1N/A Set to $(pkgdata_DATA) instead of $(nodist_pkgdata_DATA).
1N/A (start_exec_DEPENDENCIES): Removed. This doesn't make sense.
1N/A (start_exec-start.o): New rule.
1N/A * depcomp: New file. Copied from automake.
1N/A * missing: Updated from automake.
1N/A
1N/A2000-03-15 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * netboot/Makefile.am (EXTRA_libdrivers_a_SOURCES): 3c89x0.h ->
1N/A cs89x0.h. Just a typo.
1N/A
1N/A2000-03-10 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * debian/rules: Strip mbchk.
1N/A
1N/A * debian/postinst: Fix up /usr/doc symlink creation.
1N/A
1N/A2000-03-01 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * netboot/fsys_tftp.c (tftp_dir): Add BUF_READ into FILEMAX
1N/A after BUF_EOF becomes non-zero. Reported by Per Lundberg.
1N/A
1N/A2000-03-01 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (color_func): Return 1 if safe_parse_maxint
1N/A returns zero instead of non-zero. Reported by Magnus Holmberg
1N/A <pucko@lysator.liu.se>.
1N/A
1N/A2000-02-29 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * grub/asmstub.c [__linux__]: Include <linux/kdev_t.h> for the
1N/A macro MAJOR. From Kalle Olavi Niemitalo <tosi@ees2.oulu.fi>.
1N/A
1N/A2000-02-27 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/tutorial.texi (Network): New chapter.
1N/A
1N/A2000-02-26 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/help2man: Upgraded to 1.020.
1N/A * docs/grub.8: Regenerated.
1N/A * docs/grub-install.8: Likewise.
1N/A * docs/mbchk.1: Likewise.
1N/A
1N/A * docs/tutorial.texi (Boot): Rewritten heavily. Added the notes
1N/A on FreeBSD, NetBSD, OpenBSD, DOS/Windows and SCO UnixWare.
1N/A * docs/menu.lst: Load "/boot/loader" instead of "/kernel" in the
1N/A FreeBSD entry. This is consistent with the documentation.
1N/A
1N/A2000-02-25 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * netboot/fsys_tftp.c (tftp_read): Set BUF_READ to zero if
1N/A FILEPOS is less than SAVED_FILEPOS, before calling buf_fill.
1N/A Don't discard all of the copied data so that we can move FILEPOS
1N/A backwards cheaply. Now SAVED_FILEPOS indicates the file position
1N/A corresponding to the first byte of BUF. If (FILEPOS -
1N/A SAVED_FILEPOS) is greater than (FSYS_BUFLEN / 2), move the data
1N/A forwards and add (FSYS_BUFLEN / 2) into SAVED_FILEPOS and
1N/A subtract the same value from BUF_READ.
1N/A
1N/A2000-02-24 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/disk_io.c [!STAGE1_5] (print_fsys_type): Mask
1N/A CURRENT_SLICE with 0xFF when printing the partition type.
1N/A
1N/A * grub/asmstub.c [__linux__]: Include <linux/major.h> for the
1N/A definition FLOPPY_MAJOR.
1N/A (check_device) [__linux__]: Skip the HDIO_GETGEO ioctl if the
1N/A major number of ST.ST_RDEV is FLOPPY_MAJOR.
1N/A
1N/A2000-02-21 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/disk_io.c (check_BSD_parts) [!STAGE1_5]: Use the term
1N/A "BSD sub-partition" instead of "BSD slice" for consistency.
1N/A
1N/A * stage2/builtins.c (boot_func): Copy the partition table to
1N/A BOOT_PART_TABLE instead of (BOOTSEC_LOCATION +
1N/A BOOTSEC_PART_OFFSET). Don't use grub_memmove, but copy it
1N/A directly, since memcheck is too strict.
1N/A * stage2/disk_io.c (real_open_partition) [!STAGE1_5]: Set
1N/A CUR_PART_ADDR to (BOOT_PART_TABLE + (i << 4)).
1N/A * stage2/shared.h (BOOT_PART_TABLE): New macro.
1N/A (chain_stage1): Change the types of all the arguments to
1N/A unsigned long.
1N/A (chain_stage2): Likewise.
1N/A * grub/asmstub.c (chain_stage1): Adjusted to the prototype.
1N/A (chain_stage2): Likewise.
1N/A
1N/A2000-02-21 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/disk_io.c (check_BSD_parts) [!STAGE1_5]: If the BSD
1N/A label is invalid, print a message with the partition type in the
1N/A case where FLAGS is non-zero and DO_COMPLETION is zero.
1N/A
1N/A2000-02-20 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/user-ref.texi (Command-line-specific commands): Added a
1N/A description about "cmp".
1N/A * docs/appendices.texi (Reporting bugs): Rewritten.
1N/A
1N/A2000-02-20 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Update the netboot code to Etherboot 4.4.3.
1N/A
1N/A * netboot/netboot_config.h: Copied from etherboot-4.4.3.
1N/A * netboot/cs89x0.h: Likewise.
1N/A * netboot/cs89x0.c: Likewise.
1N/A * netboot/i82586.c: Likewise.
1N/A * netboot/lance.c: Likewise.
1N/A * netboot/linux-asm-string.h: Likewise.
1N/A * netboot/nic.h: Likewise.
1N/A * netboot/ntulip.c: Likewise.
1N/A * netboot/osdep.h: Likewise.
1N/A * netboot/pci.h: Likewise.
1N/A * netboot/pci.c: Likewise.
1N/A * netboot/rtl8139.c: Likewise.
1N/A * netboot/tiara.c: Likewise.
1N/A
1N/A2000-02-19 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (cmp_func): New function.
1N/A (builtin_cmp): New variable.
1N/A (builtin_table): Added a pointer to BUILTIN_CMP.
1N/A
1N/A * stage2/fsys_fat.c (fat_mount): Check if BPB.SECTS_PER_CLUST is
1N/A zero after reading the BPB to avoid zero division.
1N/A
1N/A2000-02-18 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/disk_io.c [!STAGE1_5] (make_saved_active): Make sure
1N/A that SAVED_PARTITION is not an extended partition.
1N/A If SAVED_DRIVE is not a hard disk drive, set ERRNUM to
1N/A ERR_DEV_VALUES and return zero.
1N/A
1N/A * netboot/3c59x.c: Removed.
1N/A * netboot/Makefile.am (EXTRA_libdrivers_a_SOURCES): Deleted
1N/A 3c59x.c.
1N/A (3c59x_drivers): Deleted.
1N/A (3c59x_o_CFLAGS): Likewise.
1N/A * configure.in (--enable-3c59x): Likewise.
1N/A
1N/A2000-02-17 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * configure.in (--enable-3c90x): Add -DINCLUDE_3C90X=1 instead
1N/A of -DINCLUDE_3C90x=1. This was just a typo. Reported by Per
1N/A Lundberg.
1N/A
1N/A2000-02-17 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/fsys_fat.c (fat_read): Forgot to increase BUF.
1N/A (fat_dir): Use fat_read instead of grub_read; this makes
1N/A setting the FSMAX unnecessary.
1N/A (fat_mount): FSMAX is no longer set.
1N/A
1N/A2000-02-16 Jochen Hoenicke <jochen@gnu.org>
1N/A
1N/A * stage2/char_io.c (grub_isspace): Make carriage return a white
1N/A space.
1N/A
1N/A * stage2/fsys_fat.c (fat_dir): Long filename support.
1N/A (NAME_BUF): New macro.
1N/A * stage2/fat.h (FAT_LONGDIR_ID, FAT_LONGDIR_ALIASCHECKSUM,
1N/A FAT_ATTRIB_LONGNAME): New Macros.
1N/A
1N/A * stage2/fsys_fat.c (fat_create_blocklist): Deleted, instead
1N/A fat_read is implemented.
1N/A (fat_read): new function.
1N/A * stage2/disk_io.c (fsys_table): Use fat_read.
1N/A * stage2/filesys.h: Declare fat_read, remove NO_BLOCK_FILES
1N/A hack.
1N/A * stage2/Makefile.am: Compile fat_stage1_5 with
1N/A -DNO_BLOCK_FILES=1.
1N/A
1N/A * stage2/fat.h (fat_bpb): New structure describing bpb.
1N/A (FAT_CVT_U16): New macro.
1N/A (FAT_BPB_CHECK_SIG, FAT_BPB_NUM_SECTORS,
1N/A FAT_BPB_BYTES_PER_SECTOR, FAT_BPB_SECT_PER_CLUS, FAT_BPB_NUMFAT,
1N/A FAT_BPB_RESERVED_SECTORS, FAT_BPB_FAT_SECTORS_16,
1N/A FAT_BPB_FAT_SECTORS_32, FAT_BPB_IS_FAT32, FAT_BPB_FAT_SECTORS,
1N/A FAT_BPB_FAT_START, FAT_BPB_ROOT_DIR_CLUSTER,
1N/A FAT_BPB_HIDDEN_SECTORS, FAT_BPB_ROOT_DIR_START,
1N/A FAT_BPB_ROOT_DIR_LENGTH, FAT_BPB_DATA_OFFSET,
1N/A FAT_BPB_NUM_CLUST): Macros removed.
1N/A * stage2/fsys_fat.c (fat_superblock): New structure containing
1N/A all info about currently mounted filesystem.
1N/A (FAT_SUPER): New Macro.
1N/A (BPB): Macro removod.
1N/A (fat_mount): Use fat_bpb structure, fill FAT_SUPER.
1N/A (fat_read, fat_dir): Use FAT_SUPER info.
1N/A
1N/A2000-02-16 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A Pass the boot partition information to a chain-loader, in the
1N/A partition table area of the loader, instead of right before the
1N/A loaded address. Reported by takehiro@coral.ocn.ne.jp (Takehiro
1N/A Suzuki).
1N/A
1N/A * stage2/builtins.c (chainloader_func): Embed the partition
1N/A table of the boot drive in the partition table area of the
1N/A chain-loader, if the boot drive is a hard disk drive.
1N/A Pass BOOT_PART_ADDR instead of (BOOTSEC_LOCATION - 16) as the
1N/A third argument for the function chain_stage1.
1N/A * stage2/disk_io.c [!STAGE1_5] (boot_part_addr): New variable.
1N/A [!STAGE1_5] (boot_part_offset): Likewise.
1N/A [!STAGE1_5] (cur_part_offset): Likewise.
1N/A [!STAGE1_5] (cur_part_addr): Likewise.
1N/A [!STAGE1_5] (cur_part_desc): Removed.
1N/A (real_open_partition) [!STAGE1_5]: Set CUR_PART_OFFSET and
1N/A CUR_PART_ADDR to PART_OFFSET and (BOOTSEC_LOCATION +
1N/A PC_SLICE_OFFSET + (i << 4)), respectively.
1N/A [!STAGE1_5] (set_bootdev): Set BOOT_PART_OFFSET and
1N/A BOOT_PART_ADDR to CUR_PART_OFFSET and CUR_PART_ADDR,
1N/A respectively.
1N/A * stage2/shared.h (boot_part_addr): Declared.
1N/A (boot_part_offset): Likewise.
1N/A
1N/A2000-02-12 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (geometry_func): Attempt to read the first
1N/A sector to examine if LBA mode is really supported.
1N/A
1N/A * netboot/fsys_tftp.c (buf_fill) [TFTP_DEBUG]: Added some debug
1N/A messages.
1N/A (send_rrq) [TFTP_DEBUG]: Likewise.
1N/A (tftp_read) [TFTP_DEBUG]: Likewise.
1N/A (tftp_dir) [TFTP_DEBUG]: Likewise.
1N/A (tftp_close) [TFTP_DEBUG]: Likewise.
1N/A (tftp_read): Call buf_fill with the argument 1 first, if FILEPOS
1N/A has been moved backwards, and use grub_memmove for copying
1N/A SAVED_TP to TP instead of a direct assignment.
1N/A If send_rrq fails, set ERRNUM to ERR_WRITE instead of ERR_READ.
1N/A Check if BUF_READ is zero instead of if BUF_EOF is non-zero at
1N/A the end of the loop.
1N/A (tftp_dir): Set ERRNUM to ERR_WRITE instead of ERR_READ, if
1N/A send_rrq fails.
1N/A Save TP and LEN in SAVED_TP and SAVED_LEN respectively before
1N/A buf_fill instead of after it, because it destroys the contents
1N/A of TP.
1N/A * netboot/main.c (print_network_configuration): The order of the
1N/A arguments for grub_sprintf in the local function sprint_ip_addr
1N/A is reversed.
1N/A
1N/A * configure.in (--enable-packet_retransmission): Renamed to ...
1N/A (--disable-packet-retransmission): ... this. Assume that a
1N/A network is congested by default.
1N/A
1N/A2000-02-11 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Pavel Roskin:
1N/A * stage2/shared.h [!GRUB_SHARED_HEADER] (GRUB_SHARED_HEADER):
1N/A Defined.
1N/A [GRUB_SHARED_HEADER]: Don't declare or define anything.
1N/A
1N/A * netboot/main.c (print_network_configuration): New function.
1N/A (await_reply): Check for Control-C instead of ESC, because GRUB
1N/A already uses ESC for another purpose.
1N/A (rfc951_sleep): Check for the key input in the loop. If
1N/A Control-C is pushed, return immediately.
1N/A * netboot/etherboot (print_network_configuration): Declared.
1N/A (CTRL_C): New macro.
1N/A (ESC): Undefined.
1N/A * netboot/config.c (eth_probe): Clear ARPTABLE after clearing
1N/A NETWORK_READY.
1N/A * stage2/builtins.c (bootp_func): Call
1N/A print_network_configuration if bootp succeeds.
1N/A (rarp_func): Call print_network_configuration if rarp succeeds.
1N/A
1N/A2000-02-11 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Per Lundberg <plundis@byggdok.se>:
1N/A * docs/multiboot.texi: Added graphics support.
1N/A
1N/A2000-02-10 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/multiboot.texi (Top): Downgrade the version to 0.6.90,
1N/A since we need more work to release it as 0.7.
1N/A
1N/A2000-02-10 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/Makefile.am [NETBOOT_SUPPORT] (STAGE2_COMPILE): Added
1N/A -I$(top_srcdir)/netboot and -DSUPPORT_NETBOOT=1.
1N/A * stage2/builtins.c (bootp_func): New function.
1N/A (dhcp_func): Likewise.
1N/A (rarp_func): Likewise.
1N/A (builtin_bootp): New variable.
1N/A (builtin_dhcp): Likewise.
1N/A (builtin_rarp): Likewise.
1N/A (builtin_table): Added pointers to BUILTIN_BOOTP, BUILTIN_DHCP
1N/A and BUILTIN_RARP.
1N/A * docs/user-ref.texi (General Commands): Added descriptions
1N/A about "bootp", "dhcp" and "rarp".
1N/A
1N/A * netboot/main.c (bootp) [!NO_DHCP_SUPPORT]: Added casts to
1N/A suppress gcc warnings.
1N/A (decode_rfc1533) [!NO_DHCP_SUPPORT]: Likewise.
1N/A * netboot/3c90x.c: Include the local "pci.h" instead of
1N/A <linux/pci.h> even if __FreeBSD__ is undefined.
1N/A
1N/A2000-02-09 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A From Jochen Hoenicke:
1N/A * stage2/fsys_fat.c (fat_create_blocklist): The previous change
1N/A is reversed. Set FIRST_FAT_ENTRY to a unsigned long value in
1N/A FAT_BUF + (NEW_MAPBLOCK - MAPBLOCK) instead of a unsigned short
1N/A value. Mask FIRST_FAT_ENTRY with 0xFFF if FAT_SIZE is equal to
1N/A 3, whether the bit 0 of LAST_FAT_ENTRY is set or not.
1N/A
1N/A * netboot/config.c (eth_probe): If PROBED is set to non-zero,
1N/A return 1 without probing ethernet cards. Clear NETWORK_READY. If
1N/A *T->ETH_PROBE return sucessfully, set PROBED to 1.
1N/A * netboot/main.c (rarp): Call eth_probe and return zero if
1N/A fails. Clear NETWORK_READY at first, and set NETWORK_READY to 1
1N/A if RETRY is less than MAX_ARP_RETRIES. If IP_ABORT is non-zero,
1N/A return zero instead of one.
1N/A (bootp): Call eth_probe and return zero if fails. Clear
1N/A NETWORK_READY at first, and set NETWORK_READY to 1 if
1N/A await_reply returns successfully.
1N/A (bootp) [T509HACK]: If FLAG is non-zero, skip calling
1N/A await_reply. Don't call await_reply here any more.
1N/A (bootp) [!NO_DHCP_SUPPORT]: If any ack packet is not reached
1N/A within MAX_BOOTP_RETRIES times, return zero. If DHCP_REPLY isn't
1N/A DHCPOFFER, set NETWORK_READY to one and return one.
1N/A * netboot/etherboot.h (NO_DHCP_SUPPORT): Undefined.
1N/A
1N/A * stage2/builtins.c (print_root_device): Use the macro
1N/A NETWORK_DRIVE instead of 0x20.
1N/A * stage2/disk_io.c [!STAGE1_5] (sane_partition): Likewise.
1N/A (real_open_partition) [!STAGE1_5]: Likewise.
1N/A (set_device) [!STAGE1_5]: Likewise.
1N/A
1N/A2000-02-08 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * grub/asmstub.c (biosdisk) [__linux__]: Use _llseek when
1N/A __GLIBC_MINOR__ is less than 1 even if __GLIBC__ is 2. Reported
1N/A by Goran Koruga <goran.koruga@hermes.si>.
1N/A
1N/A * configure.in (--disable-lba-support-bitmap-check): New option.
1N/A Don't define CHECK_LBA_SUPPORT_BITMAP if specified.
1N/A * stage1/stage1.S (real_start): Check if AH=0x42 is supported if
1N/A CHECK_LBA_SUPPORT_BITMAP instead of NO_BUGGY_BIOS_IN_THE_WORLD
1N/A is defined.
1N/A * stage2/bios.c (get_diskinfo): Check if LBA read/write
1N/A functions are supported iff CHECK_LBA_SUPPORT_BITMAP is defined,
1N/A instead of NO_BUGGY_BIOS_IN_THE_WORLD.
1N/A
1N/A2000-02-07 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A The netboot support is heavily rewritten, based on
1N/A Etherboot-4.4.2. The current one doesn't work yet, so check out
1N/A GRUB with the tag "dresden_netboot_code" if you need working
1N/A one.
1N/A
1N/A * configure.in (--enable-tftp): Deleted.
1N/A (FSYS_CFLAGS): `AC_SUBST'ed right before AC_OUTPUT.
1N/A (NETBOOT_DRIVERS): New variable. AC_SUBST this after examining
1N/A the driver options.
1N/A (--enable-packet-retransmission): New option.
1N/A (--enable-pci-direct): Likewise.
1N/A (--enable-3c509): Likewise.
1N/A (--enable-3c529): Likewise.
1N/A (--enable-3c90x): Likewise.
1N/A (--enable-cs89x0): Likewise.
1N/A (--enable-epic100): Likewise.
1N/A (--enable-3c507): Likewise.
1N/A (--enable-exos205): Likewise.
1N/A (--enable-ni5210): Likewise.
1N/A (--enable-lancepci): Likewise.
1N/A (--enable-ne2100): Likewise.
1N/A (--enable-ni6510): Likewise.
1N/A (--enable-3c503): Likewise.
1N/A (--enable-ntulip): Likewise.
1N/A (--enable-rtl8139): Likewise.
1N/A (--enable-sk-g16): Likewise.
1N/A (--enable-smc9000): Likewise.
1N/A (--enable-tiara): Likewise.
1N/A (--enable-tulip): Likewise.
1N/A (--enable-via-rhine): Likewise.
1N/A (--enable-3c503-shmem): Likewise.
1N/A (--enable-3c503-aui): Likewise.
1N/A (--enable-3c509-hack): Likewise.
1N/A (--enable-compex-rl2000-fix): Likewise.
1N/A (--enable-smc9000-scan): Likewise.
1N/A (--enable-t503): Deleted.
1N/A (--enable-lance): Likewise.
1N/A (--enable-cs): Likewise.
1N/A
1N/A * netboot/main.c: New file. Copied and modified.
1N/A * netboot/linux-asm-io.h: Likewise.
1N/A * netboot/etherboot.h: Likewise.
1N/A * netboot/misc.c: Likewise.
1N/A * netboot/via-rhine.c: Likewise.
1N/A * netboot/3c90x.c: Likewise.
1N/A * netboot/3c90x.txt: Likewise.
1N/A * netboot/epic100.c: Likewise.
1N/A * netboot/epic100.h: Likewise.
1N/A * netboot/i82586.c: Likewise.
1N/A * netboot/linux-asm-string.h: Likewise.
1N/A * netboot/ntulip.c: Likewise.
1N/A * netboot/ntulip.txt: Likewise.
1N/A * netboot/osdep.h: Likewise.
1N/A * netboot/rtl8139.c: Likewise.
1N/A * netboot/sk_g16.c: Likewise.
1N/A * netboot/sk_g16.h: Likewise.
1N/A * netboot/smc9000.c: Likewise.
1N/A * netboot/smc9000.h: Likewise.
1N/A * netboot/tiara.c: Likewise.
1N/A * netboot/tulip.c: Likewise.
1N/A * netboot/tulip.h: Likewise.
1N/A * netboot/README.netboot: New file. Most information is stolen
1N/A from Makefile and Config.32 in Etherboot.
1N/A * netboot/3c509.c: Copied from Etherboot. The original is
1N/A removed.
1N/A * netboot/3c509.h: Likewise.
1N/A * netboot/cs89x0.c: Likewise.
1N/A * netboot/eepro100.c: Likewise.
1N/A * netboot/lance.c: Likewise.
1N/A * netboot/ns8390.c: Likewise.
1N/A * netboot/ns8390.h: Likewise.
1N/A * netboot/pci.c: Likewise.
1N/A
1N/A * netboot/3c59x.c: Include etherboot.h instead netboot.h.
1N/A * netboot/config.c: Copied from Etherboot and added the 3c59x
1N/A entries.
1N/A * netboot/pci.h: Likewise.
1N/A * netboot/fsys_tftp.c: Entirely rewritten based on main.c in
1N/A Etherboot.
1N/A
1N/A * netboot/io.h: Removed.
1N/A * netboot/ip.h: Likewise.
1N/A * netboot/ip.c: Likewise.
1N/A * netboot/netboot.h: Likewise.
1N/A
1N/A * netboot/Makefile.am (INCLUDES): Added -I$(top_srcdir)/stage2.
1N/A (DRIVERS): Removed.
1N/A (libdrivers_a_SOURCES): Added etherboot.h, linux-asm-io.h,
1N/A linux-asm-string.h, main.c, misc.c and osdep.h. Deleted io.h,
1N/A ip.h, ip.c, netboot.h and $(DRIVERS).
1N/A (EXTRA_libdrivers_a_SOURCES): New variable.
1N/A (libdrivers_a_LIBADD): Set to @NETBOOT_DRIVERS@.
1N/A (libdrivers_a_DEPENDENCIES): New variable.
1N/A (EXTRA_DIST): Likewise.
1N/A (3c509_drivers): New variable. Define a new rule for the value.
1N/A (3c59x_drivers): Likewise.
1N/A (3c90x_drivers): Likewise.
1N/A (cs89x0_drivers): Likewise.
1N/A (eepro100_drivers): Likewise.
1N/A (epic100_drivers): Likewise.
1N/A (i82586_drivers): Likewise.
1N/A (lance_drivers): Likewise.
1N/A (ns8390_drivers): Likewise.
1N/A (ntulip_drivers): Likewise.
1N/A (rtl8139_drivers): Likewise.
1N/A (sk_g16_drivers): Likewise.
1N/A (smc9000_drivers): Likewise.
1N/A (tiara_drivers): Likewise.
1N/A (tulip_drivers): Likewise.
1N/A (via_rhine_drivers): Likewise.
1N/A (t503_o_CFLAGS): Removed.
1N/A (nepci_o_CFLAGS): Set to -DINCLUDE_NEPCI=1.
1N/A (ne_o_CFLAGS): Set to -DINCLUDE_NE=1.
1N/A (wd_o_CFLAGS): Set to -DINCLUDE_WD=1.
1N/A (3c509_o_CFLAGS): Likewise.
1N/A (3c529_o_CFLAGS): Likewise.
1N/A (3c59x_o_CFLAGS): Likewise.
1N/A (3c90x_o_CFLAGS): Likewise.
1N/A (cs89x0_o_CFLAGS): Likewise.
1N/A (eepro100_o_CFLAGS): Likewise.
1N/A (epic100_o_CFLAGS): Likewise.
1N/A (3c507_o_CFLAGS): Likewise.
1N/A (exos205_o_CFLAGS): Likewise.
1N/A (ni5210_o_CFLAGS): Likewise.
1N/A (lancepci_o_CFLAGS): Likewise.
1N/A (ne2100_o_CFLAGS): Likewise.
1N/A (ni6510_o_CFLAGS): Likewise.
1N/A (3c503_o_CFLAGS): Likewise.
1N/A (ntulip_o_CFLAGS): Likewise.
1N/A (rtl8139_o_CFLAGS): Likewise.
1N/A (sk_g16_o_CFLAGS): Likewise.
1N/A (smc9000_o_CFLAGS): Likewise.
1N/A (tiara_o_CFLAGS): Likewise.
1N/A (tulip_o_CFLAGS): Likewise.
1N/A (via_rhine_o_CFLAGS): Likewise.
1N/A
1N/A * stage2/char_io.c (nul_terminate): Changed the type of the
1N/A return value to int. Return the original character changed to
1N/A NUL.
1N/A * stage2/shared.h (NETWORK_DRIVE): New macro.
1N/A (nul_terminate): Adjusted to the definition.
1N/A * stage2/gunzip.c (gunzip_test_header): Removed the TFTP check
1N/A entirely. It is no longer necessary because we now can obtain
1N/A the correct size of a file even for TFTP.
1N/A
1N/A2000-02-07 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/asm.S: Undo the previous changes. Is
1N/A binutils-2.9.5.0.25 too strict to retain the compatibility?
1N/A Reported by Kalle Olavi Niemitalo <tosi@ees2.oulu.fi>.
1N/A
1N/A2000-02-03 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/cmdline.c (enter_cmdline): Set BUF_DRIVE to -1 before
1N/A running a command to invalidate the cache.
1N/A (run_script): Likewise.
1N/A * stage2/char_io.c (get_cmdline): Set BUF_DRIVE to -1 before the
1N/A completion to invalidate the cache.
1N/A Reported by Jeff Sheinberg <jeffsh@erols.com>.
1N/A
1N/A * configure.in: Use AC_PATH_TOOL instead of AC_PATH_PROG.
1N/A * stage2/asm.S (chain_stage1): Prepend `*' to the argument for
1N/A ljmp.
1N/A (chain_stage2): Likewise.
1N/A (big_linux_boot): Likewise.
1N/A
1N/A2000-01-19 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * util/grub-install.in (--root): Renamed to ...
1N/A (--root-directory): ... this, since "root" is vague.
1N/A * docs/user-ref.texi (Invoking grub-install): Adjusted to the
1N/A change above, and added an example how to use --root-directory.
1N/A * docs/grub-install.8: Regenerated.
1N/A
1N/A * docs/appendices.texi (FAQ): Added an item about the sucked
1N/A SCSI problem.
1N/A
1N/A2000-01-15 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (chainloader_func): If --force is specified
1N/A in ARG, don't check for the signature.
1N/A * docs/tutorial.texi (Chain-loading): Added a caution about some
1N/A defective boot loaders and --force.
1N/A * docs/user-ref.texi (Command-line-specific commands): Added a
1N/A description about --force.
1N/A
1N/A2000-01-11 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/prog-ref.texi (LBA mode disk I/O): Added a footnote about
1N/A a buggy BIOS.
1N/A
1N/A2000-01-11 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage1/stage1.S [!NO_BUGGY_BIOS_IN_THE_WORLD]: Don't check if
1N/A LBA read is supported. Anyway, fallback to the CHS mode if
1N/A fails.
1N/A
1N/A2000-01-10 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/bios.c (NO_INT13_FALLBACK): Undefined.
1N/A (get_diskinfo) [!NO_BUGGY_BIOS_IN_THE_WORLD]: Do not check if
1N/A bit 0 in DRP.FLAGS is set, because at least one BIOS does not
1N/A set it correctly. Reported by "Forever shall I be."
1N/A <zinx@linuxfreak.com>.
1N/A
1N/A * util/grub-install.in: Handle the new options `--root' and
1N/A `--grub-shell'.
1N/A (rootdir): New variable.
1N/A (usage): Print the help messages about the options --root and
1N/A --grub-shell.
1N/A (bootdir): Initialized after the option analysis.
1N/A (grubdir): Likewise.
1N/A (device_map): Likewise.
1N/A (root_device): Set to the result for the directory ROOTDIR
1N/A instead of "/".
1N/A * docs/user-ref.texi (Invoking grub-install): Added the
1N/A descriptions about --root and --grub-shell.
1N/A * docs/grub-install.8: Regenerated.
1N/A
1N/A2000-01-08 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * util/grub-install.in (grubdir_device): New variable.
1N/A If GRUBDIR_DEVICE is not equal to ROOT_DEVICE, print an error
1N/A message and exit.
1N/A * README: Added a caution about Automake.
1N/A * TODO: Updated. Only the things that should be done until 0.6
1N/A have one or more exclamations. Things with zero exclamation
1N/A will be done after 0.6 unless someone sends a patch for it.
1N/A
1N/A2000-01-05 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * grub/asmstub.c: Include the header shared.h after including
1N/A all the system headers, but not before.
1N/A (EXTENDED_MEMSIZE): Reduced to 3MB.
1N/A (grub_setjmp): New function.
1N/A (grub_longjmp): Likewise.
1N/A * grub/main.c: Include setjmp.h.
1N/A * stage2/asm.S (grub_setjmp): New function. Stolen from the
1N/A OSKit (which stole it from Mach).
1N/A (grub_longjmp): Likewise.
1N/A * stage2/shared.h [GRUB_UTIL] (grub_jmp_buf): New type.
1N/A [!GRUB_UTIL] (grub_jmp_buf): New macro. Defined as jmp_buf.
1N/A (grub_setjmp): Declared.
1N/A (grub_longjmp): Likewise.
1N/A (restart_env): Likewise.
1N/A * stage2/builtins.c (configfile_func): Use grub_longjmp instead
1N/A of invoking cmain again.
1N/A * stage2/stage2.c (restart_env): New variable.
1N/A (cmain): Call grub_setjmp first to initialize RESTART_ENV.
1N/A
1N/A2000-01-03 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * docs/multiboot.texi (Boot information format): Added the
1N/A descriptions about the fields "config_table" and
1N/A "boot_loader_name".
1N/A
1N/A1999-12-31 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (setup_func) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
1N/A Specify the option `d', whether INSTALL_DRIVE is identical with
1N/A IMAGE_DRIVE or not.
1N/A * docs/user-ref.texi (Command-line-specific commands): Added a
1N/A caution about buggy BIOSes which don't pass a booting drive
1N/A properly.
1N/A
1N/A * docs/src2texi: Added an extra space into the first line, for
1N/A the portability issue.
1N/A
1N/A * docs/appendices.texi (Obtaining and Building GRUB): Update the
1N/A information on the ftp site and the CVS repository.
1N/A
1N/A1999-12-30 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/builtins.c (blocklist_func): New function.
1N/A (builtin_blocklist): New variable.
1N/A (builtin_table): Added a pointer to BUILTIN_BLOCKLIST.
1N/A * docs/user-ref.texi (Command-line-specific commands): Added a
1N/A description about the command "blocklist".
1N/A
1N/A1999-12-30 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * stage2/disk_io.c (grub_seek): New function.
1N/A * stage2/shared.h (grub_seek): Declared.
1N/A * stage2/boot.c (load_image): Use grub_seek instead of setting
1N/A FILEPOS to a new value directly.
1N/A * stage2/builtins.c (install_func): Likewise.
1N/A (testload_func): Likewise.
1N/A
1N/A * docs/grub.texi: Use a single direntry command for all the
1N/A entries instead of one per entry.
1N/A
1N/A1999-12-29 OKUJI Yoshinori <okuji@gnu.org>
1N/A
1N/A * grub/asmstub.c (check_device) [__linux__]: Check if DEVICE is
1N/A a CD-ROM drive by the HDIO_GETGEO ioctl. If so, then return
1N/A zero. Reported by Pavel Roskin.
1N/A
1N/A * stage2/Makefile.am (nodist_noinst_DATA): Renamed to ...
1N/A (noinst_DATA): ... this. The primary DATA is `nodist' by
1N/A default, at least theoretically. Reported by Klaus Reichl.
1N/A
1N/A * stage2/bios.c (get_diskinfo): Set the LBA flag in GEOMETRY
1N/A only if bit 0 in DRP.FLAGS is set. Reported by Zack Weinberg
1N/A <zack@rabi.columbia.edu>.
1N/A
1N/A From Pavel Roskin:
1N/A * grub/asmstub.c (init_device_map): Increase the number of
1N/A devices to be probed to 8 for IDE disks and 16 for SCSI
1N/A disks. Reported by Anton Anisimov <aa@bestlinux.net>.
1N/A
1N/A1999-12-06 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * README (DEVELOPERS): Change CVS location to subversions.
1N/A
1N/A1999-11-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/disk_io.c (real_open_partition): If SLICE_NO is greater
1N/A than or equal to PC_SLICE_MAX, skip any extended partition, when
1N/A searching for the right partition. Reported by Weil, Stefan 3732
1N/A EPE-24 <Stefan.Weil@de.heidelberg.com>.
1N/A
1N/A1999-11-19 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * grub/asmstub.c (getkey): Stop immediately if we get an EOF.
1N/A
1N/A * stage2/stage2.c (cmain): Tell enter_cmdline to run forever.
1N/A (run_menu): Tell print_cmdline_message and enter_cmdline that we
1N/A won't run forever.
1N/A * stage2/cmdline.c (enter_cmdline): New argument, FOREVER, for
1N/A when ESC shouldn't allow an exit. Pass it to
1N/A print_cmdline_message.
1N/A (print_cmdline_message): Use new argument, FOREVER, to decide
1N/A whether to tell the user that ESC exits.
1N/A
1N/A1999-11-18 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * debian/rules (binary-arch): Don't strip or generate shared
1N/A library dependencies for /usr/sbin/grub-install, since it's a
1N/A script.
1N/A
1N/A * util/grub-install.in: Create safe temporary log files using
1N/A /bin/tempfile if it is executable.
1N/A
1N/A1999-11-17 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * stage1/Makefile.am (LDFLAGS): Consolidate multiple -Wl flags.
1N/A * stage2/Makefile.am (PRE_STAGE2_LINK): Likewise.
1N/A (START_LINK): Likewise.
1N/A (STAGE1_5_LINK): Likewise.
1N/A
1N/A1999-11-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * util/grub-install.in (debug): New variable.
1N/A (convert): If the device file does not exist, then emit an
1N/A error. Get the GRUB drive instead of the OS device.
1N/A If --debug is specified, then set $debug to yes.
1N/A If $debug is yes, run "set -x".
1N/A Make sure that stage1 and stage2 exist.
1N/A When checking for INSTALL_DEVICE, use "case" instead of "elif"s.
1N/A Make sure that $install_drive is not empty.
1N/A Likewise, make sure that $root_drive is not empty.
1N/A Any error message is redirected to the standard error.
1N/A
1N/A1999-11-19 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * stage2/Makefile.am (noinst_DATA): Renamed to ...
1N/A (nodist_noinst_DATA): ... this.
1N/A * util/Makefile.am: sbin_SCRIPS -> sbin_SCRIPTS.
1N/A * util/grub-install.in: grub_dir -> grubdir.
1N/A Check if $grub_shell exists before running it.
1N/A (convert): Added a missing "test" after "if".
1N/A
1N/A1999-11-18 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * configure.in: Output grub-install.
1N/A * util/Makefile.am (sbin_SCRIPTS): New variable.
1N/A * util/grub-install.in: New file.
1N/A * docs/Makefile.am (man_MANS): Added grub-install.8.
1N/A [MAINTAINER_MODE] ($(srcdir)/grub-install.8): New target.
1N/A * docs/grub-install.8: New file. Generated by help2man.
1N/A * docs/user-ref.texi (Invoking grub-install): New chapter.
1N/A
1N/A1999-11-16 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Pavel Roskin:
1N/A * stage1/stage1.S: Check for the API subset support bitmap
1N/A returned by INT 13 AH=48h, and jump to chs_mode if AH=42h is not
1N/A supported.
1N/A
1N/A1999-11-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (install_func): When using a Stage 1.5, set
1N/A CURRENT_DRIVE to SAVED_DRIVE and CURRENT_PARTITION to
1N/A SAVED_PARTITION if set_device fails. If CURRENT_DRIVE is equal
1N/A to SRC_DRIVE, then set CURRENT_DRIVE to 0xFF. We don't want to
1N/A embed any drive number whenever possible.
1N/A * stage2/disk_io.c (set_device) [STAGE1_5]: Always set
1N/A CURRENT_PARTITION to PARTITION.
1N/A
1N/A1999-11-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Pavel Roskin:
1N/A * stage1/stage1.S (lba_mode): Jump to chs_mode if INT 13 AH=42h
1N/A fails.
1N/A
1N/A1999-11-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Do not use the device map file unless --device-map is specified.
1N/A
1N/A * grub/main.c (device_map_file): Set to 0.
1N/A (default_device_map_file): Removed.
1N/A (usage): Do not print DEFAULT_DEVICE_MAP_FILE.
1N/A * grub/asmstub.c (init_device_map): If DEVICE_MAP_FILE is NULL,
1N/A do not try to open the device map file.
1N/A Set FP to NULL by default.
1N/A * docs/grub.8: Regenerated.
1N/A
1N/A1999-11-11 Michael Hohmuth <hohmuth@innocent.com>
1N/A
1N/A * stage2/boot.c (load_image): grub_close was called after
1N/A return, so exchange the order.
1N/A * stage2/stage1_5.c (cmain): Call grub_close after grub_read.
1N/A Set RET to the value returned by grub_read, and if RET is
1N/A non-zero, call chain_stage2.
1N/A * stage1/Makefile.am (BUILT_SOURCES): Removed.
1N/A (CLEANFILES): Set to $(nodist_pkgdata_DATA).
1N/A
1N/A1999-11-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Suggested by Klaus Reichl:
1N/A * stage2/builtins.c (print_root_device): New function.
1N/A (root_func): If no argument is specified, call the function
1N/A print_root_device and return.
1N/A (rootnoverify_func): Likewise.
1N/A * stage2/disk_io.c [!STAGE1_5] (print_completions): Call
1N/A print_error even if IS_FILENAME is zero.
1N/A If ERRNUM is non-zero, then return -1.
1N/A * stage2/char_io.c [!STAGE1_5] (get_cmdline): Clear ERRNUM after
1N/A calling print_completions to print the list as well.
1N/A
1N/A * stage2/asm.S [!STAGE1_5] (currticks): Set %eax to %cx:%dx
1N/A correctly. Reported by Michael Hohmuth.
1N/A
1N/A1999-11-06 Klaus Reichl <Klaus.Reichl@alcatel.at>
1N/A
1N/A * grub/asmstub.c (get_diskinfo) [__linux__]: After opening the
1N/A drive, flush the cache, other progs may have left over something
1N/A in the cache.
1N/A
1N/A1999-11-03 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * debian/rules: Add variables for cross-compilation.
1N/A
1N/A * debian/control (Standards-Version): Update to version 3.1.0.
1N/A * debian/rules (build): Install manpages into /usr/share/man, and
1N/A info into /usr/share/info in accordance with FHS.
1N/A (binary-arch): Likewise, and put docs into /usr/share/doc.
1N/A * debian/postinst: Use /usr/share/info, and manage compatibility
1N/A /usr/doc/grub -> /usr/share/doc/grub symlink.
1N/A * debian/prerm: Likewise.
1N/A
1N/A * stage2/Makefile.am (CLEANFILES): Change to
1N/A $(nodist_pkgdata_DATA) so that the raw binary files are deleted.
1N/A * stage1/Makefile.am (CLEANFILES): Likewise.
1N/A
1N/A1999-11-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/asmstub.c (grub_putchar) [HAVE_LIBCURSES]: Do not call
1N/A wrefresh. This was just an accident. Sorry.
1N/A
1N/A Reported by Alan McLean <amcl@flash.net>:
1N/A * stage2/builtins.c (embed_func): The sector argument for the
1N/A function biosdisk is changed from SECTOR + I * SECTOR_SIZE to
1N/A SECTOR + I.
1N/A (find_func): Clear ERRNUM before each of the attempts.
1N/A
1N/A1999-11-05 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/multiboot.texi (Boot information format): Add the members
1N/A `drives_addr' and `drives_count' into the Multiboot information
1N/A structure, and added the descriptions.
1N/A
1N/A1999-11-03 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * util/mbchk.c (main): Move the version number inside the
1N/A parentheses since it is the GRUB package version, not just an
1N/A mbchk-specific version.
1N/A
1N/A1999-10-30 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * debian/rules (binary-arch): Compress man pages.
1N/A Strip the grub shell.
1N/A Install examples.
1N/A
1N/A1999-11-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/tutorial.texi: Fix typos by ispell.
1N/A * docs/user-ref.texi: Likewise.
1N/A * docs/prog-ref.texi: Likewise.
1N/A * docs/appendices.texi: Likewise.
1N/A
1N/A1999-11-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/fsys_ext2fs.c (struct ext2_dir_entry): Changed the type
1N/A of `name_len' to __u8 and added the new member `file_type' after
1N/A it. This is stolen from linux/ext2_fs.h in Linux 2.2.13.
1N/A Reported by Ben Harris <bjh21@cam.ac.uk>.
1N/A
1N/A * stage2/builtins.c (device_func) [GRUB_UTIL]: Call
1N/A nul_terminate before calling check_device.
1N/A
1N/A1999-11-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/disk_io.c (real_open_partition): Check for the right
1N/A partition for any extended partition as well. Set EXT to I after
1N/A the check is done. Reported by Jeff Scheinberg
1N/A <jeffsh@erols.com>.
1N/A
1N/A * stage2/builtins.c (color_func): Use the function
1N/A nul_terminate.
1N/A (device_func) [GRUB_UTIL]: Likewise.
1N/A (help_func): Likewise.
1N/A (install_func): Save CURRENT_DRIVE, CURRENT_PARTITION and
1N/A BUG_GEOM in SRC_DRIVE, SRC_PARTITION and SRC_GEOM respectively,
1N/A and use them when patching the Stage 2.
1N/A NUL-terminate the configuration filename CONFIG_FILENAME.
1N/A If IS_STAGE1_5 is true, then check if the "real config file"
1N/A option is present, and, if so, patch the Stage 2 CONFIG_FILENAME
1N/A with the configuration filename REAL_CONFIG_FILENAME.
1N/A (setkey_func): Use nul_terminate instead of the local function
1N/A null_terminate.
1N/A * stage2/char_io.c [!STAGE1_5] (nul_terminate): New function.
1N/A * stage2/shared.h (nul_terminate): Declared.
1N/A
1N/A1999-11-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/grub.texi: Add "I/O ports detection" into the menu.
1N/A * docs/user-ref.texi: Added a description about the command
1N/A "ioprobe".
1N/A * docs/prog-ref.texi (I/O ports detection): New chapter.
1N/A
1N/A1999-11-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Pavel Roskin:
1N/A * stage2/asm.S (int1_handler): Use EXT_C(io_map) instead of
1N/A io_map.
1N/A (int1_handler): Use EXT_C(bios_key_map) instead of bios_key_map.
1N/A * grub/asmstub.c [__OpenBSD__]: Include <sys/ioctl.h> and
1N/A <sys/disklabel.h>.
1N/A [__OpenBSD__] (get_floppy_disk_name): Added support for OpenBSD.
1N/A [__OpenBSD__] (get_ide_disk_name): Likewise.
1N/A [__OpenBSD__] (get_scsi_disk_name): Likewise.
1N/A (get_drive_geometry) [__OpenBSD__]: Use for OpenBSD the same
1N/A ioctl as for NetBSD and FreeBSD.
1N/A
1N/A1999-10-31 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/asmstub.c (init_device_map): Add a floppy device name
1N/A into the device map file even if check_device fails.
1N/A * stage2/char_io.c [!STAGE1_5] (get_cmdline): Clear ERRNUM after
1N/A calling print_completions.
1N/A
1N/A1999-10-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/asm.S (track_int13): Defined unconditionally. Do not
1N/A use int3 any more, but replace the int13 handler with
1N/A set_tf_int13_handler.
1N/A (int1_handler): Defined unconditionally. Do not check for 0x0F.
1N/A Add missing `$'s. If the code is 0xEC-0xEF, use %dx instead of
1N/A immediate. If the code is 0xE4-0xE7, use immediate instead of
1N/A %dx. Set %ds to zero before scanning IO_MAP. Check for the
1N/A buffer overrun of IO_MAP before adding a port.
1N/A [!DEFINE_TRACK_INT13] (int13_first_instruction): Removed.
1N/A [!DEFINE_TRACK_INT13] (int3_handler): Likewise.
1N/A (set_tf_int13_handler): New interrupt handler.
1N/A (set_tf_int13_offset): New variable.
1N/A (set_tf_int13_segment): Likewise.
1N/A * stage2/builtins.c (ioprobe_func): New function.
1N/A (builtin_ioprobe): New variable.
1N/A (builtin_table): Added a pointer to BUILTIN_IOPROBE.
1N/A * stage2/shared.h (IO_MAP_SIZE): New macro.
1N/A (track_int13): Declared.
1N/A (io_map): Likewise.
1N/A
1N/A1999-10-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/char_io.c (print_error) [!STAGE1_5]: Print "Error:"
1N/A before print the error message.
1N/A (print_error): Do not clear ERRNUM.
1N/A * stage2/cmdline.c (run_script): If ERRNUM is non-zero, set
1N/A ERRNUM to ERR_NONE.
1N/A (enter_cmdline): Clear ERRNUM after print_error.
1N/A
1N/A1999-10-28 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Pavel Roskin:
1N/A * stage2/stage2.c (run_menu) [GRUB_UTIL]: Do not use IBM special
1N/A characters in the message, but use ascii names instead.
1N/A (run_menu) [!GRUB_UTIL]: Use DISP_UP and DISP_DOWN instead of
1N/A the ascii codes.
1N/A * stage2/shared.h [!ACS_ULCORNER] (ACS_ULCORNER): New macro.
1N/A [!ACS_ULCORNER] (ACS_URCORNER): Likewise.
1N/A [!ACS_ULCORNER] (ACS_LLCORNER): Likewise.
1N/A [!ACS_ULCORNER] (ACS_LRCORNER): Likewise.
1N/A [!ACS_ULCORNER] (ACS_HLINE): Likewise.
1N/A [!ACS_ULCORNER] (ACS_VLINE): Likewise.
1N/A [!ACS_ULCORNER] (ACS_LARROW): Likewise.
1N/A [!ACS_ULCORNER] (ACS_RARROW): Likewise.
1N/A [!ACS_ULCORNER] (ACS_UARROW): Likewise.
1N/A [!ACS_ULCORNER] (ACS_DARROW): Likewise.
1N/A [GRUB_UTIL] (DISP_UL): Set to ACS_ULCORNER.
1N/A [GRUB_UTIL] (DISP_UR): Set to ACS_URCORNER.
1N/A [GRUB_UTIL] (DISP_LL): Set to ACS_LLCORNER.
1N/A [GRUB_UTIL] (DISP_LR): Set to ACS_LRCORNER.
1N/A [GRUB_UTIL] (DISP_HORIZ): Set to ACS_HLINE.
1N/A [GRUB_UTIL] (DISP_VERT): Set to ACS_VLINE.
1N/A [GRUB_UTIL] (DISP_LEFT): Set to ACS_LARROW.
1N/A [GRUB_UTIL] (DISP_RIGHT): Set to ACS_RARROW.
1N/A [GRUB_UTIL] (DISP_UP): Set to ACS_UARROW.
1N/A [GRUB_UTIL] (DISP_DOWN): Set to ACS_DARROW.
1N/A
1N/A1999-10-28 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (keycode_func): Removed.
1N/A (builtin_keycode): Likewise.
1N/A (struct keysym): New structure.
1N/A (keysym_table): New variable.
1N/A (setkey_func): New function.
1N/A (builtin_setkey): New variable.
1N/A (builtin_table): Removed the pointer to BUILTIN_KEYCODE, and
1N/A added a pointer to BUILTIN_SETKEY.
1N/A * stage2/common.c [!STAGE1_5] (err_list): Added
1N/A ERR_BAD_ARGUMENT.
1N/A * stage2/shared.h (grub_error_t): Added ERR_BAD_ARGUMENT.
1N/A (KEY_MAP_SIZE): Set to 128.
1N/A (ascii_key_map): Declared.
1N/A * stage2/asm.S [!STAGE1_5] (remap_ascii_char): New function.
1N/A [!STAGE1_5] (ascii_key_map): New variable.
1N/A [!STAGE1_5] (getkey): Call remap_ascii_char after int16.
1N/A [!STAGE1_5] (checkkey): Likewise.
1N/A * grub/asmstub.c (ascii_key_map): New variable.
1N/A * docs/user-ref.texi (General commands): Added a description
1N/A about the command "setkey".
1N/A (Stage2 errors): Added a description about ERR_BAD_ARGUMENT.
1N/A
1N/A1999-10-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/disk_io.c (set_device) [!STAGE1_5]: Remove the
1N/A preliminary Mach-style device name support. I've decided that
1N/A the support is not necessary.
1N/A (setup_part) [!STAGE1_5]: Do not strip the leading "/dev/".
1N/A * docs/help2man: Upgraded to 1.016.
1N/A * docs/mbchk.1: Regenerated.
1N/A * docs/grub.8: Likewise.
1N/A * grub/asmstub.c: Rename KEY_MAP to BIOS_KEY_MAP.
1N/A
1N/A * stage2/asm.S [!STAGE1_5] (set_int15_handler): Use 0 instead of
1N/A the maximum number for the segment.
1N/A [!STAGE1_5] (unset_int15_handler): Likewise.
1N/A [!STAGE1_5] (int15_handler): Almost rewritten. If non-carrier,
1N/A ignore the scancode. If the scancode is E1 or E0, then set
1N/A INT15_SKIP_FLAG to 0x74, and if the previous scancode is E1 or
1N/A E0, set INT15_SKIP_FLAG to 0xea. Clear bit 7 in %dl. Save bit 7
1N/A of %al in %bl. Do not lcall. Use ljmp instead.
1N/A [!STAGE1_5] (key_map): Renamed to ...
1N/A [!STAGE1_5] (bios_key_map): ... this.
1N/A * stage2/builtins.c (keycode_func): Check if FROM is greater
1N/A than 0xff instead of double-checking for TO. Use BIOS_KEY_MAP
1N/A instead of KEY_MAP.
1N/A * stage2/shared.h (KEY_MAP_SIZE): Set to 32.
1N/A (key_map): Removed.
1N/A (bios_key_map): Declared.
1N/A
1N/A1999-10-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Now the BIOS drive remapping is functional.
1N/A
1N/A * stage2/asm.S [DEFINE_TRACK_INT13] (track_int13): Use %edi
1N/A instead of direct addresses.
1N/A Prefix DATA32 to the calls for real_to_prot and prot_to_real.
1N/A Fix the address of DRIVE: 4(%ebp) -> 8(%ebp).
1N/A (set_int15_handler): Use %edi instead of direct addresses.
1N/A (unset_int15_handler): Likewise.
1N/A (set_int13_handler): Copy DRIVE_MAP_SIZE * 2 bytes instead of
1N/A DRIVE_MAP_SIZE bytes of MAP.
1N/A Fix the address of MAP: 4(%ebp) -> 8(%ebp).
1N/A Use %edi instead of direct addresses.
1N/A (int13_handler): Do not set %ds to %cs. Use the segment override
1N/A prefix of %cs instead.
1N/A Push the flags pushed by the callee instead of the current.
1N/A Set the flags in the stack to the flags returned by the original
1N/A int13 call.
1N/A (drive_map): 4bytes-aligned.
1N/A * stage2/disk_io.c (grub_close): Do not set ERRNUM even if
1N/A FSYS_TYPE is NUM_FSYS.
1N/A
1N/A1999-10-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage1/stage1.S: Long jump to real_start, because some bogus
1N/A BIOSes jump to 07C0:0000 instead of 0000:7C00.
1N/A (real_start): New label.
1N/A * docs/Makefile.am (grub.info): Removed. Use the default rule
1N/A instead.
1N/A
1N/A1999-10-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/asm.S [DEFINE_TRACK_INT13] (int3_handler): Save the
1N/A modified FLAGS in 6(%bp) instead of 4(%bp).
1N/A Decrease %bx before restoring the first instruction.
1N/A [DEFINE_TRACK_INT13] (track_int13): Go to the real mode before
1N/A setting up the registers for the int13 call.
1N/A
1N/A1999-10-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Add the prototype of a function to probe I/O ports used for a
1N/A BIOS drive.
1N/A
1N/A * stage2/asm.S [DEFINE_TRACK_INT13] (track_int13): New function.
1N/A [DEFINE_TRACK_INT13] (int1_handler): New interrupt handler for
1N/A the real mode.
1N/A [DEFINE_TRACK_INT13] (int3_handler): Likewise.
1N/A [DEFINE_TRACK_INT13] (io_map): New variable.
1N/A
1N/A * stage2/builtins.c (quit_func) [!GRUB_UTIL]: Fix a typo.
1N/A
1N/A1999-10-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A The new GRUB manual becomes official.
1N/A
1N/A * docs/grub.texi: Replaced with new-grub.texi.
1N/A * docs/new-grub.texi: Removed.
1N/A * docs/Makefile.am (grub_TEXINFOS): New variable.
1N/A (UNFINISHED_MANUALS): Removed.
1N/A (EXTRA_DIST): Deleted $(UNFINISHED_MANUALS).
1N/A
1N/A1999-10-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (device_func) [!GRUB_UTIL]: Set ERRNUM to
1N/A ERR_UNRECOGINIZED and return 1.
1N/A (impsprobe_func) [GRUB_UTIL]: Likewise.
1N/A (quit_func) [!GRUB_UTIL]: Likewise.
1N/A * docs/tutorial.texi: Rename "Device Syntax" to "Filename".
1N/A Added many cross-references.
1N/A * docs/new-grub.texi: "Device Syntax" -> "Filename".
1N/A * docs/user-ref.texi: Fix typos and added some cross-references.
1N/A * docs/prog-ref.texi: Likewise.
1N/A * docs/appendices.texi: Likewise.
1N/A
1N/A1999-10-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (map_func): If BIOS_DRIVE_MAP already
1N/A contains FROM, override the existsing entry.
1N/A If TO is equal to FROM, delete the existing entry if any.
1N/A (keycode_func): Likewise.
1N/A * docs/user-ref.texi (Command): Use the list of `@deffn's
1N/A instead of @table.
1N/A (Basic usage): Use @option instead of @code.
1N/A (Invoking mbchk): Likewise.
1N/A
1N/A1999-10-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/asm.S [!STAGE1_5] (set_int15_handler): New function.
1N/A [!STAGE1_5] (unset_int15_handler): Likewise.
1N/A [!STAGE1_5] (int15_handler): New interrupt handler for the real
1N/A mode.
1N/A [!STAGE1_5] (int15_offset): New variable.
1N/A [!STAGE1_5] (int15_segment): Likewise.
1N/A [!STAGE1_5] (key_map): Likewise.
1N/A [!STAGE1_5] (set_int13_handler): Use the macro ABS for
1N/A INT13_OFFSET and INT13_SEGMENT.
1N/A * stage2/shared.h (KEY_MAP_SIZE): New macro.
1N/A (set_int15_handler): Declared.
1N/A (unset_int15_handler): Likewise.
1N/A * stage2/builtins.c (boot_func): Do not allow I to be equal to
1N/A DRIVE_MAP_SIZE.
1N/A Call unset_int15_handler unless KERNEL_TYPE is KERNEL_TYPE_NONE.
1N/A (map_func): Search for an empty slot till I is less than
1N/A DRIVE_MAP_SIZE.
1N/A Check if I is equal to DRIVE_MAP_SIZE instead of if I is greater
1N/A than DRIVE_MAP_SIZE.
1N/A (keycode_func): New function.
1N/A (builtin_keycode): New variable.
1N/A (builtin_table): Added a pointer to BUILTIN_KEYCODE.
1N/A * grub/asmstub.c (set_int15_handler): New function.
1N/A (unset_int15_handler): Likewise.
1N/A (key_map): New variable.
1N/A
1N/A1999-10-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Michael Hohmuth <hohmuth@innocent.com>:
1N/A * acconfig.h (HAVE_USCORE_USCORE_BSS_START_SYMBOL): Added the
1N/A `undef' entry.
1N/A (HAVE_EDATA_SYMBOL): Likewise.
1N/A (HAVE_USCORE_EDATA_SYMBOL): Likewise.
1N/A * acinclude.m4 (grub_CHECK_USCORE_USCORE_BSS_START_SYMBOL): New
1N/A function.
1N/A (grub_CHECK_EDATA_SYMBOL): Likewise.
1N/A (grub_CHECK_USCORE_EDATA_SYMBOL): Likewise.
1N/A * configure.in: Check for __bss, edata and _edata.
1N/A * netboot/Makefile.am (DRIVERS): Deleted ns8390.c and ns8390.h.
1N/A (libdrivers_a_LIBADD): New variable.
1N/A ($(libdrivers_a_LIBADD)): New target.
1N/A (nepci_o_CFLAGS): New variable.
1N/A (ne_o_CFLAGS): Likewise.
1N/A (wd_o_CFLAGS): Likewise.
1N/A (t503_o_CFLAGS): Likewise.
1N/A * netboot/fsys_tftp.c (tftp_close): New function.
1N/A * stage2/boot.c (load_image): Call grub_close before return.
1N/A (load_initrd): Likewise.
1N/A (load_module): Likewise.
1N/A * stage2/builtins.c (cat_func): Likewise.
1N/A (chainloader_func): Likewise.
1N/A (configfile_func): Likewise.
1N/A (embed_func): Likewise.
1N/A (find_func): Likewise.
1N/A (install_func): Set IS_OPEN to the value returned by grub_open.
1N/A If IS_OPEN is non-zero, call grub_close before return.
1N/A (setup_func): Call grub_close after grub_open.
1N/A (testload): Call grub_close before return.
1N/A * stage2/disk_io.c (fsys_table): Add the `close' member into
1N/A each of the entries. For TFTP, tftp_close is added, and for the
1N/A rest, NULL is added.
1N/A (grub_read): "|" -> "||".
1N/A (grub_close): New function.
1N/A * stage2/filesys.h [FSYS_TFTP] (tftp_close): Declared.
1N/A (struct fsys_entry): Added close_func.
1N/A * stage2/shared.h (grub_close): Declared.
1N/A * stage2/stage1_5.c (cmain): Call grub_close after grub_open.
1N/A * stage2/stage2.c (cmain): Clear ERRNUM after calling
1N/A find_command to just ignore the error code.
1N/A Call grub_close after loading the configuration file.
1N/A
1N/A * stage2/asm.S (main): Clean out the bss.
1N/A
1N/A1999-10-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/new-grub.texi: Updated.
1N/A * docs/user-ref.texi: Likewise.
1N/A * docs/tutorial.texi: Likewise.
1N/A * docs/prog-ref.texi: Likewise.
1N/A * docs/appendices.texi: Likewise.
1N/A
1N/A1999-10-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/prog-ref.texi: New file.
1N/A * docs/appendices.texi: Likewise.
1N/A * docs/Makefile.am (UNFINISHED_MANUALS): Added prog-ref.texi and
1N/A appendices.texi.
1N/A
1N/A1999-10-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/user-ref.texi: New file.
1N/A * docs/Makefile.am (UNFINISHED_MANUALS): Added user-red.texi.
1N/A
1N/A1999-10-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Add BIOS drive remapping support for chain-loading some foolish
1N/A operating systems.
1N/A
1N/A * stage2/builtins.c (bios_drive_map): New variable.
1N/A (boot_func): If KERNEL_TYPE is KERNEL_TYPE_CHAINLOADER, check
1N/A if BIOS_DRIVE_MAP contains meaningful values. If so, search for
1N/A SAVED_DRIVE in BIOS_DRIVE_MAP and exchange SAVED_DRIVE with the
1N/A mapped drive if found. And then call set_int13_handler.
1N/A (map_func): New function.
1N/A (builtin_map): New variable.
1N/A (builtin_table): Added a pointer to BUILTIN_MAP.
1N/A * stage2/asm.S (ABS): New macro.
1N/A [!STAGE1_5] (set_int13_handler): New function.
1N/A [!STAGE1_5] (int13_handler): New interrupt handler for the real
1N/A mode.
1N/A [!STAGE1_5] (drive_map): New variable.
1N/A [!STAGE1_5] (int13_handler_end): New label used for just
1N/A computing the end address of int13_handler.
1N/A * stage2/shared.h (DRIVE_MAP_SIZE): New macro.
1N/A (set_int13_handler): Declared.
1N/A * grub/asmstub.c (set_int13_handler): New function. Do nothing.
1N/A
1N/A1999-10-20 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (find_func): Print only the device names.
1N/A * docs/tutorial.texi: New file.
1N/A * docs/Makefile.am (UNFINISHED_MANUALS): Added tutorial.texi.
1N/A (%.c.texi): Use $(SHELL) instead of /bin/sh.
1N/A (%.h.texi): Likewise.
1N/A (%.S.texi): Likewise.
1N/A
1N/A1999-10-20 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/char_io.c (memcheck): Fix the checks: "<=" -> "<".
1N/A Reported by Mike Hicks <hick0088@umn.edu>.
1N/A
1N/A1999-10-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (find_func): New function.
1N/A (builtin_find): New variable.
1N/A (hide_func): Save SAVED_DRIVE and SAVED_PARTITION to TMP_DRIVE
1N/A and TMP_PARTITION, respectively, and resotre them before return.
1N/A (unhide_func): Likewise.
1N/A (setup_func): Likewise. And set SAVED_DRIVE and SAVED_PARTITION
1N/A instead of CURRENT_DRIVE and CURRENT_PARTITION to IMAGE_DRIVE
1N/A and IMAGE_PARTITION before running install_func.
1N/A (builtin_table): Added a pointer to BUILTIN_FIND.
1N/A
1N/A1999-10-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/Makefile.am (UNFINISHED_MANUALS): New variable.
1N/A (EXTRA_DIST): Added $(UNFINISHED_MANUALS).
1N/A * docs/new-grub.texi: New file.
1N/A
1N/A1999-10-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/Makefile.am (man_MANS): Added mbchk.1.
1N/A [MAINTAINER_MODE] (mbchk.1): New target.
1N/A * docs/mbchk.1: New file. Generated by help2man.
1N/A
1N/A1999-10-18 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * Makefile.am (SUBDIRS): Added util.
1N/A * configure.in: Output util/Makefile.
1N/A * util/Makefile.am: New file.
1N/A * util/mbchk.c: Likewise.
1N/A * util/Makefile.in: Likewise. Generated by automake.
1N/A
1N/A1999-10-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/Makefile.am (.texi): Canceled because the dependecies can
1N/A be circulated.
1N/A * stage2/builtins.c (embed_func): Set BUF_TRACK to -1 before
1N/A writing the Stage 1.5 to the disk to clear the cache.
1N/A
1N/A1999-10-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/boot.c (load_initrd): Change types of *RAMDISK and
1N/A MOVETO to unsigned long.
1N/A Apply the macro RAW_ADDR to MOVETO.
1N/A
1N/A1999-10-16 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/multiboot.texi: Include the example source files of a
1N/A Multiboot kernel.
1N/A * docs/src2texi: New file.
1N/A * docs/boot.S: Likewise.
1N/A * docs/multiboot.h: Likewise.
1N/A * docs/kernel.c: Likewise.
1N/A * docs/boot.S.texi: Likewise.
1N/A * docs/multiboot.h.texi: Likewise.
1N/A * docs/kernel.c.texi: Likewise.
1N/A * docs/Makefile.am (EXAMPLES): New varilable.
1N/A (multiboot_TEXINFOS): Likewise.
1N/A (SRC2TEXI): Likewise.
1N/A (noinst_SCRIPTS): Added $(SRC2TEXI).
1N/A (EXTRA_DIST): Added $(EXAMPLES) and $(multiboot_TEXINFOS).
1N/A (%.c.texi): New target.
1N/A (%.h.texi): Likewise.
1N/A (%.S.texi): Likewise.
1N/A
1N/A1999-09-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * multiboot.texi (BIOS device mapping techniques): New section.
1N/A Stolen from bios_mapping.txt in grub-0.5.
1N/A (Data comparison technique): New subsection.
1N/A (I/O restriction technique): Likewise.
1N/A (Example OS code): Rewrited from scratch.
1N/A
1N/A1999-09-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * multiboot.texi: Rename Multiboot Standard to Multiboot
1N/A Specification and upgrade the version to 0.7. Many cleanups
1N/A are done.
1N/A
1N/A1999-10-15 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (setup_func): Save CURRENT_DRIVE and
1N/A CURRENT_PARTITION into IMAGE_DRIVE and IMAGE_PARTITION
1N/A respectively, and restore them before running install_func.
1N/A Use DEVICE instead of BUFFER to store the device name.
1N/A Change each type of STAGE1, STAGE2 and CONFIG_FILE to an array
1N/A of char.
1N/A If installing the Stage 1 into a MBR, embed the Stage 1.5 in the
1N/A sectors right after it.
1N/A Return the result of install_func instead of zero.
1N/A
1N/A1999-10-14 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * configure.in: Check for opendisk in libutil.
1N/A * grub/asmstub.c [__FreeBSD__ || __NetBSD__]: Include
1N/A <sys/ioctl.h>.
1N/A [HAVE_OPENDISK]: Include <util.h>.
1N/A [__NetBSD__] (get_floppy_disk_name): Added support for NetBSD.
1N/A [__NetBSD__ && HAVE_OPENDISK] (get_ide_disk_name): Likewise.
1N/A [__NetBSD__ && HAVE_OPENDISK] (get_scsi_disk_name): Likewise.
1N/A (get_drive_geometry) [__NetBSD__]: Use for NetBSD the same ioctl
1N/A as for FreeBSD.
1N/A
1N/A1999-10-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/asmstub.c (assign_device_name): If DEVICE is NULL, set
1N/A DEVICE_MAP[DRIVE] to NULL.
1N/A (get_diskinfo): If open or read fails, call assign_device_name
1N/A to disable accessing the drive DRIVE.
1N/A (grub_stage2): The device mapping routine is moved to ...
1N/A (init_device_map): ... here. This new function also reads/writes
1N/A a device map file. If DEVICE_MAP_FILE already exists, then use
1N/A the data in it instead of probing devices. Otherwise, guess the
1N/A map between BIOS drives and OS devices, and write it to the file
1N/A DEVICE_MAP_FILE if it can be opened.
1N/A * grub/main.c (device_map_file): New variable.
1N/A (default_device_map_file): Likewise.
1N/A (OPT_DEVICE_MAP): New macro.
1N/A (longopts): Added an entry for "device-map".
1N/A (usage): Print the usage about --device-map as well.
1N/A (main): Set DEFAULT_DEVICE_MAP_FILE to DEVICE_MAP_FILE. If
1N/A OPT_DEVICE_MAP is found, set DEVICE_MAP_FILE to a duplicated
1N/A string of OPTARG.
1N/A * stage2/shared.h [GRUB_UTIL] (device_map_file): Declared.
1N/A * docs/grub.8: Regenerated.
1N/A
1N/A1999-10-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (color_func): Do not set NORMAL_COLOR or
1N/A HIGHLIGHT_COLOR directly, but use NEW_NORMAL_COLOR and
1N/A NEW_HIGHLIGHT_COLOR as temporary storages instead.
1N/A New internal function `color_number' is used to convert a
1N/A symbolic color representation into a color number.
1N/A Try color_number at first, and if fails, then try
1N/A safe_parse_maxint for each of NORMAL and HIGHLIGHT.
1N/A (builtin_color): The long doc does not describe the raw number
1N/A syntax but the symbolic color name syntax.
1N/A * docs/grub.texi (Commands): Adjusted to the long doc of
1N/A BUILTIN_COLOR.
1N/A * docs/menu.lst: Add examples of "fallback" and "color".
1N/A
1N/A1999-10-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/char_io.c [!STAGE1_5] (get_cmdline): If C is a newline
1N/A or a return, then set LPOS to LLEN and call the function
1N/A cl_setcpos.
1N/A [!STAGE1_5] (grub_strncat): New function.
1N/A * stage2/builtins.c (embed_func): New function.
1N/A (builtin_embed): New varilable.
1N/A (setup_func): New function.
1N/A (builtin_setup): New varilable.
1N/A (builtin_table): Added a pointer to BUILTIN_EMBED and a pointer
1N/A to BUILTIN_SETUP.
1N/A * stage2/shared.h (grub_strncat): Declared.
1N/A
1N/A * stage2/Makefile.am (stage2_size.h): ../stage2/stage2 ->
1N/A pre_stage2. Reported by Pavel Roskin.
1N/A
1N/A1999-10-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Pavel Roskin:
1N/A * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): main -> cmain.
1N/A * stage2/boot.c (load_image): Only CUR_ADDR, not ENTRY_ADDR
1N/A should be 1M-aligned for NetBSD. Don't align symbol table on 4k
1N/A boundaries if the kernel doesn't require it.
1N/A
1N/A1999-10-10 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/asm.S [!STAGE1_5] (start): New label to force ld quiet.
1N/A [!STAGE1_5] (_start): Likewise.
1N/A * stage2/builtins.c (install_func): Rewritten heavily almost
1N/A from scratch. As the blocklist was moved to the first sector of
1N/A Stage 2, always write sectors of Stage 2 to the disk.
1N/A * stage1/stage1.h (STAGE1_STAGE2_SECTOR): 0x40 -> 0x41.
1N/A (STAGE1_STAGE2_ADDRESS): 0x44 -> 0x45.
1N/A (STAGE1_STAGE2_SEGMENT): 0x46 -> 0x47.
1N/A (STAGE1_BOOT_DRIVE): 0x3f -> 0x40.
1N/A
1N/A1999-10-09 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Stage1 supports both the CHS mode and the LBA mode.
1N/A
1N/A * stage1/Makefile.am (nodist_pkgdata_DATA): Removed stage1_lba.
1N/A (BUILT_SOURCES): Deleted.
1N/A (CLEANFILES): Likewise.
1N/A (noinst_PROGRAMS): Removed stage1_lba.exec.
1N/A (stage1_exec_SOURCES): Removed stage2_size.h.
1N/A (stage2_size.h): Deleted.
1N/A (stage1_lba_exec_SOURCES): Likewise.
1N/A * stage1/stage1.S: Rewritten from scratch.
1N/A * stage1/stage1_lba.S: Deleted.
1N/A * stage1/stage1.h (COMPAT_VERSION_MAJOR): Set to 3.
1N/A (COMPAT_VERSION_MINOR): Set to 0.
1N/A (STAGE1_VER_MAJ_OFFS): Set to 0x3e.
1N/A (STAGE1_FIRSTLIST): Deleted.
1N/A (STAGE1_INSTALLSEG): Likewise.
1N/A (STAGE1_INSTALLADDR): Likewise.
1N/A (STAGE1_MINPARAMSIZE): Likewise.
1N/A (STAGE1_LISTSIZE): Likewise.
1N/A (STAGE1_ID_OFFSET): Likewise.
1N/A (STAGE1_ID_CHS): Likewise.
1N/A (STAGE1_ID_LBA): Likewise.
1N/A (STAGE1_STAGE2_SECTOR): New macro.
1N/A (STAGE1_STAGE2_ADDRESS): Likewise.
1N/A (STAGE1_STAGE2_SEGMENT): Likewise.
1N/A (STAGE1_BOOT_DRIVE): Likewise.
1N/A * stage2/start.S: New file.
1N/A * stage2/Makefile.am (noinst_DATA): New variable.
1N/A (CLEANFILES): Set to "$(nodist_pkgdata_DATA) $(noinst_DATA)
1N/A $(BUILT_SOURCES)".
1N/A (noinst_PROGRAMS): Removed stage2.exec, and added start.exec and
1N/A pre_stage2.exec.
1N/A (STAGE2_LINK): Deleted.
1N/A (PRE_STAGE2_LINK): New variable.
1N/A (START_LINK): Likewise.
1N/A (stage2_exec_SOURCES): Deleted.
1N/A (stage2_exec_CFLAGS): Likewise.
1N/A (stage2_exec_LDFLAGS): Likewise.
1N/A [NETBOOT_SUPPORT] (stage2_exec_LDADD): Likewise.
1N/A (pre_stage2_exec_SOURCES): New variable.
1N/A (pre_stage2_exec_CFLAGS): Likewise.
1N/A (pre_stage2_exec_LDFLAGS): Likewise.
1N/A [NETBOOT_SUPPORT] (pre_stage2_exec_LDADD): Likewise.
1N/A (BUILT_SOURCES): Likewise.
1N/A (start_exec_SOURCES): Likewise.
1N/A (start_exec_CFLAGS): Likewise.
1N/A (start_exec_LDFLAGS): Likewise.
1N/A (start_exec_DEPENDENCIES): Likewise.
1N/A (stage2_size.h): New rule.
1N/A (stage2): Likewise.
1N/A (e2fs_stage1_5_exec_SOURCES): Added start.S.
1N/A (fat_stage1_5_exec_SOURCES): Likewise.
1N/A (ffs_stage1_5_exec_SOURCES): Likewise.
1N/A (minix_stage1_5_exec_SOURCES): Likewise.
1N/A * stage2/asm.S (start): Renamed to ...
1N/A (main): ... this.
1N/A [STAGE1_5] (main): Jump to (codestart - EXT_C(main) + 0x2200)
1N/A instead of (codestart - EXT_C(start) + 0x2000).
1N/A [!STAGE1_5] (main): Jump to (codestart - EXT_C(main) + 0x8200)
1N/A instead of (codestart - EXT_C(start) + 0x8000).
1N/A [STAGE1_5] (chain_stage2): Use main instead of start.
1N/A * stage2/shared.h (BOOTSEC_LISTSIZE): New macro.
1N/A * stage2/stage1_5.c: Change the second argument for chain_stage2
1N/A to 0x8200.
1N/A
1N/A1999-10-08 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * configure.in (--with-binutils): New option to specify a
1N/A directory to find binutils.
1N/A (CFLAGS): If WITH_BINUTILS is not empty, added the option `-B'.
1N/A (LD): Do not check for this. We don't use ld directly anyway.
1N/A (RANLIB): If WITH_BINUTILS is not empty, search the directory
1N/A WITH_BINUTILS first.
1N/A (OBJCOPY): Likewise.
1N/A * acinclude.m4 (grub_ASM_USCORE): Add CFLAGS into
1N/A AC_TRY_COMMAND.
1N/A (grub_ASM_ADDR32): Likewise.
1N/A (grub_ASM_PREFIX_REQUIREMENT): Likewise.
1N/A (grub_PROG_OBJCOPY_ABSOLUTE): Use CC instead of LD.
1N/A
1N/A1999-10-04 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * stage2/freebsd.h (struct bootinfo): New member, bi_bios_dev.
1N/A * stage2/boot.c (bsd_boot): Set BI.BI_BIOS_DEV to SAVED_DRIVE.
1N/A
1N/A1999-10-04 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Pavel Roskin:
1N/A * docs/grub.texi: Fix typos.
1N/A * stage2/builtins.c (install_func): Reformat the warning message
1N/A about the option `d'.
1N/A
1N/A1999-10-03 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * stage2/builtins.c (install_func): Fix check for the Stage 2 id.
1N/A From Pavel Roskin.
1N/A
1N/A * debian/Makefile.am (EXTRA_DIST): Add postinst and prerm.
1N/A
1N/A1999-10-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (boot_func): Pass MBI.CMDLINE instead of ARG
1N/A to bsd_boot.
1N/A
1N/A1999-10-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/gunzip.c (gunzip_test_header): Check if CURRENT_DRIVE
1N/A is 0x20 instead of if the fs type is TFTP, because GRUB does not
1N/A mount CURRENT_DRIVE when using a block file. Reported by Pavel
1N/A Roskin.
1N/A
1N/A1999-10-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (cat_func): Do not read the whole of a file
1N/A at one time. Instead, repeat reading one byte and print it on
1N/A the screen.
1N/A * docs/grub.texi (Command line): List the available key
1N/A bindings.
1N/A (Commands): Added descriptions about "geometry", "device" and
1N/A "cat".
1N/A
1N/A1999-10-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Now it is possible to build the grub shell with old BSD curses.
1N/A
1N/A * stage2/shared.h [!A_NORMAL] (A_NORMAL): Set to zero.
1N/A [!A_REVERSE && A_STANDOUT] (A_REVERSE): Set to A_STANDOUT.
1N/A [!A_REVERSE && !A_STANDOUT] (A_REVERSE): Set to zero.
1N/A
1N/A1999-09-30 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * stage2/disk_io.c (set_bootdev): Mask 0x7F instead of 0x79 of
1N/A the device number.
1N/A
1N/A1999-10-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * configure.in (--without-curses): New option. If WITH_CURSES is
1N/A no, do not check for curses.
1N/A
1N/A * stage2/disk_io.c (set_device) [STAGE1_5]: Change the type of
1N/A DEV to unsigned long.
1N/A * stage2/builtins.c (install_func): Always check for the Stage 2
1N/A id in FILE.
1N/A Reported by Pavel Roskin.
1N/A
1N/A1999-09-30 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * debian/postinst: New file to call install-info.
1N/A * debian/prerm: Likewise.
1N/A * debian/rules (binary-arch): Add postinst and prerm, compress the
1N/A info files, and call dpkg-shlibdeps.
1N/A
1N/A * stage2/cmdline.c (skip_to): Restructure, and count tabs as
1N/A whitespace.
1N/A (find_command): Likewise.
1N/A
1N/A1999-09-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/getopt.c: Moved to ...
1N/A * lib/getopt.c: ... here.
1N/A * grub/getopt1.c: Moved to ...
1N/A * lib/getopt1.c: ... here.
1N/A * grub/getopt.h: Moved to ...
1N/A * lib/getopt.h: ... here.
1N/A * grub/Makefile.am (AM_CFLAGS): Added -I$(top_srcdir)/lib.
1N/A (grub_LDADD): Added ../lib/libcommon.a.
1N/A * lib/Makefile.am: New file.
1N/A * Makefile.am (SUBDIRS): Added lib.
1N/A * configure.in: lib/Makefile is added into the arguments for
1N/A AC_OUTPUT.
1N/A
1N/A1999-09-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Pavel Roskin:
1N/A * stage2/defs.h (time_t): Renamed to ...
1N/A (mach_time_t): ... this.
1N/A (daddr_t): Renamed to ...
1N/A (mach_daddr_t): ... this.
1N/A (uid_t): Renamed to ...
1N/A (mach_uid_t): ... this.
1N/A (gid_t): Renamed to ...
1N/A (mach_gid_t): ... this.
1N/A (ino_t): Renamed to ...
1N/A (mach_ino_t): ... this.
1N/A * stage2/disk_inode.h (FFS_MAX_FASTLINK_SIZE): Use mach_daddr_t
1N/A instead of daddr_t.
1N/A (struct icommon): Use mach_uid_t, mach_gid_t, mach_time_t and
1N/A mach_daddr_t, instead of uid_t, gid_t, time_t and daddr_t.
1N/A * stage2/fs.h (BBLOCK): Use mach_daddr_t instead of addr_t.
1N/A (SBLOCK): Likewise.
1N/A (ROOTINO): Use mach_ino_t instead of ino_t.
1N/A (struct fs): Use mach_daddr_t and mach_time_t instead of daddr_t
1N/A and time_t.
1N/A (struct cg): Use mach_time_t instead of time_t.
1N/A (struct ocg): Likewise.
1N/A (cgbase): Use mach_daddr_t instead of daddr_t.
1N/A (itod): Likewise.
1N/A
1N/A1999-09-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * acinclude.m4 (grub_CHECK_START_SYMBOL): Use AC_TRY_LINK
1N/A instead of AC_TRY_COMMAND.
1N/A (grub_CHECK_USCORE_START_SYMBOL): Likewise.
1N/A (grub_CHECK_END_SYMBOL): Likewise.
1N/A (grub_CHECK_USCORE_END_SYMBOL): Likewise.
1N/A
1N/A * stage2/disk_io.c (set_device) [!STAGE1_5]: Use RESULT instead
1N/A of RETVAL to check if the analysis succeeds.
1N/A
1N/A1999-09-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (install_func): If the Stage 2 id in FILE is
1N/A not STAGE2_ID_STAGE2, set IS_STAGE1_5 to 1, otherwise to 0.
1N/A Use CONFIG_FILE_LOCATION to point to the location of the name of
1N/A a configuration file in Stage 2.
1N/A If the option `p' is present and IS_STAGE1_5 is non-zero, reset
1N/A the device information in CONFIG_FILE_LOCATION.
1N/A (cat_func): New function.
1N/A (builtin_cat): New variable.
1N/A (builtin_table): Added a pointer to BUILTIN_CAT.
1N/A (geometry_func): Call real_open_partition with the argument 1
1N/A after printing out the drive information.
1N/A * stage2/disk_io.c (real_open_partition): Made global.
1N/A [!STAGE1_5] (print_completions): In the command completion and
1N/A the filename completion, print a newline at the last if
1N/A IS_COMPLETION is zero.
1N/A * stage2/shared.h (real_open_partition): Declared.
1N/A * stage2/fsys_ext2fs.c (ext2fs_dir): Do not print a newline even
1N/A if PRINT_POSSIBILITIES is less than zero.
1N/A * stage2/fsys_ffs.c (ffs_dir): Likewise.
1N/A * stage2/fsys_fat.c (fat_dir): Likewise.
1N/A * stage2/fsys_minix.c (minix_dir): Likewise.
1N/A
1N/A1999-09-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage1/stage1.S [!FFS_STAGE1_5] (blocklist_default_len): Do
1N/A not divide the size by 512, but shift the size to the right by
1N/A 9 instead, because of a binutils-2.9.1.0.x bug.
1N/A * stage1/stage1_lba.S [!FFS_STAGE1_5] (blocklist_default_len):
1N/A Likewise.
1N/A * stage2/builtins.c (install_func): When installing Stage 1.5,
1N/A if set_device returns NULL, then set CURRENT_DRIVE to 0xFF and
1N/A CONFIG_FILE to PTR.
1N/A
1N/A1999-09-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/char_io.c [!STAGE1_5] (get_cmdline): In cl_insert, call
1N/A cl_setcpos before printing BUF, even if LPOS is equal to LLEN.
1N/A In the completion, if RET is zero, do not call cl_init.
1N/A * stage2/disk_io.c [!STAGE1_5] (print_completions): In the
1N/A filename completion, if UNIQUE is 1, check if UNIQUE_STRING is a
1N/A directory or not. If so, append '/' to BUF.
1N/A In the partition completion, if IS_COMPLETION is non-zero and
1N/A *UNIQUE_STRING is not NUL, copy UNIQUE_STRING to PTR. Do not
1N/A append '/'.
1N/A (real_open_partition) [!STAGE1_5]: If DO_COMPRESSION is non-zero,
1N/A call print_a_completion.
1N/A (check_BSD_parts) [!STAGE1_5]: Likewise.
1N/A [!STAGE1_5] (print_a_completion): Ignore NAME if it is "." or
1N/A "..".
1N/A
1N/A1999-09-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * acinclude.m4 (grub_CHECK_USCORE_END_SYMBOL): Do not call
1N/A AC_DEFINE within AC_CACHE_VAL. Call it after AC_CACHE_VAL.
1N/A * stage2/Makefile.am (STAGE1_5_COMPILE): Do not define
1N/A CONFIG_FILE_ASM.
1N/A * stage2/asm.S (config_file) [STAGE1_5]: Set the first 4 bytes
1N/A to 0xffffffff and the following to "/boot/grub/stage2".
1N/A (config_file) [!STAGE1_5]: Set to "/boot/grub/menu.lst".
1N/A * stage2/builtins.c (install_func): Read a Stage 2 before
1N/A handling the `p' option.
1N/A If the `configfile' option is present and FILE is a Stage 2,
1N/A translate the device name to the internal device representation
1N/A and copy the result to STR.
1N/A * stage2/disk_io.c [STAGE1_5] (sane_partition): Eliminated.
1N/A [STAGE1_5] (incomplete): Likewise.
1N/A [STAGE1_5] (disk_choice): Likewise.
1N/A [STAGE1_5] (part_choice): Likewise.
1N/A (set_device) [STAGE1_5]: Assume that the first 4 bytes of DEVICE
1N/A is a device number. Set DRIVE to the forth byte of DEV and
1N/A PARTITION to the first 3 bytes of DEV. If DRIVE is 0xFF, set
1N/A CURRENT_DRIVE and CURRENT_PARTITION to SAVED_DRIVE and
1N/A SAVED_PARTITION, respectively. Otherwise set to DRIVE and
1N/A PARTITION, respectively.
1N/A (setup_part) [STAGE1_5]: Always call set_device.
1N/A
1N/A1999-09-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * acinclude.m4 (grub_CHECK_END_SYMBOL): Add a missing
1N/A double-quote. Reported by Johannes Kroeger
1N/A <hanne@squirrel.owl.de>.
1N/A
1N/A1999-09-14 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * stage1/stage1.S (blocklist_default_start): New label for default
1N/A blocklist start sector.
1N/A (blocklist_default_len): New label for default blocklist length.
1N/A (blocklist_default_seg): New label for default blocklist segment.
1N/A * stage1/stage1_lba.S (blocklist_default_start): Likewise.
1N/A (blocklist_default_len): Likewise.
1N/A (blocklist_default_seg): Likewise.
1N/A
1N/A1999-09-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * acinclude.m4 (grub_ASM_ADDR32): First, create a template
1N/A source file "conftest.s.in", and then, replace @ADDR32@ with
1N/A "addr32" if GRUB_CV_ASM_PREFIX_REQUIREMENT is yes, otherwise,
1N/A replace it with "addr32;". Reported by John Tobey
1N/A <spam@john-edwin-tobey.org>.
1N/A
1N/A1999-09-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (debug_fs_print_func): Renamed to ...
1N/A (disk_read_print_func): ... this.
1N/A (fstest_func): Use DISK_READ_HOOK instead of DEBUG_FS.
1N/A (install_func): Rename debug_fs_savesect_func to
1N/A disk_read_savesect_func.
1N/A Rename debug_fs_blocklist_func to disk_read_blocklist_func.
1N/A Use DISK_READ_HOOK instead of DEBUG_FS.
1N/A (testload_func): Use DISK_READ_HOOK instead of DEBUG_FS.
1N/A * stage2/disk_io.c [!STAGE1_5] (debug_fs): Renamed to ...
1N/A [!STAGE1_5] (disk_read_hook): ... this.
1N/A [!STAGE1_5] (debug_fs_func): Renamed to ...
1N/A [!STAGE1_5] (disk_read_func): ... this.
1N/A (rawread) [!STAGE1_5]: Use DISK_READ_HOOK and DISK_READ_FUNC
1N/A instead of DEBUG_FS and DEBUG_FS_FUNC.
1N/A (grub_read) [!STAGE1_5]: Likewise.
1N/A (devread) [!STAGE1_5]: Use DISK_READ_HOOK instead of DEBUG_FS.
1N/A * stage2/fsys_ext2fs.c (ext2fs_read) [!STAGE1_5]: Use
1N/A DISK_READ_HOOK and DISK_READ_FUNC instead of DEBUG_FS and
1N/A DEBUG_FS_FUNC.
1N/A * stage2/fsys_ffs.c (ffs_read) [!STAGE1_5]: Likewise.
1N/A * stage2/fsys_minix.c (minix_read) [!STAGE1_5]: Likewise.
1N/A * stage2/shared.h [!STAGE1_5] (debug_fs): Renamed to ...
1N/A [!STAGE1_5] (disk_read_hook): ... this.
1N/A [!STAGE1_5] (debug_fs_func): Renamed to ...
1N/A [!STAGE1_5] (disk_read_func): ... this.
1N/A * docs/grub.texi: Likewise, replace debug_fs and debug_fs_func
1N/A with disk_read_hook and disk_read_func, respectively.
1N/A
1N/A1999-09-23 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * stage2/builtins.c (install_func): New local function,
1N/A debug_fs_savesect_func. Use debug_fs_savesect_func to determine
1N/A the first sector of Stage2. Write Stage 1 after patching Stage
1N/A 2.
1N/A
1N/A1999-09-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * acinclude.m4 (grub_ASM_USCORE): Do not define HAVE_ASM_USCORE
1N/A within AC_CACHE_VAL. Define it after AC_CACHE_VAL if
1N/A GRUB_CV_ASM_USCORE is yes.
1N/A
1N/A1999-09-20 Edmund GRIMLEY EVANS <edmundo@rano.demon.co.uk>
1N/A
1N/A * netboot/3c59x.c: INCLUDE_3c59x is replaced by INCLUDE_3C59X
1N/A throughout.
1N/A * netboot/config.c: Likewise.
1N/A * netboot/io.h (__INS): New macro.
1N/A (__OUTS): Likewise.
1N/A (outl): Likewise.
1N/A (inl): Likewise.
1N/A (outl_p): Likewise.
1N/A (inl_p): Likewise.
1N/A Call __INS with the argument `b', with `w' and with `l' to
1N/A define insb, insw and insl, respectively. Likewise, Call __OUTS
1N/A with `b', with `w' and with `l' to define outsb, outw and outl,
1N/A respectively.
1N/A * netboot/pci.h (PCI_VENDOR_ID_VORTEX): New macro.
1N/A (PCI_DEVICE_ID_VORTEX_3c595): Likewise. Defined as a random
1N/A value.
1N/A
1N/A1999-09-20 Edward Killips <ekillips@triton.net>
1N/A
1N/A * stage2/disk_io.c (set_partition_hidden_flag): Set/clear the
1N/A hidden flag, whether the hidden flag is set or not.
1N/A
1N/A1999-09-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (install_func): Do not set DEBUG_FS at the
1N/A first read. Set it to DEBUG_FS_BLOCKLIST_FUNC when reading the
1N/A whole of Stage 2. Set FILEPOS to zero at the same time to read
1N/A from the beginning of Stage 2. Reported by Pavel Roskin.
1N/A
1N/A1999-09-20 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A The argument ADDR for the command install is now optional.
1N/A
1N/A * stage2/builtins.c (install_func): If parsing ADDR fails, set
1N/A INSTALLADDR to zero and set PTR to ADDR.
1N/A If INSTALLADDR is zero after parsing the command-line, check if
1N/A the Stage 2 id is STAGE2_ID_STAGE2. If so, set INSTALLADDR to
1N/A 0x8000, otherwise set it to 0x2000.
1N/A Set the install address in the Stage 1 after the automatic
1N/A determination is completed.
1N/A (builtin_install): Say that ADDR is optional in the help
1N/A message.
1N/A * docs/grub.texi: Synchronize the description about install to
1N/A builtins.c. Remove explicit address arguments from all the
1N/A examples. Add a description about help.
1N/A * docs/menu.lst: Do not specify the address argument for
1N/A install.
1N/A
1N/A1999-09-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A The completion code is heavily modified.
1N/A
1N/A * stage2/char_io.c [!STAGE1_5] (get_cmdline): In the completion
1N/A code, use COMPLETION_BUFFER to get the completion instead of
1N/A writing to BUF directly.
1N/A Save the position of a possible equal character after a command
1N/A in EQUAL_POS and replace the equal character with a space
1N/A temporarily for the code simplicity.
1N/A At first, just get completions, and, if there is more than one
1N/A completions, then print the list of the completions.
1N/A * stage2/disk_io.c [!STAGE1_5] (do_completion): New variable.
1N/A [!STAGE1_5] (unique): Moved the definition near the beginning.
1N/A [!STAGE1_5] (unique_string): Likewise. And changed the type to
1N/A char *.
1N/A (check_BSD_parts) [!STAGE1_5]: If DO_COMPLETION is non-zero, do
1N/A not print anything.
1N/A (real_open_partition) [!STAGE1_5]: Likewise.
1N/A [!STAGE1_5] (print_fsys_type): Likewise.
1N/A [!STAGE1_5] (print_a_completion): The argument FILENAME is
1N/A renamed to NAME.
1N/A If DO_COMPLETION is non-zero, get the unique part from NAME and
1N/A set UNIQUE_STRING to it.
1N/A If DO_COMPLETION is zero, just print NAME.
1N/A Do not call printf unconditionally.
1N/A [!STAGE1_5] (print_completions): Accept two arguements
1N/A IS_FILENAME and IS_COMPLETION instead of FILENAME.
1N/A Set UNIQUE_STRING to UNIQUE_BUF.
1N/A Set DO_COMPLETION to IS_COMPLETION and set it to zero before
1N/A returning.
1N/A If IS_FILENAME is zero, then complete builtin commands and
1N/A return UNIQUE - 1.
1N/A Use BUF instead of FILENAME.
1N/A If IS_COMPLETION is non-zero, do not print anything.
1N/A Copy UNIQUE_STRING to PTR only if IS_COMPLETION and
1N/A *UNIQUE_STRING are non-zero.
1N/A * stage2/shared.h (COMPLETION_BUF): New macro.
1N/A (COMPLETION_BUFLEN): Likewise.
1N/A (UNIQUE_BUF): Likewise.
1N/A (UNIQUE_BUFLEN): Likewise.
1N/A (MENU_BUF): Set to UNIQUE_BUF + UNIQUE_BUFLEN.
1N/A (MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - UNIQUE_BUF.
1N/A (print_completions): Adjusted to the definition.
1N/A
1N/A1999-09-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * acinclude.m4 (grub_ASM_PREFIX_REQUIREMENT): Do not call
1N/A AC_DEFINE_UNQUOTEs within AC_CACHE_VAL. Define ADDR32 and DATA32
1N/A after it.
1N/A (grub_CHECK_START_SYMBOL): Do not call AC_DEFINE within
1N/A AC_CACHE_VAL. Define HAVE_START_SYMBOL after it.
1N/A (grub_CHECK_USCORE_START_SYMBOL): Do not call AC_DEFINE within
1N/A AC_CACHE_VAL. Define HAVE_USCORE_START_SYMBOL after it.
1N/A (grub_CHECK_END_SYMBOL): Do not call AC_DEFINE within
1N/A AC_CACHE_VAL. Define HAVE_END_SYMBOL after it.
1N/A (grub_CHECK_USCORE_END_SYMBOL): Do not call AC_DEFINE within
1N/A AC_CACHE_VAL. Define HAVE_USCORE_END_SYMBOL after it.
1N/A
1N/A1999-09-17 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * acconfig.h (ADDR32): Removed. This entry is automatically
1N/A created by autoheader.
1N/A (DATA32): Likewise.
1N/A * acinclude.m4 (grub_ASM_ADD32): Use ADDR32 instead of addr32.
1N/A Require grub_ASM_PREFIX_REQUIREMENT.
1N/A (grub_ASM_PREFIX_REQUIREMENT): Define ADDR32 and DATA32.
1N/A * configure.in: Call grub_ASM_PREFIX_REQUIREMENT before
1N/A grub_ASM_ADDR32. Do not define ADDR32 and DATA32.
1N/A * stage1/stage1.S (after_BPB): Use ABS(firstlist) instead of
1N/A firstlist.
1N/A (MSG): Use ABS(x) instead of x.
1N/A (probe_loop): Use the macro MSG for fd_probe_error_string.
1N/A * stage1/stage1_lba.S (after_BPB): Use ABS(firstlist) instead of
1N/A firstlist.
1N/A (MSG): Use ABS(x) instead of x.
1N/A * stage2/asm.S (putchar): Renamed to ...
1N/A (grub_putchar): ... this.
1N/A
1N/A1999-09-18 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/gunzip.c (reset_linalloc): Use the macro RAW_ADDR
1N/A before setting LINALLOC_TOPADDR.
1N/A * stage2/shared.h [!GRUB_UTIL] (RAW_ADDR): Added parenthesises
1N/A to avoid a gcc warning.
1N/A [!GRUB_UTIL] (RAW_SEG): Likewise.
1N/A
1N/A1999-09-18 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * acinclude.m4 (grub_CHECK_START_SYMBOL): New function.
1N/A (grub_CHECK_USCORE_START_SYMBOL): Likewise.
1N/A (grub_CHECK_END_SYMBOL): Likewise.
1N/A (grub_CHECK_USCORE_SYMBOL): Likewise.
1N/A * configure.in: Call grub_CHECK_START_SYMBOL and
1N/A grub_CHECK_USCORE_START_SYMBOL, and if neither start nor _start
1N/A is defined, print an error message and exit.
1N/A Likewise, call grub_CHECK_END_SYMBOL and
1N/A grub_CHECK_USCORE_END_SYMBOL, and if neither end nor _end is
1N/A defined, print an error message and exit.
1N/A * acconfig.h (HAVE_START_SYMBOL): Added the "undef" entry.
1N/A (HAVE_USCORE_START_SYMBOL): Likewise.
1N/A (HAVE_END_SYMBOL): Likewise.
1N/A (HAVE_USCORE_END_SYMBOL): Likewise.
1N/A * stage2/char_io.c (memcheck): Rename the argument START to
1N/A ADDR. Added two missing equal characters.
1N/A [GRUB_UTIL]: Define new local functions start_addr and end_addr.
1N/A [GRUB_UTIL && HAVE_START_SYMBOL]: The function start_addr
1N/A returns START.
1N/A [GRUB_UTIL && HAVE_USCORE_START_SYMBOL]: The function start_addr
1N/A returns _START.
1N/A [GRUB_UTIL && HAVE_END_SYMBOL]: The function end_addr returns
1N/A END.
1N/A [GRUB_UTIL && HAVE_USCORE_END_SYMBOL]: The function end_addr
1N/A returns _END.
1N/A [GRUB_UTIL]: If ADDR is equal to or greater than the address
1N/A returned by start_addr, and ADDR plus LEN is less than the
1N/A address returned by end_addr, return ! ERRNUM.
1N/A * stage2/asm.S (get_code_end) [HAVE_END_SYMBOL]: Use $end as the
1N/A end of the bss.
1N/A [HAVE_USCORE_END_SYMBOL]: Use $_end as the end of the bss.
1N/A * stage2/disk_io.c [!STAGE1_5] (cur_part_desc): Made static.
1N/A Need not to be global any longer.
1N/A
1N/A1999-09-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/char_io.c [!STAGE1_5] (get_cmdline): The argument
1N/A COMPLETION is renamed to READLINE.
1N/A Do not initialize KILL here.
1N/A TAB, C-a, C-e, C-f, C-b, C-u, C-k, C-y, C-p and C-n are handled
1N/A only if READLINE is non-zero.
1N/A If ECHO_CHAR is not NUL, do not remove the leading spaces in BUF.
1N/A Add CMDLINE into the history list only if READLINE is non-zero.
1N/A * stage2/stage2.c (cmain): Initialize the kill buffer.
1N/A
1N/A1999-09-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Killing, yanking and manipulating the history are supported.
1N/A
1N/A * stage2/shared.h (cur_cmdline): Removed.
1N/A (MAX_CMDLINE): Moved near the beginning of the file.
1N/A (NEW_HEAPSIZE): Likewise.
1N/A (CMDLINE_BUFLEN): Set to MAX_CMDLINE.
1N/A (KILL_BUF): New macro.
1N/A (KILL_BUFLEN): Likewise.
1N/A (HISTORY_BUF): Likewise.
1N/A (HISTORY_SIZE): Likewise.
1N/A (HISTORY_BUFLEN): Likewise.
1N/A (MENU_BUF): Set to HISTORY_BUF + HISTORY_BUFLEN.
1N/A (MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - HISTORY_BUF.
1N/A (strcpy): New macro.
1N/A (grub_strcpy): Delared.
1N/A * stage2/boot.c (cur_cmdline): Removed.
1N/A * stage2/char_io.c [!STAGE1_5] (grub_strcpy): New function.
1N/A [!STAGE1_5] (get_history): Likewise.
1N/A [!STAGE1_5] (add_history): Likewise.
1N/A [!STAGE1_5] (get_cmdline): Use BUF instead of CMDLINE for the
1N/A working buffer for the command-line.
1N/A A new function cl_insert is used to insert a string to the
1N/A command-line.
1N/A In the case where C-u or C-k is pressed, copy the string being
1N/A deleted to KILL.
1N/A If C-y is pressed, insert KILL to the command-line.
1N/A If C-p is pressed, fetch the previous command from the history
1N/A list HISTORY, and if C-n is pressed, fetch the next command from
1N/A it.
1N/A If LPOS is less than LLEN, add CMDLINE into the history list.
1N/A If C is equal to KEY_UP, set C to 16, and if C is equal to
1N/A KEY_DOWN, set C to 14.
1N/A [!STAGE1_5] (num_history): New variable.
1N/A
1N/A1999-09-15 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/size_test: Do not check for the size of Stage 2.
1N/A * stage1/Makefile.am (stage2_size.h): Use `set' and `echo'
1N/A instead of awk, since we cannot expect awk is present. Remove
1N/A stage2_size.h before creating it.
1N/A
1N/A1999-09-15 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * Makefile.am (SUBDIRS): Put stage1 after stage2 so that stage2
1N/A is built before stage1.
1N/A * stage1/Makefile.am (BUILT_SOURCES): New varilable.
1N/A (CLEANFILES): Added BUILT_SOURCES.
1N/A (stage1_exec_SOURCES): Added stage2_size.h.
1N/A (stage1_lba_exec_SOURCES): Likewise.
1N/A (stage2_size.h): New rule.
1N/A * stage1/stage1.S: Include <stage2_size.h> and use STAGE2_SIZE
1N/A to determine how much number of sectors to be read when loading
1N/A Stage 2.
1N/A * stage1/stage1_lba.S: Likewise.
1N/A
1N/A1999-09-15 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * netboot/config.h: Moved to ...
1N/A * netboot/netboot_config.h: ... here.
1N/A * netboot/config.c: Include netboot_config.h instead of config.h.
1N/A * netboot/fsys_tftp.c: Likewise.
1N/A * netboot/ip.c: Likewise.
1N/A * netboot/Makefile.am (libdrivers_a_SOURCES): Removed config.h
1N/A and added netboot_config.h.
1N/A
1N/A1999-09-14 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * grub/asmstub.c [__linux__]: On GLibc 2.0 and newer use lseek,
1N/A don't include <linux/fs.h> and define BLKFLSBUF if needed.
1N/A
1N/A1999-09-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Now the grub shell works fine on FreeBSD. A patch by Pavel
1N/A Roskin is modified and applied.
1N/A
1N/A * grub/asmstub.c (get_drive_geometry): New function.
1N/A (get_diskinfo): Use get_drive_geometry to set the geometry of
1N/A DRIVE.
1N/A
1N/A1999-09-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * configure.in (--enable-ne): Made the description more clear.
1N/A (--enable-nepci): Likewise.
1N/A (--enable-wd): Likewise.
1N/A (--enable-t503): Likewise.
1N/A (--enable-t509): Likewise.
1N/A (--enable-3c59x): Likewise.
1N/A (--enable-lance): Likewise.
1N/A (--enable-cs): Likewise.
1N/A (--enable-eepro100): Likewise.
1N/A (--enable-wd-default_mem): Renamed to ...
1N/A (--enable-wd-default-mem): ... this.
1N/A (--enable-cs-scan): Corrected the description.
1N/A (NETBOOT_SUPPORT): Defined if NET_CFLAGS is not empty.
1N/A * stage2/Makefile.am (stage2_exec_LDADD): Defined only if
1N/A NETBOOT_SUPPORT is true.
1N/A * netboot/Makefile.am (LIBDRIVERS): New variable. If
1N/A NETBOOT_SUPPORT is true, set to libdriver.a, otherwise set to an
1N/A empty string.
1N/A (noinst_LIBRARIES): Set to LIBDRIVERS.
1N/A (DRIVERS): Added 3c509.h, cs89x0.h and ns8390.h.
1N/A (libdrivers_a_SOURCES): Added byteorder.h, config.h, if.h, io.h,
1N/A ip.h, netboot.h, netdevice.h, nic.h and pic.h.
1N/A (libdrivers_a_CFLAGS): Added -fno-builtin and -nostdinc and
1N/A removed -O2.
1N/A * stage2/char_io.c (grub_sprintf): Added parenthesises to avoid
1N/A gcc warnings.
1N/A * stage2/gunzip.c (gunzip_test_header): Check if FSYS_TYPE is
1N/A TFTP. If so, set IS_TFTP to non-zero, otherwise to zero. And,
1N/A use IS_TFTP to check if we have GZIP_CRC instead of the equation
1N/A "FILEMAX == 16 * 1024 * 1024".
1N/A
1N/A1999-09-13 Edmund GRIMLEY EVANS <edmundo@rano.demon.co.uk>
1N/A
1N/A The netboot support in the Dresden version of GRUB is integrated.
1N/A
1N/A * Makefile.am (SUBDIRS): Added netboot.
1N/A * configure.in (--enable-tftp): New option.
1N/A (--enable-ne): Likewise.
1N/A (--enable-nepci): Likewise.
1N/A (--enable-wd): Likewise.
1N/A (--enable-t503): Likewise.
1N/A (--enable-t509): Likewise.
1N/A (--enable-3c59x): Likewise.
1N/A (--enable-lance): Likewise.
1N/A (--enable-cs): Likewise.
1N/A (--enable-eepro100): Likewise.
1N/A (--enable-ne-scan): Likewise.
1N/A (--enable-wd-default_mem): Likewise.
1N/A (--enable-cs-scan): Likewise.
1N/A (NET_CFLAGS): New variable.
1N/A (NET_EXTRAFLAGS): Likewise.
1N/A Do AC_OUTPUT for netboot/Makefile as well.
1N/A * stage1/stage1.S: Set the number of sectors for Stage 2 to 130.
1N/A * stage1/stage1_lba.S: Likewise.
1N/A * stage2/Makefile.am (stage2_exec_LDADD): Added
1N/A ../netboot/libdrivers.a.
1N/A * stage2/asm.S [!STAGE1_5] (currticks): New function.
1N/A * stage2/char_io.c [!STAGE1_5] (grub_sprintf): Likewise.
1N/A [!STAGE1_5] (grub_memcmp): Likewise.
1N/A * stage2/disk_io.c (fsys_table) [FSYS_TFTP]: Added an entry for
1N/A tftp.
1N/A (sane_partition) [!STAGE1_5]: If CURRENT_DRIVE is a network
1N/A drive, return 1.
1N/A (real_open_partition) [!STAGE1_5]: Likewise.
1N/A (set_device): If DEVICE contains a network drive, set
1N/A CURRENT_DRIVE to 0x20.
1N/A * stage2/filesys.h [FSYS_TFTP] (FSYS_TFTP_NUM): Defined as 1.
1N/A [!FSYS_TFTP] (FSYS_TFTP_NUM): Defined as 0.
1N/A (NUM_FSYS): Added FSYS_TFTP_NUM.
1N/A * stage2/gunzip.c (gunzip_test_header): If FILEMAX >= 16MB, do
1N/A not try to examine the last 8 bytes of the file. This is
1N/A required for compressed files by TFTP.
1N/A * stage2/shared.h (sprintf): New macro.
1N/A (memcmp): Likewise.
1N/A (currticks): Declared.
1N/A (grub_sprintf): Likewise.
1N/A (grub_memcmp): Likewise.
1N/A * stage2/size_test: Set the maximum size of Stage 2 to 66560.
1N/A * netboot/3c509.c: New file.
1N/A * netboot/3c509.h: Likewise.
1N/A * netboot/3c59x.c: Likewise.
1N/A * netboot/Makefile.am: Likewise.
1N/A * netboot/Makefile.in: Likewise.
1N/A * netboot/byteorder.h: Likewise.
1N/A * netboot/compile: Likewise.
1N/A * netboot/config.c: Likewise.
1N/A * netboot/config.h: Likewise.
1N/A * netboot/cs89x0.c: Likewise.
1N/A * netboot/cs89x0.h: Likewise.
1N/A * netboot/eepro100.c: Likewise.
1N/A * netboot/fsys_tftp.c: Likewise.
1N/A * netboot/if.h: Likewise.
1N/A * netboot/io.h: Likewise.
1N/A * netboot/ip.c: Likewise.
1N/A * netboot/ip.h: Likewise.
1N/A * netboot/lance.c: Likewise.
1N/A * netboot/netboot.h: Likewise.
1N/A * netboot/netdevice.h: Likewise.
1N/A * netboot/nic.h: Likewise.
1N/A * netboot/ns8390.c: Likewise.
1N/A * netboot/ns8390.h: Likewise.
1N/A * netboot/pci.c: Likewise.
1N/A * netboot/pci.h: Likewise.
1N/A
1N/A1999-09-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * configure.in (--enable-maintainer-mode): Do not use our own
1N/A rule, but use AM_MAINTAINER_MODE instead. If the maintainer mode
1N/A is enabled, then check for perl, and if it is not found, print
1N/A an error message and abort.
1N/A * docs/Makefile.am (grub.8): Regenerated if MAINTAINER_MODE is
1N/A defined, instead of GRUB_MAINT. Use the variable PERL rather
1N/A than running help2man directly.
1N/A
1N/A1999-09-13 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * stage2/pc_slice.h (IS_PC_SLICE_TYPE_EXTENDED): New macro.
1N/A * stage2/disk_io.c (real_open_partition): Use
1N/A IS_PC_SLICE_TYPE_EXTENDED instead of comparing CURRENT_SLICE
1N/A with the extended partition types.
1N/A
1N/A1999-09-11 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * acconfig.h: New file for autoheader support.
1N/A * acinclude.m4 (grub_ASM_EXT_C) Renamed to ...
1N/A (grub_ASM_USCORE): ... this. Define HAVE_ASM_USCORE if a C
1N/A symbol gets an underscore after compiling to assembler.
1N/A * configure.in: Added AM_CONFIG_HEADER. Autoconf 2.13 is now
1N/A required. Test for wgetch(), not getch() in -l[n]curses.
1N/A * stage2/shared.h (EXT_C): Defined.
1N/A Include the best existing header for [n]curses.
1N/A
1N/A1999-09-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/boot.c (load_image): Use CURRENT_DRIVE and
1N/A CURRENT_PARTITION instead of SAVED_DRIVE and SAVED_PARTITION for
1N/A the boot device in the Multiboot information. Reported by
1N/A Stephen Early <steve@greenend.org.uk>.
1N/A
1N/A1999-09-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/disk_io.c (sane_partition) [STAGE1_5]: Defined.
1N/A (set_device): Use sane_partition to make sure that CURRENT_DRIVE
1N/A has a valid value. Reported by Pavel Roskin.
1N/A
1N/A1999-09-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Pavel Roskin:
1N/A * stage2/builtins.c (device_func) [GRUB_UTIL]: Use check_device
1N/A in order to make sure that DEVICE exists.
1N/A * grub/asmstub.c (check_device): New function.
1N/A (grub_stage2): Use check_device to probe a device.
1N/A
1N/A * stage2/builtins.c (geometry_func) [GRUB_UTIL]: Copy the
1N/A modified geometry to GEOM and reset BUF_DRIVE. Reported by Pavel
1N/A Roskin.
1N/A
1N/A * grub/main.c (no_floppy): New variable.
1N/A (probe_second_floppy): Likewise.
1N/A (OPT_NO_FLOPPY): New macro.
1N/A (OPT_PROBE_SECOND_FLOPPY): Likewise.
1N/A (longopts): Added no-floppy and probe-second-floppy.
1N/A (usage): Added the descriptions about --no-floppy and
1N/A --probe-second-floppy.
1N/A (main): Handle OPT_PROBE_SECOND_FLOPPY and OPT_NO_FLOPPY.
1N/A * grub/asmstub.c (grub_stage2): Print a message before the probe
1N/A routine. If NO_FLOPPY is non-zero, do not probe any floppy drive.
1N/A If PROBE_SECOND_FLOPPY is zero, skip the probe of the second
1N/A floppy drive.
1N/A (get_floppy_disk_name): New function.
1N/A (get_ide_disk_name): Likewise.
1N/A (get_scsi_disk_name): Likewise.
1N/A
1N/A1999-09-10 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (device_func): New function.
1N/A (builtin_device): New variable.
1N/A (builtin_table): Added the pointer to BUILTIN_DEVICE.
1N/A (builtin_geometry) [GRUB_UTIL]: Accept extra arguments,
1N/A CYLINDER, HEAD, SECTOR and TOTAL_SECTOR, and, if they are found,
1N/A set the geometry of a drive specified to them.
1N/A * grub/asmstub.c (disks): Made global.
1N/A (assign_device_name): New function.
1N/A
1N/A1999-09-09 Gordon Matzigkeit <gord@fig.org>
1N/A
1N/A * docs/grub.texi (Commands): Synchronize descriptions with
1N/A builtins.c.
1N/A
1N/A * stage2/builtins.c (hide_func): Use set_partition_hidden_flag.
1N/A (unhide_func): Likewise.
1N/A Many help message cleanups. From Pavel Roskin.
1N/A
1N/A * stage2/shared.h (set_partition_hidden_flag): Declare.
1N/A
1N/A * stage2/disk_io.c (set_partition_hidden_flag): New function
1N/A merged from hide_partition and unhide_partition. Make sure we OR
1N/A with the inverse of the flag bit rather than XORing to unhide the
1N/A partition.
1N/A
1N/A1999-09-10 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/asmstub.c (_FILE_OFFSET_BITS): Defined.
1N/A (biosdisk) [!__linux__]: Pass the offset argument as off_t
1N/A instead of int to lseek, and compare the return value with
1N/A OFFSET. Reported by Pavel Roskin.
1N/A (grub_stage2) [!__linux__ && !__GNU__]: Print a warning message.
1N/A
1N/A1999-09-08 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/stage2.c (run_menu): If run_script is successfully
1N/A finished, break the loop. Reported by Pavel Roskin.
1N/A Do not wait an input character when FALLBACK_ENTRY is less than
1N/A zero.
1N/A * stage2/cmdline.c (run_script): If ERRNUM is non-zero, wait an
1N/A input character, whether FALLBACK is less than zero or not.
1N/A
1N/A1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (configfile_func): New function.
1N/A (builtin_configfile): New variable.
1N/A (builtin_table): Added the pointer to BUILTIN_CONFIGFILE.
1N/A
1N/A1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Pavel Roskin:
1N/A * stage2/asm.S [!STAGE1_5] (chain_stage2): Deleted.
1N/A [STAGE1_5] (get_code_end): Likewise.
1N/A * stage2/char_io.c (grub_strncat): Likewise.
1N/A * stage2/common.c [STAGE1_5] (saved_mem_upper): Likewise.
1N/A * stage2/smp-imps.c (imps_release_cpus): Likewise.
1N/A (imps_any_new_apics): Made static.
1N/A (imps_enabled): Likewise.
1N/A (imps_num_cpus): Likewise.
1N/A (imps_lapic_addr): Likewise.
1N/A (imps_cpu_apic_map): Likewise.
1N/A (imps_apic_cpu_map): Likewise.
1N/A
1N/A1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/builtins.c (testload_func): Fix the typos: 0x2000000 ->
1N/A 0x200000 and 0x3000000 -> 0x300000.
1N/A
1N/A1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Hisazumi Kenji <nel@soraneko.com>:
1N/A * stage2/fsys_ffs.c (mapblock_offset): New variable.
1N/A (mapblock_bsize): Likewise.
1N/A (MAPBUF): New macro.
1N/A (MAPBUF_LEN): Likewise.
1N/A (ffs_mount): Set MAPBLOCK_OFFSET to -1.
1N/A (block_map): Added partial read support.
1N/A
1N/A1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/cmdline.c (find_command): If COMMAND is less than
1N/A (*BUILTIN)->NAME in dictionary order, break the loop.
1N/A * stage2/builtins.c (builtin_chainloader): Capitalize the
1N/A variable name in the short doc.
1N/A (builtin_color): Likewise.
1N/A (builtin_geometry): Likewise.
1N/A (builtin_help): Likewise.
1N/A (builtin_hide): Likewise.
1N/A (builtin_initrd): Likewise.
1N/A (builtin_install): Likewise.
1N/A (builtin_kernel): Likewise.
1N/A (builtin_module): Likewise.
1N/A (builtin_modulenounzip): Likewise.
1N/A (builtin_pause): Likewise.
1N/A (builtin_read): Likewise.
1N/A (builtin_root): Likewise.
1N/A (builtin_testload): Likewise.
1N/A (builtin_unhide): Likewise.
1N/A (builtin_uppermem): Likewise.
1N/A
1N/A1999-09-05 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A The internal of the command handling is heavily modified, and
1N/A a new command "help" is added.
1N/A
1N/A * stage1/stage1.S: Set the number of sectors for Stage 2 to 110.
1N/A * stage1/stage1_lba.S: Likewise.
1N/A * stage2/builtins.c: New file.
1N/A * stage2/Makefile.am (libgrub_a_SOURCES): Added builtins.c.
1N/A (stage2_exec_SOURCES): Likewise.
1N/A * stage2/boot.c (load_image): Return kernel_t instead int.
1N/A (bsd_boot): Change the type of the first argument to kernel_t.
1N/A * stage2/char_io.c (get_cmdline): Do not accept the argument
1N/A COMMANDS and accept the argument COMPLETION.
1N/A Print completions only if COMPLETION is non-zero.
1N/A Print the list of short docs when the command is completed.
1N/A * stage2/cmdline.c [GRUB_UTIL]: Do not include apic.h and
1N/A smp-imps.h.
1N/A (fallback): Deleted.
1N/A (password): Likewise.
1N/A (debug): Likewise.
1N/A (normal_color): Likewise.
1N/A (highlight_color): Likewise.
1N/A (print_cmdline_message): New function.
1N/A (commands): Deleted.
1N/A (debug_fs_print_func): Likewise.
1N/A (installaddr): Likewise.
1N/A (installlist): Likewise.
1N/A (installsect): Likewise.
1N/A (debug_fs_blocklist_func): Likewise.
1N/A (find_command): New function.
1N/A (init_cmdline): Initialize the data for the command-line
1N/A interface. The function to print the message is moved to
1N/A print_cmdline_message.
1N/A (enter_cmdline): Rewritten from scratch. Now deal with only the
1N/A pure command-line and the function to deal with a menu entry is
1N/A moved to run_script.
1N/A (run_script): New function.
1N/A * stage2/shared.h (PASSWORD_BUF): New macro.
1N/A (PASSWORD_BUFLEN): Likewise.
1N/A (CMDLINE_BUF): Likewise.
1N/A (CMDLINE_BUFLEN): Likewise.
1N/A (MENU_BUF): Likewise.
1N/A (MENU_BUFLEN): Likewise.
1N/A (fallback): Deleted.
1N/A (fallback_entry): Declared.
1N/A (default_entry): Likewise.
1N/A (BUILTIN_CMDLINE): New macro.
1N/A (BUILTIN_MENU): Likewise.
1N/A (BUILTIN_TITLE): Likewise.
1N/A (struct builtin): New tag.
1N/A (builtin_table): Declared.
1N/A (cmdline_t): Deleted.
1N/A (kernel_t): New type.
1N/A (kernel_type): Declared.
1N/A (grub_timeout): Likewise.
1N/A (init_builtins): Likewise.
1N/A (init_config): Likewise.
1N/A (find_command): Likewise.
1N/A (print_cmdline_message): Likewise.
1N/A (run_script): Likewise.
1N/A [!STAGE1_5] (bsd_boot): Deleted.
1N/A [!STAGE1_5] (load_image): Likewise.
1N/A [!STAGE1_5] (load_module): Likewise.
1N/A [!STAGE1_5] (load_initrd): Likewise.
1N/A * stage2/size_test: Set the maximum size of Stage 2 to 56320.
1N/A * stage2/stage2.c (grub_timeout): Deleted.
1N/A (menu_t): Likewise.
1N/A (run_menu): Changed the return type to void.
1N/A Use FALLBACK_ENTRY instead of FALLBACK.
1N/A Do not check the return value of enter_cmdline.
1N/A (run_menu) [GRUB_UTIL]: Call stop instead of returning
1N/A MENU_ABORT.
1N/A (cmain): Set MENU_ENTRIES to MENU_BUF.
1N/A Call init_config instead of clearing the variables directly.
1N/A Use CMDLINE_BUF for the command-line buffer instead of the
1N/A stack.
1N/A Adapted the analysis routine for the configuration file to the
1N/A new builtin commands interface.
1N/A Run enter_cmdline forever.
1N/A If run_menu returns, restart the loop.
1N/A
1N/A1999-09-04 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * docs/menu.lst: More meaningful examples. Not using (0x80,0)
1N/A notation anymore.
1N/A * stage2/stage2.c (run_menu): Erase the entered password before
1N/A get_cmdline(). Help on TAB disabled when entering the password.
1N/A * stage2/char_io.c (get_cmdline): Restore command-line even if
1N/A there is no help string.
1N/A * configure.in: --disable-gunzip disables decompression in
1N/A stage2.
1N/A * stage2/gunzip.c [NO_DECOMPRESSION]: Disable all code if
1N/A decompression is disabled.
1N/A
1N/A1999-09-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/boot.c (load_image): Use PHDR->P_PADDR instead of
1N/A PHDR->P_VADDR. Reported by Ramon van Handel <vhandel@chem.vu.nl>.
1N/A
1N/A1999-09-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/help2man: Upgraded to 1.013.
1N/A * docs/grub.8: Regenerated.
1N/A
1N/A1999-09-02 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * stage2/cmdline.c (enter_cmdline) [GRUB_UTIL]: Add a space in
1N/A the LBA warning message.
1N/A
1N/A1999-09-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A The character `=' after a command is now optional.
1N/A
1N/A * stage2/char_io.c (get_cmdline): Search for a space or a equal
1N/A character after the first word in CMDLINE when TAB lists
1N/A completions, instead of just searching for a eqaul character.
1N/A * stage2/cmdline.c (skip_to): Treat the character `=' as a space
1N/A if AFTER_EQUAL is non-zero.
1N/A (commands): Delete all the equal characters.
1N/A * docs/menu.lst: Likewise.
1N/A * docs/grub.texi: Likewise.
1N/A
1N/A1999-09-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/asmstub.c (env_for_exit): New variable.
1N/A (grub_stage2): Do a setjmp in doit, and when it returns
1N/A non-zero, set STATUS to 1 if ERRNUM is non-zero.
1N/A (stop): Call longjmp instead of exit.
1N/A
1N/A1999-08-31 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * stage2/boot.c [GRUB_UTIL] (bsd_boot_entry): New function.
1N/A (bsd_boot) [GRUB_UTIL]: Set ENTRY_ADDR to BSD_BOOT_ENTRY to fake
1N/A the *BSD boot.
1N/A
1N/A1999-08-31 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/fsys_fat.c (fat_create_blocklist): Cast FAT_BUF to
1N/A unsigned short * instead of unsigned long *. Suggested by Pavel
1N/A Roskin.
1N/A
1N/A1999-08-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Edward Killips <ekillips@triton.net>:
1N/A * stage2/cmdline.c (commands): Added hide and unhide.
1N/A (enter_cmdline): Likewise.
1N/A * stage2/disk_io.c (unhide_partition): New function.
1N/A (hide_partition): Likewise.
1N/A * stage2/pc_slice.h (PC_SLICE_TYPE_HIDDEN_FLAG): New macro.
1N/A
1N/A1999-08-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Pavel Roskin <pavel_roskin@geocities.com>:
1N/A * stage2/fsys_minix.c (namelen): New variable.
1N/A (MINIX_NAME_LEN): Deleted.
1N/A (minix_mount): Set NAMELEN to 14 if SUPRTBLOCK->S_MAGIC is
1N/A MINIX_SUPER_MAGIC, and set NAMELEN to 30 if it is
1N/A MINIX_SUPER_MAGIC2.
1N/A (minix_dir): Use NAMELEN instead of MINIX_NAME_LEN.
1N/A
1N/A1999-08-29 Pavel Roskin <pavel_roslin@geocities.com>
1N/A
1N/A * grub/Makefile.am, stage1/Makefile.am, stage2/Makefile.am:
1N/A Avoid using variables inclosed in '@' because they cannot be
1N/A overridden at the make time.
1N/A
1N/A1999-08-29 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * stage2/fsys_fat.c (fat_create_blocklist): Return 1 for the
1N/A root directory on FAT12 and FAT16.
1N/A
1N/A1999-08-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/boot.c (load_image): Accept two arguments, KERNEL and
1N/A ARG. And use them instead of CUR_CMDLINE.
1N/A (load_module): Accept two arguments, MODULE and ARG. And use
1N/A them instead of CUR_CMDLINE.
1N/A (load_initrd): Accept one argument, INITRD. And use it instead
1N/A of CUR_CMDLINE.
1N/A (bsd_boot): Accept one additional argument, ARG. And use it
1N/A instead of CUR_CMDLINE.
1N/A * stage2/cmdline.c (enter_cmdline): Use MB_CMDLINE instead of
1N/A HEAP for the Multiboot command-line buffer.
1N/A * stage2/shared.h (MB_CMDLINE_BUF): New macro.
1N/A (MB_CMDLINE_BUFLEN): Likewise.
1N/A
1N/A1999-08-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/Makefile.am [GRUB_MAINT] (grub.8): The argument for the
1N/A option --name is changed to "the grub shell".
1N/A * docs/grub.8: Regenerated.
1N/A * docs/grub.texi: Do not use the name "the Stage 2 emulator" any
1N/A more. Use the name "the grub shell" instead.
1N/A
1N/A1999-08-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Klaus Reichl <klaus.reichl@alcatel.at>:
1N/A * stage2/fsys_minix.c: New file.
1N/A * stage2/size_test: Added a check for the size of minix_stage1_5.
1N/A * stage2/Makefile.am (libgrub_a_SOURCES): Added fsys_minix.c.
1N/A (libgrub_a_CFLAGS): Added -DFSYS_MINIX=1.
1N/A (nodist_pkgdata_DATA): Added minix_stage1_5.
1N/A (noinst_PROGRAMS): Added minix_stage1_5.exec.
1N/A (stage2_exec_SOURCES): Added fsys_minix.c.
1N/A (minix_stage1_5_exec_SOURCES): New variable.
1N/A (minix_stage1_5_exec_CFLAGS): Likewise.
1N/A (minix_stage1_5_exec_LDFLAGS): Likewise.
1N/A * stage2/pc_slice.h (PC_SLICE_TYPE_MINIX): New macro.
1N/A * stage2/disk_io.c (fsys_table) [FSYS_MINIX]: Added minix entry.
1N/A * stage2/filesys.h [FSYS_MINIX] (FSYS_MINIX_NUM): Set to 1.
1N/A [!FSYS_MINIX] (FSYS_MINIX_NUM): Set to 0.
1N/A [!NUM_FSYS] (NUM_FSYS): Added FSYS_MINIX_NUM.
1N/A * stage2/shared.h (STAGE2_ID_MINIX_STAGE1_5): New macro.
1N/A [STAGE1_5 && FSYS_MINIX] (STAGE2_ID): Set to
1N/A STAGE2_ID_MINIX_STAGE1_5.
1N/A * grub/Makefile.am (AM_CFLAGS): Added -DFSYS_MINIX=1.
1N/A * configure.in (--disable-minix): New option.
1N/A
1N/A1999-08-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Jochen Hoenicke <jochen@gnu.org>:
1N/A * stage2/fat.h (FAT_BPB_FAT_SECTORS_16): New macro.
1N/A (FAT_BPB_FAT_SECTORS_32): Likewise.
1N/A (FAT_BPB_IS_FAT32): Likewise.
1N/A (FAT_BPB_ROOT_DIR_CLUSTER): Likewise.
1N/A (FAT_BPB_FAT_SECTORS): If FAT_BPB_FAT_SECTORS_16 returns
1N/A a non-zero value, return it. Otherwise return
1N/A FAT_BPB_FAT_SECTORS_32.
1N/A (FAT_DIRENTRY_FIRST_CLUSTER): Corrected.
1N/A * stage2/fsys_fat.c (root_dir): New variable.
1N/A (fat_mount): Use the macro IS_PC_SLICE_TYPE_FAT instead of
1N/A checking for each fs types directly.
1N/A Omit the >64 sectors check.
1N/A If the current fs type is FAT32, then set FAT_SIZE to 8 and
1N/A get the root from BPB.
1N/A (fat_create_blocklist): Use the macro SECTOR_SIZE instead of a
1N/A magic number.
1N/A (fat_dir): Set MAP to ROOT_DIR instead of -1.
1N/A * stage2/pc_slice.h (PC_SLICE_TYPE_FAT32): New macro.
1N/A (PC_SLICE_TYPE_FAT32_LBA): Likewise.
1N/A (PC_SLICE_TYPE_FAT16_LBA): Likewise.
1N/A (IS_PC_SLICE_TYPE_FAT): Likewise.
1N/A
1N/A1999-08-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/fsys_ffs.c (ffs_mount): Do not shift the fs type
1N/A FS_BSDFFS. Reported by Takehiro Suzuki
1N/A <takehiro@coral.ocn.ne.jp>.
1N/A * stage2/fsys_fat.c (fat_mount): Do not shift the fs type
1N/A FS_MSDOS.
1N/A
1N/A1999-08-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Pavel Roskin's patch that adds new options to disable arbitrary
1N/A filesystems is heavily modified and applied.
1N/A
1N/A * configure.in (--disable-ext2fs): New option.
1N/A (--disable-fat): Likewise.
1N/A (--disable-ffs): Likewise.
1N/A (FSYS_CFLAGS): New variable. Set to filesystems the user choose.
1N/A * grub/Makefile.am (AM_CFLAGS): Added -DFSYS_EXT2FS=1,
1N/A -DFSYS_FAT=1 and -DFSYS_FFS=1.
1N/A * stage2/Makefile.am (libgrub_a_CFLAGS): Likewise.
1N/A (stage2_exec_CFLAGS): Added @FSYS_CFLAGS@.
1N/A * stage2/filesys.h
1N/A [!(FSYS_FFS || FSYS_FAT || FSYS_EXT2FS)] (FSYS_FFS): Deleted.
1N/A [!(FSYS_FFS || FSYS_FAT || FSYS_EXT2FS)] (FSYS_FAT): Likewise.
1N/A [!(FSYS_FFS || FSYS_FAT || FSYS_EXT2FS)] (FSYS_EXT2FS): Likewise.
1N/A * stage2/fsys_ext2fs.c [!FSYS_EXT2FS]: Do not define anything.
1N/A * stage2/fsys_fat.c [!FSYS_FAT]: Likewise.
1N/A * stage2/fsys_ffs.c [!FSYS_FFS]: Likewise.
1N/A
1N/A1999-08-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage1/stage1_lba.S: Use STAGE1_DRP_ADDR for the address of
1N/A drive parameters instead of DRIVE_PARAMETER.
1N/A (drive_parameter): Deleted.
1N/A * stage1/stage1.h (STAGE1_DRP_ADDR): New macro.
1N/A (STAGE1_DRP_SIZE): Likewise.
1N/A
1N/A1999-08-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/bios.c (get_diskinfo): In LBA mode, set TOTAL_SECTORS
1N/A to the low 32bits of DRP.TOTAL_SECTORS instead of the multiple
1N/A of CHS.
1N/A * stage2/cmdline.c (enter_cmdline) [GRUB_UTIL]: In the command
1N/A "geometry", print the device file name instead of CHS/LBA
1N/A information.
1N/A * stage2/shared.h (device_map): Declared.
1N/A * grub/asmstub.c (device_map): Defined as a global variable
1N/A instead of a local variable.
1N/A
1N/A1999-08-10 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Support the NetBSD and OpenBSD partition slices.
1N/A
1N/A * stage2/pc_slice.h (PC_SLICE_TYPE_BSD): Deleted.
1N/A (PC_SLICE_TYPE_FREEBSD): New macro.
1N/A (PC_SLICE_TYPE_OPENBSD): Likewise.
1N/A (PC_SLICE_TYPE_NETBSD): Likewise.
1N/A (IS_PC_SLICE_TYPE_BSD_WITH_FS): Likewise.
1N/A (IS_PC_SLICE_TYPE_BSD): Likewise.
1N/A * stage2/fsys_ffs.c (ffs_mount): Use the macro
1N/A IS_PC_SLICE_TYPE_BSD_WITH_FS instead of checking if
1N/A CURRECT_SLICE is equal to the BSD partition type directly.
1N/A * stage2/fsys_ext2fs.c (ext2fs_mount): Likewise.
1N/A * stage2/fsys_fat.c (fat_mount): Likewise.
1N/A * stage2/disk_io.c (check_BSD_parts): Set the low bits of
1N/A CURRENT_SLICE to PC_SLICE_TYPE_FREEBSD instead of
1N/A PC_SLICE_TYPE_BSD.
1N/A (real_open_partition): Use the macro IS_PC_SLICE_TYPE_BSD instead
1N/A of checking if CURRENT_SLICE is equal to the BSD partition type
1N/A directly.
1N/A
1N/A1999-08-09 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/cmdline.c (commands): Added geometry.
1N/A (enter_cmdline): If CUR_HEAP has the string "geometry", print
1N/A out the information about a drive that the argument represents.
1N/A
1N/A1999-08-09 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/stage2.c (run_menu): Terminate the string PASSWORD
1N/A before checking if ENTERED is identical to PASSWORD. Reported
1N/A by Mark Lundeberg <aa026@pgfn.bc.ca>.
1N/A
1N/A1999-08-08 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/stage2.c (set_line_normal): New function.
1N/A (set_line_highlight): Likewise.
1N/A (run_menu): Do not call the function set_line directly any
1N/A longer, call set_line_normal and set_line_highlight instead.
1N/A
1N/A From Pavel Roskin:
1N/A * stage2/stage2.c (run_menu) [GRUB_UTIL]: Quit when pushing the
1N/A key `q'.
1N/A
1N/A1999-08-05 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * acinclude.m4 (grub_ASM_PREFIX_REQUIREMENT): New function.
1N/A * configure.in: Call grub_ASM_PREFIX_REQUIREMENT, and define
1N/A ADDR32 and DATA32 based on the result.
1N/A * stage2/asm.S: Replace addr32 and data32 prefixes with ADDR32
1N/A and DATA32 respectively.
1N/A
1N/A1999-08-05 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * stage2/boot.c (load_image): Use RAW_ADDR macro when loading
1N/A an a.out kernel.
1N/A
1N/A1999-08-04 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/asm.S: Make each of the addr32 and data32 prefixes
1N/A appear in the same line as it modifies, as the gas manual in
1N/A binutils-2.9.5.0.4 says "it must be in the same line".
1N/A
1N/A1999-08-04 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * boot.c (load_image): Fix a strcmp test. Reported by Pavel
1N/A Roskin <pavel_roskin@geocities.com>.
1N/A
1N/A1999-08-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From "Dan J. Walters" <djw@cs.utexas.edu>:
1N/A * stage2/i386-elf.h (EI_BRAND): New macro.
1N/A * stage2/boot.c (load_image): If the kernel is ELF, check if it
1N/A is a FreeBSD kernel as well as a Multiboot kernel, and if it is
1N/A a FreeBSD kernel, then mask ENTRY_ADDR since FreeBSD requires
1N/A that. Likewise, mask MEMADDR.
1N/A (bsd_boot): Set the bi_symtab and the bi_esymtab members of BI
1N/A only if MBI.FLAGS has the flag MB_INFO_AOUT_SYMS. Otherwise,
1N/A clear them.
1N/A
1N/A1999-07-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Pavel Roskin <pavel_roskin@geocities.com>:
1N/A * grub/getopt.c: New file. Copied from texinfo-3.12n.
1N/A * grub/getopt1.c: Likewise.
1N/A * grub/getopt.h: Likewise.
1N/A * grub/Makefile.am (grub_SOURCES): Added getopt.c, getopt1.c and
1N/A getopt.h.
1N/A * configure.in: Check for string.h and strings.h.
1N/A * grub/asmstub.c (grub_stage2): Fix a misordering in the output
1N/A format of the inline assembly.
1N/A
1N/A1999-07-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Pavel Roskin <pavel_roskin@geocities.com>:
1N/A * stage2/asm.S (get_diskinfo_standard): If the number of sectors
1N/A returned is zero, then return an error code, even if non-carrier.
1N/A
1N/A1999-07-15 Gordon Matzigkeit <gord@zen.fig.org>
1N/A
1N/A * docs/Makefile.am (grub.info): Use an ugly hack to downgrade
1N/A grub.texi so that it works with Debian's version of texinfo.
1N/A
1N/A1999-07-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/bios.c (get_diskinfo): When DRIVE is a floppy drive,
1N/A try standard probe routine at first. Reported by Peter Astrand
1N/A <altic@lysator.liu.se>.
1N/A
1N/A * grub/main.c (main): Call printf instead of grub_printf.
1N/A Reported by Klaus Reichl <a8709182@unet.univie.ac.at>.
1N/A
1N/A1999-07-15 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/cmdline.c (skip_to): Don't increase CMDLINE if the
1N/A character to which CMDLINE points is NUL.
1N/A
1N/A * stage2/Makefile.am (EXTRA_DIST): Removed smp-imps.c.
1N/A (stage2_exec_SOURCES): Added smp-imps.c.
1N/A * stage2/cmdline.c [!GRUB_UTIL] (IMPS_DEBUG) (KERNEL_PRINT)
1N/A (CMOS_WRITE_BYTE) (CMOS_READ_BYTE) (PHYS_TO_VIRTUAL)
1N/A (VIRTUAL_TO_PHYS) (inb) (outb) (cmos_write_byte)
1N/A (cmos_read_byte): These are now defined in ...
1N/A * stage2/smp-imps.c (IMPS_DEBUG) (KERNEL_PRINT)
1N/A (CMOS_WRITE_BYTE) (CMOS_READ_BYTE) (PHYS_TO_VIRTUAL)
1N/A (VIRTUAL_TO_PHYS) (inb) (outb) (cmos_write_byte)
1N/A (cmos_read_byte): ... here.
1N/A * stage2/cmdline.c [!GRUB_UTIL]: Include apic.h and smp-imps.h.
1N/A
1N/A1999-07-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A The function ungetch is simulated so that the user can use a
1N/A buggy curses.
1N/A
1N/A * grub/asmstub.c [HAVE_LIBCURSES] (save_char): New variable.
1N/A (getkey) [HAVE_LIBCURSES]: If SAVE_CHAR is not ERR, return
1N/A SAVE_CHAR and clear it.
1N/A (checkkey) [HAVE_LIBCURSES]: If SAVE_CHAR is not ERR, return
1N/A SAVE_CHAR. If C is not ERR, set SAVE_CHAR to C.
1N/A
1N/A1999-07-14 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * stage2/char_io.c (get_cmdline) [GRUB_UTIL]: Recognize
1N/A backspace when ncurses fails to do this.
1N/A
1N/A * grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: Call wtimeout
1N/A instead of nodelay.
1N/A (getkey) [HAVE_LIBCURSES]: Likewise.
1N/A
1N/A1999-07-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage1/stage1_lba.S (probe_values): New variable. This is not
1N/A used actually, but prevents `install' command from failing
1N/A bogusly.
1N/A
1N/A1999-07-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A All constants in stage1s are moved to stage1.h and renamed
1N/A appropriately, and include stage1.h instead.
1N/A
1N/A * grub/Makefile.am (AM_CFLAGS): Added the include path to stage1.
1N/A * stage2/Makefile.am (INCLUDES): New variable.
1N/A * stage1/Makefile.am (stage1_exec_SOURCES): Added stage1.h
1N/A (stage1_lba_exec_SOURCES): Likewise.
1N/A * stage1/stage1.h: New file.
1N/A * stage1/stage1.S (SIGNATURE): Renamed to ...
1N/A * stage1/stage1.h (STAGE1_SIGNATURE): ... this.
1N/A * stage1/stage1.S (BPBEND): Renamed to ...
1N/A * stage1/stage1.h (STAGE1_BPBEND): ... this.
1N/A * stage1/stage1.S (PARTSTART): Renamed to ...
1N/A * stage1/stage1.h (STAGE1_PARTSTART): ... this.
1N/A * stage1/stage1.S (MINPARMSIZ): Renamed to ...
1N/A * stage1/stage1.h (STAGE1_MINPARMSIZE): ... this.
1N/A * stage1/stage1.S (LISTSIZ): Renamed to ...
1N/A * stage1/stage1.h (STAGE1_LISTSIZE): ... this.
1N/A * stage1/stage1.S (REALSTACK): Renamed to ...
1N/A * stage1/stage1.h (STAGE1_STACKSEG): ... this.
1N/A * stage1/stage1.S (BUFFERSEG): Renamed to ...
1N/A * stage1/stage1.h (STAGE1_BUFFERSEG): ... this.
1N/A * stage1/stage1.S (BIOS_HD_FLAG): Renamed to ...
1N/A * stage1/stage1.h (STAGE1_BIOS_HD_FLAG): ... this.
1N/A * stage1/stage1_lba.S (SIGNATURE): Removed.
1N/A * stage1/stage1_lba.S (BPBEND): Likewise.
1N/A * stage1/stage1_lba.S (PARTSTART): Likewise.
1N/A * stage1/stage1_lba.S (MINPARMSIZ): Likewise.
1N/A * stage1/stage1_lba.S (LISTSIZ): Likewise.
1N/A * stage1/stage1_lba.S (REALSTACK): Likewise.
1N/A * stage1/stage1_lba.S (BUFFERSEG): Likewise.
1N/A * stage1/stage1_lba.S (BIOS_HD_FLAG): Likewise.
1N/A
1N/A * stage1/stage1.S (stage1_id): New variable.
1N/A * stage1/stage1_lba.S (stage1_id): Likewise.
1N/A * stage1/stage1.h (COMPAT_VERSION_MINOR): Set to 2.
1N/A (STAGE1_ID_OFFSET): New macro.
1N/A (STAGE1_ID_CHS): Likewise.
1N/A (STAGE1_ID_LBA): Likewise.
1N/A * stage2/cmdline.c (enter_cmdline) [!GRUB_UTIL]: When running
1N/A the command `install' and STAGE1_FILE is stage1_lba, check if
1N/A LBA is supported.
1N/A (enter_cmdline) [GRUB_UTIL]: In the same case above, check only
1N/A if CURRENT_DRIVE is a hard disk and, if so, print a warning
1N/A message, because /sbin/grub cannot detect if LBA is supported or
1N/A not.
1N/A
1N/A * stage1/stage1_lba.S: Fix a bug that incorrectly assigns the
1N/A segment of buffer address.
1N/A
1N/A1999-07-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/boot.c (load_image): When removing "vga=...", memmove
1N/A the length of VGA_END plus one.
1N/A
1N/A1999-07-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/bios.c (get_diskinfo): In LBA mode, compute
1N/A TOTAL_SECTORS from DRP instead of GEOMETRY.
1N/A Clear GEOMETRY->FLAGS first.
1N/A
1N/A * stage2/boot.c (load_image): Fix inverted lines.
1N/A
1N/A1999-07-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Support Linux video mode selection.
1N/A
1N/A * stage2/shared.h (LINUX_VID_MODE_OFFSET): New macro.
1N/A (LINUX_VID_MODE_NORMAL): Likewise.
1N/A (LINUX_VID_MODE_EXTENDED): Likewise.
1N/A (LINUX_VID_MODE_ASK): Likewise.
1N/A [!WITHOUT_LIBC_STUBS] (strlen): Likewise.
1N/A (grub_strlen): Declared.
1N/A * stage2/boot.c (load_image): Added Linux video mode selection.
1N/A * stage2/char_io.c [!STAGE1_5] (grub_strlen): New function.
1N/A
1N/A1999-07-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/char_io.c (print_error): Print ERRNUM in the format of
1N/A %u instead of %d.
1N/A (convert_to_ascii) [STAGE1_5]: Eliminate the `x' and `d'
1N/A handling code.
1N/A (grub_printf): Declare FORMAT as `const char *'.
1N/A (grub_printf) [STAGE1_5]: Eliminate the `x' and `d' handling
1N/A code.
1N/A (get_based_digit): Removed.
1N/A (safe_parse_maxint): Remove unnecessary `register' prefixes,
1N/A because GCC does better optimization.
1N/A Declare DIGIT as `unsigned int' and calculate the value by more
1N/A compact instructions.
1N/A [!STAGE1_5] (grub_strncat): Declare S2 as `const char *'.
1N/A [!STAGE1_5] (grub_strcmp): Declare S1 and S2 as `const char *'.
1N/A [!STAGE1_5] (grub_strstr): Likewise.
1N/A (grub_memmove): Declare FROM as `const char *'.
1N/A The copy code is replaced with inline assembly code stolen from
1N/A Linux-2.2.2.
1N/A
1N/A * stage2/shared.h (grub_printf) : Corrected.
1N/A (grub_strncat): Likewise.
1N/A (grub_memmove): Likewise.
1N/A (grub_strstr): Likewise.
1N/A (grub_strcmp): Likewise.
1N/A
1N/A1999-07-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage1/stage1.S (sectors): Change the size to long.
1N/A (heads): Likewise.
1N/A (sector_start): New variable.
1N/A (head_start): Likewise.
1N/A (cylinder_start): Likewise.
1N/A (final_init): Set %si to SECTORS first, and use %si for memory
1N/A references.
1N/A Zero %eax so that the high 16 bits are always zero.
1N/A Set %di to FIRSTLIST - LISTSIZ instead of FIRSTLIST.
1N/A (bootloop): Omit the complex CHS recomputation, and always
1N/A compute them from LBA address instead.
1N/A Call 32bits div instructions instead of 16bits div instructions.
1N/A Update the position where to load data from at the end of this
1N/A loop, instead of the beginning.
1N/A
1N/A * stage1/stage1_lba.S: New file.
1N/A * stage1/Makefile.am (nodist_pkgdata_DATA): Added stage1_lba.
1N/A (LDFLAGS): New variable.
1N/A (noinst_PROGRAMS): Added stage1_lba.exec.
1N/A (stage1_lba_exec_SOURCES): New variable.
1N/A (%: %.exec): New rule.
1N/A
1N/A1999-06-28 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/main.c (main): The third argument for strtoul is changed
1N/A to 0 in the case where an option is OPT_INSTALL_PARTIION.
1N/A Reported by Pavel Roskin <pavel_roskin@geocities.com>.
1N/A
1N/A1999-06-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/shared.h (STAGE2_STAGE2_ID): New macro.
1N/A (STAGE2_VER_STR_OFFS): Set to 0xd.
1N/A (STAGE2_ID_STAGE2): New macro.
1N/A (STAGE2_ID_FFS_STAGE1_5): Likewise.
1N/A (STAGE2_ID_E2FS_STAGE1_5): Likewise.
1N/A (STAGE2_ID_FAT_STAGE1_5): Likewise.
1N/A (STAGE2_ID) [!STAGE1_5]: Defined as STAGE2_ID_STAGE2.
1N/A (STAGE2_ID) [STAGE1_5] [FSYS_FFS]: Defined as
1N/A STAGE2_ID_FFS_STAGE1_5.
1N/A (STAGE2_ID) [STAGE1_5] [FSYS_EXT2FS]: Defined as
1N/A STAGE2_ID_STAGE1_5.
1N/A (STAGE2_ID) [STAGE1_5] [FSYS_FAT]: Defined as
1N/A STAGE2_ID_FAT_STAGE1_5.
1N/A (COMPAT_VERSION_MINOR): Set to 1.
1N/A * stage2/asm.S (stage2_id): New variable.
1N/A * stage1/stage1.S: Change the minor version to 1.
1N/A
1N/A1999-06-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * configure.in (CFLAGS): Set to "-g", since only this flag is
1N/A always sharable.
1N/A (STAGE1_CFLAGS): Set to "-O2", and AC_SUBST this.
1N/A (GRUB_CFLAGS): Likewise.
1N/A (saved_CFLAGS): New variable for temporarily saving CFLAGS.
1N/A (STAGE2_CFLAGS): Set to "-Os" if this option is available,
1N/A otherwise set to "-fno-strength-reduce -fno-unroll-loops",
1N/A and then AC_SUBST this.
1N/A * grub/Makefile.am (AM_CFLAGS): Prepended @GRUB_CFLAGS@.
1N/A * stage1/Makefile.am (AM_CFLAGS): Prepended @STAGE1_CFLAGS@.
1N/A * stage2/Makefile.am (libgrub_a_CFLAGS): Prepened @GRUB_CFLAGS@.
1N/A (STAGE2_COMPILE): Prepended @STAGE2_CFLAGS@.
1N/A
1N/A * stage2/asm.S (chain_stage2): Pass CURRENT_PARTITION and
1N/A CURRENT_DRIVE, instead of INSTALL_PARTITION and BOOT_DRIVE.
1N/A
1N/A1999-06-27 Pavel Roskin <pavel_roskin@geocities.com>
1N/A
1N/A * configure.in: set CFLAGS to "-Os -g" for compilers which
1N/A understand "-Os" if CFLAGS is not already set. Use
1N/A "-O2 -fno-strength-reduce -fno-unroll-loops -g" for older gcc
1N/A versions.
1N/A
1N/A1999-06-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage2/disk_io.c (attempt_mount) [STAGE1_5]: Set FSYS_TYPE to
1N/A 0, and set it to NUM_FSYS if mount fails.
1N/A (real_open_partition): Call rawread in Stage 1.5 as well.
1N/A
1N/A1999-06-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * Makefile.am (SUBDIRS): Change the order of the directories so
1N/A that a directory will be made after the dependent directories
1N/A are made. `grub' depends on `stage2', and `docs' depends on
1N/A `grub'. Do not make in parallel.
1N/A * docs/help2man: Copied from help2man-1.012, which contains my
1N/A previous change.
1N/A * docs/grub.8: Regenerated.
1N/A
1N/A1999-06-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Build process is cleaned up. Stage 2 and Stage 1.5's are all
1N/A built in the directory stage2.
1N/A
1N/A From Pavel Roskin <pavel_roskin@geocities.com>:
1N/A * Makefile.am (SUBDIRS): e2fs_stage1_5, ffs_stage1_5,
1N/A fat_stage1_5 and shared_src are removed.
1N/A (DISTCLEANFILES): Deleted.
1N/A * configure.in: Call AC_PROG_RANLIB.
1N/A (AC_INIT): Change the argument to stage2/stage2.c.
1N/A (LIBS): Renamed to ...
1N/A (GRUB_LIBS): ... this, and call AC_SUBST for this.
1N/A Our own rules are removed.
1N/A (AC_OUTPUT): e2fs_stage1_5/Makefile, ffs_stage1_5/Makefile,
1N/A fat_stage1_5/Makefile and shared_src/Makefile are removed.
1N/A * docs/Makefile.am (HELP2MAN): The prefix $(srcdir) is removed.
1N/A [GRUB_MAINT]: Prepend $(srcdir) to $(HELP2MAN).
1N/A * e2fs_stage1_5/Makefile.am: Deleted.
1N/A * e2fs_stage1_5/Makefile.in: Likewise.
1N/A * fat_stage1_5/Makefile.am: Likewise.
1N/A * fat_stage1_5/Makefile.in: Likewise.
1N/A * ffs_stage1_5/Makefile.am: Likewise.
1N/A * ffs_stage1_5/Makefile.in: Likewise.
1N/A * grub/Makefile.am (CLEANFILES): Likewise.
1N/A (COMPILE): Likewise.
1N/A (INCLUDES): Likewise.
1N/A (DEP_FILES): Likewise.
1N/A (@SHARED_SRC_RULES@): Likewise.
1N/A (AM_CFLAGS): New variable.
1N/A (grub_LDADD): Set to the library libgrub.a and @GRUB_LIBS@.
1N/A * shared_src/Makefile.am: Deleted.
1N/A * shared_src/Makefile.in: Likewise.
1N/A * shared_src/apic.h: Moved to ...
1N/A * stage2/apic.h: ... here.
1N/A * shared_src/asm.S: Moved to ...
1N/A * stage2/asm.S: ... here.
1N/A * shared_src/bios.c: Moved to ...
1N/A * stage2/bios.c: ... here.
1N/A * shared_src/boot.c: Moved to ...
1N/A * stage2/boot.c: ... here.
1N/A * shared_src/char_io.c: Moved to ...
1N/A * stage2/char_io.c: ... here.
1N/A * shared_src/cmdline.c: Moved to ...
1N/A * stage2/cmdline.c: ... here.
1N/A * shared_src/common.c: Moved to ...
1N/A * stage2/common.c: ... here.
1N/A * shared_src/defs.h: Moved to ...
1N/A * stage2/defs.h: ... here.
1N/A * shared_src/dir.h: Moved to ...
1N/A * stage2/dir.h: ... here.
1N/A * shared_src/disk_inode.h: Moved to ...
1N/A * stage2/disk_inode.h: ... here.
1N/A * shared_src/disk_inode_ffs.h: Moved to ...
1N/A * stage2/disk_inode_ffs.h: ... here.
1N/A * shared_src/disk_io.c: Moved to ...
1N/A * stage2/disk_io.c: ... here.
1N/A * shared_src/fat.h: Moved to ...
1N/A * stage2/fat.h: ... here.
1N/A * shared_src/filesys.h: Moved to ...
1N/A * stage2/filesys.h: ... here.
1N/A * shared_src/freebsd.h: Moved to ...
1N/A * stage2/freebsd.h: ... here.
1N/A * shared_src/fs.h: Moved to ...
1N/A * stage2/fs.h: ... here.
1N/A * shared_src/fsys_ext2fs.c: Moved to ...
1N/A * stage2/fsys_ext2fs.c: ... here.
1N/A * shared_src/fsys_fat.c: Moved to ...
1N/A * stage2/fsys_fat.c: ... here.
1N/A * shared_src/fsys_ffs.c: Moved to ...
1N/A * stage2/fsys_ffs.c: ... here.
1N/A * shared_src/gunzip.c: Moved to ...
1N/A * stage2/gunzip.c: ... here.
1N/A * shared_src/i386-elf.h: Moved to ...
1N/A * stage2/i386-elf.h: ... here.
1N/A * shared_src/imgact_aout.h: Moved to ...
1N/A * stage2/imgact_aout.h: ... here.
1N/A * shared_src/mb_header.h: Moved to ...
1N/A * stage2/mb_header.h: ... here.
1N/A * shared_src/mb_info.h: Moved to ...
1N/A * stage2/mb_info.h: ... here.
1N/A * shared_src/pc_slice.h: Moved to ...
1N/A * stage2/pc_slice.h: ... here.
1N/A * shared_src/shared.h: Moved to ...
1N/A * stage2/shared.h: ... here.
1N/A * shared_src/smp-imps.c: Moved to ...
1N/A * stage2/smp-imps.c: ... here.
1N/A * shared_src/smp-imps.h: Moved to ...
1N/A * stage2/smp-imps.h: ... here.
1N/A * shared_src/stage1_5.c: Moved to ...
1N/A * stage2/stage1_5.c: ... here.
1N/A * shared_src/stage2.c: Moved to ...
1N/A * stage2/stage2.c: ... here.
1N/A * stage1/Makefile.am (pkgdata_DATA): Renamed to ...
1N/A (nodist_pkgdata_DATA): ... this.
1N/A (COMPILE): Deleted.
1N/A (AM_CFLAGS): New variable.
1N/A * stage2/Makefile.am: Completely rewritten from scratch.
1N/A (TESTS): New variable.
1N/A (noinst_SCRIPTS): Likewise.
1N/A (noinst_HEADERS): Likewise.
1N/A (EXTRA_DIST): Set to smp-imps.c and $(noinst_SCRIPTS).
1N/A (noinst_LIBRARIES): New variable.
1N/A (libgrub_a_SOURCES): Likewise.
1N/A (libgrub_a_CFLAGS): Likewise.
1N/A (pkgdata_DATA): Deleted.
1N/A (nodist_pkgdata_DATA): New variable.
1N/A (MOSTLYCLEANFILES): Set to $(noinst_PROGRAMS).
1N/A (COMPILE): Deleted.
1N/A (INCLUDES): Likewise.
1N/A (stage2_exec_LDADD): Likewise.
1N/A (DEP_FILES): Likewise.
1N/A (stage2_exec_SOURCES): Set to the actual source files instead of
1N/A dummy.
1N/A (DISTFILES): Deleted.
1N/A (stage2.exec): Likewise.
1N/A (stage2): Likewise.
1N/A (@SHARED_SRC_RULES@): Likewise.
1N/A (noinst_PROGRAMS): Set to executable formats of Stage 2 and
1N/A Stage 1.5's.
1N/A (STAGE2_LINK): New variable.
1N/A (STAGE2_COMPILE): Likewise.
1N/A (STAGE1_5_LINK): Likewise.
1N/A (STAGE1_5_COMPILE): Likewise.
1N/A (stage2_exec_CFLAGS): Likewise.
1N/A (stage2_exec_LDFLAGS): Likewise.
1N/A (e2fs_stage1_5_exec_SOURCES): Likewise.
1N/A (e2fs_stage1_5_exec_CFLAGS): Likewise.
1N/A (e2fs_stage1_5_exec_LDFLAGS): Likewise.
1N/A (fat_stage1_5_exec_SOURCES): Likewise.
1N/A (fat_stage1_5_exec_CFLAGS): Likewise.
1N/A (fat_stage1_5_exec_LDFLAGS): Likewise.
1N/A (ffs_stage1_5_exec_SOURCES): Likewise.
1N/A (ffs_stage1_5_exec_CFLAGS): Likewise.
1N/A (ffs_stage1_5_exec_LDFLAGS): Likewise.
1N/A (% : %.exec): New rule.
1N/A
1N/A * stage2/size_test: New file, for checking for the sizes of
1N/A Stage 2 and Stage 1.5's.
1N/A
1N/A1999-06-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * stage1/stage1.S: Call testb instead of andb when checking if
1N/A the drive is a floppy.
1N/A
1N/A1999-06-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/asmstub.c [__linux__]: Include linux/fs.h for BLKFLSBUF.
1N/A (grub_stage2): Call sync before and after calling doit.
1N/A (gurb_stage2) [__linux__]: Invalidate buffer caches by BLKFLSBUF
1N/A ioctl.
1N/A * grub/main.c (main): Call sync first. Suggested by Pavel Roskin
1N/A <pavel_roskin@geocities.com>.
1N/A
1N/A * configure.in: Curses libraries are always checked.
1N/A (--enable-sbin-grub): Deleted. Now /sbin/grub is always built.
1N/A (--enable-maintainer-mode): New option.
1N/A * grub/Makefile.am (EXTRA_PROGRAMS): Deleted.
1N/A (sbin_PROGRAMS): Just set to grub.
1N/A * docs/Makefile.am (man_MANS): New variable.
1N/A (HELP2MAN): Likewise.
1N/A (noinst_SCRIPTS): Likewise.
1N/A (EXTRA_DIST): Add $(man_MANS) and $(noinst_SCRIPTS).
1N/A [GRUB_MAINT]: Define the rule for the /sbin/grub manual.
1N/A * docs/help2man: Copied from texinfo-3.12i.
1N/A (--section): New option to specify which section a manual
1N/A belongs to.
1N/A (opt_section): New variable.
1N/A (section): Likewise.
1N/A * docs/grub.8: Produced by help2man automatically.
1N/A
1N/A1999-06-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * shared_src/char_io.c (get_cmdline): Add two missing `break's.
1N/A
1N/A * shared_src/cmdline.c (commands): Add quit.
1N/A (enter_cmdline): Change the return type to cmdline_t, and return
1N/A CMDLINE_OK if successful, otherwise CMDLINE_ERROR if fail.
1N/A (enter_cmdline) [GRUB_UTIL]: Return CMDLINE_ABORT if CUR_HEAP
1N/A contains "quit".
1N/A [!GRUB_UTIL]: Just print an annotation message.
1N/A * shared_src/shared.h (cmdline_t): New enum type.
1N/A (enter_cmdline): Change the return type to cmdline_t.
1N/A (cmain): Remove ``noreturn'' attribute.
1N/A * shared_src/stage2.c (menu_t): New enum type.
1N/A (run_menu): Change the return type to menu_t.
1N/A If enter_cmdline returns CMDLINE_ABORT, then return MENU_ABORT,
1N/A otherwise return MENU_OK.
1N/A (cmain): If enter_cmdline aborts, then break the command-line
1N/A loop and return. If run_menu aborts, then return.
1N/A
1N/A1999-06-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * shared_src/Makefile.am (EXTRA_DIST): Add bios.c. Reported by
1N/A Pavel Roskin <pavel_roskin@geocities.com>.
1N/A
1N/A1999-06-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/Makefile.am (html): Deleted.
1N/A (txt): Likewise.
1N/A (EXTRA_DIST): $(txt) and $(html) are removed.
1N/A * docs/boot-proposal.html: Removed.
1N/A * docs/errors.html: Likewise.
1N/A * docs/faq.html: Likewise.
1N/A * docs/grub.html: Likewise.
1N/A * docs/install.html: Likewise.
1N/A * docs/mem64mb.html: Likewise.
1N/A * docs/technical.html: Likewise.
1N/A * docs/using.html: Likewise.
1N/A * docs/PC_partitioning.txt: Likewise.
1N/A * docs/bios_mapping.txt: Likewise.
1N/A * docs/commands.txt: Likewise.
1N/A * docs/embedded_data.txt: Likewise.
1N/A * docs/filesystem.txt: Likewise.
1N/A
1N/A1999-06-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A From Alexander K. Hudek <alexhudek@home.com>:
1N/A * shared_src/disk_io.c (real_open_partition): Check if
1N/A CURRENT_SLICE is equal to PC_SLICE_TYPE_WIN95_EXTENDED as well.
1N/A * shared_src/pc_slice.c (PC_SLICE_TYPE_WIN95_EXTENDED): New
1N/A macro.
1N/A * shared_src/bios.c (biosdisk): Clear the reserved member of DAP.
1N/A
1N/A1999-06-08 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Color-menu support based on Peter Astrand
1N/A <altic@lysator.liu.se>'s patch.
1N/A
1N/A * shared_src/asm.S (nocursor): New function.
1N/A * shared_src/cmdline.c (normal_color): New variable.
1N/A (highlight_color): Likewise.
1N/A (commands): Added "color" command.
1N/A (enter_cmdline): Handle the color command.
1N/A * shared_src/shared.h (normal_color): Declared.
1N/A (highlight_color): Likewise.
1N/A [!GRUB_UTIL] (nocursor): Likewise.
1N/A * shared_src/stage2.c (print_border) [!GRUB_UTIL]: Color the
1N/A menu.
1N/A (run_menu) [!GRUB_UTIL]: Call nocursor, and call set_line with
1N/A the second argument HIGHLIGHT_COLOR when highlighting a line,
1N/A and NORMAL_COLOR when drawing a normal line.
1N/A (cmain): Initialize normal_color and highlight_color. Handle
1N/A the color command in the same way as the command-line
1N/A interface.
1N/A
1N/A1999-06-07 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * e2fs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 31744.
1N/A * fat_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Likewise.
1N/A
1N/A1999-06-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A The debug version of Stage 2 is removed.
1N/A
1N/A * shared_src/cmdline.c: The imps code is now defined if GRUB_UTIL
1N/A is not defined, but not if DEBUG.
1N/A (debug): New global variable.
1N/A (commands): All commands are always enabled, and added "debug".
1N/A (debug_fs_print_func): Defined unconditionally.
1N/A (debug_fs_blocklist_func): If DEBUG is true, then call printf.
1N/A (enter_cmdline): Handle "testload", "read", "fstest",
1N/A "impsprobe" and "displaymem" unconditionally, and added "debug"
1N/A handling.
1N/A [GRUB_UTIL]: If a command is impsprobe, just fails.
1N/A * shared_src/disk_io.c (devread) [!STAGE1_5]: If DEBUG_FS and
1N/A DEBUG are true, then call printf.
1N/A * shared_src/asm.S (patch_code): Defined unconditionally.
1N/A (patch_code_end): Likewise.
1N/A * stage1/stage1.S (firstlist) [!FFS_STAGE1_5]: Increase the
1N/A number of sectors to 90, because Stage 2 is larger than 80
1N/A sectors.
1N/A * configure.in: The option --enable-debug is removed, and do
1N/A not output "stage2_debug/Makefile".
1N/A * Makefile.am (SUBDIRS): stage2_debug is removed.
1N/A * stage2_debug/Makefile.am: Deleted.
1N/A * stage2_debug/Makefile.in: Likewise.
1N/A
1N/A1999-06-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/main.c (verbose): New variable.
1N/A (read_only): Likewise.
1N/A (OPT_VERBOSE): New macro.
1N/A (OPT_READ_ONLY): Likewise.
1N/A (longopts): Add --read-only and --verbose options.
1N/A (usage): Add the descriptions about --read-only and --verbose.
1N/A (main): Handle OPT_VERBOSE and OPT_READ_ONLY.
1N/A If HOLD and VERBOSE are non-zero, then display the message
1N/A about how to restart /sbin/grub.
1N/A
1N/A * shared_src/shared.h (verbose) [GRUB_UTIL]: Declared.
1N/A (read_only) [GRUB_UTIL]: Likewise.
1N/A
1N/A * grub/asmstub.c (hex_dump): New function.
1N/A (biosdisk): In the case where SUBFUNC is
1N/A BIOSDISK_WRITE, check for READ_ONLY and call nwrite if
1N/A READ_ONLY is zero. If VERBOSE is non-zero, display what GRUB
1N/A will try to do.
1N/A (get_diskinfo): Open DEVNAME with the mode O_RDWR if READ_ONLY
1N/A is zero, and attempt to open DEVNAME with the mode O_RDONLY
1N/A regardless of ERRNO if READ_ONLY is non-zero. If VERBOSE is
1N/A non-zero, then display the drive DRIVE and the file DEVNAME.
1N/A
1N/A * shared_src/disk_io.c (set_device) [STAGE1_5]: Eliminate
1N/A completion code.
1N/A
1N/A1999-06-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/asmstub.c: Do not use I_AM_VERY_BRAVE any more.
1N/A (grub_stage2): Delete first_scsi_disk and add a variable
1N/A num_hd, which is used for counting how many drives are
1N/A detected.
1N/A Initialize the flags member of each element of disks to -1
1N/A instead of 0, and check if it is equal to -1 instead of 0 when
1N/A close it.
1N/A (get_diskinfo): Treat -1 as non-caching state instead of 0.
1N/A
1N/A1999-06-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Reported from Klaus Reichl <a8709182@unet.univie.ac.at>:
1N/A * docs/.cvsignore: New file.
1N/A * shared_src/disk_io.c (print_a_completion): New function
1N/A which saves what has been printed to UNIQUE_STRING and printf
1N/A it.
1N/A (unique) [!STAGE1_5]: New variable.
1N/A (unique_string): Likewise.
1N/A (print_completions): Use print_a_completion, and improve the
1N/A completion facility.
1N/A * shared_src/fsys_ext2fs.c (ext2fs_dir) [!STAGE1_5]: Use
1N/A print_a_completion instead of just printf.
1N/A * shared_src/fsys_ffs.c (ffs_dir) [!STAGE1_5]: Likewise.
1N/A * shared_src/fsys_fat.c (fat_dir) [!STAGE1_5]: Likewise.
1N/A * shared_src/shared.h (print_a_completion): Declared.
1N/A * shared_src/cmdline.c (enter_cmdline): Explicitly cast
1N/A int to pointer to char for grub_read.
1N/A * grub/asmstub.c (grub_stage2) [__linux__]: Don't use /dev/fd1.
1N/A Probe 4 IDE drives instead of 2.
1N/A (biosdisk) [__linux__]: Add a prototype for _llseek.
1N/A * shared_src/char_io.c (get_cmdline): Update LPOS and LLEN_OLD
1N/A when the functon print_completion modifies CMDLINE.
1N/A * shared_src/stage2.c (get_line_from_config): Fix LITERAL
1N/A handling.
1N/A
1N/A1999-05-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/asmstub.c (grub_stage2): Fix a memory leak that FP is
1N/A not closed.
1N/A
1N/A1999-05-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/main.c: Replace OPT_DISABLE_CONFIG_FILE and
1N/A OPT_DISABLE_CURSES with OPT_NO_CONFIG_FILE and OPT_NO_CURSES
1N/A respectively.
1N/A (longopts): Rename from "disable-config-file" to
1N/A "no-config-file", and from "disable-curses" to "no-curses".
1N/A (usage): Use "grub" instead of ARGV[0], read the standards.
1N/A Change the help message according to the changes above.
1N/A (main): Handle OPT_NO_CONFIG_FILE and OPT_NO_CURSES, instead
1N/A of OPT_DISABLE_CONFIG_FILE and OPT_DISABLE_CURSES.
1N/A
1N/A1999-05-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/TODO: Moved to ...
1N/A * TODO: ... here.
1N/A * docs/BUGS: Moved to ...
1N/A * BUGS: ... here.
1N/A * docs/COPYING: Removed.
1N/A * docs/Makefile.am (EXTRA_DIST): Get rid of BUGS.
1N/A * Makefile.am (EXTRA_DIST): Set to BUGS.
1N/A
1N/A1999-05-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * acinclude.m4 (grub_ASM_EXT_C): Do not overrun the command
1N/A shift. Reported by Pavel Roskin <pabel_roskin@geocities.com>.
1N/A
1N/A1999-05-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/Makefile.am (info_TEXINFOS): Added multiboot.texi.
1N/A * docs/multiboot.texi: New file. From Kunihiro Ishiguro.
1N/A
1N/A1999-05-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/asmstub.c: Include <errno.h>. Reported by Kunihiro
1N/A Ishiguro <kunihiro@zebra.org>.
1N/A
1N/A1999-05-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Reported by Brian Brunswick <brian@skarpsey.demon.co.uk>:
1N/A * shared_src/asm.S (start) [STAGE1_5]: Jump to 0x0:0x2000.
1N/A * shared_src/cmdline.c (enter_cmdline): Doesn't check for the jump
1N/A address in stage2. We are not paranoid.
1N/A Add a missing RAW_ADDR macro.
1N/A * shared_src/diskio.c (grub_open): Call setup_part even in stage1.5.
1N/A And, include necessary functions that were eliminated incorrectly.
1N/A * shared_src/char_io.c [STAGE1_5]: Eliminate unnecessary functions
1N/A for stage1.5.
1N/A
1N/A * grub/asmstub.c (nread): New function. Handle EINTR.
1N/A (nwrite): Likewise.
1N/A (biosdisk) [I_AM_VERY_BRAVE]: When SUBFUNC is BIOSDISK_WRITE, call
1N/A nwrite.
1N/A
1N/A Reported by Pavel Roskin <pavel_roskin@geocities.com>:
1N/A * shared_src/fsys_ext2fs.c (off_t): Renamed to ...
1N/A (linux_off_t): ... this.
1N/A * shared_src/defs.h (off_t): Renamed to ...
1N/A (mach_off_t): ... this.
1N/A * shared_src/fs.h (BBOFF): Use mach_off_t instead of off_t.
1N/A (SBOFF): Likewise.
1N/A
1N/A * e2fs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 81920.
1N/A * fat_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Likewise.
1N/A * ffs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 7168.
1N/A
1N/A1999-05-03 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A From Pavel Roskin:
1N/A * shared_src/shared.h: Redeclare.
1N/A
1N/A * grub/main.c (main): Use strncpy rather than pointer assignment
1N/A to set the config file name.
1N/A
1N/A * grub/asmstub.c: Make config_file a static array, not a pointer.
1N/A Correct the value of VERSION_STRING.
1N/A
1N/A1999-04-10 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * debian/rules (build): Install into /lib instead of /share.
1N/A
1N/A1999-05-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A Preliminary non-interactive use support.
1N/A
1N/A * grub/main.c (use_config_file): New variable.
1N/A (use_curses): Likewise.
1N/A (OPT_DISABLE_CONFIG_FILE): New constant.
1N/A (OPT_DISABLE_CURSES): Likewise.
1N/A (OPT_BATCH): Likewise.
1N/A (longopts): Add new options, --disable-config-file, --disable-curses,
1N/A and --batch.
1N/A (usage): Print the help messages about these new options.
1N/A (main): Handle them.
1N/A
1N/A * grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: If ! USE_CURSES,
1N/A fallback non-curses code.
1N/A (stop) [HAVE_LIBCURSES]: Likewise.
1N/A (cls) [HAVE_LIBCURSES]: Likewise.
1N/A (getxy) [HAVE_LIBCURSES]: Likewise.
1N/A (gotoxy) [HAVE_LIBCURSES]: Likewise.
1N/A (grub_putchar) [HAVE_LIBCURSES]: Likewise.
1N/A (getkey) [HAVE_LIBCURSES]: Likewise.
1N/A (checkkey) [HAVE_LIBCURSES]: Likewise.
1N/A (set_attrib) [HAVE_LIBCURSES]: Likewise.
1N/A
1N/A * shared_src/cmdline.c (enter_cmdline): Do not use getc, but use
1N/A getkey.
1N/A
1N/A * shared_src/stage2.c (cmain) [GRUB_UTIL]: Check if USE_CONFIG_FILE
1N/A is non-zero or not.
1N/A
1N/A * shared_src/shared.h (getc): Removed.
1N/A (use_config_file) [GRUB_UTIL]: Add the declaration.
1N/A (use_curses) [GRUB_UTIL]: Likewise.
1N/A
1N/A1999-05-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * shared_src/asm.S (biosdisk_standard): Pop %ebp correctly, reported
1N/A by Pavel Roskin <pavel_roskin@geocities.com>.
1N/A
1N/A1999-04-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/menu.lst: Rewritten, so that it contains up-to-date
1N/A information and FAQish configuration examples.
1N/A
1N/A1999-04-09 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * shared_src/asm.S (get_diskinfo_floppy): Correct the number of heads
1N/A and the one of cylinders.
1N/A
1N/A1999-04-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/asmstub.c (get_diskinfo): Compute the total number of sectors
1N/A for DRIVE.
1N/A
1N/A * shared_src/asm.S (get_diskinfo_standard): Clear the data segment
1N/A after calling int 0x13. Restore the base pointer after returning
1N/A to protected mode.
1N/A (get_diskinfo_floppy): Likewise.
1N/A
1N/A * shared_src/bios.c (get_diskinfo): Always set the size of DRP to
1N/A the max size of DRP, regardless of the major version of extensions.
1N/A
1N/A1999-04-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * shared_src/shared.h (struct geometry): Declare total_sectors as
1N/A unsigned long instead of unsigned long long, because GRUB represents
1N/A a sector number by 4bytes integer, so it doesn't make sense.
1N/A
1N/A * shared_src/bios.c (biosdisk) [!NO_INT13_FALLBACK]: Recompute
1N/A TOTAL_SECTORS according to CHS information.
1N/A (get_diskinfo) [DEBUG]: Print the geometry of DRIVE.
1N/A
1N/A * shared_src/disk_io.c (real_open_partition): Set PART_LENGTH to
1N/A BUF_GEOM.TOTAL_SECTORS.
1N/A
1N/A1999-04-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * docs/texinfo.tex: Copied from automake-1.4a.
1N/A
1N/A * configure.in (SHARED_SRC_RULES): Add bios into shared sources.
1N/A
1N/A * e2fs_stage1_5/Makefile.am (e2fs_stage1_5_exec_LDADD): Added bios.o.
1N/A * fat_stage1_5/Makefile.am (fat_stage1_5_exec_LDADD): Likewise.
1N/A * ffs_stage1_5/Makefile.am (ffs_stage1_5_exec_LDADD): Likewise.
1N/A * stage2/Makefile.am (stage2_exec_LDADD): Likewise.
1N/A * stage2_debug/Makefile.am (stage2_debug_exec_LDADD): Likewise.
1N/A
1N/A * shared_src/Makefile.am (EXTRA_DIST): Added bios.c.
1N/A
1N/A * shared_src/asm.S (biosdisk): Deleted. Now defined in bios.c.
1N/A (get_diskinfo): Likewise.
1N/A (biosdisk_int13_extensions): New function.
1N/A (biosdisk_standard): Likewise.
1N/A (check_int13_extensions): Likewise.
1N/A (get_diskinfo_int13_extensions): Likewise.
1N/A (get_diskinfo_standard): Likewise.
1N/A (get_diskinfo_floppy): Likewise.
1N/A
1N/A * shared_src/bios.c: New file.
1N/A
1N/A * shared_src/shared.h (struct geometry): Added new member,
1N/A total_sectors.
1N/A
1N/A1999-03-28 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * shared_src/stage2.c (print_entries): Correctly assign MENU_ENTRIES
1N/A the entries starting from FIRST.
1N/A
1N/A1999-03-27 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * Change everything to use memset and memmove instead of bzero and
1N/A bcopy. GNB's Not BSD.
1N/A
1N/A * shared_src/shared.h (grub_memset): Adapted from grub_bzero.
1N/A (grub_memmove): Adapted from grub_bcopy.
1N/A
1N/A * grub/asmstub.c (checkkey): Fix unterminated comment.
1N/A
1N/A * shared_src/char_io.c (grub_printf): Renamed from printf.
1N/A (grub_tolower): Renamed from tolower.
1N/A (grub_isspace): Renamed from isspace.
1N/A (grub_strncat): Renamed from strncat.
1N/A (grub_strstr): Renamed from strstr.
1N/A (grub_bcopy): Renamed from bcopy.
1N/A (grub_bzero): Renamed from bzero.
1N/A
1N/A From Bradford Hovinen:
1N/A * shared_src/char_io.c (get_cmdline): Add new argument to hide
1N/A password entry.
1N/A (grub_strcmp): New function.
1N/A * shared_src/shared.h (get_cmdline): Fix declaration.
1N/A (grub_strcmp): Declare.
1N/A * shared_src/stage2.c (run_menu): Use get_cmdline with an
1N/A ECHO_CHAR of `*'. This protects against both brute-force and
1N/A sidelong-glance password cracking attempts.
1N/A
1N/A * grub/main.c (usage): Display defaults for stage2 options.
1N/A
1N/A * grub/asmstub.c [WITHOUT_LIBC_STUBS]: Renamed from
1N/A NO_REMAPPING_LIBC_FUNCTIONS.
1N/A * grub/main.c: Likewise.
1N/A * shared_src/shared.h: Likewise.
1N/A
1N/A1999-03-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/asmstub.c (set_attrib): Use inch and addch, instead of
1N/A chgat, because chgat doesn't work as expected.
1N/A
1N/A1999-03-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: Call nodelay.
1N/A (checkkey) [HAVE_LIBCURSES]: If getting an input character, then
1N/A ungetch it, because checkkey shouldn't modify the input queue.
1N/A
1N/A Use file descriptors instead of file pointers to support
1N/A >4GB disks in Linux.
1N/A
1N/A * grub/asmstub.c (grub_stage2): Call close instead of fclose.
1N/A (get_diskinfo): Call open instead of fopen.
1N/A (biosdisk) [__linux__]: Use _llseek instead of lseek.
1N/A (biosdisk): Call read instead of fread.
1N/A
1N/A Add options so that the user can specify the config file.
1N/A
1N/A * grub/Makefile.am (CPPFLAGS): Use -fwritable-strings, because
1N/A grub assumes that all strings resides at the data section.
1N/A
1N/A * grub/main.c: Define NO_REMAPPING_LIBC_FUNCTIONS before including
1N/A shared.h.
1N/A (OPT_CONFIG_FILE): New macro.
1N/A (OPT_INSTALL_PARTITION): Likewise.
1N/A (OPT_BOOT_DRIVE): Likewise.
1N/A (longopts): Add new options, config-file, install-partition and
1N/A boot-drive.
1N/A (usage): Add the documentation for them.
1N/A (main): Add handling code for OPT_CONFIG_FILE, OPT_INSTALL_PARTITION
1N/A and OPT_BOOT_DRIVE.
1N/A
1N/A * grub/asmstub.c: Define NO_REMAPPING_LIBC_FUNCTIONS before including
1N/A shared.h.
1N/A (config_file): Make it char * instead of char [].
1N/A (getrtsecs): Return current time instead of 0xff.
1N/A
1N/A * shared_src/shared.h [NO_REMAPPING_LIBC_FUNCTIONS]: Don't define
1N/A libc-API-compatible function names.
1N/A (config_file): Change the prototype from char [] to char *.
1N/A (grub_putchar): Renamed from putchar.
1N/A
1N/A1999-03-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * char_io.c (get_cmdline): Call cl_setcpos even if lpos == llen,
1N/A because ncurses won't update the cursor position.
1N/A
1N/A * grub/main.c (OPT_HOLD): New macro.
1N/A (longopts): New option --hold.
1N/A (usage): Add the documentation about --hold.
1N/A (main): Set hold if --hold is specified. Wait until cleared.
1N/A
1N/A1999-03-22 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * shared_src/cmdline.c (enter_cmdline): Check the return value of
1N/A set_device in the `root' command.
1N/A
1N/A * shared_src/char_io.c (memcheck): Special-case cur_part_desc and
1N/A reenable memory checking.
1N/A
1N/A1999-03-21 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * shared_src/boot.c (load_image): Make sure we use the mapped
1N/A address before actually writing data to memaddr.
1N/A
1N/A * shared_src/char_io.c (get_cmdline): Only zero-terminate if there
1N/A were leading blanks. This prevents accidental truncation of
1N/A commands.
1N/A
1N/A * grub/asmstub.c (get_diskinfo): Cache device geometries as well
1N/A as file handles.
1N/A Use the Linux HDIO_GETGEO ioctl to make a better guess at hard
1N/A disk geometries.
1N/A
1N/A1999-03-16 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * shared_src/shared.h (geometry_t): Delete typedef, until we
1N/A actually use it.
1N/A
1N/A1999-03-16 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
1N/A
1N/A * shared_src/asm.S (biosdisk): Use a structure for geometry
1N/A instead of a integer.
1N/A (get_diskinfo): Take a pointer to a geometry structure as the
1N/A second argument, and fill a geometry in it. Return 1 if an error
1N/A occurs, otherwise return 0.
1N/A * shared_src/boot.c (bsd_boot): Compute BIOS geometries for BSD.
1N/A * shared_src/cmdline.c (enter_cmdline): Declare dest_geom as
1N/A struct geometry.
1N/A * shared_src/disk_io.c (buf_geom): Declare as struct geometry.
1N/A * shared_src/filesys.h (SECTORS): Deleted.
1N/A (HEADS): Likewise.
1N/A (CYLINDERS): Likewise.
1N/A * shared_src/shared.h (BIOSDISK_FLAG_LBA_EXTENSION): New macro.
1N/A (struct geometry): New structure.
1N/A (buf_geom): Correct the prototype.
1N/A (get_diskinfo): Likewise.
1N/A (biosdisk): Likewise.
1N/A
1N/A1999-03-15 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * grub/asmstub.c (doit): Nested function to get a clean stack
1N/A frame while in grub_stage2.
1N/A Use different assembler magic. From OKUJI Yoshinori.
1N/A
1N/A1999-03-14 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * shared_src/stage2.c (run_menu): Use A_REVERSE and A_NORMAL
1N/A constants instead of magic numbers.
1N/A
1N/A * shared_src/shared.h (A_REVERSE): Renamed from ATTR_INVERSE for
1N/A compatibility with curses.
1N/A (A_NORMAL): Renamed from ATTR_NORMAL.
1N/A
1N/A * shared_src/cmdline.c (enter_cmdline): Change prompt to "grub> ".
1N/A (enter_cmdline): Only abort the boot if we are in a script.
1N/A
1N/A * shared_src/stage2.c (run_menu): Change prompts to "grub edit> ".
1N/A
1N/A * shared_src/char_io.c (memcheck): Use RAW_ADDR to compute memory
1N/A locations.
1N/A (get_cmdline): Change the `goto next line' code to account for
1N/A newlines deleting to end of line under curses.
1N/A
1N/A * Innumerable cleanups to fix warnings. There are still too many
1N/A typecasts in the wrong places (int variables used to hold
1N/A pointers, then casted to a pointer type), but things look better.
1N/A
1N/A * configure.in (CPPFLAGS): Bump up GCC warnings to -Wall
1N/A -Wmissing-prototypes -Wunused.
1N/A
1N/A * shared_src/shared.h: Delete stupid declarations, and totally
1N/A rearrange for clarity.
1N/A (inb, outb): Move to cmdline.c, since it's only used there.
1N/A (print_possibilities, fsmax, fsys_table): Move definitions to
1N/A disk_io.c.
1N/A
1N/A * grub/asmstub.c: Fill in more stubs.
1N/A
1N/A1999-03-13 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * shared_src/gunzip.c (border): Rename to bitorder, to resolve
1N/A clash with curses.
1N/A * shared_src/stage2.c (timeout): Rename to grub_timeout.
1N/A
1N/A * configure.in: Check for curses libraries for use with
1N/A /sbin/grub.
1N/A
1N/A * shared_src/shared.h (KEY_DELETE): Rename to KEY_DC, for
1N/A compatibility with curses.
1N/A (KEY_INSERT): Rename to KEY_IC.
1N/A (KEY_PGDN): Rename to KEY_NPAGE.
1N/A (KEY_PGUP): Rename to KEY_PPAGE.
1N/A
1N/A * shared_src/asm.S (asm_getkey): Renamed to getkey.
1N/A
1N/A * shared_src/char_io.c (getkey): Delete, because it's useless.
1N/A
1N/A * shared_src/shared.h: Resolve name clashes with libc by renaming
1N/A overlapping functions to have grub_ prefixes, then defining
1N/A macros.
1N/A
1N/A * grub/asmstub.c (start_stage2): Make some assertions about our
1N/A scratch memory area.
1N/A
1N/A * shared_src/shared.h (end): Delete declaration.
1N/A (RAW_ADDR, RAW_SEG): Macros to redirect /sbin/grub memory requests
1N/A through grub_scratch_mem.
1N/A
1N/A * grub/asmstub.c (get_mem_map): Implement, simulating 4MB
1N/A contiguous memory.
1N/A (get_code_end): Implement, simulating with a malloced area.
1N/A grub/asmstub.c (start_stage2): Initialize grub_scratch_mem.
1N/A
1N/A * shared_src/asm.S (get_mem_map): Some BIOSes expect the high word
1N/A of %eax to be zero.
1N/A (get_code_end): Move this from common.c so that we can stub it out
1N/A in the simulator.
1N/A
1N/A * debian/rules: Make sure info files end up in /usr/info, not
1N/A /info.
1N/A
1N/A1999-03-10 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * shared_src/asm.S (biosdisk): Make LBA mode work correctly. From
1N/A OKUJI Yoshinori.
1N/A Unconditionally define NO_INT13_FALLBACK until we release GRUB
1N/A 0.6. This will help debug any problems with the LBA support until
1N/A then.
1N/A
1N/A1999-03-09 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * shared_src/asm.S (biosdisk): Compute location of
1N/A disk_address_packet correctly. From OKUJI Yoshinori.
1N/A
1N/A1999-03-08 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * docs/grub.texi: New Texinfo documentation.
1N/A
1N/A * shared_src/disk_io.c (set_device): First stab at interpreting
1N/A Mach-style partition naming.
1N/A
1N/A * shared_src/stage2.c (run_menu): Don't say it was a failure if
1N/A enter_cmdline returns nonzero... just wait for a key.
1N/A
1N/A * shared_src/cmdline.c (enter_cmdline): Return nonzero, and avoid
1N/A the fallback command if we did an install.
1N/A
1N/A * shared_src/asm.S (_start): New explicit symbol to supress
1N/A warnings.
1N/A
1N/A * e2fs_stage1_5/Makefile.am (NO_FANCY_STUFF): Renamed to STAGE1_5,
1N/A since that describes this conditional more accurately.
1N/A * fat_stage1_5/Makefile.am: Likewise.
1N/A * ffs_stage1_5/Makefile.am: Likewise.
1N/A * shared_src/asm.S: Likewise.
1N/A * shared_src/char_io.c: Likewise.
1N/A * shared_src/common.c: Likewise.
1N/A * shared_src/disk_io.c: Likewise.
1N/A * shared_src/fsys_ext2fs.c: Likewise.
1N/A * shared_src/fsys_ffs.c: Likewise.
1N/A * shared_src/shared.h: Likewise.
1N/A
1N/A1999-03-07 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * configure.in (SHARED_SRC_RULES): Automatically generate
1N/A Makefile dependencies for files in shared_src.
1N/A e2fs_stage1_5/Makefile.am: Use them.
1N/A fat_stage1_5/Makefile.am: Likewise.
1N/A ffs_stage1_5/Makefile.am: Likewise.
1N/A grub/Makefile.am: Likewise.
1N/A stage2/Makefile.am: Likewise.
1N/A stage2_debug/Makefile.am: Likewise.
1N/A
1N/A * shared_src/disk_inode.h: Fix typo: i_ic shouldn't be defined.
1N/A
1N/A * shared_src/fsys_ffs.c (block_map): Make static, since this
1N/A function isn't used outside of its defining file.
1N/A
1N/A * shared_src/disk_io.c [NO_FANCY_STUFF]: Eliminate a whole bunch
1N/A more functions from the stage1.5. From OKUJI Yoshinori.
1N/A * shared_src/fsys_ffs.c: Likewise.
1N/A * shared_src/char_io.c: Likewise.
1N/A
1N/A1999-03-05 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * shared_src/char_io.c (getkey): Don't set BUF_DRIVE to -1.
1N/A BUF_DRIVE has nothing at all to do with getkey.
1N/A
1N/A * shared_src/common.c (err_list): Change description of ERR_GEOM
1N/A to be more informative.
1N/A
1N/A * Makefile.am (configure): Depend on debian/changelog.
1N/A
1N/A * configure.in (host_cpu): Make all fully i386-compatible CPUs be
1N/A identified as i386.
1N/A (AM_INIT_AUTOMAKE): Fetch values for PACKAGE and VERSION from
1N/A debian/changelog, so that we only have one file to update.
1N/A
1N/A * shared_src/asm.S (get_diskinfo): Fix a few bit-twiddling bugs in
1N/A the BIOS extension detection code.
1N/A (biosdisk) [AWARD_INT13_EXTENSIONS]: Preliminary implementation
1N/A of Award's encoding of cylinder bits 10 and 11.
1N/A (biosdisk) [NO_INT13_FALLBACK]: If defined, don't use the standard
1N/A disk interface if the extended interface fails.
1N/A
1N/A * configure.in: Make sure $(host_cpu) and $(host_vendor) are
1N/A substituted into the Makefile.
1N/A
1N/A * e2fs_stage1_5/Makefile.am (pkgdatadir): Install files in
1N/A $(datadir)/grub/$(host_cpu)-$(host_vendor).
1N/A * fat_stage1_5/Makefile.am: Likewise.
1N/A * ffs_stage1_5/Makefile.am: Likewise.
1N/A * stage1/Makefile.am: Likewise.
1N/A * stage2/Makefile.am: Likewise.
1N/A * stage2_debug/Makefile.am: Likewise.
1N/A
1N/A1999-03-03 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * shared_src/asm.S (biosdisk): Use LBA mode if high nibble of
1N/A GEOMETRY is nonzero.
1N/A (get_diskinfo): Set high nibble of GEOMETRY (0xf0000000) to 1 if
1N/A LBA mode is detected.
1N/A
1N/A1999-03-02 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * shared_src/disk_io.c (make_saved_active): Use BIOSDISK_READ and
1N/A BIOSDISK_WRITE.
1N/A
1N/A * shared_src/cmdline.c (enter_cmdline): Use BIOSDISK_WRITE.
1N/A
1N/A * shared_src/shared.h (BIOSDISK_SUBFUNC_READ,
1N/A BIOSDISK_SUBFUNC_WRITE): Delete constants.
1N/A
1N/A * shared_src/asm.S (biosdisk): Change subfunc argument to be
1N/A read=0, write=1.
1N/A
1N/A * configure.in: Drop redundant AC_PROG_INSTALL. From OKUJI
1N/A Yoshinori.
1N/A
1N/A1999-03-01 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * debian/rules (binary-arch): Properly install README.debian.
1N/A
1N/A * acinclude.m4 (grub_OBJCOPY_ABSOLUTE): Don't forget to move the
1N/A old binary out of the way before reentering the loop.
1N/A (grub_ASM_ADDR32): Delete conftest files after running the test.
1N/A
1N/A * debian/rules (binary-arch): Remove empty /sbin directory until
1N/A /sbin/grub is installed. Use $(DESTDIR) instead of $(prefix) to
1N/A install files.
1N/A
1N/A * shared_src/asm.S (version_string): Set the version string from
1N/A the VERSION specified in configure.in.
1N/A
1N/A * Change all Makefiles into Makefile.ams. Many major build
1N/A environment changes to get Automake/Autoconf working nicely.
1N/A
1N/A1999-02-28 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * NEWS: Moved from docs/NEWS.
1N/A
1N/A * configure.in, acinclude.m4: New files for Autoconf. From OKUJI
1N/A Yoshinori.
1N/A
1N/A * AUTHORS, INSTALL: New files.
1N/A
1N/A1999-02-24 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * stage1/stage1.S (after_BPB): Do a hard disk probe first, so that
1N/A we can work with IDE floppies (like the LS-120).
1N/A
1N/A * Run GNU Indent on */*.[ch].
1N/A
1N/A1999-02-21 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * debian: Add to the distribution, since we maintain the GRUB
1N/A Debian package ourselves.
1N/A
1N/A * grub/asmstub.c: New file to implement stubbed assembly functions
1N/A under Unix.
1N/A
1N/A * stage1/Makefile: Delete spurious dependencies on Makefile.
1N/A * stage2/Makefile: Likewise.
1N/A * stage2_debug/Makefile: Likewise.
1N/A * grub/Makefile: Likewise.
1N/A
1N/A * shared_src/fsys_ext2fs.c (ext2fs_dir): Follow symbolic links
1N/A rather than giving an error.
1N/A
1N/A * shared_src/common.c (err_list): Use labeled elements to
1N/A associate messages with error codes.
1N/A * shared_src/shared.h: Make error codes into an enumerated type.
1N/A
1N/A * shared_src/common.c (err_list): Add ERR_SYMLINK_LOOP.
1N/A * shared_src/shared.h: Likewise.
1N/A
1N/A * shared_src/char_io.c (bcopy): Don't make any assumptions about
1N/A the length of an unsigned long.
1N/A
1N/A * grub/Makefile: Treat CFLAGS, CPPFLAGS, LDFLAGS according to
1N/A GNU standards.
1N/A * stage2/Makefile: Likewise.
1N/A * e2fs_stage1_5/Makefile: Likewise.
1N/A * fat_stage1_5/Makefile: Likewise.
1N/A * ffs_stage1_5/Makefile: Likewise.
1N/A
1N/A1999-02-20 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * docs/index.html: Rename to grub.html, so that we don't hide
1N/A files in this directory from a web browser.
1N/A
1N/A1999-02-15 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * Makefile.end (PROGS): Add grub.
1N/A
1N/A * grub/main.c: New file.
1N/A
1N/A * grub/Makefile: New directory to contain the stage2 Unix program.
1N/A
1N/A * shared_src/cmdline.c: Use substring.
1N/A * shared_src/fsys_ext2fs.c: Likewise.
1N/A * shared_src/fsys_fat.c: Likewise.
1N/A * shared_src/fsys_ffs.c: Likewise.
1N/A * shared_src/stage2.c: Likewise.
1N/A
1N/A * shared_src/shared.h: Delete strcmp, declare substring.
1N/A
1N/A * shared_src/char_io.c (strcmp): Rename to `substring', because
1N/A this function doesn't behave the same as libc's strcmp.
1N/A
1N/A1999-02-14 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * shared_src/shared.h: (addr32, data32): Delete definitions.
1N/A
1N/A * stage1/stage1.S: Modify to use GAS's new .code16 semantics.
1N/A shared_src/asm.S: Likewise.
1N/A
1N/A * configure: Test to see if the `addr32' instruction is supported.
1N/A Ian Lance Taylor says that GAS's interpretation of `.code16' has
1N/A changed. Older versions always generated 32-bit code, but
1N/A implicitly inserted addr32 and data32 when .code16 was given.
1N/A Newer versions generate 16-bit code, and require manual addr32 and
1N/A data32 overrides.
1N/A
1N/A * shared_src/shared.h: Add some assertions to check that buffer
1N/A addresses are properly defined.
1N/A
1N/A1999-02-12 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * shared_src/stage2.c (run_menu): Pause if we failed to boot both
1N/A the default and fallback entries.
1N/A
1N/A * configure: Check to make sure that GAS actually honors .code16
1N/A directives.
1N/A
1N/A1999-02-02 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * shared_src/asm.S: Fix typo that called interrupt 0xd (decimal
1N/A 13) instead of 0x13.
1N/A
1N/A1999-01-31 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * e2fs_stage1_5/Makefile: Avoid gratuitous dependencies on
1N/A Makefile.
1N/A * fat_stage1_5/Makefile: Likewise.
1N/A * ffs_stage1_5/Makefile: Likewise.
1N/A
1N/A * Makefile.end (PROGS): Add e2fs_stage1_5, fat_stage1_5, and
1N/A grubinst.
1N/A (distclean): New GNU standard rule.
1N/A
1N/A1998-10-23 Gordon Matzigkeit <gord@trick.fig.org>
1N/A
1N/A * configure: Accept `--host' as a synonym for `--target', and
1N/A accept a non-optional argument as the target name. Join the
1N/A prefix to the tool name with a hyphen.
1N/A
1N/A * shared_src/disk_io.c (print_fsys_type): Always print the
1N/A partition type.
1N/A
1N/A * shared_src/stage2.c (run_menu): Check to make sure that the
1N/A fallback entry is nonnegative.
1N/A (run_menu): For consistency, use `e' rather than enter to edit the
1N/A command entry.