From: Vladimir 'phcoder' Serbinenko Date: Sun, 13 Dec 2009 22:26:22 +0000 (+0100) Subject: 2009-12-13 Vladimir Serbinenko X-Git-Tag: 0.6.96~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d5efc02ebf5648248ee7834346c2d641e409a857;p=thirdparty%2Fgrub.git 2009-12-13 Vladimir Serbinenko * ChangeLog: Remove non-multiboot entries. --- diff --git a/ChangeLog b/ChangeLog index dee057faf..ef9357431 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2009-12-13 Vladimir Serbinenko + + * ChangeLog: Remove non-multiboot entries. + 2009-11-13 Robert Millan * autogen.sh: New file. @@ -23,229 +27,34 @@ Based on patch from Ville Skyttä * docs/multiboot.texi: Fix some spelling. - * docs/internals.texi: Likewise. - * docs/grub.texi: Likewise. - -2008-05-20 Robert Millan - - * netboot/cs89x0.c: Fix license violation. - * netboot/cs89x0.h: Likewise. 2008-04-10 Pavel Roskin * configure.ac: Always use "_cv_" in cache variables for compatibility with Autoconf 2.62. -2008-03-28 Robert Millan - - Surpass 1 TiB disk addressing limit. Note: there are no plans to handle - the 2 TiB disk limit in GRUB Legacy, since that would need considerable - rework. If you have >2TiB disks, use GRUB 2 instead. - - * grub/asmstub.c (biosdisk): Add unsigned qualifier to `sector'. - * stage2/bios.c (biosdisk): Likewise. - * stage2/disk_io.c (rawread, devread, rawwrite, devwrite): Likewise. - * stage2/shared.h (rawread, devread, rawwrite, devwrite): Likewise. - * lib/device.c (get_drive_geometry): Replace BLKGETSIZE with - BLKGETSIZE64. - 2007-10-29 Pavel Roskin * configure.ac: Test if '--build-id=none' is supported by the linker and add it to LDFLAGS if possible. Build ID causes objcopy to generate huge binary files. - * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when - linking, so that build ID doesn't break the test. - * stage1/Makefile.am: Preserve LDFLAGS, use stage1_exec_LDFLAGS. - -2007-02-22 Pavel Roskin - - * stage2/iso9660.h: Remove unnecessary packed attributes. - -2007-02-22 Robert Millan - - * util/mkbimage: Update my email address, and remove my name from - some places where unnecessary credit is given. - -2006-09-10 Pavel Roskin - - * netboot/natsemi.c: Fix compile error with gcc 4.1.1. Cast - cannot make a variable volatile - it should be declared as such. - * netboot/sis900.c: Likewise. - -2006-09-08 Pavel Roskin - - * netboot/etherboot.h: Remove incorrect extern declarations of - the variables later declared static. Move BOOTP_DATA_ADDR ... - * netboot/main.c: ... here. Eliminate end_of_rfc1533 - it's - write-only. 2006-06-24 Yoshinori K. Okuji - * docs/grub.texi: Changed the license term to the GNU Free - Documentation License 1.2. - * docs/multiboot.texi: Reformatted to show the license term and the version number explicitly. - - * docs/fdl.texi: New file. - - * docs/Makefile.am (grub_TEXINFOS): Added fdl.texi. - -2006-06-24 Robert Millan - - * lib/device.c (write_to_partition): /dev/ataraid/ and /dev/rd/ - partitions have a "p" prefix. Add it. - -2006-06-24 Robert Millan - - * lib/device.c (get_i2o_disk_name): New function. - (init_device_map) [__linux__]: Add support for I2O devices. - -2006-05-02 Pavel Roskin - - * stage2/stage2.c (run_menu): Fix "savedefault" to save only top - level menu positions. Remember current position when calling a - submenu. Don't recalculate it when booting from a submenu. - - * grub/main.c (main): Make sure the boot drive number doesn't - exceed 255. - -2006-05-02 Vesa Jaaskelainen - - * stage2/shared.h (vbe_mode): Back ported aligment fix from GRUB 2 - to GRUB Legacy. Problem reported by Gerardo Richarte. - -2006-04-23 Robert Millan - - * grub/asmstub.c (get_diskinfo): Optimize sysctl routine. - -2006-04-20 Robert Millan - - Fixes for kernel of FreeBSD: - * grub/asmstub.c (get_diskinfo): Toggle "kern.geom.debugflags" sysctl - before opening a device for writing. - * util/grub-install.in: Devices don't have this "r" prefix anymore. 2006-04-16 Yoshinori K. Okuji * docs/multiboot.texi: Correct the offset of address fields. Reported by Jeroen Dekkers. -2006-03-21 Yoshinori K. Okuji - - * stage2/builtins.c (setup_func): Specify the size of DEVICE to - grub_strncat instead of a strange number 256. Reported by Vitaly - Fertman . - 2005-09-29 Yoshinori K. Okuji * docs/multiboot.texi: Fix a bug in the byte order of boot_device. I hope this won't affect any OS image. Increased the version number to 0.6.94. -2005-09-28 Yoshinori K. Okuji - - * stage2/boot.c (load_image): Even if an OS image is an ELF - object, use the a.out kludge if MULTIBOOT_AOUT_KLUDGE is - specified. - -2005-05-08 Yoshinori K. Okuji - - * configure.ac (AC_INIT): Upgraded to 0.97. - - * compile: Copied from Automake 1.9.4. - * config.guess: Likewise. - * config.sub: Likewise. - * depcomp: Likewise. - * install-sh: Likewise. - * missing: Likewise. - * mkinstalldirs: Likewise. - * mdate-sh: Likewise. - * docs/texinfo.tex: Likewise. - -2005-05-08 Yoshinori K. Okuji - - * stage2/fsys_xfs.c (next_dentry): Use arrays of arrays instead of - arrays of pointers for USUAL, to avoid read-only strings. Reported - by Sven Wegener . - -2005-03-28 Yoshinori K. Okuji - - * lib/device.c (get_drive_geometry): Use ST.ST_SIZE instead of - ST.ST_BLOCKS to get the total number of sectors, because st_blocks - is not the same if it is a sparse file. - -2005-03-19 Yoshinori K. Okuji - - * stage2/stage2.c (cmain): Initialize DEFAULT_FILE to an empty - string. Reported by NATORI Shin . - -2005-03-15 Yoshinori K. Okuji - - * stage2/fsys_fat.c (fat_mount): Ignore the 3rd bit of a media - descriptor, because some BIOSes overwrite this value, according - to the storage mode (e.g. USB Floppy or USB HDD). - -2005-02-16 Yoshinori K. Okuji - - * grub/asmstub.c (grub_stage2): Remove the attribute `volatile' - from doit. I hope this change is safe for all compilers. - -2005-02-15 Yoshinori K. Okuji - - * stage2/builtins.c (install_func): If DEST_DRIVE is a hard - disk, enable the workaround in Stage 1 by replacing the jmp - with double nop's. - - * stage1/stage1.h (STAGE1_BOOT_DRIVE_CHECK): New macro. - (STAGE1_BOOT_DRIVE_MASK): Removed. - - * stage1/stage1.S (boot_drive_check): New label. This implements - a different workaround for buggy BIOSes which don't pass boot - drive correctly. This is effective for BIOSes which pass a value - without the seventh bit (0x80). - (boot_drive_mask): Removed. - -2005-02-03 Yoshinori K. Okuji - - * grub/asmstub.c (console_current_color): Make it global as - declared. - (grub_stage2): Tweak the declaration and the definition of the - nested function doit. - -2005-02-02 Yoshinori K. Okuji - - * stage2/smp-imps.h (imps_any_new_apics): Removed. - (imps_enabled): Likewise. - (imps_lapic_addr): Likewise. - (imps_num_cpus): Likewise. - (imps_cpu_apic_map): Likewise. - (imps_apic_cpu_map): Likewise. - - * stage2/Makefile.am (libgrub_a_CFLAGS): Remove - -fwritable-strings. Not required for the grub shell actually. - - * grub/Makefile.am (AM_CFLAGS): Likewise. - -2005-02-01 Yoshinori K. Okuji - - * grub/asmstub.c (grub_stage2): Use auto instead of static for - nested functions. - - * stage2/char_io.c (memcheck) [GRUB_UTIL]: Likewise. - - * stage2/builtins.c (blocklist_func): Likewise. - (color_func): Likewise. - (install_func): Likewise. - (setkey_func): Likewise. - - * lib/device.c (read_device_map): Likewise. - -2005-01-30 Yoshinori K. Okuji - - * configure.ac (AC_INIT): Upgraded to 0.96. - 2004-10-11 Jason Thomas Patch from Stefanus Du Toit @@ -253,8154 +62,173 @@ sizeof(module_t), since it's already a pointer of type module_t. * docs/kernel.c (cmain): Do the same. -2004-09-20 Yoshinori K. Okuji - - * docs/internals.texi (Internals): Changed to an appendix. - - * docs/grub.texi (@setchapternewpage): Changed to odd from off. - (@contents): Moved to the beginning. - (Future): Changed to an appendix. - -2004-08-17 Yoshinori K. Okuji - - * stage2/cmdline.c (run_script): Fix a reversed conditional. - Reported by Alban Crequy . - -2004-08-07 Jason Thomas - - From Michael Hohnbaum : - * stage2/fsys_ext2fs.c (ext2fs_read): Handle sparse files. - -2004-07-24 Yoshinori K. Okuji - - * stage2/stage2.c (cmain): Terminate DEFAULT_FILE with NUL - correctly. Reported by Alban Crequy . - -2004-07-21 Robert Millan - - Patch from David Weinehall - * util/mkbimage: Fix XSI-isms (for supporting POSIX-only shells). - -2004-07-20 Robert Millan - - * util/grub-install.in: Detect GNU/k*BSD systems as well. - -2004-07-16 Yoshinori K. Okuji - - * util/grub-install.in (convert): Fix the sed statement for - Linux. The expression was ambigious in some cases. - -2004-06-29 Robert Millan - - * util/grub-set-default.in: Fix minor syntax error (non-escaped - characters). - -2004-06-24 Robert Millan - - Fixes for FHS compliance. (/usr/share is for arch-independant data) - * stage1/Makefile.am: Move stage files to pkglibdir. - * stage2/Makefile.am: Likewise. - * docs/grub.texi: s,/usr/share,/usr/lib,g. - * util/grub-image.in: Look for stage files in pkglibdir. - * util/grub-install.in: Likewise. - - * util/grub-install.in: Improve usage message. - -2004-06-20 Yoshinori K. Okuji - - This is a big change on saving a default entry. This change - makes it possible to set up a quite robust system using GRUB. - Now we do not use the second sector of Stage 2 to store an - entry number but use the file /boot/grub/default. This file - must be generated by grub-set-default, although this file is - plain-text. - - * util/grub-set-default.in: New file. - - * util/grub-install.in (grub_set_default): New variable. - Use /grub instead of /boot/grub on OpenBSD as well as NetBSD. - Run grub-set-default to make a default file. - - * util/Makefile.am (sbin_SCRIPTS): Added grub-set-default. - - * stage2/stage2.c (run_menu): Change the fallback handling to - support multiple fallback entries. - (cmain): Likewise. Also, get a saved entry from a default file - if possible, before reading a config file. - - * stage2/shared.h (DEFAULT_FILE_BUF): New macro. - (DEFAULT_FILE_BUFLEN): Likewise. - (CMDLINE_BUF): Set to DEFAULT_FILE_BUF + DEFAULT_FILE_BUFLEN. - (MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - MENU_BUF. - (fallback_entry): Removed. - (fallback_entries): Declared. - (fallback_entryno): Likewise. - (MAX_FALLBACK_ENTRIES): New macro. - - * stage2/cmdline.c (run_script): Use FALLBACK_ENTRYNO instead of - FALLBACK_ENTRY. - - * stage2/builtins.c (fallback_entry): Removed. - (fallback_entryno): New variable. - (fallback_entries): Likewise. - (init_config): Initialize FALLBACK_ENTRYNO and FALLBACK_ENTRIES. - (fallback_func): Rewritten completely. - (savedefault_func): Likewise. - - * docs/grub.texi (grub-set-default): New direntry. - (Installation): Describe grub-set-default for manual - installations. - (Making your system robust): New section. - (Booting once-only): New subsection. - (Booting fallback systems): Likewise. - (fallback): Describe multiple fallback entries. - (savedefault): Describe an optional argument. - (Invoking grub-set-default): New chapter. - (Future): Replaced with a description about GRUB 2. - - * configure.ac (AC_CONFIG_FILES): Added util/grub-set-default. - -2004-06-19 Yoshinori K. Okuji - - * stage2/ufs2.h (int8_t): Renamed to ... - (grub_uint8_t): ... this. - (int16_t): Renamed to ... - (grub_int16_t): ... this. - (int32_t): Renamed to ... - (grub_int32_t): ... this. - (int64_t): Renamed to ... - (grub_int64_t): ... this. - (uint8_t): Renamed to ... - (grub_uint8_t): ... this. - (uint16_t): Renamed to ... - (grub_uint16_t): ... this. - (uint32_t): Renamed to ... - (grub_uint32_t): ... this. - (uint64_t): Renamed to ... - (grub_uint64_t): ... this. - (u_char): Renamed to ... - (grub_u_char): ... this. - (u_int): Renamed to ... - (grub_u_int): ... this. - (u_int8_t): Renamed to ... - (grub_u_int8_t): ... this. - (u_int16_t): Renamed to ... - (grub_u_int16_t): ... this. - (u_int32_t): Renamed to ... - (grub_u_int32_t): ... this. - (u_int64_t): Renamed to ... - (grub_u_int64_t): ... this. - (ino_t): Renamed to ... - (grub_ino_t): ... this. - All callers are changed. - -2004-06-14 Jeroen Dekkers - - * stage2/ufs2.h (__uint8_t): Remove. - (__uint16_t): Likewise. - (__uint32_t): Likewise. - (__uint64_t): Likewise. - (ino_t): Typedef to uint32_t. - -2004-06-13 Yoshinori K. Okuji - - * stage2/Makefile.am (noinst_HEADERS): Added ufs2.h. - -2004-06-13 Yoshinori K. Okuji - - * configure.ac (AC_INIT): Upgraded to 0.95. - -2004-05-23 Yoshinori K. Okuji - - * stage2/char_io.c (grub_isspace): Use a switch sentense instead - of an if sentense, because that reduces the size. - - * lib/device.c (read_device_map): Change the max number of DRIVE - to 127 from 8. This was too strict. - - * stage2/asm.S (stop_floppy): Call pusha and popa outside the - block of real mode code. Reported by Guillem Jover - . - -2004-05-20 Damian Ivereigh - - * netboot/main.c: Fixed bootp only code so that options - work properly. This fix is obvious when compared with the - DHCP code. - -2004-05-17 Pavel Roskin - - * stage2/char_io.c (safe_parse_maxint): Disable for stage 1.5. - (grub_tolower): Disable for stage 1.5 except fat_stage1_5. - (grub_memcmp): Disable for stage 1.5 except iso9660_stage1_5. - -2004-05-14 Yoshinori K. Okuji - - From Sergey Matveychuk : - * stage2/size_test: Added a check for ufs2_stage1_5. - - * stage2/shared.h (STAGE2_ID_UFS2_STAGE1_5): New macro. - [FSYS_UFS2] (STAGE2_ID): Set to STAGE2_ID_UFS2_STAGE1_5. - - * stage2/filesys.h (FSYS_UFS2_NUM): New macro. - [FSYS_UFS2] (ufs2_mount): New prototype. - [FSYS_UFS2] (ufs2_read): Likewise. - [FSYS_UFS2] (ufs2_dir): Likewise. - [FSYS_UFS2] (ufs2_embed): Likewise. - (NUM_FSYS): Added FSYS_UFS2_NUM. - - * stage2/disk_io.c (fsys_table): Added an ufs2 entry. - - * stage2/builtins.c (setup_func): Added ufs2 into the - STAGE1_5_MAP. - - * stage2/Makefile.am (libgrub_a_SOURCES): Added fsys_ufs2.c. - (libgrub_a_CFLAGS): Added -DFSYS_UFS2=1. - (pkgdata_DATA): Added ufs2_stage1_5. - (noinst_PROGRAMS): Added ufs2_stage1_5.exec. - (ufs2_stage1_5_exec_SOURCES): New variable. - (ufs2_stage1_5_exec_CFLAGS): Likewise. - (ufs2_stage1_5_exec_CCASFLAGS): Likewise. - (ufs2_stage1_5_exec_LDFLAGS): Likewise. - - * grub/Makefile.am (AM_CPPFLAGS): Added -DFSYS_ISO9660=1, - -DFSYS_JFS=1, -DFSYS_REISERFS=1, -DFSYS_UFS2=1, -DFSYS_VSTAFS=1, - -DFSYS_XFS=1, and -DUSE_MD5_PASSWORDS=1. - - * configure.ac (--disable-ufs2): New option. - - * stage2/fsys_ufs2.c: New file. - * stage2/ufs2.h: Likewise. - -2004-05-10 Robert Millan - - * lib/device.c: Mangle __FreeBSD_* macro usage to support - kFreeBSD-based non-FreeBSD systems (i.e. GNU/kFreeBSD). - - Implement runtime detection of version of kFreeBSD. Now if - we build against kFreeBSD 5.x headers the GRUB shell will work on - both 4.x and 5.x. - - Replace `u_int_t' types with portable `unsigned int' and old - reference to `geometry' structure to new `geom' one. - - * docs/menu.lst: Split GNU/kFreeBSD and GNU/kNetBSD as separate - options than FreeBSD and NetBSD, respectively. There are minor - differences now (different paths). - -2004-05-03 Pavel Roskin - - * stage2/char_io.c (convert_to_ascii): Remove "%b" support. - It's non-standard and is not used anymore. - (grub_printf): Likewise. - -2004-04-29 Robert Millan - - From Yann Dirson : - * util/mkbimage: Misc syntax fixes. - -2004-04-29 Jeroen Dekkers - - * stage2/char_io.c (grub_memcmp): Define for stage1.5 too. - - * stage2/fsys_iso9660.c (iso9660_mount): Use memcmp() instead of - __builtin_memcmp(). - (iso9660_dir): Likewise. - -2004-04-26 Christian Jones - - * docs/grub.texi (Making a GRUB bootable CD-ROM): minor edits, - including a few compatibility notes and a change to - -boot-load-size 4 for the mkisofs command. - 2004-04-22 Jeroen Dekkers * Makefile.am (AUTOMAKE_OPTIONS): Add "gnu". * configure.ac: Update to work with automake 1.8, quote all AC_DEFUN's correctly and provide descriptions for AC_DEFINE's. - * acinclude.m4: Likewise. - * acconfig.h: Removed. - - * stage1/Makefile.am (.exec): Use suffix rules instead of pattern - rules. - * stage2/Makefile.am (.exec): Likewise. - -2004-04-18 Yoshinori K. Okuji - - * docs/grub.texi (Making a GRUB bootable CD-ROM): New section. - - * stage2/disk_io.c (set_device): Use CH instead of *DEVICE to - test the first character of DEVICE, because DEVICE is - incremented. - Reported by Bernhard Treutwein. - -2004-04-15 Yoshinori K. Okuji - - * netboot/fsys_tftp.c (buf_fill): Cast 1 to unsigned short - explicitly so that the constant doesn't extend unsigned short - to int automatically. - Reported by Eduard Guzovsky . - - * docs/grub.texi (Invoking grub-md5-crypt): Fixed the chapter - name. - Reported by Martin Pool . -2004-04-04 Yoshinori K. Okuji - - * configure.ac (STAGE2_CFLAGS): Check if -fno-stack-protector is - supported by GCC. If yes, added the option. This is necessary - for OpenBSD, because the stack protector defines additional - symbols. Reported by uc.sheda . - -2004-03-28 Pavel Roskin - - * stage2/boot.c: Imply --no-mem-option for Linux kernels with - protocol version 2.03 and above (Linux 2.4.18 and newer). - -2004-03-27 Yoshinori K. Okuji - - * stage2/char_io.c [!GRUB_UTIL] (memcpy): New function. It is - defined as an alias of grub_memmove. This is copied from GRUB 2. - - * stage2/disk_io.c (print_completions): Simplified conditionals - to make it easier to edit the file with Emacs. - Added support for (cd). - (set_device): Likewise. - - * stage2/common.c (init_bios_info): Check if BOOT_DRIVE is a - CDROM drive. If it is true, set CDROM_DRIVE to BOOT_DRIVE. - (cdrom_drive): New variable. +2003-10-19 Yoshinori K. Okuji - From Leonid Lisovskiy : - * stage2/start_eltorito.S: New file. + Migrated to newer autotools. - * stage2/stage2.c (run_menu): Use GRUB_INVALID_DRIVE instead of - 0xFF. + * configure.in: Removed. + * configure.ac: New file. Mostly derived from configure.in. - * stage2/shared.h (STAGE2_ID_ISO9660_STAGE1_5): New macro. - [FSYS_ISO9660] (STAGE2_ID): Set to STAGE2_ID_ISO9660_STAGE1_5. - (struct geometry): Added a new member ``sector_size''. - (BIOSDISK_FLAG_CDROM): New macro. - (cdrom_drive): Declared. +2002-07-01 Yoshinori K. Okuji - * stage2/fsys_iso9660.c: New file. - * stage2/iso9660.h: Likewise. + * Makefile.am (AUTOMAKE_OPTIONS): New variable. Specify the + required Automake version explicitly. - * stage2/filesys.h (FSYS_ISO9660_NUM): New macro. - [FSYS_ISO9660] (iso9660_mount): Declared. - [FSYS_ISO9660] (iso9660_read): Likewise. - [FSYS_ISO9660] (iso9660_dir): Likewise. - (NUM_FSYS): Added FSYS_ISO9660_NUM. +2002-05-23 Yoshinori K. Okuji - * stage2/disk_io.c (fsys_table) [FSYS_ISO9660]: Added iso9660. - (current_drive): Use GRUB_INVALID_DRIVE. - (log2): New function. - (rawread): Use BUF_GEOM.SECTOR_SIZE instead of SECTOR_SIZE. - Change the type of BUFADDR from int to char *. - Use a virtual track to make sure that one track fits in the - buffer. - (sane_partition): Allow CURRENT_DRIVE to be CDROM_DRIVE, because - a bios drive for a CD-ROM is often assigned to greater than - 0x88. - (set_device): Use GRUB_INVALID_DRIVE instead of 0xFF. - (setup_part): Likewise. + Define the behavior of the boot loader when the load end address + and the bss end address are zero in the Multiboot Specification, + and add the support into GRUB. I've modified a patch from Yuri + Zaporogets . - * stage2/cmdline.c (init_cmdline): Use GRUB_INVALID_DRIVE. + * docs/multiboot.texi (The address fields of Multiboot header): + Added descriptions about the behavior of the boot loader when + LOAD_END_ADDR is zero and BSS_END_ADDR is zero. - * stage2/builtins.c (install_func): Use GRUB_INVALID_DRIVE. - (setup_func): Added iso9660_stage1_5. +2001-03-03 OKUJI Yoshinori - * stage2/bios.c (biosdisk): Don't fall back to the CHS mode - if the drive is a CDROM. - (get_cdinfo): New function. - (get_diskinfo): Call get_cdinfo if the drive is greater than or - equal to 0x88 or the drive supports LBA. - Set the sector size to SECTOR_SIZE if it is not a CD-ROM. + * docs/multiboot.texi (History): Written. - * stage2/asm.S (biosdisk_int13_extensions): Take a word - argument AX instead of a byte argument AH. - (get_diskinfo_int13_extensions): Removed. +2001-01-27 OKUJI Yoshinori - * stage2/Makefile.am (noinst_HEADERS): Added iso9660.h. - (libgrub_a_SOURCES): Added fsys_iso9660.c. - (libgrub_a_CFLAGS): Added -DFSYS_ISO9660=1. - (pkgdata_DATA): Added iso9660_stage1_5 and stage2_eltorito. - (noinst_PROGRAMS): Added iso9660_stage1_5.exec and - start_eltorito.exec. - (noinst_DATA): Added start_eltorito. - (pre_stage2_exec_SOURCES): Added fsys_iso9660.c. - (START_ELTORITO_LINK): New variable. - (start_eltorito_exec_SOURCES): Likewise. - (start_eltorito_exec_CCASFLAGS): Likewise. - (start_eltorito_exec_LDFLAGS): Likewise. - (start_eltorito_exec-start.$(OBJEXT)): New dependency. - (stage2_eltorito): New target. - (iso9660_stage1_5_exec_SOURCES): New variable. - (iso9660_stage1_5_exec_CFLAGS): Likewise. - (iso9660_stage1_5_exec_CCASFLAGS): Likewise. - (iso9660_stage1_5_exec_LDFLAGS): Likewise. + * docs/multiboot.texi: Start reorganizing Multiboot + Specification. - * stage1/stage1.h (GRUB_INVALID_DRIVE): New macro. +2001-01-12 OKUJI Yoshinori - * stage1/stage1.S (boot_drive): Use the macro GRUB_INVALID_DRIVE. - (real_start): Likewise. + * docs/multiboot.h [__ELF__] (MULTIBOOT_HEADER_FLAGS): Defined + as 0x00000003 instead of 0x00010003. + * docs/boot.S (multiboot_header) [__ELF__]: Don't define a.out + kludge information. - * lib/device.c (get_drive_geometry): Set GEOM->SECTOR_SIZE to - SECTOR_SIZE by default. + * docs/Makefile.am (EXTRA_PROGRAMS): New variable. + [BUILD_EXAMPLE_KERNEL] (noinst_DATA): Removed. + [BUILD_EXAMPLE_KERNEL] (noinst_PROGRAMS): Changed to kernel. + [BUILD_EXAMPLE_KERNEL] (kernel_exec_SOURCES): Renamed to ... + [BUILD_EXAMPLE_KERNEL] (kernel_SOURCES): ... this. + [BUILD_EXAMPLE_KERNEL] (kernel_exec_CFLAGS): Renamed to ... + [BUILD_EXAMPLE_KERNEL] (kernel_CFLAGS): ... this. + [BUILD_EXAMPLE_KERNEL] (kernel_exec_LDFLAGS): Renamed to ... + [BUILD_EXAMPLE_KERNEL] (kernel_LDFLAGS): ... this. + [BUILD_EXAMPLE_KERNEL] (kernel): Removed. + [BUILD_EXAMPLE_KERNEL] (boot.o): New dependency. + (CLEANFILES): New variable. - * configure.ac (--disable-iso9660): New option. +2001-01-11 OKUJI Yoshinori -2004-03-13 Yoshinori K. Okuji - - From Daniele Zelante : - * stage2/asm.S (stop_floppy): Use INT 13, AH=00h to stop the - floppy controller instead of a direct I/O. + * docs/Makefile.am [BUILD_EXAMPLE_KERNEL] (noinst_DATA): New + variable. + [BUILD_EXAMPLE_KERNEL] (noinst_PROGRAMS): Likewise. + [BUILD_EXAMPLE_KERNEL] (kernel_exec_SOURCES): Likewise. + [BUILD_EXAMPLE_KERNEL] (kernel_exec_CFLAGS): Likewise. + [BUILD_EXAMPLE_KERNEL] (kernel_exec_LDFLAGS): Likewise. + [BUILD_EXAMPLE_KERNEL] (kernel): New target. + * configure.in (--enable-example-kernel): New option. -2004-03-12 Yoshinori K. Okuji + * docs/kernel.c (cmain): Cast unsigned long variables to + unsigned explicitly, to suppress GCC warnings. - * stage2/serial.c (serial_putchar): Handle the character code - 127 as a backspace. Reported by Florian Engelhardt - . +2000-10-23 OKUJI Yoshinori -2004-03-12 Yoshinori K. Okuji + * docs/multiboot.texi: Upgraded to 0.6.92. + (Boot information format): Re-designed the graphics table. - From Boji Tony Kannanthanam : - * util/grub-install.in (convert): Add support for ATARAID - device names. - * lib/device.c (get_ataraid_disk_name) [__linux__]: New - function. - (init_device_map) [__linux__]: Probe ATARAID disks. +2000-10-20 OKUJI Yoshinori - * stage2/size_test (check): Don't use the local statement any - longer. It was unneeded actually. Reported by Paul Jarc. + APM BIOS table support is added, based on a patch by Matt Yourst + . -2004-03-12 Yoshinori K. Okuji - - From Sergey Matveychuk : - * lib/device.c (get_drive_geometry): Do not open the same device - more than once unnecessarily. - (get_drive_geometry) [__FreeBSD_version >= 500040]: Use new - ioctl methods. - (get_floppy_disk_name) [__FreeBSD__ >= 4]: Use /dev/fd%d rather - than /dev/rfd%d. - (get_ide_disk_name) [__FreeBSD__ >= 4]: Use /dev/ad%d rather - than /dev/rad%d. - (get_scsi_disk_name) [__FreeBSD__ >= 4]: Use /dev/da%d rather - than /dev/rda%d. - * grub/asmstub.c (get_diskinfo): Check if ERRNO is EPERM as - well. + * docs/multiboot.texi (Boot information format): Added the + definition of APM table format. -2004-02-28 Jeroen Dekkers +2000-10-16 OKUJI Yoshinori - * docs/grub.texi (partnew): Change @var{to} to @var{len}. + Some of the new Multiboot features are supported. APM support + and VESA support are not strictly defined or implemented yet. -2004-02-18 Yoshinori K. Okuji + * docs/multiboot.texi (Top): Increase the version number. + (Boot information format): Changed the drive information format, + because it was not straightforward. - From Yury V. Umanets : - * stage2/fsys_reiserfs.c (REISER3FS_SUPER_MAGIC_STRING): New - macro. - (reiserfs_mount): Added checks for ReiserFS 3. - (reiserfs_embed): Likewise. +2000-02-11 OKUJI Yoshinori -2004-01-25 Yoshinori K. Okuji + From Per Lundberg : + * docs/multiboot.texi: Added graphics support. - * docs/grub.texi (Obtaining and Building GRUB): Instead of - describing how to use the anoncvs method, specify the URL of - the description page on Savannah. - Reported by Bernhard Treutwein. +2000-02-10 OKUJI Yoshinori -2004-01-18 Yoshinori K. Okuji + * docs/multiboot.texi (Top): Downgrade the version to 0.6.90, + since we need more work to release it as 0.7. - From Thomas Schwinge : - * grub/Makefile.am (AM_CPPFLAGS): New variable. - (AM_CFLAGS): Removed all cpp flags. +2000-01-03 OKUJI Yoshinori - * stage2/xfs.h (__int8_t): Renamed to ... - (xfs_int8_t): ... this. - (__uint8_t): Renamed to ... - (xfs_uint8_t): ... this. - (__int16_t): Renamed to ... - (xfs_int16_t): ... this. - (__uint16_t): Renamed to ... - (xfs_uint16_t): ... this. - (__int32_t): Renamed to ... - (xfs_int32_t): ... this. - (__uint32_t): Renamed to ... - (xfs_uint32_t): ... this. - (__int64_t): Renamed to ... - (xfs_int64_t): ... this. - (__uint64_t): Renamed to ... - (xfs_uint64_t): ... this. - All callers are changed.x + * docs/multiboot.texi (Boot information format): Added the + descriptions about the fields "config_table" and + "boot_loader_name". - From Egmont Koblinger : - * util/grub-install.in: Support an install devices in GRUB's - notation without parentheses. +1999-12-31 OKUJI Yoshinori - * docs/grub.texi (Installing GRUB using grub-install): Added an - example of using grub-install without parentheses. + * docs/src2texi: Added an extra space into the first line, for + the portability issue. -2004-01-18 Yoshinori K. Okuji - - * util/grub-install.in: Use the first word of GRUB_SHELL when - checking if the grub shell is present. This is necessary to - support options to the grub shell (e.g. grub --read-only). +1999-11-05 OKUJI Yoshinori - From Eric Kvaalen : - * docs/grub.texi: Many bug fixes. + * docs/multiboot.texi (Boot information format): Add the members + `drives_addr' and `drives_count' into the Multiboot information + structure, and added the descriptions. -2004-01-17 Yoshinori K. Okuji +1999-10-27 OKUJI Yoshinori - * lib/device.c [__linux__] (MAJOR): Support 32 bit and 64 bit - dev_t. This code is stolen from glibc. - Suggested by Shen Feng . + * docs/help2man: Upgraded to 1.016. -2004-01-11 Yoshinori K. Okuji +1999-10-20 OKUJI Yoshinori - * stage2/terminfo.c (ti_set_term): Use a pointer to struct - terminfo instead to avoid GCC's bug, which inserts a reference - to memcpy implicitly. - (ti_get_term): Likewise. - All callers are fixed. + * docs/Makefile.am (%.c.texi): Use $(SHELL) instead of /bin/sh. + (%.h.texi): Likewise. + (%.S.texi): Likewise. - * stage2/terminfo.h (ti_set_term): Updated. - (ti_get_term): Likewise. +1999-10-17 OKUJI Yoshinori - * stage2/shared.h (struct linux_kernel_header): New member, - initrd_max_address. Defined in the boot protocol 2.03 or higher. + * docs/Makefile.am (.texi): Canceled because the dependecies can + be circulated. - * stage2/boot.c (load_initrd): If the boot protocol is greater - than or equal to 2.03, use the field ``initrd_max_address'' - instead of LINUX_INITRD_MAX_ADDRESS. +1999-10-16 OKUJI Yoshinori -2003-12-30 Yoshinori K. Okuji + * docs/multiboot.texi: Include the example source files of a + Multiboot kernel. + * docs/src2texi: New file. + * docs/boot.S: Likewise. + * docs/multiboot.h: Likewise. + * docs/kernel.c: Likewise. + * docs/boot.S.texi: Likewise. + * docs/multiboot.h.texi: Likewise. + * docs/kernel.c.texi: Likewise. + * docs/Makefile.am (EXAMPLES): New varilable. + (multiboot_TEXINFOS): Likewise. + (SRC2TEXI): Likewise. + (noinst_SCRIPTS): Added $(SRC2TEXI). + (EXTRA_DIST): Added $(EXAMPLES) and $(multiboot_TEXINFOS). + (%.c.texi): New target. + (%.h.texi): Likewise. + (%.S.texi): Likewise. - * stage2/fsys_ext2fs.c (ext2_is_fast_symlink): New function. - (ext2fs_dir): Use ext2_is_fast_symlink to check if the current - inode is a fast or slow symlink. This change was required - because Linux now uses acl seriously (i.e. incompatibility). - Reported by Chris PeBenito and Seemant - Kulleen +1999-09-13 OKUJI Yoshinori -2003-11-30 Yoshinori K. Okuji + * configure.in (--enable-maintainer-mode): Do not use our own + rule, but use AM_MAINTAINER_MODE instead. If the maintainer mode + is enabled, then check for perl, and if it is not found, print + an error message and abort. + * docs/Makefile.am (grub.8): Regenerated if MAINTAINER_MODE is + defined, instead of GRUB_MAINT. Use the variable PERL rather + than running help2man directly. - * lib/device.c (read_device_map) (sho_warning): New internal - function. - (read_device_map): If DRIVE is greater than 8, emit a warning - and ignore the drive, rather than exiting abnormally. - Reported by Greg Newby . - -2003-10-19 Yoshinori K. Okuji - - Migrated to newer autotools. Also, don't install mkbimage - because its name is too general and it does not conform to the - GNU Coding Standards in some points. - - * util/Makefile.am (EXTRA_DIST): New variable. - (sbin_SCRIPTS): Removed mkbimage. - (noinst_SCRIPTS): Added mkbimage. - - * stage1/Makefile.am (AM_ASFLAGS): Renamed to ... - (AM_CCASFLAGS): ... this. - - * stage2/Makefile.am (pre_stage2_exec_ASFLAGS): Renamed to ... - (pre_stage2_exec_CCASFLAGS): ... this. - (start_exec_ASFLAGS): Renamed to ... - (start_exec_CCASFLAGS): ... this. - (e2fs_stage1_5_exec_ASFLAGS): Renamed to ... - (e2fs_stage1_5_exec_CCASFLAGS): ... this. - (fat_stage1_5_exec_ASFLAGS): Renamed to ... - (fat_stage1_5_exec_CCASFLAGS): ... this. - (ffs_stage1_5_exec_ASFLAGS): Renamed to ... - (ffs_stage1_5_exec_CCASFLAGS): ... this. - (minix_stage1_5_exec_ASFLAGS): Renamed to ... - (minix_stage1_5_exec_CCASFLAGS): ... this. - (reiserfs_stage1_5_exec_ASFLAGS): Renamed to ... - (reiserfs_stage1_5_exec_CCASFLAGS): ... this. - (vstafs_stage1_5_exec_ASFLAGS): Renamed to ... - (vstafs_stage1_5_exec_CCASFLAGS): ... this. - (jfs_stage1_5_exec_ASFLAGS): Renamed to ... - (jfs_stage1_5_exec_CCASFLAGS): ... this. - (xfs_stage1_5_exec_ASFLAGS): Renamed to ... - (xfs_stage1_5_exec_CCASFLAGS): ... this. - (diskless_exec_ASFLAGS): Renamed to ... - (diskless_exec_CCASFLAGS): ... this. - (nbloader_exec_ASFLAGS): Renamed to ... - (nbloader_exec_CCASFLAGS): ... this. - (pxeloader_exec_ASFLAGS): Renamed to ... - (pxeloader_exec_CCASFLAGS): ... this. - - * configure.in: Removed. - * configure.ac: New file. Mostly derived from configure.in. - -2003-10-19 Yoshinori OKUJI - - From KB Sriram : - * stage2/disk_io.c (set_device) [SUPPORT_NETBOOT]: Added support - for a completion of a network device. - (print_completions): Likewise. - -2003-10-10 Robert Millan - - * config.guess: Update from official source (CVS). - * config.sub: Likewise. - -2003-09-18 Robert Millan - - * docs/texinfo.tex: Update from ftp.gnu.org. - -2003-09-05 KB Sriram - - * stage2/fsys_fat.c: Fix missdetection of ext2fs as fatfs. - -2003-09-05 Robert Millan - - * docs/menu.lst (GNU/Linux): Add commented initrd command, which - is consistent with documentation. - -2003-09-01 Robert Millan - - * docs/menu.lst: Add NetBSD, OpenBSD, GNU/KFreeBSD and - GNU/KNetBSD. - -2003-08-13 Jason Thomas - - * util/grub-install.in (resolve_symlink): New function to - resolve symlinks. - (find_device): Moved symlink code to new function. - Before we convert the install_device we attempt to resolve it if - its a symlink using the new function. - * util/mbchk.c (check_multiboot): The sense of an error message - was inverted. - Reported by Timothy Baldwin . - -2003-08-12 Jochen Hoenicke - - * stage2/fsys_reiserfs.c (read_tree_node): Fixed a typo; only - matters for very large fs when tree doesn't fit in cache. - (IH_KEY_OFFSET): Don't check for INFO->version. There are - actually old version file systems that use new version items. - (IH_KEY_ISTYPE): Likewise. - (reiserfs_dir): Likewise. - -2003-08-09 Thierry Laronde - - * util/mkbimage: New File. `mkbimage' depends on GRUB and - existed elsewhere. It is now part of GRUB so that people can - fix/contribute. - * util/Makefile.am (sbin_SCRIPTS): Added script `mkbimage' - -2003-08-01 Jason Thomas - - * util/grub-install.in: support --no-floppy - This allow users to specify the --no-floppy option which - is passed onto the grub shell, so it does not probe the floppy - drive. - Patch from kesha@diedas.soften.ktu.lt - -2003-06-17 Jochen Hoenicke - - * stage2/fsys_reiserfs.c (reiserfs_mount): Clear the node cache. - This fixes a problem where files from other partitions appear at - the wrong partition. Problem reported by Johan Regin. - -2003-05-04 Yoshinori K. Okuji - - * docs/grub.texi (partnew): Fixed the inconsistency between the - implementation and the documentation. The last argument is the - length instead of the ending address. - Reported by Daniel Farrell . - -2003-03-19 Yoshinori K. Okuji - - From Adam Lackorzynski : - * stage2/shared.h (KEY_NPAGE): Changed to 0x5100. - (KEY_PPAGE): Changed to 0x4900. - -2003-03-19 Yoshinori K. Okuji - - * stage2/boot.c (load_image): Check if DATA_LEN plus SECTOR_SIZE - is less than or equal to MULTIBOOT_SEARCH, instead of if - DATA_LEN is less than or equal to MULTIBOOT_SEARCH. - Reported by Neelkanth Natu . - -2003-03-10 Yoshinori K. Okuji - - From Andrew Walrond : - * stage2/fsys_reiserfs.c (struct reiserfs_journal_header): - Remove an unnecessary ``long''. - -2003-03-10 Yoshinori K. Okuji - - From Tilmann Bubeck: - * stage2/builtins.c [SUPPORT_SERIAL] (terminfo_func): Unescape - arguments before copying them, and escape sequences before - printing them. - * stage2/terminfo.h (TERMINFO_LEN): Changed to 40. - -2003-02-20 Yoshinori K. Okuji - - * util/grub-install.in (find_device): Fix the sed script. - -2003-02-17 Yoshinori K. Okuji - - * lib/device.c (check_device): If DEVICE is empty, just return - 1. - (get_scsi_disk_name) [__QNXNTO__]: Make NAME empty, because SCSI - disks are detected as IDE disks on QNX RTP. - - From Taketo Kabe : - * lib/device.c (get_ide_disk_name) [__QNXNTO__]: Set NAME to - "/dev/hdX". - (get_floppy_disk_name) [__QNXNTO__]: Set NAME to "/dev/fdX". - * stage2/mb_info.h (struct AddrRangeDesc): Specified with the - attribute packed. - * stage2/shared.h (struct mmar_desc): Likewise. - -2003-01-29 Yoshinori K. Okuji - - From Ilguiz Latypov: - * configure.in: Fix a syntax error in a sed script. - * stage2/bios.c (get_diskinfo): PhoenixBIOS 4.0 Revision 6.0 - for ZF Micro might understand the greater buffer size for the - "get drive parameters" int 0x13 call in its own way. - Supposedly the BIOS assumes even bigger space is available and - thus corrupts the stack. This is why we specify the exactly - necessary size of 0x42 bytes. - -2003-01-25 Yoshinori K. Okuji - - From Steven Dick : - * stage2/pc_slice.h (PC_SLICE_TYPE_DELL_UTIL): New macro. - (IS_PC_SLICE_TYPE_FAT): Recognize PC_SLIDE_TYPE_DELL_UTIL as - well. - -2003-01-25 Yoshinori K. Okuji - - From Karsten Scheibler : - * stage2/terminfo.c (term): Don't use a C99-style initializer. - -2003-01-16 Yoshinori K. Okuji - - From H.J. Lu : - * stage2/disk_io.c (part_start): Use unsigned long to support - large disks. - (part_length): Likewise. - * stage2/shared.h (part_start): Likewise. - (part_length): Likewise. - -2003-01-05 Yoshinori K. Okuji - - * configure.in (CFLAGS): When the default CFLAGS is used, - eliminate -O2 and -g from CFLAGS, because Autoconf may - automatically set CFLAGS to them. - -2003-01-02 Yoshinori K. Okuji - - From Jeremy Katz: - * configure.in: Support building on x86_64 with gcc -m32. - -2003-01-02 Yoshinori K. Okuji - - From Jeremy Katz: - * stage2/fsys_ext2fs.c (ext2fs_dir): Initialize STR_CHK to shut - up GCC. - * stage2/fsys_minix.c (minix_dir): Likewise. - -2002-12-21 Yoshinori K. Okuji - - * stage2/asm.S (gateA20): First, try a BIOS call (INT 15H, - AX=2400/2401). Use the keyboard controller, only if that failed. - -2002-12-11 Yoshinori K. Okuji - - Add a workaround for buggy BIOSes which don't pass boot drive - correctly. The idea is that GRUB forces the fixed disk flag - when booted from a hard disk. When BIOS loads GRUB directly, - the boot drive must be either of 0x00 and 0x80, so this should - work, if those BIOSes always pass zero to %dl. AFAIK, this - assumption is always correct. - - * stage2/builtins.c (install_func): Store the fixed disk flag of - the destination drive in BOOT_DRIVE_MASK in Stage 1. - - * stage1/stage1.h (STAGE1_BOOT_DRIVE_MASK): New macro. - - * stage1/stage1.S (boot_drive_mask): New variable. It is or'ed - to %dl. - -2002-12-09 Yoshinori K. Okuji - - * stage2/char_io.c (init_page): Change the software name from - "GRUB" to "GNU GRUB". This was inaccurate. Reported by Ciaran - O'Riordan . - -2002-12-04 Yoshinori K. Okuji - - * stage2/builtins.c (embed_func): When checking if the disk can - store Stage 1.5, check every partition, if it isn't empty. - -2002-12-04 Yoshinori K. Okuji - - * stage2/stage2.c (print_entry): Put a right arrow, if the entry - is longer than 71 characters. Reported by Pavel Roskin. - -2002-12-04 Yoshinori K. Okuji - - * stage2/disk_io.c (set_device): If '(n' is given, add 'd' into - DEVICE. Reported by Pavel Roskin. - -2002-12-03 Yoshinori K. Okuji - - Change the terminal structure a bit, to turn the cursor state - explicitly. Suggested by Pavel Roskin. - - * stage2/term.h (struct term_entry): Remove the member - `nocursor' and add `setcursor'. - [!STAGE1_5] (console_setcursor): New prototype. - [SUPPORT_HERCULES] (hercules_setcursor): Likewise. - [!STAGE1_5] (console_nocursor): Removed. - [SUPPORT_HERCULES] (hercules_nocursor): Likewise. - - * stage2/stage2.c (run_menu): Call setcursor instead of - nocursor. - Call setcursor with 1 before starting a boot entry. - - * stage2/shared.h (nocursor): Removed. - (setcursor): New prototype. - - * stage2/hercules.c (herc_cursor_state): New variable. - (herc_turn_cursor): Removed. - (hercules_nocursor): Likewise. - (hercules_setcursor): New function. - - * stage2/char_io.c (get_cmdline): Turn on the cursor at the - beginning, and restore it before returning. - (nocursor): Removed. - (setcursor): New function. - - * stage2/asm.S (console_cursor_state): New variable. - (console_cursor_shape): Likewise. - (console_setcursor): New function. - (console_nocursor): Removed. - - * grub/asmstub.c (console_setcursor): New function. - (hercules_setcursor): Likewise. - (console_nocursor): Removed. - (hercules_nocursor): Likewise. - -2002-12-03 Yoshinori K. Okuji - - * docs/grub.texi (terminfo): Fix a misleading English sentence. - Reported by Pavel Roskin. - * stage2/builtins.c (builtin_terminfo): Likewise. - -2002-12-01 Yoshinori K. Okuji - - From Alexander Langer : - * stage2/freebsd.h (RB_GDB): New macro. - (RB_MUTE): Likewise. - (RB_MULTIPLE): Likewise. - - * stage2/boot.c (bsd_boot): Set the bits of RB_MULTIPLE, RB_GDB - and RB_MUTE when "-D", "-g" and "-m" are specified, - respectively. - -2002-12-01 Yoshinori K. Okuji - - * docs/grub.texi (Reporting bugs): Specify the project page of - the BTS instead of the BTS itself. - -2002-11-30 Yoshinori K. Okuji - - * docs/Makefile.am (man_MANS): Added grub-terminfo.8. - ($(srcdir)/grub_terminfo.8): New target. - * utils/grub-terminfo.in: New file. - * util/Makefile.am (sbin_SCRIPTS): Added grub-terminfo. - * configure.in (AC_OUTPUT): Added util/grub-terminfo. - - * docs/grub.texi (terminfo): New subsection. - (Invoking grub-terminfo): New chapter. - - From Tilmann Bubeck : - * stage2/Makefile.am (noinst_HEADERS): Added terminfo.h and - tparm.h. - (libgrub_a_SOURCES): Added terminfo.c and tparm.c. - (pre_stage2_exe_SOURCES): Likewise. - * stage2/terminfo.c: New file. - * stage2/terminfo.h: Likewise. - * stage2/tparm.c: Likewise. - * stage2/tparm.h: Likewise. - * stage2/stage2.c (get_line_from_config): Fix handling of - backslashes. - * stage2/char_io.c (grub_putstr): New function. - (grub_printf): Use grub_putstr. - (substring): Add const into both arguments. - * stage2/builtins.c [SUPPORT_SERIAL]: Include terminfo.h. - [SUPPORT_SERIAL] (terminfo_func): New function. - [SUPPORT_SERIAL] (builtin_terminfo): New variable. - (builtin_table) [SUPPORT_SERIAL]: Added a pointer to - BUILTIN_TERMINFO. - * stage2/serial.c (serial_gotoxy): Use ti_cursor_address. - (serial_cls): Use ti_clear_screen. - (serial_highlight): use ti_enter_standout_mode and - ti_exit_standout_mode. - -2002-11-30 Yoshinori K. Okuji - - * stage2/disk_io.c (rawread): Make sure that SECTOR is valid. - If not, set ERRNUM to ERR_GEOM and return zero. This check is - critical when a partition table is corrupted. - -2002-11-28 Yoshinori K. Okuji - - * stage2/asm.S (console_cls): Write spaces to the entire screen - instead of getting/setting the video mode, because this flickers - the screen and is quite annoying, if using a LCD. - -2002-11-15 Yoshinori K. Okuji - - * docs/grub.texi (QNX): New subsection. Reported by - Marian-Nicolae V. ION . - -2002-10-28 Yoshinori K. Okuji - - * grub/asmstub.c (console_translate_key): Deal with KEY_PPAGE - and KEY_NPAGE. - * stage2/serial.c (serial_translate_key_sequence): Added two new - codes for Page Up and Page Down. - * stage2/asm.S (translation_table): Added entries for KEY_PPAGE - and KEY_NPAGE. - * stage2/stage2.c (run_menu): Deal with Page Up and Page Down. - Also recognize the right key for the selection of a boot entry. - Suggested by Adam Lackorzynski . - -2002-10-10 Jason Thomas - - * stage2/builtins.c (setup_func): Added missing space to --force-lba - option. Reported by Kenneth Crudup - -2002-10-06 Yoshinori K. Okuji - - * stage2/asm.S (gateA20): Output a dummy command (0xff), as a - workaround for USB keyboard hanging problem. Suggested by - Hidetoshi Nishimaki . - -2002-10-06 Yoshinori K. Okuji - - * configure.in (falign_loop_flag): New variable. Set to if GCC - supports `-falign-*'. If true, use `-falign-jumps', - `-falign-loops' and `-falign-functions' instead of - `-malign-jumps', `-malign-loops' and `-malign-functions', - because `-malign-*' are obsolete in GCC 3.x. Reported by Jeremy - Katz. - -2002-09-13 Yoshinori K. Okuji - - * stage2/serial.c (fill_input_buf): Take a new argument NOWAIT. - If NOWAIT is true, don't loop. - All callers are changed. - -2002-09-08 Yoshinori K. Okuji - - * configure.in (--disable-serial): Fix a typo in the - description. - -2002-08-20 Jason Thomas - - Changed highlight state code for hercules, console and serial. - The state was 0 - normal or 1 - highlight. - The state is now defined using an enum called color_state. - - * stage2/term.h (color_state): New enum. - (COLOR_STATE_STANDARD): Standard color to use when not using - user defined. - (COLOR_STATE_NORMAL): User defined normal color. - (COLOR_STATE_HIGHLIGHT): User defined highlight color. - (console_highlight): Renamed to console_setcolorstate. - (serial_highlight): Renamed to serial_setcolorstate. - (hercules_highlight): Renamed to hercules_setcolorstate. - * stage2/hercules.c (herc_highlight_state): Removed. - (herc_standard_color): New variable. - (herc_color_state): Likewise. - (herc_highlight): Renamed to herc_setcolorstate. - (herc_setcolorstate): Added switch to handle new states. - * stage2/console.c (console_highlight_state): Removed. - (console_standard_color): New variable. - (console_color_state): Likewise. - (console_highlight): Renamed to console_setcolorstate. - (console_setcolorstate): Added switch to handle new states. - * stage2/serial.c (serial_highlight): Renamed to - serial_setcolorstate. - (serial_setcolorstate): Adjusted 'if' to suit new states. - * grub/asmstub.c (console_highlight): Renamed to - console_setcolorstate. - (console_setcolorstate): Adjusted 'if' to suit new states. - * stage2/stage2.c (print_entry): Set color states using new - states. - (print_border): Likewise. - * stage2/stage2.c (run_menu): Reverse if (!) to if () for - uniformitty. - -2002-07-12 Yoshinori K. Okuji - - * stage2/boot.c (load_image): Rewrite the Linux booting support - radically. Now it should work even on a machine having, say, - only 128KB, theoretically. Of course, GRUB itself doesn't work - on such a system, though. - (load_initrd): Initialize LH based on CUR_ADDR, because the - location becomes dynamic. - * stage2/shared.h (LINUX_MAX_SETUP_SECTS): Set to 64. - (LINUX_HEAP_END_OFFSET): Set to (0x9000 - 0x200). - (LINUX_STAGING_AREA): Removed. - (LINUX_SETUP): Likewise. - (LINUX_KERNEL): Likewise. - (LINUX_KERNEL_MAXLEN): Likewise. - (LINUX_SETUP_SEG): Likewise. - (LINUX_INIT_SEG): Likewise. - (LINUX_SETUP_STACK): Set to 0x9000. - (LINUX_BZIMAGE_ADDR): New macro. - (LINUX_ZIMAGE_ADDR): Likewise. - (LINUX_OLD_REAL_MODE_ADDR): Likewise. - (CL_MY_LOCATION): Removed. - (CL_MY_END_ADDR): Likewise. - (CL_BASE_ADDR): Likewise. - (CL_MAGIC): Renamed to ... - (LINUX_CL_MAGIC): ... this. - (LINUX_CL_OFFSET): New macro. - (LINUX_CL_END_OFFSET): Likewise. - (LINUX_SETUP_MOVE_SIZE): Likewise. - (struct linux_kernel_header): Change the type of the member - "cmd_line_ptr" to char *. - (linux_data_tmp_addr): Declared. - (linux_data_real_addr): Likewise. - * stage2/asm.S [!STAGE1_5] (linux_data_tmp_addr): New variable. - [!STAGE1_5] (linux_data_real_addr): Likewise. - [!STAGE1_5] (big_linux_boot): Copy the real mode part from - LINUX_DATA_TMP_ADDR to LINUX_DATA_REAL_ADDR. - * grub/asmstub.c (linux_data_tmp_addr): New variable. - (linux_data_real_addr): Likewise. - -2002-07-09 Yoshinori K. Okuji - - From Mark Kettenis : - * stage2/boot.c (load_image): Recognize newer FreeBSD kernels. - * stage2/i386-elf.h (EI_OSABI): New macro. - (EI_ABIVERSION): Likewise. - (ELFOSABI_FREEBSD): Likewise. - (EI_PAD): Set to 9. - -2002-07-06 Yoshinori K. Okuji - - * stage2/shared.h (boot_part_offset): Removed. - - * stage2/disk_io.c (set_bootdev): Copy the partition information - here. Now this function can call rawread, so it can fail. - (boot_part_offset): Removed. - - * stage2/builtins.c (boot_func): Don't copy the partition - information here. - (real_root_func): Check ERRNUM after calling set_bootdev. - -2002-07-04 Yoshinori K. Okuji - - * docs/grub.texi (Reporting bugs): Use the group name (i.e. - grub) instead of the group id (i.e. 68) for the URL of the BTS. - -2002-07-03 Yoshinori K. Okuji - - * stage2/serial.c [!GRUB_UTIL] (inb): Added a delay into this - function itself. - [!GRUB_UTIL] (outb): Likewise. - [!GRUB_UTIL] (serial_hw_put): Increase the timeout value, and - don't call serial_hw_delay explicitly any longer. - (fill_input_buf): Increase the maximum number of retries, reset - the counter to zero after getting a valid character, and don't - call serial_hw_delay explicitly any longer. - -2002-07-03 Yoshinori K. Okuji - - * stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed a typo. - Reported by Ilguiz Latypov. - -2002-07-01 Yoshinori K. Okuji - - * Makefile.am (AUTOMAKE_OPTIONS): New variable. Specify the - required Automake version explicitly. - -2002-06-30 Yoshinori K. Okuji - - * stage2/builtins.c [SUPPORT_SERIAL || SUPPORT_HERCULES] - (terminal_func): Set CURRENT_TERM to each of selected terminals - before calling grub_printf, and restore CURRENT_TERM after it. - Reported by Ilguiz Latypov. - Prepend a carriage return to the prompting message, because it - is ugly that the same messages fulfill the whole screen. - -2002-06-30 Yoshinori K. Okuji - - * stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed the - conditional statement. Reported by Ilguiz Latypov. - -2002-06-24 Yoshinori K. Okuji - - * MAINTENANCE: New file. - -2002-06-15 Yoshinori K. Okuji - - * stage2/disk_io.c [SUPPORT_NETBOOT] (GRUB): Defined. - [SUPPORT_NETBOOT]: Include etherboot.h. - [!STAGE1_5] (print_completions) [SUPPORT_NETBOOT]: When - completing a disk name, if NETWORK_READY is true, add "nd" as a - completion. - -2002-06-15 Yoshinori K. Okuji - - * stage2/fsys_xfs.c (le32): Don't use bswap, but use xchgb and - roll, because 386 doesn't have bswap. Reported by Frode Vatvedt - Fjeld . - -2002-06-12 Yoshinori K. Okuji - - * netboot/main.c (ifconfig): If GW is specified, clear out the - ARP entry for the gateway. If SVR is specified, clear out the - ARP entry for the server. Reported by Uwe Dannowski - . - -2002-06-12 Yoshinori K. Okuji - - * util/grub-md5-crypt.in: Prompt to retype a password, and check - if the passwords matches. Suggested by Matt Perry - . - Also, don't use Perl any longer, because *BSD's sh and GNU - support ``read -r'', and GRUB doesn't support any other - operating system anyway. - -2002-06-12 Yoshinori K. Okuji - - The terminal handling code is rewritten radically. - - * stage2/console.c: New file. - * stage2/term.h: Likewise. - - * stage2/Makefile.am (noinst_HEADERS): Added term.h. - (libgrub_a_SOURCES): Added serial.c. - (pre_stage2_exec_SOURCES): Added console.c. - - * stage2/asm.S (console_putchar): Rewritten from scratch. - [!STAGE1_5] (translation_table): New variable. - [!STAGE1_5] (translate_keycode): New function. - [!STAGE1_5] (console_getkey): Call translate_keycode. - [!STAGE1_5] (console_checkkey): Likewise. - [!STAGE1_5] (nocursor): Renamed to ... - [!STAGE1_5] (console_nocursor): ... this. - [!STAGE1_5] (console_set_attrib): Removed. - - * stage2/builtins.c: Include term.h. - (terminal): Removed. - (normal_color): Likewise. - (highlight_color): Likewise. - (cat_func): Display a question mark when a non-printable - character was read. - (terminal_func): Rewritten almost from scratch. - - * stage2/char_io.c: Include term.h. - [!STAGE1_5] (auto_fill): Removed. - [!STAGE1_5] (term_table): New variable. - [!STAGE1_5] (current_term): Likewise. - [!STAGE1_5] (real_get_cmdline): New function. The code was - stolen from the previous version of get_cmdline. - [!STAGE1_5] (get_cmdline): Rewritten from scratch. - [!STAGE1_5] (translate_keycode): Removed. - [!STAGE1_5] (getkey): Rewritten from scratch. - [!STAGE1_5] (checkkey): Likewise. - (grub_putchar): Likewise. - [!STAGE1_5] (gotoxy): Likewise. - [!STAGE1_5] (getxy): Likewise. - [!STAGE1_5] (cls): Likewise. - [!STAGE1_5] (nocursor): New function. - [SUPPORT_SERIAL] (serial_getxy): Removed. - [SUPPORT_SERIAL] (serial_gotoxy): Likewise. - [SUPPORT_SERIAL] (serial_cls): Likewise. - [SUPPORT_SERIAL] (serial_getxy): Likewise. - [!STAGE1_5] (set_attrib): Likewise. - - * stage2/cmdline.c (init_cmdline): Set COUNT_LINES to -1. - - * stage2/common.c [!STAGE1_5] (err_list): Removed - ERR_NEED_SERIAL and added ERR_DEV_NEED_INIT. - - * stage2/hercules.c: Rewritten almost from scratch. - * stage2/hercules.h (herc_putchar): Removed. - (herc_cls): Likewise. - (herc_getxy): Likewise. - (herc_gotoxy): Likewise. - (herc_set_attrib): Likewise. - - * stage2/serial.c: Rewritten almost from scratch. - * stage2/serial.h: Likewise. - - * stage2/shared.h [GRUB_UTIL] (DISP_UL): Set to the same value - as VGA's. - [GRUB_UTIL] (DISP_UR): Likewise. - [GRUB_UTIL] (DISP_LL): Likewise. - [GRUB_UTIL] (DISP_LR): Likewise. - [GRUB_UTIL] (DISP_HORIZ): Likewise. - [GRUB_UTIL] (DISP_VERT): Likewise. - [GRUB_UTIL] (DISP_LEFT): Likewise. - [GRUB_UTIL] (DISP_RIGHT): Likewise. - [GRUB_UTIL] (DISP_UP): Likewise. - [GRUB_UTIL] (DISP_DOWN): Likewise. - (grub_error_t): Removed ERR_NEED_SERIAL. - Added ERR_DEV_NEED_INIT. - (normal_color): Removed. - (highlight_color): Likewise. - (console_cls): Removed, because this is declared in term.h. - (console_getxy): Likewise. - (console_gotoxy): Likewise. - (console_putchar): Likewise. - (console_getkey): Likewise. - (console_checkkey): Likewise. - (console_set_attrib): Removed. - (set_attrib): Likewise. - [GRUB_UTIL] (nocursor): Declared. - (auto_fill): Removed. - (terminal): Likewise. - (TERMINAL_CONSOLE): Likewise. - (TERMINAL_SERIAL): Likewise. - (TERMINAL_HERCULES): Likewise. - (TERMINAL_DUMB): Likewise. - (translate_keycode): Likewise. - - * stage2/stage2.c: Include term.h. - (print_entry): Rewritten from scratch. - (print_entries): Likewise. - (print_border): Likewise. - (set_line): Removed. - (set_line_normal): Likewise. - (set_line_highlight): Likewise. - - * grub/Makefile.am (AM_CFLAGS): Added -DSUPPORT_HERCULES=1. - - * grub/asmstub.c: Don't include hercules.h. Include term.h. - (console_current_color): New variable. - (console_translate_key): New function. - (console_checkkey): Rewritten from scratch. - (console_getkey): Likewise. - (console_putchar): Likewise. - (console_set_attrib): Removed. - (console_highlight): New function. - (console_setcolor): Likewise. - (console_nocursor): Likewise. - (serial_getkey): Removed. - (serial_checkkey): Likewise. - (serial_putchar): Likewise. - (serial_exists): Likewise. - (serial_get_port): Likewise. - (serial_init): Likewise. - (serial_hw_fetch): New function. - (serial_hw_put): Likewise. - (serial_hw_delay): Likewise. - (serial_hw_get_port): Likewise. - (serial_hw_init): Likewise. - (set_serial_device): Renamed to ... - (serial_set_device): ... this. - (herc_putchar): Renamed to ... - (hercules_putchar): ... this. - (herc_cls): Renamed to ... - (hercules_cls): ... this. - (herc_getxy): Renamed to ... - (hercules_getxy): ... this. - (herc_gotoxy): Renamed to ... - (hercules_gotoxy): ... this. - (hercules_highlight): New function. - (hercules_setcolor): Likewise. - (hercules_nocursor): Likewise. - (herc_set_attrib): Removed. - - * grub/main.c: Include term.h. - (main): If USE_CURSES is false, set CURRENT_TERM->FLAGS to - TERM_NO_EDIT | TERM_DUMB. TERMINAL is not used any longer. - -2002-06-01 Yoshinori K. Okuji - - * docs/grub.texi (FAQ): Removed. See the GNU GRUB FAQ on the web - instead. - -2002-05-31 Yoshinori K. Okuji - - * docs/grub.texi (Reporting bugs): Recommend using the BTS on - Savannah rather than the list bug-grub. - -2002-05-25 Yoshinori K. Okuji - - * stage2/builtins.c (boot_func): Load the boot partition - information, only if the address of the boot partition entry is - set appropriately. - (real_root_func): If ATTEMPT_MOUNT is false, call open_partition - and if successful, call set_bootdev, to set the offset of the - boot partition and the address of the boot paetition entry. - IF ATTEMPT_MOUNT is false, don't set BOOTDEV. The BSD evil hack - is useless with the command "rootnoverify" anyway. - * stage2/disk_io.c (boot_part_addr): Initialized with zero - explicitly, to emphasize that it is invalid. - -2002-05-24 Yoshinori K. Okuji - - * stage2/builtins.c (real_root_func): New function. - (root_func): Just call real_root_func. - (rootnoverify_func): Likewise. - -2002-05-23 Yoshinori K. Okuji - - * configure.in (AM_INIT_AUTOMAKE): Changed the version number to - 0.93. - -2002-05-23 Yoshinori K. Okuji - - Define the behavior of the boot loader when the load end address - and the bss end address are zero in the Multiboot Specification, - and add the support into GRUB. I've modified a patch from Yuri - Zaporogets . - - * stage2/boot.c (load_image): In the case of Multiboot a.out - kludge, set the load end address to the load address plus the - size of the OS image file, if it is zero. Similarly, set the bss - end address to the load end address, if it is zero. - - * util/mbchk.c (check_multiboot): Don't check if the load - address is greater than or equal to the load end address, if the - load end address is zero. Don't check if the load end address is - greater than the bss end address, if the bss end address is - zero. And, don't check if the load end address is less than or - equal to the entry address, if the load end address is zero. - - * docs/multiboot.texi (The address fields of Multiboot header): - Added descriptions about the behavior of the boot loader when - LOAD_END_ADDR is zero and BSS_END_ADDR is zero. - -2002-05-22 Yoshinori K. Okuji - - * stage2/builtins.c (boot_func): If DEBUG is true, print - BOOT_DRIVE and BOOT_PART_OFFSET. - Don't set ERRNUM after rawread failed, because rawread should - set ERRNUM itself. - -2002-05-20 Yoshinori K. Okuji - - * lib/device.c (read_device_map): Show an error message and exit - abnormally, if MAP[DRIVE] has already been filled. - * util/grub-install.in: If there is any dulicated entry, print - an error message and exit abnormally. - -2002-05-20 Yoshinori K. Okuji - - * lib/device.c: Don't include linux/hdreg.h, linux/major.h, - or linux/kdev_t.h. - [__linux__] (HDIO_GETGEO): Defined. - [__linux__] (hd_geometry): Likewise. - [__linux__] (FLOPPY_MAJOR): Likewise. - [__linux__] (MINORBITS): Likewise. - [__linux__] (MAJOR): Likewise. - -2002-05-08 Yoshinori K. Okuji - - * netboot/fsys_tftp.c (tftp_read): Don't call buf_fill unless - SIZE is positive. - -2002-05-08 Yoshinori K. Okuji - - * netboot/etherboot.h (ETH_MAX_MTU): Because some DHCP/BOOTP - servers don't treat the maximum length the same as Etherboot, - subtract the size of an IP header and that of an UDP header. - -2002-04-30 Yoshinori K. Okuji - - From Jean-Jacques Michel : - * stage2/boot.c (load_image): For Linux, check if DATA_LEN is - greater than MULTIBOOT_SEARCH. If that's true, read the rest - after copying data already read in BUFFER. - -2002-04-30 Yoshinori K. Okuji - - * stage2/boot.c (load_image): For Linux, don't check if the - length of protected mode code is greater than or equal to the - expected length minus 16. Instead, just check if no error - occurred. That was problematic, because memdisk has no protected - mode code. Also, I don't see what the magic number 16 was for. - -2002-04-29 Yoshinori K. Okuji - - * stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Added a - new option ``--silent''. This suppresses messages, if specified. - -2002-04-29 Yoshinori K. Okuji - - * config.guess: New upstream version. - * config.sub: Likewise. - -2002-04-20 Yoshinori K. Okuji - - * netboot/config.c (PCI_NIC) [INCLUDE_DAVICOM]: Fix typos. - Reported by Julien Perrot . - -2002-04-17 Yoshinori K. Okuji - - * stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Set - COUNT_LINES to -1, to disable the pager. - -2002-04-16 Yoshinori K. Okuji - - * docs/grub.texi (Obtaining and Building GRUB): Update the link - to the binutils site. - -2002-04-06 Pavel Roskin - - * util/grub-install.in: Fix hardcoded /dev/hda1. - -2002-04-06 Yoshinori K. Okuji - - * stage2/builtins.c [GRUB_UTIL] (dump_func): New function. - [GRUB_UTIL] (builtin_dump): New variable. - (builtin_table) [GRUB_UTIL]: Added a pointer to BUILTIN_DUMP. - * util/grub-install.in: Make sure that GRUB reads the same - images as the host operating system by comparing the result of - running the command "dump" with the contents of the OS file. - -2002-04-04 Yoshinori K. Okuji - - * stage2/builtins.c (setup_func): Don't embed a drive number, if - unnecessary. - -2002-03-29 Yoshinori K. Okuji - - * docs/grub.texi (General commands): Added ``pager'' into the - menu. - (pager): New subsection. - (terminal): Added a description about the option - ``--lines=LINES''. - - * configure.in (AC_INIT_AUTOMAKE): Set the version number to - 0.92. - -2002-03-26 Yoshinori K. Okuji - - * netboot/eepro100.c (eepro100_probe): Increase the delay at the - initialization. - -2002-03-26 Yoshinori K. Okuji - - * stage2/boot.c (linux_mem_size): New variable. - (load_image): Check a mem= option and set LINUX_MEM_SIZE to the - specified memory size, if any. Otherwise, to zero. When an - overflow is detected, use LINUX_INITRD_MAX_ADDRESS instead. - (load_initrd): If LINUX_MEM_SIZE is non-zero, use it instead of - the actual memory size. - * stage2/char_io.c (safe_parse_maxint): Use ERR_NUMBER_OVERFLOW - instead of ERR_NUMBER_PARSING, when an overflow occurs. - * stage2/common.c [!STAGE1_5] (err_list): Added - ERR_NUMBER_OVERFLOW. - * stage2/shared.h (ERR_NUMBER_OVERFLOW): New constant. - -2002-03-24 Yoshinori K. Okuji - - * stage2/stage2.c (run_menu): Call cls outside the loop to run - scripts. - * stage2/cmdline.c (run_script): Prompt a user's intervention, - only when FALLBACK_ENTRY is negative. - -2002-02-11 Pavel Roskin - - * util/grub-install.in (find_device): New function - find block - device for given file or directory. Resolve symlinks to fix - problem on Linux with devfs and old device names in /etc/fstab. - Use find_device() for root_device, bootdir_device and - grubdir_device. - -2002-02-08 Yoshinori K. Okuji - - * grub/main.c (OPT_NO_PAGER): New macro. - (longopts): Added an entry for "--no-pager". - (usage): Added a description about "--no-pager". - (main): In case of OPT_NO_PAGER, set USE_PAGER to zero. The same - thing is done with OPT_BATCH, because the pager is just harmful - in batch mode. - -2002-02-08 Yoshinori K. Okuji - - * stage2/builtins.c (help_func): Show all the commands runnable - with the command-line interface, if "--all" is specified. - -2002-02-08 Yoshinori K. Okuji - - An internal pager is implemented. - - * stage2/builtins.c (pager_func): New function. - (builtin_pager): New variable. - (terminal_func): New option, "--lines=LINES" is added. If this - option is specified, set MAX_LINES to the value. Otherwise, set - MAX_LINES to 24. - (vbeprobe_func): Remove the pager code specific to this - function. - (builtin_table): Added a pointer to BUILTIN_PAGER. - * stage2/char_io.c (max_lines) [!STAGE1_5]: New variable. - (count_lines) [!STAGE1_5]: Likewise. - (use_pager) [!STAGE1_5]: Likewise. - (grub_putchar) [!STAGE1_5]: if C is a newline and COUNT_LINES is - not -1, count up the number of lines. If it exceeds the maximum - number of lines minus 2, show a message and wait for input of - return key. "minus 2" is to reserve space for the message - printed by this internal pager. - * stage2/cmdline.c (enter_cmdline): If USE_PAGER is true, set - COUNT_LINES to zero, before running a command, and reset - COUNT_LINES to -1 after that. - * stage2/shared.h (max_lines) [!STAGE1_5]: Declared. - (count_lines) [!STAGE1_5]: Likewise. - (use_pager) [!STAGE1_5]: Likewise. - -2002-02-08 Yoshinori K. Okuji - - * stage2/fsys_jfs.c (jfs_read) [STAGE1_5]: Set and reset - DISK_READ_FUNC even in Stage 1.5. - * stage2/fsys_xfs.c (xfs_read) [STAGE1_5]: Likewise. - - * stage2/stage1_5.c (saved_sector): Initialized with -1. - (cmain): Check if SAVED_SECTOR was set appropriately after - reading the second sector of Stage 2. If SAVED_SECTOR is not - set (i.e. it is equal to -1), print an error and stop. - -2002-02-05 Yoshinori K. Okuji - - * stage2/builtins.c (setup_func): Add a VSTa fs entry into - STAGE1_5_MAP. - -2002-02-05 Yoshinori K. Okuji - - * stage2/shared.h (BUILTIN_HELP_LIST): New macro. Used for - commands whose help messages are listed when no argument is - specified to the command "help". - * stage2/builtins.c (builtin_blocklist): Added the attribute - BUILTIN_HELP_LIST. - (builtin_boot): Likewise. - (builtin_bootp): Likewise. - (builtin_cat): Likewise. - (builtin_chainloader): Likewise. - (builtin_color): Likewise. - (builtin_configfile): Likewise. - (builtin_device): Likewise. - (builtin_dhcp): Likewise. - (builtin_displayapm): Likewise. - (builtin_displaymem): Likewise. - (builtin_find): Likewise. - (builtin_geometry): Likewise. - (builtin_halt): Likewise. - (builtin_help): Likewise. - (builtin_hide): Likewise. - (builtin_ifconfig): Likewise. - (builtin_initrd): Likewise. - (builtin_kernel): Likewise. - (builtin_makeactive): Likewise. - (builtin_map): Likewise. - (builtin_md5crypt): Likewise. - (builtin_module): Likewise. - (builtin_modulenounzip): Likewise. - (builtin_partnew): Likewise. - (builtin_parttype): Likewise. - (builtin_quit): Likewise. - (builtin_rarp): Likewise. - (builtin_reboot): Likewise. - (builtin_root): Likewise. - (builtin_rootnoverify): Likewise. - (builtin_serial): Likewise. - (builtin_setkey): Likewise. - (builtin_setup): Likewise. - (builtin_terminal): Likewise. - (builtin_testvbe): Likewise. - (builtin_tftpserver): Likewise. - (builtin_unhide): Likewise. - (builtin_uppermem): Likewise. - (builtin_vbeprobe): Likewise. - - (help_func): When no argument is specified, if the last entry - was at the left column, print an extra newline. - -2002-02-05 Yoshinori K. Okuji - - * stage2/shared.h (BUILTIN_HIDDEN): Renamed to ... - (BUILTIN_NO_ECHO): ... this. The old name was too difficult to - see _what_ was hidden. - -2002-02-05 Yoshinori K. Okuji - - * netboot/misc.c (twiddle): Go back to the bar progress, copied - from etherboot-5.0.5/src/misc.c. Execute the code only if DEBUG - is true. - -2002-02-05 Yoshinori K. Okuji - - * stage2/builtins.c (displaymem_func): Use hex digits to display - for consistency. - -2002-02-04 Jason Thomas - - From Denis Kitzman : - * stage2/Makefile.am (libgrub_a_CFLAGS): Fixed a typo. - FSYS_XFS, USE_MD5_PASSWORDS, SUPPORT_SERIAL, and - SUPPORT_HERCULES did not get defined. - -2002-01-20 Yoshinori K. Okuji - - * util/grub-image.in: Check stage2 instead of stage2.c to - determine where the script is invoked, because srcdir may not - be used for the compilation. - -2002-01-20 Yoshinori K. Okuji - - * grub/asmstub.c (console_putchar): When not using curses, - ignore a carriage return, because a newline in Unix is only a - line feed. - -2002-01-18 Klaus Reichl - - * stage2/fsys_minix.c (minix_dir): Fixed bug getting filenames - with MAXNAMELEN right. - - * stage2/char_io.c (get_cmdline, cl_refresh): If TERMINAL_DUMB - section is always 0. - Line is only cleared if !TERMINAL_DUMB. - - * grub/main.c (use_curses): Initialize to 0 if !HAVE_LIBCURSES - (main): Check for curses use and set terminal to dumb if we - don't use it (helps for --batch and variants of non-curses - setup). - -2002-01-15 Yoshinori K. Okuji - - * configure.in (AM_INIT_AUTOMAKE): The version number is - upgraded to 0.91. - -2002-01-15 Yoshinori K. Okuji - - * docs/grub.texi (Preset Menu): New chapter. - -2002-01-15 Yoshinori K. Okuji - - * docs/grub.texi: Added some text about JFS and XFS. - -2002-01-08 Yoshinori K. Okuji - - * grub/main.c (use_preset_menu): New variable. - (OPT_PRESET_MENU): New macro. - (longopts): Added an entry for "--preset-menu". - (usage): Added a description for "--preset-menu". Also, change - the first character of the description for "--device-map" to - lower case for consistency. - (main): Set USE_PRESET_MENU to 1 in the case of OPT_PRESET_MENU. - * stage2/shared.h (use_preset_menu): Declared. - * stage2/stage2.c [PRESET_MENU_STRING || SUPPORT_DISKLESS] - (open_preset_menu) [GRUB_UTIL]: If USE_PRESET_MENU is false, - return zero immediately. - -2002-01-08 Yoshinori K. Okuji - - * stage2/common.c [SUPPORT_DISKLESS] - (setup_diskless_environment): Removed. The feature is moved to - the preset menu. - * stage2/stage2.c [SUPPORT_DISKLESS] (preset_menu): Set to the - string "bootp\n". - [SUPPORT_DISKLESS] (preset_menu_offset): Defined, as if - PRESET_MENU_STRING is defined. - [SUPPORT_DISKLESS] (open_preset_menu): Likewise. - [SUPPORT_DISKLESS] (read_from_preset_menu): Likewise. - [SUPPORT_DISKLESS] (close_preset_menu): Likewise. - -2002-01-06 Yoshinori K. Okuji - - The preset menu has a priority over the configuration file. - Suggested by Christoph Plattner. - - * stage2/stage2.c [PRESET_MENU_STRING] (open_preset_menu): - Check if PRESET_MENU is not NULL. - [PRESET_MENU_STRING] (close_preset_menu): Set PRESET_MENU to - NULL. - (cmain): New internal function, reset. This function resets - AUTO_FILL, CONFIG_LEN, MENU_LEN, NUM_ENTRIES, CONFIG_ENTRIES, - MENU_ENTRIES and call init_config. - Try to open the preset menu first, and try to open the - configuration file, only if that failed. - Even if the preset menu was read, try to open the configuration - file. This time, opening the preset menu never succeed, because - close_preset_menu ensures that the preset menu is available at - most once. - -2002-01-06 Yoshinori K. Okuji - - * netboot/misc.c (inet_aton): Don't check if *P is an asterisk, - if I is 3. Reported by Rick (his real name and address are - unknown). - -2002-01-03 Yoshinori K. Okuji - - Update the netboot stuff to Etherboot-5.0.5. - - * configure.in (--enable-3c590): Removed. This was a mistake. - (--enable-davicom): New option. - (--enable-eepro): Likewise. - (--enable-natsemi): Likewise. - (--enable-ni5010): Likewise. - (--enable-sis900): Likewise. - (--enable-w89c840): Likewise. - (--enable-3c509-hack): Removed. - (--enable-ns8390-force-16bit): Likewise. - - * netboot/Makefile.am (libdrivers_a_SOURCES): Added timer.c and - timer.h. - (EXTRA_libdrivers_a_SOURCES): Added davicom.c, eepro.c, fa311.c, - natsemi.c, ni5010.c, sis900.c, sis900.h, tlan.c and w89c840.c. - (EXTRA_DIST): Added sis900.txt. - (3c595_drivers): Remove 3c590.o from this. - (davicom_drivers): New variable. - (eepro_drivers): Likewise. - (natsemi_drivers): Likewise. - (ni5010_drivers): Likewise. - (sis900_drivers): Likewise. - (w89c840_drivers): Likewise. - (3c590_o_CFLAGS): Removed. - (davicom_o_CFLAGS): New variable. - (eepro_o_CFLAGS): Likewise. - (natsemi_o_CFLAGS): Likewise. - (ni5010_o_CFLAGS): Likewise. - (sis900_o_CFLAGS): Likewise. - (w89c840_o_CFLAGS): Likewise. - - * netboot/davicom.c: New file, from Etherboot-5.0.5. - * netboot/eepro.c: Likewise. - * netboot/natsemi.c: Likewise. - * netboot/ni5010.c: Likewise. - * netboot/sis900.c: Likewise. - * netboot/sis900.h: Likewise. - * netboot/sis900.txt: Likewise. - * netboot/timer.c: Likewise. - * netboot/timer.h: Likewise. - * netboot/w89c840.c: Likewise. - * netboot/fa311.c: Likewise. - * netboot/tlan.c: Likewise. - - * netboot/3c509.c: Copied from Etherboot-5.0.5. - * netboot/3c509.h: Likewise. - * netboot/3c595.c: Likewise. - * netboot/3c90x.c: Likewise. - * netboot/3c90x.txt: Likewise. - * netboot/cards.h: Likewise. - * netboot/cs89x0.c: Likewise. - * netboot/depca.c: Likewise. - * netboot/eepro100.c: Likewise. - * netboot/epic100.c: Likewise. - * netboot/i82586.c: Likewise. - * netboot/lance.c: Likewise. - * netboot/linux-asm-string.h: Likewise. - * netboot/nic.h: Likewise. - * netboot/ns8390.c: Likewise. - * netboot/ns8390.h: Likewise. - * netboot/otulip.c: Likewise. - * netboot/pci.h: Likewise. - * netboot/rtl8139.c: Likewise. - * netboot/sk_g16.c: Likewise. - * netboot/smc9000.c: Likewise. - * netboot/tiara.c: Likewise. - * netboot/tulip.c: Likewise. - * netboot/via-rhine.c: Likewise. - - * netboot/config.c: Applied a diff between Etherboot-4.6.4 and - Etherboot-5.0.5 manually. - * netboot/main.c: Likewise. - * netboot/pci.c: Likewise. - * netboot/etherboot.h: Rewritten mostly from scratch, based on - the same file in Etherboot-5.0.5. - * netboot/misc.c: Likewise. - * netboot/osdep.h: Likewise. - * netboot/fsys_tftp.c (GRUB): Defined. - (buf_fill): Use rfc2131_sleep_interval instead of rfc951_sleep. - - * stage2/builtins.c [SUPPORT_NETBOOT] (GRUB): Defined. - (boot_func) [SUPPORT_NETBOOT]: Call cleanup_net. - * stage2/cmdline.c [SUPPORT_DISKLESS] (GRUB): Defined. - * stage2/common.c [SUPPORT_DISKLESS] (GRUB): Likewise. - -2002-01-02 Jeremy Katz - - * util/grub-install.in: Support using mktemp as well as tempfile - for secure temporary file creation. - -2002-01-02 Jeremy Katz - - * stage2/md5.c (md5_password): Ensure the password exists before - trying to check against the md5 crypted version. - -2001-12-30 Yoshinori K. Okuji - - * stage1/stage1.S: Don't call INT 13, AH=48H, because it is - difficult to call this function with the workaround implemented - in the previous change due to the size limit of Stage 1. - - (lba_mode) [NO_BUGGY_BIOS_IN_THE_WORLD]: Don't check the - geometry explicitly. This shouldn't be harmful, as INT 13, - AH=42H should take care of it, and if you cannot read Stage 2 - even with LBA because of a geometry problem, you can never read - it. - - * stage2/start.S (lba_mode) [NO_BUGGY_BIOS_IN_THE_WORLD]: - Likewise. - -2001-12-30 Yoshinori K. Okuji - - * stage2/bios.c (get_diskinfo): Clear out the structure DRP - before calling get_diskinfo_int13_extensions, because the Ralf - Brown's Interrupt List says that Dell machines using PhoenixBIOS - 4.0 Release 6.0 fail, if DRP.FLAGS is not zero. Setting the - entire structure to zero may be overkill, but it should be safe. - - * stage2/char_io.c [STAGE1_5] (grub_memset): Defined. - -2001-12-30 Yoshinori K. Okuji - - From John Goerzen : - * util/grub-install.in (convert): Added NetBSD support. - -2001-12-30 Yoshinori K. Okuji - - * util/grub-install.in: Set GRUB_PREFIX and BOOTDIR to "/grub" - and "${rootdir}" respectively in NetBSD. - -2001-12-30 Yoshinori K. Okuji - - * stage2/builtins.c (builtin_geometry): Add extra space - characters into the long description. - (builtin_kernel): Likewise. - (builtin_vbeprobe): Likewise. - -2001-12-19 Yoshinori K. Okuji - - From Michael Sullivan : - * stage1/stage1.S (real_start): Added a workaround for AST BIOS, - because it clobbers %dl with INT 13, AH=41H. - -2001-12-19 Yoshinori K. Okuji - - * stage2/fsys_fat.c (fat_read): Fix the contradictory comment. - Reported by Filip Van Raemdonck . - -2001-12-11 Yoshinori K. Okuji - - * stage2/builtins.c (displayapm_func): Don't use multi-line - string literals but string concatenation instead, to suppress - warnings from gcc-3.0.x. - * stage2/cmdline.c (print_cmdline_message): Likewise. - * util/mbchk.c (usage): Likewise. - - * stage2/smp-imps.c (imps_read_config_table): Add a break - statement after the label ``default''. - - * util/mbchk.c: Include for the prototype of exit. - - * stage2/serial.c (serial_port): Initialize with 0 instead of - -1, as an invalid value, because SERIAL_PORT is unsigned. This - change shouldn't affect anything. - (serial_exists): For the above change, check SERIAL_PORT with 0 - instead of -1. - -2001-12-10 Yoshinori K. Okuji - - * stage2/shared.h (ERR_NO_DISK_SPACE): New constant. - * stage2/common.c (err_list): Added an entry for - ERR_NO_DISK_SPACE. - * docs/grub.texi (Stage2 errors): Added the description. - * stage2/builtins.c (embed_func): Use ERR_NO_DISK_SPACE instead - of ERR_DEV_VALUES when the spare space is too small. Suggested - by Eric Mumpower . - -2001-12-10 Yoshinori K. Okuji - - * grub/asmstub.c: Include . - (grub_stage2) [HAVE_LIBCURSES]: If USE_CURSES is true, ignore - the signal SIGWINCH. Reported by Christian Hudon - . - -2001-11-29 Yoshinori K. Okuji - - From Jason Thomas: - * stage2/disk_io.c (set_partition_hidden_flag): Complete rewrite - of this function which now supports logical partitions. - -2001-11-12 Yoshinori K. Okuji - - * docs/grub.texi: The copyright of this file is only held by - Free Software Foundation, Inc., as Erich Boleyn has assigned his - copyright to the FSF. - * stage1/stage1.S: Likewise. - * stage2/asm.S: Likewise. - * stage2/boot.c: Likewise. - * stage2/builtins.c: Likewise. - * stage2/char_io.c: Likewise. - * stage2/cmdline.c: Likewise. - * stage2/common.c: Likewise. - * stage2/disk_io.c: Likewise. - * stage2/fat.h: Likewise. - * stage2/filesys.h: Likewise. - * stage2/freebsd.h: Likewise. - * stage2/fsys_ext2fs.c: Likewise. - * stage2/fsys_fat.c: Likewise. - * stage2/fsys_ffs.c: Likewise. - * stage2/gunzip.c: Likewise. - * stage2/i386-elf.h: Likewise. - * stage2/mb_header.h: Likewise. - * stage2/mb_info.h: Likewise. - * stage2/pc_slice.h: Likewise. - * stage2/shared.h: Likewise. - * stage2/stage1_5.c: Likewise. - * stage2/stage2.c: Likewise. - * stage2/start.S: Likewise. - -2001-11-07 Yoshinori K. Okuji - - * stage2/builtins.c (terminal_func) [!SUPPORT_SERIAL]: Disable - the wait code, as it is usable only when serial support is on. - Reported by Karl Hammar . - -2001-10-27 Yoshinori K. Okuji - - JFS and XFS support is added. - - From Serguei Tzukanov : - * configure.in (--disable-jfs): New option. - (--disable-xfs): Likewise. - * stage2/Makefile.am (noinst_HEADERS): Added jfs.h and xfs.h. - (libgrub_a_SOURCES): Added fsys_jfs.c and fsys_xfs.c. - (libgrub_a_CFLAGS): Added -DFSYS_JFS=1 and -DFSYS_XFS=1. - (pkgdata_DATA): Added jfs_stage1_5 and xfs_stage1_5. - (noinst_PROGRAMS): Added jfs_stage1_5.exec and - xfs_stage1_5.exec. - (pre_stage2_exec_SOURCES): Added fsys_jfs.c and fsys_xfs.c. - (jfs_stage1_5_exec_SOURCES): New variable. - (jfs_stage1_5_exec_CFLAGS): Likewise. - (jfs_stage1_5_exec_ASFLAGS): Likewise. - (jfs_stage1_5_exec_LDFLAGS): Likewise. - (xfs_stage1_5_exec_SOURCES): Likewise. - (xfs_stage1_5_exec_CFLAGS): Likewise. - (xfs_stage1_5_exec_ASFLAGS): Likewise. - (xfs_stage1_5_exec_LDFLAGS): Likewise. - * stage2/builtins.c (setup_func): Add items for JFS and XFS into - STAGE1_5_MAP. - * stage2/disk_io.c (fsys_table): Added entries for JFS and XFS. - * stage2/filesys.h [FSYS_JFS] (FSYS_JFS_NUM): Set to 1. - [FSYS_JFS] (jfs_mount): Declared. - [FSYS_JFS] (jfs_read): Likewise. - [FSYS_JFS] (jfs_dir): Likewise. - [FSYS_JFS] (jfs_embed): Likewise. - [!FSYS_JFS] (FSYS_JFS_NUM): Set to 0. - [FSYS_XFS] (FSYS_XFS_NUM): Set to 1. - [FSYS_XFS] (xfs_mount): Declared. - [FSYS_XFS] (xfs_read): Likewise. - [FSYS_XFS] (xfs_dir): Likewise. - (NUM_FSYS): Added FSYS_JFS_NUM and FSYS_XFS_NUM. - * stage2/shared.h (STAGE2_ID_JFS_STAGE1_5): New macro. - (STAGE2_ID_XFS_STAGE1_5): Likewise. - [FSYS_JFS] (STAGE2_ID): Set to STAGE2_ID_JFS_STAGE1_5. - [FSYS_XFS] (STAGE2_ID): Set to STAGE2_ID_XFS_STAGE1_5. - * stage2/fsys_jfs.c: New file. - * stage2/fsys_xfs.c: Likewise. - * stage2/jfs.h: Likewise. - * stage2/xfs.h: Likewise. - -2001-10-27 Yoshinori K. Okuji - - * stage2/apm.S: Always disconnect from APM. Written by Erich - Stefan Boleyn. - - * util/Makefile.am (noinst_DATA): Removed. - (EXTRA_DIST): Likewise. - -2001-10-14 Gordon Matzigkeit - - * configure.in: Explicitly call _AM_DEPENDENCIES(CC) for the - benefit of older Autoconfs. - -2001-10-13 Yoshinori K. Okuji - - * netboot/fsys_tftp.c (tftp_read): Move the unused data - forwards, only if AMT is more than zero. If AMT is not positive, - subtract BUF_READ from SAVED_FILEPOS and set BUF_READ to zero, - to skip the whole buffer. Reported by Frank Mehnert. - -2001-10-13 Yoshinori K. Okuji - - Don't use get_diskinfo_floppy. Reported by Ben Liblit - . - - * stage2/asm.S (get_diskinfo_floppy): Removed (by cpp). - * stage2/bios.c (get_diskinfo_floppy): Removed. - (get_diskinfo): Don't call get_diskinfo_floppy any longer. - -2001-10-13 Yoshinori K. Okuji - - Based on a patch from Jeremy Katz : - * docs/grub.texi (Stage2 errors): Added documentation on the - error number 33 (Serial device not configured). - * grub/asmstub.c (serial_exists): New function. - * stage2/serial.c (serial_exists): Likewise. - * stage2/serial.h (serial_exists): New prototype. - * stage2/shared.h (grub_error_t): ERR_NEED_SERIAL is added. - * stage2/builtins.c (terminal_func) [SUPPORT_SERIAL]: If a - serial device is not configured yet, restore the terminal and - set ERRNUM to ERR_NEED_SERIAL. - * stage2/common.c (err_list): Added an item for ERR_NEED_SERIAL. - -2001-10-13 Yoshinori K. Okuji - - From Jason Thomas : - * util/grub-install.in (convert): Add support for DAC960. - - From Adrian Phillips : - * lib/device.c (get_dac960_disk_name): New function. - (init_device_map) [__linux__]: Add support for DAC960. - -2001-10-11 Jochen Hoenicke - - * stage2/fsys_reiserfs.c (reiserfs_super_block): Updated - to better match recent reiserfs versions. - (reiserfs_mount): Handle cases where journal can't be found, - e.g. journal on another disk or unexpected journal parameters. - In that case the journal isn't used. - -2001-10-10 Jochen Hoenicke - - * stage2/fsys_reiserfs.c (reiserfs_mount): Don't look at - the superblock field s_journal_block_count anymore. It used - to contain 0, it never contained a valid value, and now I - have a report that it can contain an invalid value. - Bug reported by Jim Caley . - -2001-09-24 Jochen Hoenicke - - * stage2/fsys_reiserfs.c (reiserfs_dir): Set errnum to - ERR_FSYS_CORRUPT if a symlink can't be read for some reason, - but no error is set by read. - -2001-08-08 OKUJI Yoshinori - - From Derrik Pates : - * stage2/asm.S [!STAGE1_5] (grub_halt): Set the level of APM - support to 1.1, before turning off the power state. - -2001-08-08 OKUJI Yoshinori - - * util/grub-md5-crypt.in: Prefix backquotes with backslashes in - strings. From Fernando Silveira. - -2001-08-02 Gordon Matzigkeit - - * stage2/common.c (init_bios_info): Ignore zero-length memory - ranges. From Derrik Pates . - -2001-07-26 Jochen Hoenicke - - * stage2/Makefile.am (libgrub_a_CFLAGS): Enable USE_MD5_PASSWORDS - for libgrub. Previously that was implicitly done by configure.in - until the patch from 2001-07-04, which moved that flag from CFLAGS - to FSYS_CFLAGS. Reported by YAMAGUCHI Shingo - - -2001-07-13 OKUJI Yoshinori - - * util/grub-install.in (convert): Recognize the naming scheme - for Linux devfs floppy devices. Reported by Jason Thomas - . - -2001-07-07 OKUJI Yoshinori - - * netboot/compile: New file. This was also missing... How many - ``compile''s does automake want? - -2001-07-07 OKUJI Yoshinori - - From Jan Zerebecki : - * acinclude.m4 (grub_DEFINE_FILE): Escape double-quotations as - well. - -2001-07-05 OKUJI Yoshinori - - * configure.in (AM_INIT_AUTOMAKE): Set the version number to - 0.90. - -2001-07-05 OKUJI Yoshinori - - Ughh! I forgot to add this file to the CVS. - - * docs/compile: New file. - -2001-07-05 OKUJI Yoshinori - - * docs/grub.texi: Updated. - -2001-07-05 OKUJI Yoshinori - - * stage2/boot.c (load_initrd) [!NO_DECOMPRESSION]: Set - NO_DECOMPRESSION to one before opening INITRD, so that GRUB - doesn't decompress an initrd automatically. Reported by - Thierry Laronde. - -2001-07-04 OKUJI Yoshinori - - * stage2/compile: New file. - * docs/mdate-sh: Likewise. - * docs/texinfo.tex: Likewise. - * compile: Removed. - * mdate-sh: Likewise. - * texinfo.tex: Likewise. - * config.guess: Updated from automake-1.4h. - * config.sub: Likewise. - * depcomp: Likewise. - * install-sh: Likewise. - * missing: Likewise. - * mkinstalldirs: Likewise. - * configure.in (AS): New variable. - (ASFLAGS): Likewise. - (--disable-md5-password): Use FSYS_CFLAGS instead of CFLAGS. - * stage1/Makefile.am (AM_CFLAGS): Renamed to ... - (AM_ASFLAGS): ... this. - * stage2/Makefile.am (pre_stage2_exec_ASFLAGS): New variable. - (start_exec_CFLAGS): Renamed to ... - (start_exec_ASFLAGS): ... this. - (start_exec-start.o): Renamed to ... - (start_exec-start.$(OBJEXT)): ... this. - (e2fs_stage1_5_exec_ASFLAGS): New variable. - (fat_stage1_5_exec_ASFLAGS): Likewise. - (ffs_stage1_5_exec_ASFLAGS): Likewise. - (minix_stage1_5_exec_ASFLAGS): Likewise. - (reiserfs_stage1_5_exec_ASFLAGS): Likewise. - (vstafs_stage1_5_exec_ASFLAGS): Likewise. - (diskless_exec_ASFLAGS): Likewise. - (nbloader_exec_CFLAGS): Renamed to ... - (nbloader_exec_ASFLAGS): ... this. - (nbloader_exec-nbloader.o): Renamed to ... - (nbloader_exec-nbloader.$(OBJEXT)): ... this. - (pxeloader_exec_CFLAGS): Renamed to ... - (pxeloader_exec_ASFLAGS): ... this. - (pxeloader_exec-pxeloader.$(OBJEXT)): New target. - -2001-07-03 OKUJI Yoshinori - - From Julien Bordet : - * stage2/i386-elf.h (Elf32_Shdr): New type. - * stage2/boot.c (load_image): Added ELF symbol loading support. - -2001-06-22 OKUJI Yoshinori - - * stage2/char_io.c [STAGE1_5] (grub_strcmp): Defined, even - for Stage 1.5. See thecomment, for a possible future strategy. - * stage2/fsys_vstafs.c [!FSYS_VSTAFS]: Don't define anything. - [STAGE1_5] (grub_strcmp): Removed. - (get_file_info): Made static. - (vstafs_readdir): Likewise. - (vstafs_nextdir): Likewise. - (curr_ext): Likewise. - (current_direntry): Likewise. - (current_blockpos): Likewise. - (a): Likewise. - -2001-06-22 OKUJI Yoshinori - - VSTa filesystem support is added. - - From Kristoffer Brånemyr : - * stage2/configure.in (--disable-vstafs): New option. - * stage2/Makefile.am (noinst_HEADERS): Added vstafs.h. - (libgrub_a_SOURCES): Added fsys_vstafs.c. - (libgrub_a_CFLAGS): Added -DFSYS_VSTAFS=1. - (pkgdata_DATA): Added vstafs_stage1_5. - (noinst_PROGRAMS): Added vstafs_stage1_5.exec. - (pre_stage2_exec_SOURCES): Added fsys_vstafs.c. - (vstafs_stage1_5_exec_SOURCES): New variable. - (vstafs_stage1_5_exec_CFLAGS): Likewise. - (vstafs_stage1_5_exec_LDFLAGS): Likewise. - * stage2/disk_io.c (fsys_table): Added an entry for vstafs. - * stage2/filesys.h [FSYS_VSTAFS] (FSYS_VSTAFS_NUM): Defined as - 1. - [FSYS_VSTAFS] (vstafs_mount): New prototype. - [FSYS_VSTAFS] (vstafs_read): Likewise. - [FSYS_VSTAFS] (vstafs_dir): Likewise. - [!FSYS_VSTAFS] (FSYS_VSTAFS_NUM): Defined as 0. - (NUM_FSYS): Added FSYS_VSTAFS_NUM. - * stage2/pc_slice.h (PC_SLICE_TYPE_VSTAFS): New macro. - * stage2/shared.h (STAGE2_ID_VSTAFS_STAGE1_5): Likewise. - [STAGE1_5 && FSYS_VSTAFS] (STAGE2_ID): Defined as - STAGE2_ID_VSTAFS_STAGE1_5. - * stage2/vstafs.h: New file. - * stage2/fsys_vstafs.c: Likewise. - -2001-06-22 OKUJI Yoshinori - - From Thierry Laronde : - * stage2/builtins.c (configfile_func): Added a prototype. - (bootp_func): If `--with-configfile' is given, set - WITH_CONFIGFILE to one, and call configfile_func with - CONFIG_FILE. - -2001-06-21 OKUJI Yoshinori - - * docs/grub.texi: Update the location of the CVS repository - [/home/cvs -> /cvsroot/grub]. - * README: Likewise. - -2001-06-19 OKUJI Yoshinori - - * stage2/boot.c (load_image): If the image is a Multiboot ELF OS - image, get the physical entry address, when a loaded memory - segment contains it. And, set ENTRY_ADDR to it, after printing - out the virtual one. Suggested by Rogelio M. Serrano Jr. - . - -2001-05-30 OKUJI Yoshinori - - * docs/grub.texi: Fix some typos. Reported by Florian Hatat - . - -2001-05-29 Pavel Roskin - - * configure.in (AC_OUTPUT): Remove debian/Makefile. - -2001-05-28 Gordon Matzigkeit - - * Makefile.am (SUBDIRS): Remove reference to debian directory. - Packaging is no longer done by the GRUB team. - -2001-05-03 Gordon Matzigkeit - - * stage1/stage1.S (nt_magic): Explicitly reserve space for the NT - magic number. - -2001-05-25 Klaus Reichl - - * stage2/stage2.c (print_entries_raw): New function. - (run_menu): Use it to implement menu & command-list if on dumb - terminals. - Changes are: - Adjust FIRST_ENTRY only on non-dumb terminals. - Setting of SHOW_MENU is honoured also on dumb - terminals. - Likely if SHOW_MENU is false, ESC brings her to the - menu - not to the command-line as before. - PRINT_BORDER, GOTOXY, SET_LINE_xxx are only called if - not on dumb terminals. - Show entry number when timeout is running if terminal is dumb. - Prompt with entry number when waiting for keys. - -2001-05-14 Pavel Roskin - - * stage2/shared.h (ENTRY): Remove unnecessary `##'. - -2001-05-03 Jochen Hoenicke - - * grub/asmstub.c (biosdisk): Work around a bug in linux's ez - remapping. Problem reported by Ben Byer . - -2001-03-28 Gordon Matzigkeit - - * stage2/boot.c (load_image): Don't cast entry_addr to an int, or - the top bit will be interpreted as the sign. - -2001-03-16 OKUJI Yoshinori - - From Bodo Rueskamp : - * stage2/boot.c (load_initrd): Avoid the last 64kb for - Linux 2.2.x bug. - -2001-03-03 OKUJI Yoshinori - - * docs/multiboot.texi (History): Written. - -2001-02-28 OKUJI Yoshinori - - From HASEGAWA Tomoki : - * lib/device.c (get_ide_disk_name) [__FreeBSD__]: Add support - for FreeBSD-4.0 or later. Use "/dev/rad0". - * util/grub-install.in (convert): Add code for FreeBSD - disklabels. - -2001-02-28 OKUJI Yoshinori - - From Thierry Laronde : - * stage2/stage2.c (cmain): If the default entry is wrong, set it - to FALLBACK_ENTRY if FALLBACK_ENTRY is valid, otherwise set it - to zero. Suggested by Nicolas Boos . - -2001-02-28 OKUJI Yoshinori - - * acconfig.h (AUTO_LINUX_MEM_OPT): New entry. - * configure.in (--disable-auto-linux-mem-opt): New option. - * stage2/builtins.c (kernel_func) [!AUTO_LINUX_MEM_OPT]: Add - KERNEL_LOAD_NO_MEM_OPTION into LOAD_FLAGS, whether the user - specifies --no-mem-option or not. - -2001-02-27 OKUJI Yoshinori - - * stage2/builtins.c (chainloader_func): Don't check if the - current partition is FAT, but check if it has a FAT partition - type and the BPB has a system id starting with "MSWIN". - -2001-02-27 OKUJI Yoshinori - - Added hercules support based on a patch by Frank Mehnert - . I translated his assembly code into - C, and separated hercules from the normal console. - - * configure.in (--disable-hercules): New option. - - * grub/asmstub.c: Include . - (set_attrib): Renamed to ... - (console_set_attrib): ... this. - (herc_cls): New function. - (herc_getxy): Likewise. - (herc_gotoxy): Likewise. - (herc_putchar): Likewise. - (herc_set_attrib): Likewise. - - * stage2/Makefile.am (noinst_HEADERS): Added hercules.h. - (libgrub_a_CFLAGS): Added -DSUPPORT_HERCULES=1. - (HERCULES_FLAGS): New variable. - (STAGE2_COMPILE): Added $(HERCULES_FLAGS). - (pre_stage2_exec_SOURCES): Added hercules.c. - * stage2/asm.S [!STAGE1_5] (set_attrib) Renamed to ... - [!STAGE1_5] (console_set_attrib): ... this. - * stage2/builtins.c [SUPPORT_HERCULES] (terminal_func): Added - hercules support. - (builtin_table) [SUPPORT_HERCULES]: Added a pointer to - BUILTIN_TERMINAL. - * stage2/char_io.c [SUPPORT_HERCULES]: Include . - [!STAGE1_5] (get_cmdline) [SUPPORT_HERCULES]: Added hercules - support. - [!STAGE1_5] (getkey) [SUPPORT_HERCULES]: Likewise. - [!STAGE1_5] (checkkey) [SUPPORT_HERCULES]: Likewise. - (grub_putchar) [SUPPORT_HERCULES]: Likewise. - [!STAGE1_5] (gotoxy) [SUPPORT_HERCULES]: Likewise. - [!STAGE1_5] (getxy) [SUPPORT_HERCULES]: Likewise. - [!STAGE1_5] (cls) [SUPPORT_HERCULES]: Likewise. - (set_attrib): New function. - * stage2/shared.h (console_set_attrib): Declared. - (TERMINAL_HERCULES): New macro. - * stage2/stage2.c (run_menu) [SUPPORT_HERCULES]: Added hercules - support. - * stage2/hercules.h: New file. - * stage2/hercules.c: Likewise. - -2001-02-17 OKUJI Yoshinori - - From "Treutwein; Bernhard" - : - * docs/grub.texi (DOS/Windows): Improved the readability. - -2001-02-11 OKUJI Yoshinori - - * docs/grub.texi (Command-line and menu commands): Renamed to ... - (General commands): ... this. - -2001-02-08 OKUJI Yoshinori - - * stage2/asm.S [STAGE1_5] (chain_stage2): Save the second sector - of stage2 in %ecx temporarily, and set %ebp to %ecx after - switching to protected mode. I forgot that %ebp is broken by - rot_to_real. Reported by Torvald Riegel - . - -2001-02-08 OKUJI Yoshinori - - * docs/grub-new.texi: Moved to ... - * docs/grub.texi: ... here. And, include internals.texi. - * docs/internals.texi: New file. - * docs/prog-ref.texi: Removed. - * docs/user-ref.texi: Likewise. - * docs/tutorial.texi: Likewise. - * docs/appendices.texi: Likewise. - * docs/Makefile.am (grub_TEXINFOS): Removed prog-ref.texi, - user-ref.texi, tutorial.texi, and appendices.texi. Added - internals.texi. - -2001-02-03 OKUJI Yoshinori - - From Erik Schoenfelder : - * stage2/shared.h (LINUX_INITRD_MAX_ADDRESS): Changed from - 0x3C000000 to 0x38000000. - -2001-02-03 OKUJI Yoshinori - - * stage2/builtins.c (savedefault_func) - [!SUPPORT_DISKLESS && !GRUB_UTIL]: Check if the version - contained in the buffer matches to current one as well. - -2001-02-02 OKUJI Yoshinori - - * stage2/builtins.c (savedefault_func) - [!SUPPORT_DISKLESS && !GRUB_UTIL]: Check if the stage2 id is - STAGE2_ID_STAGE2. Suggested by Jochen Hoenicke. - - * stage2/stage2.c (cmain): If DEFAULT_ENTRY is out of entries, - reset DEFAULT_ENTRY to zero. - -2001-02-02 OKUJI Yoshinori - - Make savedefault workable even with Stage 1.5. Reported by - Thierry Laronde . - - * grub/asmstub.c (chain_stage2): Added an additional argument, - SECOND_SECTOR. - * stage2/asm.S [STAGE1_5] (chain_stage2): Set %ebp to - SECOND_SECTOR. - * stage2/disk_io.c [STAGE1_5] (disk_read_hook): Defined. - [STAGE1_5] (disk_read_func): Likewise. - (rawread) [STAGE1_5]: Handle DISK_READ_FUNC. - (grub_read) [STAGE1_5]: Likewise. - * stage2/fsys_ext2fs.c (ext2fs_read) [STAGE1_5]: Likewise. - * stage2/fsys_fat.c (fat_read) [STAGE1_5]: Likewise. - * stage2/fsys_ffs.c (ffs_read) [STAGE1_5]: Likewise. - * stage2/fsys_minix.c (minix_read) [STAGE1_5]: Likewise. - * stage2/fsys_reiserfs.c (reiserfs_read) [STAGE1_5]: Likewise. - -2001-02-02 OKUJI Yoshinori - - * netboot/config.c [GRUB && INCLUDE_PCI] (pci_dispatch_table): - New structure. - [GRUB && INCLUDE_PCI] (PCI_NIC): New variable. - (eth_probe) [GRUB && INCLUDE_PCI]: If a PCI NIC candidate is - present, probe it first. - -2001-01-27 OKUJI Yoshinori - - From Danilo Godec : - * stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_RAID): New macro. - * stage2/fsys_ext2fs.c (ext2fs_mount): Add a check for - PC_SLICE_LINUX_RAID. - -2001-01-27 OKUJI Yoshinori - - From Bernhard Treutwein - : - * docs/grub-new.texi (DOS/Windows): Made more readable. - -2001-01-27 OKUJI Yoshinori - - * docs/multiboot.texi: Start reorganizing Multiboot - Specification. - -2001-01-15 OKUJI Yoshinori - - From Thierry Laronde : - * docs/user-ref.texi (Command-line and menu commands): Update - the description about setkey. - * stage2/builtins.c (setkey_func): When checking if TO_KEY and - FROM_KEY are specified, see *TO_KEY and *FROM_KEY instead of - TO_KEY and FROM_KEY, respectively. - -2001-01-13 OKUJI Yoshinori - - From Thierry Laronde : - * util/grub-md5-crypt.in (prefix): New variable. - (exec_prefix): Likewise. - (sbindir): Likewise. - -2001-01-12 OKUJI Yoshinori - - * docs/multiboot.h [__ELF__] (MULTIBOOT_HEADER_FLAGS): Defined - as 0x00000003 instead of 0x00010003. - * docs/boot.S (multiboot_header) [__ELF__]: Don't define a.out - kludge information. - - * docs/Makefile.am (EXTRA_PROGRAMS): New variable. - [BUILD_EXAMPLE_KERNEL] (noinst_DATA): Removed. - [BUILD_EXAMPLE_KERNEL] (noinst_PROGRAMS): Changed to kernel. - [BUILD_EXAMPLE_KERNEL] (kernel_exec_SOURCES): Renamed to ... - [BUILD_EXAMPLE_KERNEL] (kernel_SOURCES): ... this. - [BUILD_EXAMPLE_KERNEL] (kernel_exec_CFLAGS): Renamed to ... - [BUILD_EXAMPLE_KERNEL] (kernel_CFLAGS): ... this. - [BUILD_EXAMPLE_KERNEL] (kernel_exec_LDFLAGS): Renamed to ... - [BUILD_EXAMPLE_KERNEL] (kernel_LDFLAGS): ... this. - [BUILD_EXAMPLE_KERNEL] (kernel): Removed. - [BUILD_EXAMPLE_KERNEL] (boot.o): New dependency. - (CLEANFILES): New variable. - -2001-01-11 OKUJI Yoshinori - - * stage2/builtins.c [SUPPORT_NETBOOT] (ifconfig_func): Always - print current network configuration. - [SUPPORT_NETBOOT] (tftpserver_func): Use ifconfig instead of - arp_server_override. - * netboot/main.c (arp_server_override): Removed. - * netboot/etherboot.h (arp_server_override): Likewise. - -2001-01-11 Eugene Doudine - - * stage2/builtins.c [SUPPORT_NETBOOT] (ifconfig_func): New - function to configure network interface from command line. - [SUPPORT_NETBOOT] (builtin_ifconfig): New variable. - [SUPPORT_NETBOOT] (builtin_table): Added a pointer to - BUILTIN_IFCONFIG. - * netboot/main.c (ifconfig): New function. - * netboot/etherboot.h (ifconfig): Added the prototype. - -2001-01-11 OKUJI Yoshinori - - * docs/Makefile.am [BUILD_EXAMPLE_KERNEL] (noinst_DATA): New - variable. - [BUILD_EXAMPLE_KERNEL] (noinst_PROGRAMS): Likewise. - [BUILD_EXAMPLE_KERNEL] (kernel_exec_SOURCES): Likewise. - [BUILD_EXAMPLE_KERNEL] (kernel_exec_CFLAGS): Likewise. - [BUILD_EXAMPLE_KERNEL] (kernel_exec_LDFLAGS): Likewise. - [BUILD_EXAMPLE_KERNEL] (kernel): New target. - * configure.in (--enable-example-kernel): New option. - - * docs/kernel.c (cmain): Cast unsigned long variables to - unsigned explicitly, to suppress GCC warnings. - -2001-01-08 OKUJI Yoshinori - - * stage2/shared.h (BOOTSEC_BPB_HIDDEN_SECTORS): New macro. - - * stage2/builtins.c (chainloader_func): If CURRENT_PARTITION is - FAT, set the hidden sectors field of the BPB to PART_START, to - avoid a Windows bug which affects only when Windows is booted - from a logical partition. And, clear ERRNUM after testing if a - partition is FAT, because open_partition or fat_mount may set - ERRNUM. Reported by Ingo Korb . - -2001-01-07 OKUJI Yoshinori - - * stage2/builtins.c (boot_func): In the chain-loading mode, - clear the active flag of each of the loaded partition entries, - and then set the active flag of the booted partition image. - -2001-01-04 Jochen Hoenicke - - * stage2/builtins.c (embed_func): Call open_partition() even for - MBR, so that part_start is correct. This fixes a bug reported by - Matthias Granberry . - -2000-12-22 OKUJI Yoshinori - - * stage2/disk_io.c (make_saved_active): Change the variable name - ``MBR'' to lower case. - (set_partition_hidden_flag): Likewise. - -2000-12-20 Jochen Hoenicke - - From Cedric Ware : - * stage2/fsys_ext2.c (ext2fs_mount): Detect ext2 partitions in - a OpenBSD/NetBSD FS_EXT2FS slice. - * stage2/pc_slice.h (FS_ADOS): New Macro from OpenBSD/NetBSD. - (FS_HFS): Likewise. - (FS_FILECORE): Likewise. - (FS_EXT2FS): Likewise. - -2000-12-17 Jochen Hoenicke - - * stage2/disk_io.c (rawread): Check if there is a EZD partition - and remap sector 0 to sector 1 like EZ-BIOS does. - (rawwrite): New function to write to disk. Also does EZD - remapping. - (devwrite): New function. Does the special remapping to - partitions needed for linux. This contains the code that was - previously duplicated in embed_func and install_func at several - places. - (make_saved_active): Use rawwrite. Don't use SCRATCHSEG, as it is - needed by devwrite. - (set_partition_hidden_flag): Likewise. - * stage2/disk_io.h (rawwrite): New function. - (devwrite): Likewise. - * stage2/pc_slice.h (PC_SLICE_TYPE_EZD): New macro. - * stage2/builtins.c (embed_info): New variable to store the - position of the embedded stage1_5 for setup_func. - (embed_func): Don't embed after the MBR if an EZ-BIOS is detected - there. Use the new devwrite method. If embedding is successful - store position in embed_info. - (install_func): Use devwrite. Don't use SCRATCHSEG. - (partnew_func): Use rawwrite. Don't use SCRATCHSEG. - (parttype_func): Likewise. - (savedefault_func): Likewise. - (setup_func): New nested function embed_stage1_5. Stage1_5 is now - also be embedded into filesystems which supports that. - -2000-12-17 OKUJI Yoshinori - - * stage2/builtins.c (chainloader_func): Set ERRNUM to - ERR_EXEC_FORMAT, when ERRNUM is ERR_NONE, even if grub_read - fails in reading one sector. - -2000-12-14 OKUJI Yoshinori - - * docs/prog-ref.texi (Partition types): Rewrite the footnotes. - Suggested by Ralf.Medow@t-online.de (Ralf Medow). - -2000-12-14 OKUJI Yoshinori - - From Erik Schoenfelder : - * util/grub-install.in (convert): Revised the fix for floppy - device handling. - -2000-12-14 OKUJI Yoshinori - - From HORIKAWA Kazunori : - * stage2/bios.c (get_diskinfo): Append 16 bytes dummy data to - DRP, because the BIOS of Thinkpad X20 write a garbage beyond the - size of the structure. - -2000-12-09 Jochen Hoenicke - - * stage2/disk_io.c (next_partition): Mask out bsd partition sub - type when checking if last partition was a bsd partition. - Reported by Heikki Vatiainen . - -2000-12-09 OKUJI Yoshinori - - From Leendert Meyer : - * util/grub-install.in (convert): If a floppy device is - specified, remove everything from $tmp_part. - -2000-12-09 OKUJI Yoshinori - - * lib/device.c [__linux__] (write_to_partition): Use strcpy - instead of strcat, to overwrite "/disc". Reported by Thiago - Macieira . - -2000-12-05 Jochen Hoenicke - - * stage2/fsys_minix.c (minix_mount): Corrected the check for - IS_PC_SLICE_TYPE_MINIX; minix was only working if slice type was - wrong! Reported by Ralf Medow . - -2000-11-27 Jochen Hoenicke - - * stage2/fsys_reiserfs.c: Handle items with old version key on - new version reiserfs partition. - (K_OFFSET): Removed. - (IH_KEY_OFFSET): New Macro, which checks item head version. - (IH_KEY_ISOFFSET): Likewise. - (reiserfs_read): Use new macros. - (reiserfs_dir): Fixed version check for >4GB stat entries. - -2000-11-27 OKUJI Yoshinori - - * stage2/common.c (init_bios_info) [!STAGE1_5]: Don't call - track_int13, because the current implementation hangs up in some - environments. - -2000-11-27 OKUJI Yoshinori - - * grub/asmstub.c (serial_init) [!O_SYNC]: Don't specify O_SYNC - to open SERIAL_DEVICE. - (serial_init) [O_FSYNC]: Specify O_FSYNC to open SERIAL_DEVICE. - Reported by Farid Hajji . - -2000-11-22 OKUJI Yoshinori - - From Vesa Jaaskelainen : - * stage2/builtins.c (testvbe_func): Don't set the bit 14 of a - VBE mode number explicitly when calling get_vbe_mode_info. - (vbeprobe_func): Likewise. - -2000-11-22 OKUJI Yoshinori - - The code for the "INT 13H tracking technique" is somewhat - simplified. - - * stage2/asm.S [!STAGE1_5] (track_int13): Don't replace an int13 - handler with set_tf_int13_handler. Instead, track_int13 itself - emulates an int13 interrupt. - [!STAGE1_5] (set_tf_int13_handler): Removed. - [!STAGE1_5] (int1_handler): Use movzbw instead of xorb and movb. - -2000-11-15 OKUJI Yoshinori - - * acconfig.h (PRESET_MENU_STRING): New entry. - * acinclude.m4 (grub_DEFINE_FILE): New M4 macro. - * configure.in (--enable-preset-menu): New option. - * stage2/stage2.c [PRESET_MENU_STRING] (preset_menu): New - variable. - [PRESET_MENU_STRING] (preset_menu_offset): Likewise. - [PRESET_MENU_STRING] (open_preset_menu): New function. - [PRESET_MENU_STRING] (read_from_preset_menu): Likewise. - [PRESET_MENU_STRING] (close_preset_menu): Likewise. - [!PRESET_MENU_STRING] (open_preset_menu): New macro. - [!PRESET_MENU_STRING] (read_from_preset_menu): Likewise. - [!PRESET_MENU_STRING] (close_preset_menu): Likewise. - (get_line_from_config): Accept a new argument READ_FROM_FILE. - If it is false, read data from the preset menu instead. - (cmain): If grub_open fails in opening the configuration file, - then try to open the preset menu. - -2000-11-11 OKUJI Yoshinori - - From Jan Fricke : - * stage2/asm.S [!STAGE1_5] (set_vbe_mode): Add a missing `$' - prefix. - -2000-11-11 OKUJI Yoshinori - - * stage2/bios.c (get_diskinfo): If BIOS supports LBA but doesn't - return the correct total number of sectors, compute this by - C/H/S returned by get_diskinfo_int13_extensions instead of - get_diskinfo_standard. - -2000-11-09 OKUJI Yoshinori - - * stage2/disk_io.c (make_saved_active): Set ERRNUM to - ERR_DEV_VALUES instead of ERR_NO_PART, when the save partition - is not a primary partition. - -2000-11-05 OKUJI Yoshinori - - * docs/user-ref.texi (Features): Update the URL of grub/98. - -2000-11-03 OKUJI Yoshinori - - VBE support is _partially_ implemented. - - * stage2/mb_header.h (multiboot_header): Added new fields, - mode_type, width, height, and depth. - (MULTIBOOT_FOUND): Check if MULTIBOOT_VIDEO_MODE is set, and - check if LEN is greater than or equal to 48, if set. - (MULTIBOOT_UNSUPPORTED): Set to 0x0000FFF8. - (MULTIBOOT_VIDEO_MODE): New macro. - * stage2/mb_info.h (multiboot_info): Added new fields, - vbe_control_info, vbe_mode_info, vbe_mode, vbe_interface_seg, - vbe_interface_off, and vbe_interface_len. - (MB_INFO_VIDEO_INFO): New macro. - - * stage2/shared.h (vbe_controller): New structure. - (vbe_mode): Likewise. - (get_vbe_controller_info): Declared. - (get_vbe_mode_info): Likewise. - (set_vbe_mode): Likewise. - * stage2/asm.S [!STAGE1_5] (get_vbe_controller_info): New - function. - [!STAGE1_5] (get_vbe_mode_info): Likewise. - [!STAGE1_5] (set_vbe_mode): Likewise. - * grub/asmstub.c (get_vbe_controller_info): Likewise. - (get_vbe_mode_info): Likewise. - (set_vbe_mode): Likewise. - - * stage2/builtins.c (testvbe_func): New function. - (builtin_testvbe): New variable. - (vbeprobe_func): New function. - (builtin_vbeprobe): New variable. - (builtin_table): Added pointers to BUILTIN_TESTVBE and - BUILTIN_VBEPROBE. - -2000-11-01 OKUJI Yoshinori - - * docs/help2man: Copied from help2man-1.23. - -2000-10-29 OKUJI Yoshinori - - * stage2/asm.S [STAGE1_5]: Don't include setjmp.S or apm.S. - -2000-10-27 OKUJI Yoshinori - - * lib/device.c (read_device_map): Don't parse a line, if it is - empty. Reported by Holger Bauer . - -2000-10-25 Jochen Hoenicke - - * stage2/builtins.c (md5crypt_func): Use all bits of currticks () - to generate the salt. The old code would often produce the same - one character salt. - -2000-10-25 OKUJI Yoshinori - - * stage2/apm.S (get_apm_info): Fix a serious typo: prot_to_real - -> real_to_prot. Umm, I can't understand why it worked for me! - -2000-10-24 Jochen Hoenicke - - * stage2/builtins.c (setup_func): When invoking install with an - embedded stage1_5 give the path to menu.lst as real_config_file. - -2000-10-23 OKUJI Yoshinori - - * docs/multiboot.texi: Upgraded to 0.6.92. - (Boot information format): Re-designed the graphics table. - -2000-10-22 OKUJI Yoshinori - - * docs/tutorial.texi: Miscellaneous updates. - * docs/user-ref.texi: Likewise. - * docs/appendices.texi: Likewise. - -2000-10-22 OKUJI Yoshinori - - * util/grub-install.in (usage): Removed unnecessary commas. - - * util/grub-md5-crypt.in: New file. - * util/Makefile.am (sbin_SCRIPTS): Added grub-md5-crypt. - * configure.in (AC_OUTPUT): Added util/grub-md5-crypt. - * docs/Makefile.am (man_MANS): Added grub-md5-crypt.8. - [MAINTAINER_MODE] ($(srcdir)/grub-md5-crypt.8): New target. - * docs/grub-md5-crypt.8: New file. Generated by help2man. - - * docs/grub.texi (grub-md5-crypt): New direntry. - (Invoking grub-md5-crypt): New entry. - * docs/user-ref.texi (Invoking grub-md5-crypt): New chapter. - -2000-10-22 OKUJI Yoshinori - - From Matthias Granberry : - * util/grub-install.in (convert): Added backslashes into - continuous lines. - -2000-10-21 OKUJI Yoshinori - - * stage2/md5.c (check_md5_password): Removed. - (md5_password): New function. Mostly copied from - check_md5_password. - (md5_init): Made static. - (md5_update): Likewise. - (md5_final): Likewise. - * stage2/md5.h (check_md5_password): Changed to just a macro. - (md5_password): Declared. - (make_md5_password): New macro. - * stage2/char_io.c [!STAGE1_5] (grub_strstr): Rewriten, because - it was too buggy. - * stage2/builtins.c [USE_MD5_PASSWORDS] (md5crypt_func): New - function. - [USE_MD5_PASSWORDS] (builtin_md5crypt): New variable. - (builtin_table) [USE_MD5_PASSWORDS]: Added a pointer to - BUILTIN_MD5CRYPT. - * docs/tutorial.texi (Security): Added a paragraph about - md5crypt. - -2000-10-21 OKUJI Yoshinori - - * docs/user-ref.texi: Fixed several typos and some inappropriate - texinfo commands, and update the descriptions about some - commands. - -2000-10-20 OKUJI Yoshinori - - * stage2/builtins.c (displayapm_func): New function. - (builtin_displayapm): New variable. - (builtin_table): Added a pointer to BUILTIN_DISPLAYAPM. - -2000-10-20 OKUJI Yoshinori - - APM BIOS table support is added, based on a patch by Matt Yourst - . - - * docs/multiboot.texi (Boot information format): Added the - definition of APM table format. - - * stage2/mb_info.h (apm_info): New structure. - (multiboot_info): Added a new element, apm_table. - (MB_INFO_APM_TABLE): New macro. - * stage2/asm.S (apm_bios_info): New variable. - Include "apm.S". - * stage2/apm.S: New file. - * stage2/common.c (init_bios_info) [!STAGE1_5]: Added APM BIOS - table support. - * stage2/shared.h (apm_bios_info): Declared. - (get_apm_info): Likewise. - * stage2/Makefile.am (EXTRA_DIST): Added apm.S. - * grub/asmstub.c (apm_bios_info): New variable. - (get_apm_info): New function. - -2000-10-19 OKUJI Yoshinori - - Segregate functions which are copyrighted differently. - - * stage2/setjmp.S: New file. - * stage2/Makefile.am (EXTRA_DIST): Added setjmp.S. - * stage2/asm.S: Include "setjmp.S". - (grub_setjmp): Moved to ... - * stage2/setjmp.S (grub_setjmp): ... here. - * stage2/asm.S (grub_longjmp): Moved to ... - * stage2/setjmp.S (grub_longjmp): ... here. - -2000-10-18 OKUJI Yoshinori - - * stage2/Makefile.am (noinst_HEADERS): Added md5.h. Reported by - Volker Augustin . - -2000-10-17 OKUJI Yoshinori - - * configure.in (--disable-md5password): Renamed to ... - (--disable-md5-password): ... this. Just for my preference. - -2000-10-17 Jochen Hoenicke - - Added MD5 passwords and extended password command: - - * configure.in (--disable-md5password): New option. - * stage2/Makefile.am (libgrub_a_SOURCES): Added md5.c. - (pre_stage2_exec_SOURCES): Likewise. - * stage2/md5.c: New file. - * stage2/shared.h (password_t): New type. - (password_type): New variable. - (BUILTIN_HIDDEN): New flag, describing that a command should not - be printed when booting the entry. - (check_password): New function. - * stage2/cmdline.c (run_script): Don't show commands that have - the hidden attribute. - * stage2/builtins.c (password_type): New variable. - (check_password): New function. - (password_func): Handle the --md5 option and set password_type. - Check if in CMDLINE or SCRIPT mode and ask password immediately. - (builtin_password): Also allow passwords in CMDLINE mode, make - it hidden, so the user wont see the password he should enter. - Changed command description. - (builtin_pause): Make the command hidden. - (pause_func): Print argument, since the command is now hidden. - * stage2/stage2.c (run_menu): Call check_password to check password. - * docs/tutorial.texi (Security): Describe the new features of the - password commands. - * docs/user-ref.texi (Menu-specific commands): password command - moved ... - (Command-line and menu commands): ... to here. New features - doumented. - -2000-10-17 OKUJI Yoshinori - - * stage2/builtins.c (setkey_func): Clear the all elements of - BIOS_KEY_MAP and ASCII_KEY_MAP instead of only the first - elements, when TO_KEY is NULL. - -2000-10-16 OKUJI Yoshinori - - * stage2/boot.c (load_image): When handling Linux cmdline, don't - copy a null character from SRC to DEST, because this inserted an - extra null character into the cmdline. Reported by Robert - Bihlmeyer . - -2000-10-16 OKUJI Yoshinori - - Some of the new Multiboot features are supported. APM support - and VESA support are not strictly defined or implemented yet. - - * docs/multiboot.texi (Top): Increase the version number. - (Boot information format): Changed the drive information format, - because it was not straightforward. - - * grub/asmstub.c (io_map): New variable. - (track_int13): New function. - (get_rom_config_table): Likewise. - * stage2/stage2.c (cmain): Set CONFIG_ENTRIES to MBI.DRIVES_ADDR - + MBI.DRIVES.LENGTH instead of MBI.MMAP_ADDR + MBI.MMAP_LENGTH. - * stage2/common.c (init_bios_info) [!STAGE1_5]: Added support - for drive info, ROM config table, and boot loader name features - of the Multiboot Specification. - * stage2/mb_info.h (drive_info): New structure. - (MB_DI_CHS_MODE): New macro. - (MB_DI_LBA_MODE): Likewise. - (multiboot_info): Added drives_length, drives_addr, - config_table, and boot_loader_name. - (MB_INFO_DRIVE_INFO): New macro. - (MB_INFO_CONFIG_TABLE): Likewise. - (MB_INFO_BOOT_LOADER_NAME): Likewise. - * stage2/asm.S (get_rom_config_table): New function. - * stage2/shared.h (get_rom_config_table): Declared. - -2000-10-16 OKUJI Yoshinori - - * util/grub-install.in (convert): Check only if the file exists, - instead of checking if the file is a block device as well. - Because, in a sane operating system, it should be a char device - but not a block device (unlike Linux), and it may be a symbolic - link (this can happen if you use Linux's devfs without devfsd). - (recheck): New variable. Set to "no" by default, and set to - "yes", if you specify the new option ``--recheck''. If $recheck - is "yes", remove the device map file, if present. - -2000-10-16 OKUJI Yoshinori - - From Roderich Schupp: - * lib/device.c: Include . - [__linux__] (have_devfs): New function. - (get_floppy_disk_name) [__linux__]: If devfs is supported, use - the name "/dev/floppy/N" instead. - (init_device_map) [__linux__]: If devfs is supported, use - "/dev/discs/discN" instead. - [__linux__] (write_to_partition): Change the size of DEV to - PATH_MAX instead of 64. - If devfs is supported, replace "/disc" in the device name with - "/part". - -2000-10-15 OKUJI Yoshinori - - From Roderich Schupp : - * util/grub-install.in (convert): Added support for "native" - devfs device names. - -2000-10-14 OKUJI Yoshinori - - * docs/tutorial.texi (Serial terminal): Fixed a typo. - * docs/user-ref.texi (GRUB images): New chapter. - * docs/grub.texi: Added an entry for the chapter "GRUB images". - -2000-10-14 OKUJI Yoshinori - - * stage2/builtins.c (setkey_func): If TO_KEY is NULL (i.e. the - user specifies no argument), clear BIOS_KEY_MAP and - ASCII_KEY_MAP. - If TO_KEY is non-NULL but FROM_KEY is NULL, set ERRNUM to - ERR_BAD_ARGUMENT and return one. - -2000-10-13 OKUJI Yoshinori - - * docs/grub.texi: Added an entry for the new chapter "Security", - and the order of the chapters in the Tutorial Manual was - changed. - * docs/tutorial.texi (Configuration): Moved to right after the - chapter "Booting". - (Security): New chapter. - -2000-10-10 OKUJI Yoshinori - - From Alessandro Rubini: - * util/grub-install.in (root_device): Use the regular expression - 's%.*\(/dev/[^ ]*\).*%\1%' instead of - 's%.*\(/dev/[a-z0-9]*\).*%\1%'. - (bootdir_device): Likewise. - (grubdir_device): Likewise. - -2000-10-10 OKUJI Yoshinori - - * stage2/start.S (copy_buffer): Use pusha and popa instead of - pushing and poping %di and %si individually, to reduce the code - size and save %cx as well. Reported by Herbert Nachtnebel - . - -2000-10-10 OKUJI Yoshinori - - From Daniel Pittman : - * stage2/builtins.c (setkey_func): Check if - KEYSYM_TABLE[I].UNSHIFTED_NAME and KEYSYM_TABLE[I].SHIFTED_NAME - are not NULLs, before calling grub_strcmp. - -2000-10-08 OKUJI Yoshinori - - * util/grub-install.in (grub_prefix): New variable. The default - is "/boot/grub". - If the user has a separate boot partition, set grub_prefix - instead of grubdir to "/grub". - When running the command "setup", specify $grub_prefix instead - of $grubdir to the option "--prefix". - Report by Thierry Laronde. - -2000-10-08 OKUJI Yoshinori - - * stage2/builtins.c (find_func): Clear ERRNUM after the last - call of next_partition, because it always sets ERRNUM. Reported - by Thierry Laronde . - -2000-10-07 OKUJI Yoshinori - - * lib/device.c [__linux__] (write_to_partition): Open DEV with - O_RDWR instead of O_ORONLY. - -2000-10-06 Alessandro Rubini - - * docs/user-ref.texi (Commands): Added missing commands and - reworded part of the text. - - * stage2/builtins.c (serial_func): Unswap the setting of "speed" - and "port". - -2000-10-06 OKUJI Yoshinori - - * stage2/builtins.c (setup_func): Append "... " to the - messages when calling embed_func and install_func, and print - the result. - Don't jump to the label "fail", even when embed_func failed. - -2000-10-05 Gordon Matzigkeit - - * stage2/disk_io.c (real_open_partition): Make sure that buf_geom - corresponds to the current drive before using it. - - * lib/device.c (get_drive_geometry): Use fstat if the native - geometry methods fail, such as when the drive is mapped to a - regular file. - - * docs/tutorial.texi: Add `@kbd{...}' to examples in order to - differentiate between command output and characters the user - should type. - * docs/user-ref.texi: Likewise. - -2000-10-05 OKUJI Yoshinori - - * docs/grub.texi: Added an entry for the chapter "Serial - terminal". - * docs/tutorial.texi (Serial terminal): New chapter. - -2000-10-04 Gordon Matzigkeit - - * util/grub-image (VERSION): Fix version calculation to tolerate - `(GNU GRUB 0.5.96)'-style versions. - - * docs/grub.texi: Remove braces from `@unnumbered' sections so - that texi2html doesn't complain. - - * debian/rules: Build HTML documentation to appease the Debian - masses. - -2000-10-04 OKUJI Yoshinori - - * stage2/fsys_reiserfs.c (reiserfs_mount): Compare PART_LENGTH - with SUPERBLOCK + (sizeof(super) >> SECTOR_BITS) instead of - sizeof(struct reiserfs_super_block). Reported by Jochen - Hoenicke. - -2000-10-05 OKUJI Yoshinori - - * configure.in (AM_INIT_AUTOMAKE): The version number is set to - 0.5.97. This version number is a dummy, as we will never release - 0.5.97 actually. - -2000-10-01 OKUJI Yoshinori - - * lib/device.c [__linux__]: Don't include . - [__linux__ && !CDROM_GET_CAPABILITY] (CDROM_GET_CAPABILITY): - Defined as 0x5331. - -2000-10-01 OKUJI Yoshinori - - * lib/device.c (get_drive_geometry) [__GNU__]: Get the number of - total sectors by fstat. The rest are filled with arbitrary - values. - -2000-09-30 OKUJI Yoshinori - - * util/grub-install.in (convert): The code for gnu* (i.e. - GNU/Hurd) was rewritten, since it didn't work for BSD - partitions. - Use "$tmp_disk *$" instead of "$tmp_disk" to get the drive name. - -2000-09-30 OKUJI Yoshinori - - * stage2/fsys_reiserfs.c (reiserfs_mount): Check if the length - of the partition is less than the size of a super block, before - attempting to read the super block. - - * grub/asmstub.c (console_putchar) - [HAVE_LIBCURSES_H && REFRESH_IMMEDIATELY]: Call refresh, to ease - debugging. - -2000-09-30 OKUJI Yoshinori - - Added two new commands, "partnew" and "parttype", based on the - patch by Stefan Ondrejicka : - * stage2/builtins.c (partnew_func): New function. - (builtin_partnew): New variable. - (parttype_func): New function. - (builtin_parttype): New variable. - (builtin_table): Added pointers to BUILTIN_PARTNEW and to - BUILTIN_PARTTYPE. - -2000-09-29 OKUJI Yoshinori - - * stage2/builtins.c (find_func): New variable GOT_FILE is set to - one if FILENAME is found. Otherwise, it is set to zero. - Clear ERRNUM at the end in the loop for floppies, to ensure that - ERRNUM is cleared before examining hard disks. - Rewrite the loop for hard disks using next_partitions, so this - function now checks all partitions you have certainly. - If GOT_FILE is non-zero, set ERRNUM to ERR_FILE_NOT_FOUND and - return one. - -2000-09-29 OKUJI Yoshinori - - * stage2/disk_io.c (check_BSD_parts): Removed. - (next_partition): New function. - (real_open_partition): Rewritten using next_partition. - (set_device) [!STAGE1_5]: Skip a comma in DEVICE, even when the - BSD partition is not specified. - [!STAGE1_5] (print_completions): Don't append ')' if the - partition is a PC slice which may have BSD partitions. Instead, - try to complete the command-line with possible partitions. - * stage2/shared.h (next_partition): Declared. - -2000-09-27 OKUJI Yoshinori - - * configure.in (--enable-serial): Changed to ... - (--disable-serial): ... this. Now the serial support is enabled - by default. - -2000-09-27 OKUJI Yoshinori - - * stage2/char_io.c [!STAGE1_5] (get_cmdline) [!SUPPORT_SERIAL]: - Don't check if the terminal is dumb. If the terminal is console, - always use console functions. - * stage2/builtins.c [!SUPPORT_NETBOOT] (bootp_func): Undefined. - [!SUPPORT_NETBOOT] (builtin_bootp): Likewise. - [!GRUB_UTIL] (device_func): Likewise. - [!GRUB_UTIL] (builtin_device): Likewise. - [!SUPPORT_NETBOOT] (dhcp_func): Likewise. - [!SUPPORT_NETBOOT] (builtin_dhcp): Likewise. - [!GRUB_UTIL] (quit_func): Likewise. - [!GRUB_UTIL] (builtin_quit): Likewise. - [!SUPPORT_NETBOOT] (rarp_func): Likewise. - [!SUPPORT_NETBOOT] (builtin_rarp): Likewise. - [!SUPPORT_SERIAL] (serial_func): Likewise. - [!SUPPORT_SERIAL] (builtin_serial): Likewise. - [!SUPPORT_SERIAL] (terminal_func): Likewise. - [!SUPPORT_SERIAL] (builtin_terminal): Likewise. - [!SUPPORT_NETBOOT] (tftpserver_func): Likewise. - [!SUPPORT_NETBOOT] (builtin_tftpserver): Likewise. - (builtin_table) [!SUPPORT_NETBOOT]: Removed the pointers to - BUILTIN_BOOTP, BUILTIN_DHCP, BUILTIN_RARP, and - BUILTIN_TFTPSERVER. - (builtin_table) [!SUPPORT_SERIAL]: Removed the pointers to - BUILTIN_SERIAL and BUILTIN_TERMINAL. - (builtin_table) [!GRUB_UTIL]: Removed the pointers to - BUILTIN_DEVICE and BUILTIN_QUIT. - -2000-09-26 OKUJI Yoshinori - - * util/grub-install.in (bootdir_device): New variable. If - $bootdir_device is not the same as $root_device, set root_device - and grubdir to $bootdir_device and "/grub", respectively. - Add --prefix=$grubdir into the command "setup". - -2000-09-26 OKUJI Yoshinori - - Add --prefix=DIR to the command "setup". - - * stage2/builtins.c (setup_func): New nested function, - check_file checks if the file FILE exists. - Remove the prefix "/boot/grub" in STAGE1_5_MAP. - Don't hardcode "/boot/grub/stage1", "/boot/grub/stage2", or - "/boot/grub/menu.lst". Instead, check if ARG contains - "--prefix=", and if specified, set PREFIX to the value. - If not specified, check "/boot/grub/stage1" and, if not found, - check "/grub/stage1". If a stage1 was found, set PREFIX to the - directory which contains the stage1. - -2000-09-12 OKUJI Yoshinori - - Add additional magic to avoid a bug in Linux. *sigh* - - * stage2/boot.c (load_image): Copy SRC to DEST first, and append - a "mem=" option to DEST instead of prepending. - -2000-09-11 OKUJI Yoshinori - - Reported by Alessandro Rubini: - * stage2/fsys_minix.c (minix_mount): Check if CURRENT_SLICE is a - partition type for minix fs, using the macro - IS_PC_SLICE_TYPE_MINIX. - * stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_MINIX): New macro. - (IS_PC_SLICE_TYPE_MINIX): Likewise. - -2000-09-09 Alessandro Rubini - - * stage1/stage1.S (notification_string): Print "GRUB " instead - of "stage1 ". - * stage2/start.S [STAGE1_5] (notification_string): Print - "Loading stage1.5" instead of "stage1.5 ". - [!STAGE1_5] (notification_string): Print "Loading stage2" - instead of "stage2 ". - (notification_step): New label, followed by a string ".". - (notification_done): New label, followed by a string "\r\n". - (copy_buffer): Print NOTIFICATION_STEP after copying the buffer. - (bootit): Print NOTIFICATION_DONE before restoring %dx. - -2000-09-09 OKUJI Yoshinori - - From Alessandro Rubini: - * configure.in (CPPFLAGS): Added -malign-jumps=1, - -malign-loops=1 and -malign-functions=1. - -2000-09-07 OKUJI Yoshinori - - From Hal Snyder : - * lib/device.c (get_drive_geometry) [__FreeBSD__ || __NetBSD__ - || __OpenBSD__]: Call ioctl for FD instead of - DISKS[DRIVE].FLAGS. This was a mistake when I segregated this - function from asmstub.c. - -2000-09-07 Alessandro Rubini - - * docs/tutorial.texi: Fixed a few typos and minor imprecisions. - * docs/prog-ref.texi: Likewise. - * docs/user-ref.texi: Likewise. - -2000-09-07 OKUJI Yoshinori - - From Alessandro Rubini: - * stage2/builtins.c (terminal_func): Rename TIMEOUT to TO, to - suppress GCC warnings. - * grub/asmstub.c (serial_checkkey): Likewise. - -2000-09-06 OKUJI Yoshinori - - * stage2/char_io.c [!STAGE1_5] (auto_fill): New variable. - [!STAGE1_5] (get_cmdline): Save AUTO_FILL in SAVED_AUTO_FILL in - the beginning and restore AUTO_FILL before return. - Set AUTO_FILL to one and zero before and after calling - print_completions, respectively. - (grub_putchar) [!STAGE1_5]: Use a static variable COL to track - the position of the cursor. If C is a carriage return, clear - COL. If C is a backspace and COL is positive, decrease COL. If C - is a printable character, increase COL. In this case, if - AUTO_FILL is non-zero and COL is greater than or equal to 79, - put a newline automatically. - * stage2/shared.h (auto_fill): Declared. - * stage2/stage2.c (run_menu): In the menu interface, disable the - auto fill mode (i.e. set AUTO_FILL to zero), and enable it again - when booting an entry. - (cmain): Initialize AUTO_FILL (i.e. set it to one) in the - beginning of the loop. - -2000-09-06 OKUJI Yoshinori - - Add support for "boot previously booted entry by default", based - on the patch by Mike Meyer , but I've modified - his patch thoroughly. - - * grub/asmstub.c (saved_entryno): New variable. This is a dummy. - * stage1/stage1.h (COMPAT_VERSION_MINOR): Incremented. - * stage2/asm.S (saved_entryno): New variable. - (codestart) [!SUPPORT_DISKLESS]: Set INSTALL_SECOND_SECTOR to - %ebp. %ebp is set in start.S. - (install_second_sector): New variable. - * stage2/builtins.c (current_entryno): New variable. - (default_func) [!SUPPORT_DISKLESS]: If ARG is "saved", set - DEFAULT_ENTRY to SAVED_ENTRYNO. - (savedefault_func): New function. - (builtin_savedefault): New variable. - (builtin_table): Added a pointer to BUILTIN_SAVEDEFAULT. - * stage2/shared.h (STAGE2_SAVED_ENTRYNO): New macro. - (STAGE2_STAGE2_ID): Changed to 0x10. - (STAGE2_FORCE_LBA): Chaged to 0x11. - (STAGE2_VER_STR_OFFS): Changed to 0x12. - (install_second_sector): Declared. - (saved_entryno): Likewise. - (current_entryno): Likewise. - * stage2/stage2.c (run_menu): Set CURRENT_ENTRYNO to FIRST_ENTRY - + ENTRYNO, right before calling run_script. - * stage2/start.S (start): Save the sector number of the second - sector in %ebp. - -2000-09-05 OKUJI Yoshinori - - * stage1/stage1.S (lba_mode) [!NO_BUGGY_BIOS_IN_THE_WORLD]: - Don't check for the geometry, since some BIOSes don't return the - number of total sectors correctly, even if they have working LBA - support. - * stage2/start.S (lba_mode) [!NO_BUGGY_BIOS_IN_THE_WORLD]: - Likewise. - * stage2/bios.c (biosdisk) [!NO_BUGGY_BIOS_IN_THE_WORLD]: - Likewise. - Reported by Jan Fricke and Pixel - . - -2000-09-05 OKUJI Yoshinori - - From Alessandro Rubini : - * stage2/char_io.c (print_error) [!STAGE1_5]: Print ERRNUM like - "Error 9: Unknown boot failure". - (print_error) [STAGE1_5]: Don't print a colon. - * util/grub-install.in: When checking if an error occurred, use - the expression "Error [0-9]*: " instead of "Error: ". - * docs/user-ref.texi (Stage1.5 errors): Updated, since the error - form changed. - -2000-09-04 OKUJI Yoshinori - - * stage2/stage2.c (run_menu) [GRUB_UTIL]: Set DISP_UP and - DISP_DOWN to ACS_UARROW and ACS_DARROW, respectively. Don't call - grub_printf here. - (run_menu) [!GRUB_UTIL]: Don't call grub_printf here. Instead, - call it... - (run_menu): ... here. - * stage2/shared.h (ACS_ULCORNER): Always define this ourselves, - whether your curses library has the definition. - (ACS_URCORNER): Likewise. - (ACS_LLCORNER): Likewise. - (ACS_LRCORNER): Likewise. - (ACS_HLINE): Likewise. - (ACS_VLINE): Likewise. - (ACS_LARROW): Likewise. - (ACS_RARROW): Likewise. - (ACS_UARROW): Likewise. - (ACS_DARROW): Likewise. - - * stage2/char_io.c [SUPPORT_SERIAL] (serial_cls): If the - terminal is dumb, just put a newline. - * stage2/builtins.c (terminal_func) [SUPPORT_SERIAL]: When - choosing a terminal, don't set TERMINAL to the type of the - terminal. Instead, apply a logical AND operation with - TERMINAL_DUMB, since previous code brushed off the dumb - attribute. - -2000-09-04 OKUJI Yoshinori - - * stage2/stage2.c (run_menu): If SHOW_MENU is zero, print a - message with the timeout per second. - If GRUB_TIMEOUT is negative, set SHOW_MENU to one, since the - condition "no timeout and no interface" is nonsense. - If GRUB_TIMEOUT is equal to or greater than zero and the - terminal is dumb, set SHOW_MENU to zero. - If SHOW_MENU is non-zero and the terminal is dumb, enter the - command-line interface instead. If AUTH is false and PASSWORD is - non-NULL, prompt the user to enter a password until the entered - password is identical to PASSWORD. - -2000-09-03 OKUJI Yoshinori - - * util/grub-install.in: Fix a typo: grub_dir -> grubdir. - * stage2/builtins.c (install_func) [GRUB_UTIL]: Open a Stage 2 - with "r+" instead of "r", as GRUB needs to overwrite it. - -2000-09-02 OKUJI Yoshinori - - * stage2/stage2.c (run_menu): Don't use either `p' or `n' to - move the cursor, because `p' is already used for another - purpose (password). - (run_menu) [SUPPORT_SERIAL]: Don't set the variables DISP_UP and - DISP_DOWN at the start time. Instead, set them just before using - them actually, because TERMINAL may change when running a menu. - -2000-09-01 Klaus Reichl - - * stage2/stage2.c (run_menu): Setup and use disp_up, disp_down - depending on the terminal mode. - (run_menu): Allow '^' (resp. 'p') and 'v' (resp 'n') keys we - described in our help above (resp. authors preferences). - -2000-08-31 Klaus Reichl - - * stage2/stage2.c (set_line): Go back one char, which is - consistent with the original situation, when a timeout was - running. - (run_menu): If GRUB_TIMEOUT is stopped don't loop busy over - CHECKKEY, just relax in GETKEY. - - * stage2/builtins.c (serial_func): --speed handling: corrected - typo: set SPEED instead of PORT. - -2000-08-31 OKUJI Yoshinori - - * stage2/builtins.c (terminal_func): Added two new options, - --dumb and --timeout=SECS. - * stage2/char_io.c [!STAGE1_5] (getkey): Use logical AND - operations, when checking if the terminal is a console or a - serial terminal. - [!STAGE1_5] (getkey) [SUPPORT_SERIAL]: Don't check if both - TERMINAL_CONSOLE and TERMINAL_SERIAL are set in TERMINAL. - -2000-08-31 OKUJI Yoshinori - - * stage1/stage1.S (MOV_MEM_TO_AL): New macro. - (real_start): Use the macro MOV_MEM_TO_AL instead of using movb - directly, because binutils-2.9.1.0.x doesn't produce a short - opcode for it automatically. Reported by Alessandro Rubini - . - -2000-08-30 OKUJI Yoshinori - - * configure.in (CPPFLAGS): Remove -Wundef by default. Add the - option only if the C compiler supports it, because GCC 2.7.x - doesn't support it. - * grub/main.c (longopts): The type of the argument for "hold" is - changed to OPTIONAL_ARGUMENT. - (main): If --hold is specified, check if OPTARG is zero. If so, - set HOLD to -1, otherwise, set it to the digit OPTARG. - If HOLD is greater than zero, decrease it once per loop. - -2000-08-30 OKUJI Yoshinori - - The command-line interface is switched to single-line editing - mode. - - * stage2/char_io.c [!STAGE1_5] (get_cmdline): Extensively - rewritten. The nested functions cl_print and cl_kill_to_end are - removed, cl_refresh, cl_backward, cl_forward and cl_delete are - added, and, cl_init and cl_insert are rewritten from scratch. - See the source code, for more information. I don't think this - kind of changes can be represented in ChangeLog. - [!STAGE1_5] (CMDLINE_WIDTH): New macro. - [!STAGE1_5] (CMDLINE_MARGIN): Likewise. - * stage2/shared.h (TERMINAL_DUMB): Likewise. - -2000-08-28 OKUJI Yoshinori - - * grub/asmstub.c (console_putchar) [HAVE_LIBCURSES]: If - USE_CURSES is true, emulate a new line like a ordinary terminal, - because ncurses treats it badly. If current position on y-axis - is the bottom of the screen, call scroll. Otherwise, call move - with the arguments, Y + 1 and X, where X and Y are current - position of the cursor. - -2000-08-28 OKUJI Yoshinori - - * stage2/asm.S (console_putchar): Don't print a carriage return - when C is a newline. - * stage2/char_io.c (grub_putchar): Call grub_putchar with the - arugment set to a carriage return, if C is a newline. - [!STAGE1_5 && SUPPORT_SERIAL]: Don't print a carriage return - when C is a newline. - -2000-08-27 OKUJI Yoshinori - - * lib/device.c [__linux__]: Don't include linux/fs.h. - [!BLKGETSIZE] (BLKGETSIZE): Defined as _IO(0x12,96). - * grub/asmstub.c [__linux__]: Don't include linux/fs.h. - -2000-08-27 OKUJI Yoshinori - - Preserve a magic number used by Windows NT in a MBR. Shit! - Reported by Khimenko Victor. - - * stage1/stage1.h (STAGE1_WINDOWS_NT_MAGIC): New macro. - * stage1/stage1.S (copy_buffer): Use pusha and popa, instead of - pushing/poping %cx and %si separately, to reduce the code size. - (nt_magic): New label. Set the offset to _start plus - STAGE1_WINDOWS_NT_MAGIC - (part_start): New label. - * stage2/builtins.c (install_func): If DEST_DRIVE is a hard - disk, copy the possible partition table and Windows NT magic to - STAGE1_BUFFER from OLD_SECT. - -2000-08-26 OKUJI Yoshinori - - * stage2/char_io.c (translate_keycode) [SUPPORT_SERIAL]: Don't - drain the input buffer, since that was irritating. - -2000-08-26 OKUJI Yoshinori - - Don't save/restore fragile registers unnecessarily. - - * stage2/asm.S [!STAGE1_5] (track_int13): Don't save/restore - %ecx, %edx, or %eax. - [!STAGE1_5] (set_int13_handler): Likewise. - (biosdisk_int13_extensions): Likewise. - (biosdisk_standard): Likewise. - (check_int13_extensions): Likewise. - (get_diskinfo_int13_extensions): Likewise. - (get_diskinfo_standard): Likewise. - (get_diskinfo_floppy): Likewise. - [!STAGE1_5] (get_eisamemsize): Likewise. - [!STAGE1_5] (get_mmap_entry): Likewise. - [!STAGE1_5] (console_cls): Likewise. - [!STAGE1_5] (nocursor): Likewise. - [!STAGE1_5] (console_getxy): Likewise. - [!STAGE1_5] (console_gotoxy): Likewise. - [!STAGE1_5] (set_attrib): Likewise. - [!STAGE1_5] (getrtsecs): Likewise. - [!STAGE1_5] (currticks): Likewise, and don't zero %eax - explicitly, since prot_to_real does that. - -2000-08-25 OKUJI Yoshinori - - * stage2/char_io.c [!STAGE1_5] (translate_keycode): New - function. The serial part is stolen from the patch by Christoph - Plattner. - [!STAGE1_5] (get_cmdline): Call translate_keycode instead of - translating special key codes into ASCII characters by itself. - * stage2/stage2.c (run_menu): Wrap getkey with the macro - ASCII_CHAR, when checking if ESC is pressed. - Call translate_keycode as well as getkey, unless checkkey - returns -1. So don't check if C is KEY_DOWN or KEY_UP. And don't - use the macro ASCII_CHAR for C explicitly. - * stage2/shared.h (translate_keycode): Declared. - -2000-08-24 OKUJI Yoshinori - - * stage2/builtins.c [GRUB_UTIL]: Include stdio.h before - shared.h. Reported by Mathieu Chouquet-Stringer - . - -2000-08-21 OKUJI Yoshinori - - * configure.in (--enable-serial-speed-emulation): New option. - (SERIAL_SPEED_SIMULATION): New conditional. - * grub/Makefile.am (SERIAL_FLAGS): New variable. Set - -DSUPPORT_SERIAL=1 and -DSIMULATE_SLOWNESS_OF_SERIAL=1, if - SERIAL_SPEED_SIMULATION is defined, otherwise, set it to - only -DSUPPORT_SERIAL=1. - (AM_CFLAGS): Removed -DSUPPORT_SERIAL=1 and added - $(SERIAL_FLAGS). - * grub/asmstub.c [SIMULATE_SLOWNESS_OF_SERIAL] (serial_speed): - New variable. - (grub_setjmp): Removed. - (grub_longjmp): Likewise. - (serial_getkey) [SIMULATE_SLOWNESS_OF_SERIAL]: Wait for - 1000000 / (SERIAL_SPEED >> 3) microseconds using gettimeofday. - (serial_putchar) [SIMULATE_SLOWNESS_OF_SERIAL]: Likewise. - (serial_init) [SIMULATE_SLOWNESS_OF_SERIAL]: Set SERIAL_SPEED to - SPEED. - * stage2/builtins.c (serial_func) [SUPPORT_SERIAL]: Added - a new option, `--speed'. - (builtin_serial): Added a description about --speed. - (terminal_func): When get a key from a serial device, if GRUB is - in the command-line interface, call grub_longjmp with - RESTART_CMDLINE_ENV, instead of init_page. - * stage2/cmdline.c (restart_cmdline_env): New variable. - (enter_cmdline): Call grub_setjmp with RESTART_CMDLINE_ENV after - calling init_cmdline. - (run_script): Run BUILTIN->FUNC with BUILTIN_SCRIPT instead of - BUILTIN_CMDLINE. - * stage2/shared.h (BUILTIN_SCRIPT): New macro. - [GRUB_UTIL] (grub_setjmp): Defined as setjmp. - [GRUB_UTIL] (grub_longjmp): Defined as longjmp. - (restart_cmdline_env): Declared. - -2000-08-20 OKUJI Yoshinori - - * configure.in (--enable-serial): New option. Serial terminal - support will be enabled by default, once it is stabilized. - (SERIAL_SUPPORT): New conditional. - * grub/Makefile.am (AM_CFLAGS): Added -DSUPPORT_SERIAL=1. - * grub/asmstub.c (cls): Renamed to ... - (console_cls): ... this. - (getxy): Renamed to ... - (console_getxy): ... this. - (gotoxy): Renamed to ... - (console_gotoxy): ... this. - * stage2/Makefile.am (libgrub_a_CFLAGS): Added - -DSUPPORT_SERIAL=1. - (NETBOOT_FLAGS): New variable. - (SERIAL_FLAGS): Likewise. - (STAGE2_COMPILE): Added $(NETBOOT_FLAGS) and $(SERIAL_FLAGS). - * stage2/asm.S [!STAGE1_5] (cls): Renamed to ... - [!STAGE1_5] (console_cls): ... this. - [!STAGE1_5] (getxy): Renamed to ... - [!STAGE1_5] (console_getxy): ... this. - [!STAGE1_5] (gotoxy): Renamed to ... - [!STAGE1_5] (console_gotoxy): ... this. - * stage2/builtins.c (terminal_func): If the bit flag - BUILTIN_CMDLINE in FLAGS is set, call init_page. But this should - be fixed so that it restarts enter_cmdline instead. - * stage2/char_io.c [!STAGE1_5] (gotoxy): New function. - [!STAGE1_5] (serial_gotoxy): Likewise. - [!STAGE1_5] (getxy): Likewise. - [!STAGE1_5] (serial_getxy): Likewise. - [!STAGE1_5] (cls): Likewise. - [!STAGE1_5] (serial_cls): Likewise. - * stage2/serial.h (serial_cls): Declared. - (serial_getxy): Likewise. - (serial_gotoxy): Likewise. - * stage2/shared.h (console_cls): Likewise. - (console_getxy): Likewise. - (console_gotoxy): Likewise. - * stage2/stage2.c (print_entries): If serial terminal is - enabled, print ACS_UARROW and ACS_DARROW instead of DISP_UP and - DISP_DOWN, respectively. - (print_border): If serial terminal is enabled, print - ACS_ULCORNER, ACS_URCORNER, ACS_LLCORNER, ACS_LRCORNER, - ACS_HLINE and ACS_VLINE instead of DISP_UL, DISP_UR, DISP_LL, - DISP_LR, DISP_HORIZ and DISP_VERT, respectively. - (print_border) [SUPPORT_SERIAL]: Color the menu only if console - is used. - (set_line): Take two more arguments, ENTRYNO and MENU_ENTRIES. - (set_line_normal): Likewise. - (set_line_highlight): Likewise. - (set_line) [SUPPORT_SERIAL]: If serial terminal is enabled, get - the menu entry whose attributes are being changed and redraw the - line. - (set_line_highlight) [SUPPORT_SERIAL]: If serial terminal is - enabled, print `ESC [ 7 m' and `ESC [ 0 m' before and after - calling set_line, respectively. - (run_menu) [SUPPORT_SERIAL]: Call nocursor only if console is - used. - -2000-08-20 OKUJI Yoshinori - - Now the serial console support is partially working. - - * grub/asmstub.c (serial_checkkey): Specify a pointer to TIMEOUT - as the fifth argument to select. - (serial_get_port): New function. Just a dummy. - (serial_init): If a serial device is opened, close SERIAL_FD - before opeing a new serial device. - Don't specify O_NDELAY to open. - * stage2/builtins.c [SUPPORT_SERIAL]: Include serial.h. - (serial_func): New function. - (builtin_serial): New variable. - (terminal_func): New function. - (builtin_terminal): New variable. - (builtin_table): Add pointers to BUILTIN_SERIAL and - BUILTIN_TERMINAL. - * stage2/char_io.c [SUPPORT_SERIAL]: Include serial.h. - (getkey) [SUPPORT_SERIAL]: If both TERMINAL_CONSOLE and - TERMINAL_SERIAL are set in TERMINAL simultaneously, print a - warning and force the console terminal. - (checkkey) [SUPPORT_SERIAL]: If TERMINAL_SERIAL is set in - TERMINAL, call serial_checkkey. - (grub_putchar) [SUPPORT_SERIAL]: If TERMINAL_SERIAL is set in - TERMINAL, call serial_putchar. If C is a newline, print a - carriage return, before printing a newline. - -2000-08-15 OKUJI Yoshinori - - The image `nbgrub' now relocates itself from 0x10000 to 0x8000, - since the Network Boot Image Proposal doesn't permit a second - loader to be loaded below 0x10000. Reported by Matthias - Kretschmer . - - * Makefile.am (NBLOADER_LINK): New variable. - (nbloader_exec_LDFLAGS): Set to $(NBLOADER_LINK) instead of - $(START_LINK). - * stage2/nbi.h (NBI_DEST_ADDR): Changed to 0x10000. - (NBI_DEST_SEG): New macro. - (NBI_DEST_OFF): Likewise. - (RELOCATED_ADDR): Likewise. - (RELOCATED_SEG): Likewise. - (RELOCATED_OFF): Likewise. - (STAGE2_START_ADDR): Likewise. - * stage2/nbloader.S: Added .code16 directive at the start of the - code. - Set the segment and the offset of the load address to - NBI_DEST_SEG and NBI_DEST_OFF, respectively. - Set the segment and the offset of the start address to - NBI_DEST_SEG and NBI_DEST_OFF + relocate - _start, respectively. - Added a routine for relocating itself. - (relocate): New label. - (copy_rest): Likewise. - (copy_loop): Likewise. - (copy): Likewise. - (boot_stage2): Likewise. - -2000-08-13 OKUJI Yoshinori - - * grub/main.c (main): Move the version number inside the - parentheses, since the grub shell is merely one of the programs - included in GNU GRUB. - -2000-08-13 OKUJI Yoshinori - - Add a serial device emulation into the grub shell. - - * grub/asmstub.c: Include sys/time.h and termios.h. - (serial_fd): New variable. - (serial_device): Likewise. - (serial_getkey): New function. - (serial_checkkey): Likewise. - (serial_putchar): Likewise. - (get_termios_speed): Likewise. - (serial_init): Likewise. - (set_serial_device): Likewise. - (grub_stage2): Restore SERIAL_DEVICE and SERIAL_FD, if they were - allocated. - * stage2/serial.h [GRUB_UTIL] (set_serial_device): Declared. - -2000-08-13 OKUJI Yoshinori - - * stage2/asm.S (codestart) [SUPPORT_DISKLESS]: Don't reset a - disk system. That is not only uncessary but also harmful. - -2000-08-12 OKUJI Yoshinori - - Add a serial device driver (but only the driver). - - * stage2/serial.c: New file. - * stage2/serial.h: Likewise. - * stage2/shared.h (serial_getkey): Moved to stage2/serial.h. - (serial_checkkey): Likewise. - (serial_putchar): Likewise. - * stage2/Makefile.am (noinst_HEADERS): Added serial.h. - (pre_stage2_exec_SOURCES): Added serial.c. - -2000-08-10 Pavel Roskin - - * docs/tutorial.texi: Minor fixes. - -2000-08-10 OKUJI Yoshinori - - * docs/tutorial.texi (Installation): Divided into three sections - instead of two sections. Don't describe the usage of the the - grub shell any longer. Instead, how to use grub-install is - documented. - -2000-08-09 OKUJI Yoshinori - - * stage2/builtins.c [GRUB_UTIL]: Include stdio.h. - (embed_func) [GRUB_UTIL && __linux__]: When embedding a Stage - 1.5 into a partition, call write_to_partition instead of - biosdisk. - (install_func): Set DEST_PARTITION to the partition where Stage - 1 resides. - Set SRC_PART_START to the starting address of the partition - where Stage 2 resides. - (install_func) [GRUB_UTIL]: Set STAGE2_OS_FILE to the file name - of Stage 2 under an OS, if the new option "--stage2" is - specified. Otherwise, set it to null. - If STAGE2_OS_FILE is not null, modify the Stage 2 via the - filesystem serviced by the OS. - (install_func) [GRUB_UTIL && __linux__]: If STAGE2_OS_FILE is - null but the Stage2 resides in a partition, use - write_to_partition. - If DEST_PARTITION is not 0xFFFFFF, use write_to_partition, to - embed Stage 1. - (setup_func) [GRUB_UTIL]: If --stage2 is specified, set - STAGE2_ARG to the string pointing to the option. Otherwise, set - it to null. - (setup_func) [!GRUB_UTIL]: Set STAGE2_ARG to null. - (setup_func): If STAGE2_ARG is not null, add STAGE2_ARG and a - space character into CMD_ARG. - * lib/device.c (_LARGEFILE_SOURCE): Defined. - (_FILE_OFFSET_BITS): Likewise. - [__linux__] (write_to_partition): New function. - * lib/device.h [__linux__] (write_to_partition): Declared. - * util/grub-install.in: Specify the option "--stage2" for the - command "setup". - -2000-08-04 Jochen Hoenicke - - * stage2/fsys_fat.c (fat_superblock): clust_eof_marker added. - (fat_mount): Initialize clust_eof_marker to 0xff8, 0xfff8, or - 0xffffff8, depending on fat size. Support for single active FAT - added (FAT32 extension). Changed the boundary between FAT12 and - FAT16, again. The Microsoft KB article Q65541 seems to be wrong - here, I go with mtools and the previous behaviour of grub: FAT12 - iff number of clusters (without counting the two nonexisting - clusters) is less or equal 4095. - (fat_read): Report error if cluster number is too big, but not - greater or equal clust_eof_marker. - * stage2/fsys_reiserfs.c (journal_init): Fixed calculation of - journal_transaction. - -2000-08-01 Jochen Hoenicke - - * stage2/fsys_reiserfs.c: Symlink support added. - (S_ISLNK): New macro. - (PATH_MAX): Likewise. - (MAX_LINK_COUNT): Likewise. - (reiserfs_dir): Check for symlink and handle them. - (read_tree_node): Take a block number and check if tree node was - already read in. If not update the INFO->blocks field. - (next_key): Changed call of read_tree_node. - (search_stat): Likewise. - (journal_init): Fixed a small bug. Some debugging messages added. - -2000-07-31 Pavel Roskin - - * grub/asmstub.c (biosdisk) [__linux__]: The first argument for - _llseek renamed from "seeked_fd" to "filedes". - -2000-07-30 OKUJI Yoshinori - - * docs/appendices.texi (FAQ): Added the answer for the separate - boot partition problem. - -2000-07-30 OKUJI Yoshinori - - Update the network support to Etherboot-4.6.4. - - From Daniel Wagner : - * netboot/3c509.c: Copied from Etherboot-4.6.4. - * netboot/3c509.h: Likewise. - * netboot/cards.h: Likewise. - * netboot/ns8390.c: Likewise. - * netboot/sk_g16.c: Likewise. - * netboot/sk_g16.h: Likewise. - * netboot/tulip.c: Likewise. - * netboot/pci.h: Likewise. - * netboot/main.c (dhcpdiscover): Updated. - (dhcprequest): Likewise. - (bootp): Likewise. - * netboot/README.netboot: Added the information about the new - option --enable-ns8390-force-16bit. - * configure.in (--enable-ns8390-force-16bit): New option. - - * netboot/config.c: Updated. - -2000-07-29 OKUJI Yoshinori - - The Linux zImage support is working now. - - * stage2/asm.S (linux_boot): Add 3 into %ecx and shift %ecx to - the right by 2 bits, instead of shift %ecx to the left by 2 - bits. - -2000-07-29 Jochen Hoenicke - - * stage2/fsys_reiserfs.c (block_read): Changed the variable "len" - to "j_len" (it shadowed a parameter). - -2000-07-29 OKUJI Yoshinori - - * configure.in (CPPFLAGS): Added -Wshadow, -Wpointer-arith and - -Wundef, as GCC sometimes more clever than me. :) - * stage2/shared.h [!ASM_FILE] (multi_boot): Change the name of - the second argument from "mbi" to "mb_info". - [!ASM_FILE] (biosdisk): Rename the first argument "read" to - "subfunc". - * lib/device.h (init_device_map): Change the name of the third - argument from "floppy_disks" to "no_floppies". - * lib/device.c (read_device_map): Rename the internal function - "print_error" to "show_error". - * stage2/builtins.c (install_func): Rename CONFIG_FILE to - REAL_CONFIG. - (setup_func): Rename INSTALL_DRIVE, INSTALL_PARTITION and - CONFIG_FILE to INSTALLED_DRIVE, INSTALLED_PARTITION and - CONFIG_FILENAME, respectively. - * stage2/char_io.c (convert_to_ascii): Rename the internal - variable C to TMP. - (get_cmdline): Rename KILL to KILL_BUF. - Rename the second argument for cl_print to REAL_ECHO_CHAR from - ECHO_CHAR. - * stage2/stage2.c (run_menu): Rename the internal variable - NUM_ENTRIES to NEW_NUM_ENTRIES. - (cmain): Rename KILL to KILL_BUF. - * stage2/disk_inode_ffs.h: Check if BYTE_MSF is defined before - checking the value. - * stage2/fsys_ext2fs.c (ext2fs_dir): Check if E2DEBUG is - defined, instead of if the value is non-zero. - * grub/asmstub.c: Check if __GLIBC__ is defined before checking - the value. - (biosdisk) [__linux__]: Likewise. - Rename the first argument for _llseek to "seeked_fd" from "fd". - (multi_boot): Rename the second argument to "mb_info" from - "mbi". - -2000-07-27 Gordon Matzigkeit - - * util/grub-image.in: Initial cut at a script for creating GRUB - boot images. - * util/Makefile.am (noinst_SCRIPTS): Added grub-image. - * configure.in (AC_OUTPUT): Added util/grub-image. - -2000-07-27 Jochen Hoenicke - - * stage2/asm.S (check_int13_extensions): Fixed the effect of - the --force-lba switch in stage2/stage1_5. - -2000-07-25 Jochen Hoenicke - - * stage2/fsys_fat.c (fat_mount): Fixed calculation of num_clust. - It was off by two, since the two non existing clusters 0 and 1 - were not taken into account. Also fixed the boundary between - FAT12 and FAT16. - -2000-07-25 OKUJI Yoshinori - - * stage2/asm.S [!STAGE1_5] (linux_text_len): New variable. - [!STAGE1_5] (linux_boot): Don't set %eax to LINUX_SETUP - meaninglessly. - Set %ecx to LINUX_TEXT_LEN instead of LINUX_KERNEL_MAXLEN. - [!STAGE1_5] (big_linux_boot): Disable interrupts before changing - the stack pointer. - Change %ss right before %sp. - Reverse the arguments for ljmp. A segment must be after an - offset. *sigh* - * stage2/boot.c (load_image): Set LINUX_TEXT_LEN to TEXT_LEN, - if a Linux kernel is loaded successfully. - * stage2/shared.h (LINUX_VID_MODE_OFFSET): Removed. - [!ASM_FILE] (linux_kernel_header): Change the type of the member - `heap_end_ptr' to unsigned short. - [!ASM_FILE] (linux_text_len): Declared. - -2000-07-24 OKUJI Yoshinori - - Comply with the Linux/i386 boot protocol version 2.02. - - * stage2/asm.S [!STAGE1_5] (linux_boot): Set the length of moved - bytes to LINUX_KERNEL_MAXLEN instead of - LINUX_KERNEL_LEN_OFFSET(%eax), since the field is obsolete. - [!STAGE1_5] (big_linux_boot): Don't use SEGMENT or OFFSET. - Instead, embed the segment and the offset in the code itself. - Set %ds, %es, %fs and %gs to %ax (LINUX_INIT_SEG). - * stage2/boot.c (load_image): Rewrite the Linux support code - heavily. Use a structure instead of a batch of macros, to access - a Linux kernel header. - (load_initrd): If MOVETO plus LEN is greater than or equal to - LINUX_INITRD_MAX_ADDRESS, set MOVETO to LINUX_INITRD_MAX_ADDRESS - minus LEN with page aligned. - * stage2/shared.h (LINUX_MAGIC_SIGNATURE): New macro. - (LINUX_DEFAULT_SETUP_SECTS): Likewise. - (LINUX_FLAG_CAN_USE_HEAP): Likewise. - (LINUX_INITRD_MAX_ADDRESS): Likewise. - (LINUX_MAX_SETUP_SECTS): Likewise. - (LINUX_BOOT_LOADER_TYPE): Likewise. - (LINUX_HEAP_END_OFFSET): Likewise. - (LINUX_SETUP_MAXLEN): Removed. - (LINUX_KERNEL_LEN_OFFSET): Likewise. - (LINUX_SETUP_LEN_OFFSET): Likewise. - (LINUX_SETUP_STACK): Set to 0x7F00 instead of 0x3FF4 (why was it - this value?). - (LINUX_SETUP_LOADER): Removed. - (LINUX_SETUP_LOAD_FLAGS): Likewise. - (LINUX_SETUP_CODE_START): Likewise. - (LINUX_SETUP_INITRD): Likewise. - (CL_MY_LOCATION): Set to RAW_ADDR(0x97F00) instead of - RAW_ADDR(0x92000). - (CL_MY_END_ADDR): Set to RAW_addr(0x97FFF) instead of - RAW_ADDR(0x920FF). - (CL_MAGIC_ADDR): Removed. - (CL_OFFSET): Likewise. - [!ASM_FILE] (struct linux_kernel_header): New structure tag. - -2000-07-23 OKUJI Yoshinori - - * docs/tutorial.texi: Fix some syntax errors and ambiguous - sentences. Suggested by M. Meiarashi . - -2000-07-14 Khimenko Victor - - * stage2/boot.c (load_image): When getting the text length of a - Linux kernel, use unsigned long instead of unsigned short. - -2000-07-13 OKUJI Yoshinori - - * lib/device.c: Include errno.h. Reported by Thierry DELHAISE - . - -2000-07-12 OKUJI Yoshinori - - Just to start implementing serial console support... - - * stage2/asm.S (grub_putchar): Renamed to ... - (console_putchar): ... this. - [!STAGE1_5] (getkey): Renamed to ... - [!STAGE1_5] (console_getkey): ... this. - [!STAGE1_5] (checkkey): Renamed to ... - [!STAGE1_5] (console_checkkey): ... this. - * stage2/char_io.c [!STAGE1_5] (getkey): New function. - [!STAGE1_5] (checkkey): Likewise. - (grub_putchar): Likewise. - * stage2/shared.h [!STAGE1_5] (terminal): Declared. - [!STAGE1_5] (TERMINAL_CONSOLE): New macro. - [!STAGE1_5] (TERMINAL_SERIAL): Likewise. - (console_putchar): Declared. - (serial_putchar): Likewise. - (console_getkey): Likewise. - (serial_getkey): Likewise. - (console_checkkey): Likewise. - (serial_checkkey): Likewise. - * stage2/builtins.c (terminal): New global variable. The default - is TERMINAL_CONSOLE. - * grub/asmstub.c (grub_putchar): Renamed to ... - (console_putchar): ... this. - (getkey): Renamed to ... - (console_getkey): ... this. - (checkkey): Renamed to ... - (console_checkkey): ... this. - -2000-07-12 OKUJI Yoshinori - - * stage2/Makefile.am (libgrub_a_CFLAGS): Added - -I$(top_srcdir)/lib. - * stage2/builtins.c [GRUB_UTIL]: Include device.h. - -2000-07-12 OKUJI Yoshinori - - Segreate OS-specific helper functions from asmstub.c. - - * grub/asmstub.c [__linux__]: Don't include linux/hdreg.h, - linux/major.h, linux/kdev_t.h, or linux/cdrom.h. - [__FreeBSD__ || __NetBSD__ || __OpenBSD__]: Don't include - sys/ioctl.h, sys/disklabel.h, or sys/ioctl.h. - [HAVE_OPENDISK]: Don't include util.h. - Include device.h. - (DEFAULT_FD_CYLINDERS): Removed. - (DEFAULT_FD_HEADS): Likewise. - (DEFAULT_FD_SECTORS): Likewise. - (DEFAULT_HD_CYLINDERS): Likewise. - (DEFAULT_HD_HEADS): Likewise. - (DEFAULT_HD_SECTORS): Likewise. - (NUM_DISKS): Likewise. - (init_device_map): Likewise. - (get_floppy_disk_name): Likewise. - (get_ide_disk_name): Likewise. - (get_scsi_disk_name): Likewise. - (check_device): Likewise. - (get_drive_geometry): Likewise. - * grub/main.c (no_floppy): Removed. - (probe_second_floppy): Likewise. - (floppy_disks): New global variable. - (main): Set FLOPPY_DISKS to zero, if OPT_NO_FLOPPY. Set - FLOPPY_DISKS to two, if OPT_PROBE_SECOND_FLOPPY. - * lib/Makefile.am (AM_CFLAGS): New variable. - * lib/device.h: New file. - * lib/device.c: Likewise. - * stage2/shared.h (no_floppy): Removed. - (probe_second_floppy): Likewise. - (check_device): Likewise. - (floppy_disks): Declared. - -2000-07-02 OKUJI Yoshinori - - * grub/main.c (usage): Enclose the mail address with parentheses - and add a period into the end of the line. That's just a - cosmetic change. - -2000-07-02 OKUJI Yoshinori - - * docs/appendices.texi (Obtaining and Building GRUB): Indicate - the Cygnus's binutils webpage instead of the hjl's site, since - you can now use a public release (i.e. 2.10). - -2000-06-23 OKUJI Yoshinori - - * stage2/boot.c (load_image): Take an additional argument - LOAD_FLAGS. - If the kernel type is Linux and the bit - KERNEL_LOAD_NO_MEM_OPTION in LOAD_FLAGS is set, don't pass a - Linux's mem option automatically. - * stage2/shared.h (load_image): Added the new argument. - * stage2/builtins.c (kernel_func): If `--no-mem-option' is - specified, set the bit KERNEL_LOAD_NO_MEM_OPTION in LOAD_FLAGS, - otherwise, LOAD_FLAGS is zero. - -2000-06-22 OKUJI Yoshinori - - * docs/tutorial.texi: Fixed some typos and syntax errors. - * docs/user-ref.texi: Likewise. - -2000-06-21 OKUJI Yoshinori - - * stage2/stage2.c (run_menu): Initialize CUR_ENTRY at the - definition. - If SHOW_MENU is zero, don't display the menu interface. Instead, - wait until the timeout is expired and then boot the default - entry. If the user presses `ESC' during the timeout, set - SHOW_MENU to one and break the loop. - Display the menu if SHOW_MENU is true, instead of if - GRUB_TIMEOUT is non-zero. - Set SHOW_MENU to one before go to the label `restart'. - * stage2/builtins.c (show_menu): New global variable. - (hiddenmenu_func): New function. - (builtin_hiddenmenu): New variable. - (builtin_table): Added a pointer to BUILTIN_HIDDENMENU. - * stage2/shared.h (show_menu): Declared. - -2000-06-19 OKUJI Yoshinori - - * docs/mdate-sh: Moved to ... - * mdate-sh: ... here. - * docs/texinfo.tex: Moved to ... - * texinfo.tex: ... here. - -2000-06-09 OKUJI Yoshinori - - * stage2/mb_info.h (AddrRangeDesc): Use one 64bits field instead - of two 32bits fields for BaseAddr and Length, respectively. - BaseAddrLow + BaseAddrHigh -> BaseAddr, LengthLow + LengthHigh - -> Length. - * stage2/builtins.c (displaymem_func): Print BaseAddr >> 32, - BaseAddr & 0xFFFFFFFF, Length >> 32 and Length & 0xFFFFFFFF, - instead of BaseAddrLow, BaseAddrHigh, LengthLow and LengthHigh, - for MAP. - * stage2/common.c (fakemap): Adjusted to the new definition of - AddrRangeDesc. - (mmap_avail_at): Change the type of TOP to unsigned long long. - If TOP is greater than 0xFFFFFFFF, set it to 0xFFFFFFFF, since - GRUB itself cannot deal with 64bits addresses at the moment. - (init_bios_info): When getting a maximum available address from - the memory map, use a new unsigned long long variable MAX_ADDR - as the temporary variable instead of MEMTMP. This should allow - GRUB to detect at most 4TB. - -2000-06-18 OKUJI Yoshinori - - * docs/appendices.texi (FAQ): Added an question about Linux's - `mem=' option and the answer. - -2000-06-17 OKUJI Yoshinori - - * stage2/boot.c (load_image): Pass a mem option to Linux, only - if SRC has no substring "mem=". - -2000-06-17 OKUJI Yoshinori - - * stage2/compile: Removed. - * netboot/compile: Likewise. - * compile: New file. Copied from Automake. - -2000-06-16 OKUJI Yoshinori - - * stage2/boot.c (load_image): Don't remove the vga option after - parsing it. Suggested by Tim Riker. - -2000-06-15 OKUJI Yoshinori - - * stage2/asm.S (grub_halt): Use jmp instead of jc, if INT 15 - AX=5307h fails. - -2000-06-15 OKUJI Yoshinori - - * configure.in (AM_INIT_AUTOMAKE): Increase the version number. - I wish that 0.5.96 will not be released actually... - - * stage2/builtins.c (halt_func): New function. - (builtin_halt): New variable. - (reboot_func): New function. - (builtin_reboot): New variable. - (builtin_table): Added pointers to BUILTIN_HALT and - BUILTIN_REBOOT. - * stage2/asm.S (grub_halt): New function. - (grub_reboot): Likewise. - * stage2/shared.h (grub_halt): Declared. - (grub_reboot): Likewise. - * grub/asmstub.c (grub_reboot): New function. - (grub_halt): Likewise. - -2000-06-12 Gordon Matzigkeit - - * stage2/stage2.c (run_menu): Don't display the menu if the - timeout is zero. This makes for cleaner use as a noninteractive - bootloader. - -2000-06-11 OKUJI Yoshinori - - * docs/tutorial.texi (GNU/Linux): Added a caution about the - "mem=" option. - -2000-06-11 OKUJI Yoshinori - - * util/grub-install.in (convert): When $host_os is linux*, use - the expression 's%\([sh]d[a-z]\)[0-9]*$%\1%' instead of - 's%[0-9]*$%%', to get rid of the partition part. This fixes the - bug "/dev/fd0" -> "/dev/fd". (But don't you think the naming is - quite inconsistent with hard disks? Why not /dev/fd[a-z]?) - Report by Pavel Roskin. - -2000-06-08 OKUJI Yoshinori - - * docs/tutorial.texi (Network): The body is moved to ... - (General usage of network support): ... this new section. - (Diskless): New section. - * docs/user-ref.texi (General commands): Added a description - about the command "tftpserver". - -2000-06-08 OKUJI Yoshinori - - * netboot/main.c (decode_rfc1533) [GRUB]: Eliminate trailing - NULs in the NVT string for a configuration file name, if any. - (decode_rfc1533): Likewise, if Extensions Path is present, - eliminate the trailing NULs, if any. - Also, check the length carefully to ensure that EXTPATH can fit - in FNAME. - -2000-06-06 Jochen Hoenicke - - * stage2/fsys_reiserfs.c: Added journaling to reiser. - (reiserfs_journal_desc): new structure. - (reiserfs_journal_commit): likewise. - (reiserfs_journal_header): likewise. - (fsys_reiser_info): Added fields for journaling. - (journal_read): new function. - (journal_init) likewise. - (block_read): New function to read reiserfs blocks, which reads - from the journal if it contains newer versions. All relevant - devread calls are replaced with calls to this method. - (reiserfs_mount): Check for journaling super block and call - journal_init. - -2000-06-06 OKUJI Yoshinori - - * netboot/main.c (dhcprequest) [GRUB]: Set the length of the - Parameter Request List to (4 + 2). - Set the list to RFC1533_VENDOR_MAGIC and - RFC1533_VENDOR_CONFIGFILE in addition to the standard - parameters. - (decode_rfc1533) [GRUB]: If C is equal to - RFC1533_VENDOR_CONFIGFILE, copy the contents of the tag to - CONFIG_FILE. - If C is equal to RFC1533_VENDOR_MAGIC, increment - VENDOREXT_ISVALID. - * netboot/etherboot.h [GRUB] (RFC1533_VENDOR_CONFIGFILE): New - macro. Defined as 150. - -2000-06-03 OKUJI Yoshinori - - * stage2/asm.S (check_int13_extensions): Check the bitmap only - if FORCE_LBA is zero. - * stage2/bios.c (get_diskinfo): Get rid of the wrong check for - the bit 0 of DRP.FLAGS. Now the bitmap check is correctly - performed in the function check_int13_extensions. - -2000-06-02 OKUJI Yoshinori - - * docs/user-ref.texi (Invoking the grub shell): Added a caution. - Why don't so many people still understand that BIOS drive - numbering are different from OS device naming? How many cautions - and warnings should we write in the documentation? Sigh. - -2000-06-01 OKUJI Yoshinori - - From Chip Salzenberg: - * stage2/cmdline.c (enter_cmdline) [SUPPORT_DISKLESS]: Redisplay - network configuration after clearing screen, before first prompt. - - * stage2/cmdline.c: Include instead of "shared.h". - [SUPPORT_DISKLESS]: Include . - -2000-06-01 OKUJI Yoshinori - - * stage2/builtins.c (setup_func): Check if INSTALL_DRIVE is a - hard disk as well as IMAGE_DRIVE, before trying to install a - Stage 1.5. Reported by Pavel Roskin. - -2000-05-31 OKUJI Yoshinori - - * acinclude.m4 (grub_ASM_ABSOLUTE_WITHOUT_ASTERISK): New - function. Check if GAS requires absolute indirect calls/jumps - with NO asterisk. - * configure.in: Call grub_ASM_ABSOLUTE_WITHOUT_ASTERISK. - * acconfig.h (ABSOLUTE_WITHOUT_ASTERISK): New macro entry. - * netboot/pci.c (bios32_service) [!ABSOLUTE_WITHOUT_ASTERISK]: - Prefix the operand to "lcall" with `*'. - (pcibios_read_config_byte) [!ABSOLUTE_WITHOUT_ASTERISK]: - Likewise. - (pcibios_read_config_word) [!ABSOLUTE_WITHOUT_ASTERISK]: - Likewise. - (pcibios_read_config_dword) [!ABSOLUTE_WITHOUT_ASTERISK]: - Likewise. - (pcibios_write_config_byte) [!ABSOLUTE_WITHOUT_ASTERISK]: - Likewise. - (pcibios_write_config_word) [!ABSOLUTE_WITHOUT_ASTERISK]: - Likewise. - (pcibios_write_config_dword) [!ABSOLUTE_WITHOUT_ASTERISK]: - Likewise. - (check_pcibios) [!ABSOLUTE_WITHOUT_ASTERISK]: Likewise. - * stage2/asm.S (chain_stage1) [!ABSOLUTE_WITHOUT_ASTERISK]: - Prefix the operand to "ljmp" with `*'. - (chain_stage2) [!ABSOLUTE_WITHOUT_ASTERISK]: Likewise. - (big_linux_boot) [!ABSOLUTE_WITHOUT_ASTERISK]: Likewise. - -2000-05-29 Chip Salzenberg - - * stage2/shared.h (grub_memmove): Prototype to use void *. - * stage2/char_io.c (grub_memmove): Define likewise. - -2000-05-30 Gordon Matzigkeit - - * docs/user-ref.texi (Stage2 errors): Update error messages. - -2000-05-29 Pavel Roskin - - * util/grub-install.in: Fix a typo that prevented error messages - from appearing. - Copy and remove files individually and exit with an error as - soon as it fails. - Show $log_file if --debug was given on the command line. - -2000-04-19 Gordon Matzigkeit - - * stage2/cmdline.c (enter_cmdline): Don't give errors on empty - command lines. - - * stage2/common.c (err_list): Clean up wordings slightly. - -2000-05-29 OKUJI Yoshinori - - Based on a patch by Neal H Walfield : - * netboot/misc.c [GRUB] (inet_aton): Defined. - * netboot/main.c (arp_server_override): New function. - * netboot/etherboot.h [GRUB] (arp_server_override): Declared. - (inet_aton): Likewise. - * stage2/builtins.c (tftpserver_func): New function. - (builtin_tftpserver): New variable. - (builtin_table): Added a pointer to BUILTIN_TFTPSERVER. - -2000-05-28 OKUJI Yoshinori - - * stage2/asm.S (codestart): Fix a typo: DISKLESS_SUPPORT -> - SUPPORT_DISKLESS. - * stage2/nbloader.S: Fix the image length and the memory length - fields. They shouldn't contain the first sector for a tag. - Mmh..., that is unclear as far as I see the Net Boot Image - Proposal... - * stage2/shared.h (STACKOFF): Enclosed with parentheses. - (PROTSTACKINIT): Likewise. - -2000-05-27 OKUJI Yoshinori - - Add diskless support, mostly based on patches by Christoph - Plattner , but also based on a patch - by Chip Salzenberg for PXE. Of course, I've - modified both the patches thoroughly to adapt them to my - preference. - - * configure.in (--enable-diskless): New option. Set a - conditional DISKLESS_SUPPORT. - * stage2/Makefile.am (noinst_HEADERS): Added nbi.h. - (EXTRA_PROGRAMS): New variable. - (pkgdata_DATA) [DISKLESS_SUPPORT]: Added - nbgrub and pxegrub. - (noinst_DATA) [DISKLESS_SUPPORT]: Added nbloader, pxeloader and - diskless. - (noinst_PROGRAMS) [DISKLESS_SUPPORT]: Added nbloader.exec, - pxeloader.exec and diskless.exec. - (PXELOADER_LINK): New variable. - (BUILT_SOURCES) [DISKLESS_SUPPORT]: Added diskless_size.h. - (diskless_exec_SOURCES): New variable. - (diskless_exec_CFLAGS): Likewise. - (diskless_exec_LDFLAGS): Likewise. - (diskless_exec_LDADD): Likewise. - (diskless_size.h): New target. - (nbloader_exec_SOURCES): New variable. - (nbloader_exec_CFLAGS): Likewise. - (nbloader_exec_LDFLAGS): Likewise. - (nbloader_exec-nbloader.o): New dependency. - (nbgrub): New target. - (pxeloader_exec_SOURCES): new variable. - (pxeloader_exec_CFLAGS): Likewise. - (pxeloader_exec_LDFLAGS): Likewise. - (pxegrub): New target. - * stage2/asm.S (install_partition): Set to 0xFFFFFF instead of - 0x020000. What was the benefit from the previous setting? - (codestart) [SUPPORT_DISKLESS]: Don't move %dl to BOOT_DRIVE. - (boot_drive) [SUPPORT_DISKLESS]: Set to NETWORK_DRIVE instead of - zero. - * stage2/common.c: Include instead of "shared.h", - just for a cosmetic reason. - [SUPPORT_DISKLESS]: Include etherboot.h. - [SUPPORT_DISKLESS] (setup_diskless_environment): New internal - function. - (init_bios_info) [SUPPORT_DISKLESS]: Call - setup_diskless_environment after the memory initialization is - finished. Return if fails. - * stage2/nbloader.S: New file. - * stage2/pxeloader.S: Likewise. - * stage2/nbi.h: Likewise. - -2000-05-25 OKUJI Yoshinori - - * netboot/fsys_tftp.c (buf_fill): Warn when amazing things - happen. - (tftp_dir): Revert previous change. Don't use TFTP_MIN_PACKET - but calculate the appropriate length. - -2000-05-23 OKUJI Yoshinori - - * netboot/fsys_tftp.c (tftp_dir): Append "0\0" to the request - string, because the "tsize" option must be followed by zero, - according to RFC 2349. - -2000-05-22 OKUJI Yoshinori - - Synchronize the documentation with the code. - - * docs/user-ref.texi: Added ReiserFS as a supported filesystem. - Updated the descriptions about `password', `install', `kernel', - and `setup'. - Added a description about `lock'. - Added descriptions about ERR_UNALIGNED and ERR_PRIVILEGED. - Added a description about the option `--force-lba' of - the program `grub-install'. - * docs/tutorial.texi: Updated the subsection for NetBSD. - -2000-05-21 OKUJI Yoshinori - - * stage2/asm.S (set_int13_handler): Don't use MBI to get the - lower memory size. Instead, decrease it in the BIOS memory - directly and set %eax to it, since MBI.MEM_LOWER may not be the - same as [0x413] any longer due to the previous change. - - * grub/asmstub.c (CONVENTIONAL_MEMSIZE): Changed to 640 * 1024 - from 640. You didn't like the inconsistency between - EXTENDED_MEMSIZE and CONVENTIONAL_MEMSIZE, did you? - (get_memsize): Return CONVENTIONAL_MEMSIZE >> 10 instead of - CONVENTIONAL_MEMSIZE, if TYPE is zero. - (get_eisamemsize): Return EXTENDED_MEMSIZE >> 10 instead of - EXTENDED_MEMSIZE / 1024. Just a cosmetic change. - (MMAR_DESC_LENGTH): New macro. Defined as 20. - (get_mmap_entry): Define a new variable DESC_TABLE statically, - and copy the CONTth entry to *DESC if CONT is a correct index. - -2000-05-21 Chip Salzenberg - - * stage2/common.c (mmap_avail_at): New function, abstracted out - of init_bios_info, to scan E820 memory map. - (init_bios_info): Use mmap_avail_at for _both_ MBI.MEM_UPPER and - MBI.MEM_LOWER. - -2000-05-17 OKUJI Yoshinori - - Update the network support to Etherboot-4.6.1. - - * netboot/config.c (pci_nic_list) [INCLUDE_TULIP]: Added an - entry for Davicom 9102. - * netboot/epic100.c: Just copied. - * netboot/pci.h: Likewise. - * netboot/tulip.c: Likewise. - * netboot/etherboot.h (tftp): Change the type of the first - argument to const char * from char *. - * netboot/main.c (tftp): Likewise. - -2000-05-13 OKUJI Yoshinori - - * util/grub-install.in: If the program `cp' fails, exit with the - status code 1. Suggested by Pavel Roskin. - -2000-05-13 OKUJI Yoshinori - - From Pixel : - * stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_EXTENDED): New macro. - (IS_PC_SLICE_TYPE_EXTENDED): Added a check for - PC_SLICE_TYPE_LINUX_EXTENDED. - -2000-05-05 OKUJI Yoshinori - - * stage2/common.c (init_bios_info) [!STAGE1_5]: When the memory - map is present, search the maximum for MEMTMP in bytes instead - of kilobytes and set EXTENDED_MEMORY to MEMTMP minus 1MB in - kilobytes. - -2000-05-05 OKUJI Yoshinori - - Ignore any memory holes when passing the maximum memory address - to non-Multiboot kernels (i.e. Linux and *BSD). - - * stage2/common.c [!STAGE1_5] (extended_memory): New global - variable. - (init_bios_info) [!STAGE1_5]: Change the type of CONT, MEMTMP - and ADDR to unsigned long from int. - Set EXTENDED_MEMORY to MBI.MEM_UPPER by default. - If MBI.MMAP_LENGTH is not zero, set EXTENDED_MEMORY to the - maximum available address, ignoring any memory holes. - If MBI.MMAP_LENGTH is zero but get_eisamemsize returns other - than -1, set EXTENDED_MEMORY to (CONT >> 10) + 0x3c00 if CONT is - non-zero, otherwise, set it to MEMTMP. - * stage2/shared.h [!STAGE1_5] (extended_memory): Declared. - * stage2/boot.c (load_image): Always pass the "mem=" option to a - Linux kernel, using EXTENDED_MEMORY instead of MBI.MEM_UPPER. - (bsd_boot): Use EXTENDED_MEMORY instead of MBI.MEM_UPPER. - -2000-04-30 OKUJI Yoshinori - - * stage1/stage1.S (message): Use lodsb instead of incw and movb. - From Andrew Clausen . - - * stage1/stage1.S (copy_buffer): Set %cx to 0x100 and use movsw - instead of movsb, since it is guaranteed that the region is - properly aligned. - -2000-04-29 OKUJI Yoshinori - - * stage2/builtins.c (setup_func): Use SECTOR_BITS instead of - SECTOR_SIZE to compute BLOCKSIZE. - -2000-04-26 OKUJI Yoshinori - - * netboot/depca.c: Copied from Etherboot-4.6.0. - -2000-04-23 OKUJI Yoshinori - - More security-related features. - - * stage2/builtins.c (auth): New global variable. - (configfile_func): Clear AUTH before jumping to cmain. - (lock_func): New function. - (builtin_lock): New variable. - (password_func): Make sure that LEN + 2 is less than or equal to - PASSWORD_BUFLEN, because now the password must be terminated - with double NULs, in order to permit an empty configuration file - name. - Copy LEN bytes from ARG to PASSWORD, instead of LEN + 1 bytes. - Clear the rest of the buffer PASSWORD. - (builtin_table): Added a pointer to BUILTIN_LOCK. - * stage2/common.c (err_list): Added an entry for ERR_PRIVILEGED. - * stage2/stage2.c (run_menu): If AUTH is true, show the messages - for a non-password configuration, even if PASSWORD is not NULL. - Likewise, if AUTH is true, allow the user to use privileged - instructions (such as `c'). - If a correct password is entered, check if *PPTR is NUL or not. - If it is NUL, set AUTH to 1 and go to the label restart, - otherwise, copy PPTR to NEW_FILE, clear AUTH, and return. - * stage2/shared.h (grub_error_t): Added a new constant - ERR_PRIVILEGED. - (auth): Declared. - -2000-04-23 OKUJI Yoshinori - - * docs/user-ref.texi (Command-line-specific commands): Don't use - the command @var for the argument "file" to the command - "configfile" on the definition. - -2000-04-22 OKUJI Yoshinori - - Update the network support to Etherboot 4.5.8. - - * configure.in (--enable-3c590): New option. - (--enable-3c595): Likewise. - (--enable-depca): Likewise. - (--enable-lance): Likewise. - (--enable-ns8390): Likewise. - (--enable-ntulip): Likewise. - (--enable-lancepci): Removed. - (--enable-nepci): Likewise. - (--enable-otulip): Likewise. - (--enable-smc9000): The duplicated one is named to ... - (--enable-smc9000-scan): ... this. This was a typo, perhaps. - - * netboot/Makefile.am (libdrivers_a_SOURCES): Removed - byteorder.h, if.h, netboot_config.h and netdevice.h, and added - cards.h. - (EXTRA_libdrivers_a_SOURCES): Removed ntulip.c and tulip.h, and - added 3c595.c, 3c595.h, depca.c, otulip.c and otulip.h. - (libdrivers_a_CFLAGS): Define FSYS_TFTP as 1 instead of empty. - (EXTRA_DIST): Removed ntulip.txt, and added cs89x0.txt and - tulip.txt. - (3c595_drivers): New variable. - (depca_drivers): Likewise. - (lance_drivers): Removed lancepci.o and added lance.o. - (ns8390_drivers): Removed nepci.o and added ns8390.o. - (ntulip_drivers): Deleted. - (otulip_drivers): New variable. - ($(3c595_drivers)): New target. - ($(depca_drivers)): Likewise. - ($(ntulip_drivers)): Deleted. - ($(otulip_drivers)): New target. - (3c590_o_CFLAGS): New variable. - (3c595_o_CFLAGS): Likewise. - (depca_o_CFLAGS): Likewise. - (lancepci_o_CFLAGS): Deleted. - (lance_o_CFLAGS): New variable. - (nepci_o_CFLAGS): Deleted. - (ns8390_o_CFLAGS): New variable. - (ntulip_o_CFLAGS): Deleted. - (otulip_o_CFLAGS): New variable. - - * netboot/3c90x.c: Updated to Etherboot-4.5.8. - * netboot/3c90x.txt: Likewise. - * netboot/cs89x0.c: Likewise. - * netboot/cs89x0.h: Likewise. - * netboot/eepro100.c: Likewise. - * netboot/epic100.c: Likewise. - * netboot/epic100.h: Likewise. - * netboot/i82586.c: Likewise. - * netboot/lance.c: Likewise. - * netboot/linux-asm-io.h: Likewise. - * netboot/linux-asm-string.h: Likewise. - * netboot/nic.h: Likewise. - * netboot/ns8390.c: Likewise. - * netboot/ns8390.h: Likewise. - * netboot/pci.c: Likewise. - * netboot/pci.h: Likewise. - * netboot/rtl8139.c: Likewise. - * netboot/sk_g16.c: Likewise. - * netboot/sk_g16.h: Likewise. - * netboot/smc9000.c: Likewise. - * netboot/smc9000.h: Likewise. - * netboot/tiara.c: Likewise. - * netboot/tulip.c: Likewise. - * netboot/via-rhine.c: Likewise. - - * netboot/config.c: Updated to Etherboot-4.5.8 and modified (see - below). - [GRUB] (print_config): Undefined. - (eth_probe) [GRUB]: If PROBED is true, do nothing. Otherwise, - clear NETWORK_READY and ARPTABLE, set ROM to ROM_INFO_LOCATION, - and set PROBED to 1 if succeeds. - * netboot/etherboot.h: Likewise, - (GRUB): New macro. - [GRUB]: Include . - [GRUB] (NO_DHCP_SUPPORT): Undefined. - [GRUB] (RELOC): Defined as zero. - [GRUB] (INTERNAL_BOOTP_DATA): Defined as one. - [GRUB] (USE_INTERNAL_BUFFER): Likewise. - [GRUB] (BACKOFF_LIMIT): Defined as 7. - [GRUB] (CTRL_C): New macro. - [GRUB] (print_network_configuration): Declared. - [GRUB] (ip_abort): Likewise. - [GRUB] (network_ready): Likewise. - * netboot/fsys_tftp.c: Don't include . - (isocket): Renamed to ... - (iport): ... this. - (osocket): Renamed to ... - (oport): ... this. - (bcounter): New variable. - (buf_fill): When checking the block order, see BCOUNTER as well - as BLOCK. - Don't process a packet, if BLOCK minus PREVBLOCK is not 1, - instead of if BLOCK is less than or equal to PREVBLOCK. - Increment BCOUNTER after reseting RETRY. - (send_rrq): Clear BCOUNTER. - Call await_reply with AWAIT_QDRAIN. - * netboot/main.c: Don't include . - (dhcpdiscover): Made const. - (dhcprequest): Likewise. Updated the contents. - (broadcast): Made const. - (udp_transmit): Copied. - (tftp): Likewise. - (bootp): Likewise. - (rarp): Likewise. - (await_reply): Likewise. - (decode_rfc1533): Likewise. - (rfc951_sleep): Likewise. - (cleanup_net): Likewise. - * netboot/misc.c (sleep): Copied. - (twiddle): Likewise. - (getdec): Likewise. - * netboot/osdep.h: Copied and modified (see below). - [GRUB] (ETHERBOOT32): Used the same definition as Linux and - FreeBSD. - [GRUB] (ntohl): Likewise. - [GRUB] (htonl): Likewise. - [GRUB] (ntohs): Likewise. - [GRUB] (htons): Likewise. - [GRUB] (swap32): Likewise. - [GRUB] (swap16): Likewise. - [GRUB]: Include "linux-asm-io.h". - - * netboot/byteorder.h: Removed. - * netboot/if.h: Likewise. - * netboot/netboot_config.h: Likewise. - * netboot/netdevice.h: Likewise. - * netboot/ntulip.c: Likewise. - * netboot/ntulip.txt: Likewise. - * netboot/tulip.h: Likewise. - - * netboot/3c595.c: New file. Copied from Etherboot-4.5.8. - * netboot/3c595.h: Likewise. - * netboot/cards.h: Likewise. - * netboot/cs89x0.txt: Likewise. - * netboot/depca.c: Likewise. - * netboot/otulip.c: Likewise. - * netboot/otulip.h: Likewise. - * netboot/tulip.txt: Likewise. - -2000-02-29 Jochen Hoenicke - - * stage2/common.c (err_list): Added message for ERR_UNALIGNED. - * stage2/shared.h [!STAGE1_5] (disk_read_hook,disk_read_func): New - parameters offset and length. - (ERR_UNALIGNED): New error code. - * stage2/disk_io.c (rawread) [!STAGE1_5]: Call disk_read_func with - offset and length. - * stage2/builtin.c (disk_read_print_func): Print offset and length. - (blocklist_func): Print detailed byte ranges for partial sectors. - (install_func): Detect partial sectors and print error message. - -2000-04-18 Pavel Roskin - - * util/grub-install.in: Don't use `!' in `test' for more - portability. - Don't use `for' without `in' for compatability with ash. - Check install_device before running grub if possible. Added - error messages if install_device is not set or not unique. - Exit if mkdir fails. - Add a message about successful installation. - Remove unneeded backslash in the final message. - (convert): use `test -b' instead of `test -e' because ash - doesn't understand the later. Correct error message accordingly. - -2000-04-17 OKUJI Yoshinori - - The user doesn't have to recompile GRUB for his/her buggy BIOS - any longer. It is configurable to ignore the LBA support bitmap - at the installation time. - - * stage1/stage1.S (force_lba): New variable. - (stage2_address): Moved forwards, to align some variables in - natural boundaries. - (real_start): Check if FORCE_LBA is non-zero, if so, jump to - skip_lba_bitmap_check, otherwise, check if bit 0 of the support - bitmap is non-zero. - Don't use #ifdef for CHECK_LBA_SUPPORT_BITMAP. - (skip_lba_bitmap_check): New label. - * stage1/stage1.h (COMPAT_VERSION_MINOR): Set to 1. - (STAGE1_FORCE_LBA): New macro. - (STAGE1_STAGE2_ADDRESS): Set to 0x42. - (STAGE1_STAGE2_SECTOR): Set to 0x44. - (STAGE1_STAGE2_SEGMENT): Set to 0x48. - * stage2/asm.S (force_lba): New variable. - * stage2/bios.c (get_diskinfo): Don't use #ifdef for - CHECK_LBA_SUPPORT_BITMAP. Instead, check if FORCE_LBA is - non-zero. If so, don't check the bit 0 of DRP.FLAG. - * stage2/builtins.c (install_func): Check if a new option - `--force-lba' is specified. If specified, set IS_FORCE_LBA to 1 - and set ARG to a value returned by skip_to. Otherwise, - IS_FORCE_LBA is zero. - Set the "force LBA" flag in STAGE1_BUFFER (the offset is - STAGE1_FORCE_LBA) to IS_FORCE_LBA. - Likewise, set the "force LBA" flag in STAGE2_SECOND_BUFFER - (the offset is STAGE2_FORCE_LBA) to IS_FORCE_LBA. - If IS_STAGE1_5 is true, then modify the Stage2, regardless of - the presence of the option REAL_CONFIG_FILE. Set the "force LBA" - flag in SCRATCHADDR (the offset is STAGE2_FORCE_LBA) to - IS_FORCE_LBA. - (builtin_install): Added description about `--force-lba' into - the docs. - (setup_func): Check if `--force-lba' is specified in ARG. If - specified, set IS_FORCE_LBA to 1 and set ARG to a value returned - by skip_to. Otherwise, IS_FORCE_LBA is zero. - If IS_FORCE_LBA is true, prepend "--force-lba " to CMD_ARG. - (builtin_setup): Added descriptions about `--force-lba' into the - docs. - * stage2/shared.h (STAGE2_FORCE_LBA): New macro. - (STAGE2_VER_STR_OFFS): Set to 0xe. - (force_lba): Declared. - * util/grub-install.in (force_lba): New variable. Set to an - empty sting by default. - (usage): Added a description about `--force-lba'. - (--force-lba): Checked in the option handling code. If - specified, set FORCE_LBA to "--force-lba". - Run the command "setup" with $force_lba added before - $install_drive. - * configure.in (--disable-lba-support-bitmap): Removed. - -2000-04-15 OKUJI Yoshinori - - * util/grub-install.in (root_device): Append `/' to ${rootdir}, - since ROOTDIR may be empty. Reported by Satoshi Nagayasu - . - -2000-04-15 Jochen Hoenicke - - * configure.in: Added --disable-reiserfs option. - * stage2/Makefile.am (libgrub_a_SOURCES): Added fsys_reiserfs.c. - (libgrub_a_CFLAGS): Added -DFSYS_REISERFS=1. - (pkgdata_DATA): Added reiserfs_stage1_5. - (noinst_PROGRAMS): Added reiserfs_stage1_5.exec. - (pre_stage2_exec_SOURCES): Added fsys_reiserfs.c. - (reiserfs_stage1_5_exec_SOURCES): New variable. - (reiserfs_stage1_5_exec_CFLAGS): Likewise. - (reiserfs_stage1_5_exec_LDFLAGS): Likewise. - * stage2/disk_io.c (fsys_table): Added reiserfs entry. - * stage2/filesys.h (FSYS_REISERFS_NUM): New macro. - [FSYS_REISERFS] (reiserfs_mount, reiserfs_read, reiserfs_dir, - reiserfs_embed): Declare external function from fsys_reiserfs.c. - [!NUM_FSYS] (NUM_FSYS): Added FSYS_REISERFS_NUM. - * stage2/builtins.c (setup_func): Added reiserfs to - STAGE1_5_MAP. - * stage2/shared.h (STAGE2_ID_REISERFS_STAGE1_5): New macro. - [STAGE1_5] [FSYS_REISERFS] (STAGE2_ID): Defined to - STAGE2_ID_REISERFS_STAGE1_5. - * stage2/fsys_reiserfs.c: New file. - - * stage2/builtins.c (embed_func): Call open_device instead of - open_partition. - Don't check if the filesystem is FFS. Instead, check if - FSYS_TABLE[FSYS_TYPE].EMBED_FUNC is NULL and, if not, call it. - (find_func): When CURRENT_SLICE is not a BSD slice, check if the - file can be opened, only if open_device succeeds. - * stage2/filesys.h (fsys_table): New entry embed_func. - (ffs_embed): Declared. - * stage2/disk_io.c (fsys_table): Fill embed_func entries. The - entry for FFS is ffs_embed and the others are NULLs. - * stage2/fsys_ffs.c (ffs_embed): New function. - - * stage2/shared.h (SECTOR_SHIFT): New constant with - (1 << SECTOR_SHIFT) == SECTOR_SIZE. - * stage2/shared.h [!NO_BLOCK_FILES] (block_files): No longer - extern. - * stage2/disk_io.c [!NO_BLOCK_FILES] (block_files): Likewise. - (rawread, devread): Use SECTOR_BITS. - (rawread): Fixed calculation of BUFADDR if an error occured. Set - it to BUFFERADDR + BYTE_OFFSET instead of BUFFERSEG + - BYTE_OFFSET. - (grub_close) [!NO_BLOCK_FILES]: If BLOCK_FILE is non-zero, - return immediately. - (grub_close): Don't check if FSYS_TYPE is NUM_FSYS. - * stage2/fsys_fat.c (log2): New inline function. - (fat_mount): Use log2 instead of calculating the size/bit by a - loop. - -2000-04-12 OKUJI Yoshinori - - * configure.in: Use AC_PATH_PROG instead of AC_PATH_TOOL, - because I don't want to use the CVS version. Now you can use - autoconf 2.13. - -2000-04-10 OKUJI Yoshinori - - * stage2/stage2.c (run_menu): In the case where C is `o', check - if ENTRYNO is less than 11. If not, increase FIRST_ENTRY instead - of ENTRYNO. Reported by Pixel . - -2000-04-09 OKUJI Yoshinori - - * stage1/depcomp: Removed, because it makes `make dist' - unworkable. - - For developers: Don't run automake with --add-missing. Instead, - you should specify --force-missing. If you really want to add a - script from automake, copy it at hand. *sigh* - -2000-04-05 OKUJI Yoshinori - - * stage2/builtins.c (kernel_func): Added missing ``size'' - arguments into `grub_memcmp's. Reported by Christoph Plattner - . - - From Torsten Duwe : - * stage2/boot.c (load_initrd): Mask the address with 0x3FFFFFFF - instead of 0xFFFFFFFF to place the initrd below 1GB. - (load_image): In Linux boot, add the option "mem=" only if more - than 64MB are present. - * grub/asmstub.c [__linux__]: Include for - CDROM_GET_CAPABILITY. - [__FreeBSD__ || __NetBSD__ || __OpenBSD__]: Include - for CDIOCCLRDEBUG. - (check_device) [__linux__] [CDROM_GET_CAPABILITY]: If ioctl for - CDROM_GET_CAPAIBILITY succeeds, return zero. - [__FreeBSD__ || __NetBSD__ || __OpenBSD__] [CDIOCCLRDEBUG]: If - ioctl for CDIOCCLRDEBUG succeeds, return zero. - - * stage2/boot.c (load_initrd): Subtract 0x1000 (one page size) - from MOVETO, to avoid a Linux 2.3.xx's bug. - -2000-04-03 OKUJI Yoshinori - - Add a dirty hack into the kernel loader so that the user can - force GRUB to load NetBSD ELF kernels. The support code is - mostly stolen from a patch by Pavel Roskin. - - * stage2/boot.c (load_image): Added an optional argument - SUGGESTED_TYPE. - If BUFFER is a bootable ELF image and SUGGESTED_TYPE is - KERNEL_TYPE_NETBSD, then load it as an ELF image and set STR2 to - "NetBSD" and TYPE to SUGGESTED_TYPE. - If the image is a Linux kernel and SUGGESTED_TYPE is not - KERNEL_TYPE_NONE, make sure that SUGGESTED_TYPE matches up to - the Linux kernel type. - If TYPE is KERNEL_TYPE_NETBSD, set MEMADDR to - RAW_ADDR (phdr->paddr & 0xFFFFFF) like FreeBSD. - If SUGGESTED_TYPE is not KERNEL_TYPE_NONE, make sure that - SUGGESTED_TYPE is equal to TYPE. - (bsd_boot): If TYPE is not KERNEL_TYPE_FREEBSD (i.e. NetBSD or - OpenBSD) and the bit MB_INFO_AOUT_SYMS is set, set END_MARK to - MBI.SYMS.A.ADDR + 4 + MBI.SYMS.A.TABSIZE + MBI.SYMS.A.STRSIZE. - If the bit is clear, set END_MARK to 0. - Pass END_MARK to *ENTRY_ADDR instead of directly calculating the - end of symbols. - * stage2/shared.h (load_image): Added the argument - SUGGESTED_TYPE to the prototype. - * stage2/builtins.c (kernel_func): Added a new option, - `--type=TYPE'. Check if ARG is started with "--type=". - If so, set SUGGESTED_TYPE to KERNEL_TYPE_NETBSD, - KERNEL_TYPE_FREEBSD, KERNEL_TYPE_NETBSD, KERNEL_TYPE_LINUX, - KERNEL_TYPE_BIG_LINUX, KERNEL_TYPE_MULTIBOOT if ARG is "netbsd", - "freebsd", "openbsd", "linux", "biglinux", "multiboot", - respectively. Otherwise, set ERRNUM to ERR_BAD_ARGUMENT and - return 1. Set KERNEL_ARG to a string after the option. - (builtin_kernel): Added a description about the new option. - -2000-04-03 OKUJI Yoshinori - - * stage2/stage2.c (run_menu) [GRUB_UTIL]: Removed a nested - "#ifdef GRUB_UTIL" ... "#endif". - * stage2/builtins.c (unhide_func): Don't modify SAVED_DRIVE or - SAVED_PARTITION. - (hide_func): Likewise. - * stage2/disk_io.c (set_partition_hidden_flag): Use - CURRENT_DRIVE and CURRENT_PARTITION instead of SAVED_DRIVE and - SAVED_PARTITION. Check if bit 7 in CURRENT_DRIVE is non-zero - instead of if CURRENT_DRIVE is non-zero. - - * grub/asmstub.c (init_device_map): Change the message - "Probe devices..." to "Probing devices...". Suggested by Neal H - Walfield. - - * stage2/pc_slice.h (PC_SLICE_TYPE_HIDDEN_FLAG): Move the - definition before the PC partition type definitions. - (IS_PC_SLICE_TYPE_FAT): Clear the hidden flag in TYPE before - checking if TYPE is either of the FAT partition types. Reported - by Thomas Schweikle . - -2000-04-02 OKUJI Yoshinori - - * stage2/builtins.c (setup_func): Don't read a stage 1.5 to get - the size. Use FILEMAX instead. - If embed_func fails (i.e. ERRNUM is non-zero), goto fail. - -2000-04-02 OKUJI Yoshinori - - Suggested by Neal H Walfield : - * stage2/common.c (init_bios_info): Removed a nested - "#ifndef STAGE1_5" ... "#endif". - * util/grub-install.in: Quote most of the references to - shell variables by double quotation marks. - (usage): Added a description about the argument. - * stage2/builtins.c (setup_func): Change each of the messages - when running embed_func and install_func. "Run" -> "Running". - If install_func succeeds, print a message ("Done."). - - From Frank Mehnert : - * stage2/char_io.c (convert_to_ascii) [!STAGE1_5]: Accept 'X' - and 'b' as well. If C is 'X' or 'b', then set MULT to 16. - (grub_printf): Set a new variable MASK to 0xFFFFFFFF by default. - Mask *DATAPTR with MASK when calling convert_to_ascii. - (grub_printf) [!STAGE1_5]: Added 'b' and 'X'. If C is 'b', set - MASK to 0xFF and fall through to the case 'u'. 'X' is the same - as 'x'. - - From Josip Rodin : - * grub.texi: Several awkward English sentences are fixed. - * tutorial.texi: Likewise. - * user-ref.texi: Likewise. - * appendices.texi: Likewise. - -2000-03-27 OKUJI Yoshinori - - * stage1/depcomp: New file. Automake forces to install it. This - is a known bug, so I will remove this when Tom fixes it. - * configure.in (AM_INIT_AUTOMAKE): Don't get the package name - and the version from debian/changelog. This is a workaround. - -2000-03-20 OKUJI Yoshinori - - * stage2/Makefile.am (nodist_pkgdata_DATA): Renamed to ... - (pkgdata_DATA): ... this. DATA is not distributed by default. - (CLEANFILES): Delete the first one. I don't know why this - variable was duplicated. - Set to $(pkgdata_DATA) instead of $(nodist_pkgdata_DATA). - (start_exec_DEPENDENCIES): Removed. This doesn't make sense. - (start_exec-start.o): New rule. - * depcomp: New file. Copied from automake. - * missing: Updated from automake. - -2000-03-15 OKUJI Yoshinori - - * netboot/Makefile.am (EXTRA_libdrivers_a_SOURCES): 3c89x0.h -> - cs89x0.h. Just a typo. - -2000-03-10 Gordon Matzigkeit - - * debian/rules: Strip mbchk. - - * debian/postinst: Fix up /usr/doc symlink creation. - -2000-03-01 OKUJI Yoshinori - - * netboot/fsys_tftp.c (tftp_dir): Add BUF_READ into FILEMAX - after BUF_EOF becomes non-zero. Reported by Per Lundberg. - -2000-03-01 OKUJI Yoshinori - - * stage2/builtins.c (color_func): Return 1 if safe_parse_maxint - returns zero instead of non-zero. Reported by Magnus Holmberg - . - -2000-02-29 OKUJI Yoshinori - - * grub/asmstub.c [__linux__]: Include for the - macro MAJOR. From Kalle Olavi Niemitalo . - -2000-02-27 OKUJI Yoshinori - - * docs/tutorial.texi (Network): New chapter. - -2000-02-26 OKUJI Yoshinori - - * docs/help2man: Upgraded to 1.020. - * docs/grub.8: Regenerated. - * docs/grub-install.8: Likewise. - * docs/mbchk.1: Likewise. - - * docs/tutorial.texi (Boot): Rewritten heavily. Added the notes - on FreeBSD, NetBSD, OpenBSD, DOS/Windows and SCO UnixWare. - * docs/menu.lst: Load "/boot/loader" instead of "/kernel" in the - FreeBSD entry. This is consistent with the documentation. - -2000-02-25 OKUJI Yoshinori - - * netboot/fsys_tftp.c (tftp_read): Set BUF_READ to zero if - FILEPOS is less than SAVED_FILEPOS, before calling buf_fill. - Don't discard all of the copied data so that we can move FILEPOS - backwards cheaply. Now SAVED_FILEPOS indicates the file position - corresponding to the first byte of BUF. If (FILEPOS - - SAVED_FILEPOS) is greater than (FSYS_BUFLEN / 2), move the data - forwards and add (FSYS_BUFLEN / 2) into SAVED_FILEPOS and - subtract the same value from BUF_READ. - -2000-02-24 OKUJI Yoshinori - - * stage2/disk_io.c [!STAGE1_5] (print_fsys_type): Mask - CURRENT_SLICE with 0xFF when printing the partition type. - - * grub/asmstub.c [__linux__]: Include for the - definition FLOPPY_MAJOR. - (check_device) [__linux__]: Skip the HDIO_GETGEO ioctl if the - major number of ST.ST_RDEV is FLOPPY_MAJOR. - -2000-02-21 OKUJI Yoshinori - - * stage2/disk_io.c (check_BSD_parts) [!STAGE1_5]: Use the term - "BSD sub-partition" instead of "BSD slice" for consistency. - - * stage2/builtins.c (boot_func): Copy the partition table to - BOOT_PART_TABLE instead of (BOOTSEC_LOCATION + - BOOTSEC_PART_OFFSET). Don't use grub_memmove, but copy it - directly, since memcheck is too strict. - * stage2/disk_io.c (real_open_partition) [!STAGE1_5]: Set - CUR_PART_ADDR to (BOOT_PART_TABLE + (i << 4)). - * stage2/shared.h (BOOT_PART_TABLE): New macro. - (chain_stage1): Change the types of all the arguments to - unsigned long. - (chain_stage2): Likewise. - * grub/asmstub.c (chain_stage1): Adjusted to the prototype. - (chain_stage2): Likewise. - -2000-02-21 OKUJI Yoshinori - - * stage2/disk_io.c (check_BSD_parts) [!STAGE1_5]: If the BSD - label is invalid, print a message with the partition type in the - case where FLAGS is non-zero and DO_COMPLETION is zero. - -2000-02-20 OKUJI Yoshinori - - * docs/user-ref.texi (Command-line-specific commands): Added a - description about "cmp". - * docs/appendices.texi (Reporting bugs): Rewritten. - -2000-02-20 OKUJI Yoshinori - - Update the netboot code to Etherboot 4.4.3. - - * netboot/netboot_config.h: Copied from etherboot-4.4.3. - * netboot/cs89x0.h: Likewise. - * netboot/cs89x0.c: Likewise. - * netboot/i82586.c: Likewise. - * netboot/lance.c: Likewise. - * netboot/linux-asm-string.h: Likewise. - * netboot/nic.h: Likewise. - * netboot/ntulip.c: Likewise. - * netboot/osdep.h: Likewise. - * netboot/pci.h: Likewise. - * netboot/pci.c: Likewise. - * netboot/rtl8139.c: Likewise. - * netboot/tiara.c: Likewise. - -2000-02-19 OKUJI Yoshinori - - * stage2/builtins.c (cmp_func): New function. - (builtin_cmp): New variable. - (builtin_table): Added a pointer to BUILTIN_CMP. - - * stage2/fsys_fat.c (fat_mount): Check if BPB.SECTS_PER_CLUST is - zero after reading the BPB to avoid zero division. - -2000-02-18 OKUJI Yoshinori - - * stage2/disk_io.c [!STAGE1_5] (make_saved_active): Make sure - that SAVED_PARTITION is not an extended partition. - If SAVED_DRIVE is not a hard disk drive, set ERRNUM to - ERR_DEV_VALUES and return zero. - - * netboot/3c59x.c: Removed. - * netboot/Makefile.am (EXTRA_libdrivers_a_SOURCES): Deleted - 3c59x.c. - (3c59x_drivers): Deleted. - (3c59x_o_CFLAGS): Likewise. - * configure.in (--enable-3c59x): Likewise. - -2000-02-17 OKUJI Yoshinori - - * configure.in (--enable-3c90x): Add -DINCLUDE_3C90X=1 instead - of -DINCLUDE_3C90x=1. This was just a typo. Reported by Per - Lundberg. - -2000-02-17 Jochen Hoenicke - - * stage2/fsys_fat.c (fat_read): Forgot to increase BUF. - (fat_dir): Use fat_read instead of grub_read; this makes - setting the FSMAX unnecessary. - (fat_mount): FSMAX is no longer set. - -2000-02-16 Jochen Hoenicke - - * stage2/char_io.c (grub_isspace): Make carriage return a white - space. - - * stage2/fsys_fat.c (fat_dir): Long filename support. - (NAME_BUF): New macro. - * stage2/fat.h (FAT_LONGDIR_ID, FAT_LONGDIR_ALIASCHECKSUM, - FAT_ATTRIB_LONGNAME): New Macros. - - * stage2/fsys_fat.c (fat_create_blocklist): Deleted, instead - fat_read is implemented. - (fat_read): new function. - * stage2/disk_io.c (fsys_table): Use fat_read. - * stage2/filesys.h: Declare fat_read, remove NO_BLOCK_FILES - hack. - * stage2/Makefile.am: Compile fat_stage1_5 with - -DNO_BLOCK_FILES=1. - - * stage2/fat.h (fat_bpb): New structure describing bpb. - (FAT_CVT_U16): New macro. - (FAT_BPB_CHECK_SIG, FAT_BPB_NUM_SECTORS, - FAT_BPB_BYTES_PER_SECTOR, FAT_BPB_SECT_PER_CLUS, FAT_BPB_NUMFAT, - FAT_BPB_RESERVED_SECTORS, FAT_BPB_FAT_SECTORS_16, - FAT_BPB_FAT_SECTORS_32, FAT_BPB_IS_FAT32, FAT_BPB_FAT_SECTORS, - FAT_BPB_FAT_START, FAT_BPB_ROOT_DIR_CLUSTER, - FAT_BPB_HIDDEN_SECTORS, FAT_BPB_ROOT_DIR_START, - FAT_BPB_ROOT_DIR_LENGTH, FAT_BPB_DATA_OFFSET, - FAT_BPB_NUM_CLUST): Macros removed. - * stage2/fsys_fat.c (fat_superblock): New structure containing - all info about currently mounted filesystem. - (FAT_SUPER): New Macro. - (BPB): Macro removod. - (fat_mount): Use fat_bpb structure, fill FAT_SUPER. - (fat_read, fat_dir): Use FAT_SUPER info. - -2000-02-16 OKUJI Yoshinori - - Pass the boot partition information to a chain-loader, in the - partition table area of the loader, instead of right before the - loaded address. Reported by takehiro@coral.ocn.ne.jp (Takehiro - Suzuki). - - * stage2/builtins.c (chainloader_func): Embed the partition - table of the boot drive in the partition table area of the - chain-loader, if the boot drive is a hard disk drive. - Pass BOOT_PART_ADDR instead of (BOOTSEC_LOCATION - 16) as the - third argument for the function chain_stage1. - * stage2/disk_io.c [!STAGE1_5] (boot_part_addr): New variable. - [!STAGE1_5] (boot_part_offset): Likewise. - [!STAGE1_5] (cur_part_offset): Likewise. - [!STAGE1_5] (cur_part_addr): Likewise. - [!STAGE1_5] (cur_part_desc): Removed. - (real_open_partition) [!STAGE1_5]: Set CUR_PART_OFFSET and - CUR_PART_ADDR to PART_OFFSET and (BOOTSEC_LOCATION + - PC_SLICE_OFFSET + (i << 4)), respectively. - [!STAGE1_5] (set_bootdev): Set BOOT_PART_OFFSET and - BOOT_PART_ADDR to CUR_PART_OFFSET and CUR_PART_ADDR, - respectively. - * stage2/shared.h (boot_part_addr): Declared. - (boot_part_offset): Likewise. - -2000-02-12 OKUJI Yoshinori - - * stage2/builtins.c (geometry_func): Attempt to read the first - sector to examine if LBA mode is really supported. - - * netboot/fsys_tftp.c (buf_fill) [TFTP_DEBUG]: Added some debug - messages. - (send_rrq) [TFTP_DEBUG]: Likewise. - (tftp_read) [TFTP_DEBUG]: Likewise. - (tftp_dir) [TFTP_DEBUG]: Likewise. - (tftp_close) [TFTP_DEBUG]: Likewise. - (tftp_read): Call buf_fill with the argument 1 first, if FILEPOS - has been moved backwards, and use grub_memmove for copying - SAVED_TP to TP instead of a direct assignment. - If send_rrq fails, set ERRNUM to ERR_WRITE instead of ERR_READ. - Check if BUF_READ is zero instead of if BUF_EOF is non-zero at - the end of the loop. - (tftp_dir): Set ERRNUM to ERR_WRITE instead of ERR_READ, if - send_rrq fails. - Save TP and LEN in SAVED_TP and SAVED_LEN respectively before - buf_fill instead of after it, because it destroys the contents - of TP. - * netboot/main.c (print_network_configuration): The order of the - arguments for grub_sprintf in the local function sprint_ip_addr - is reversed. - - * configure.in (--enable-packet_retransmission): Renamed to ... - (--disable-packet-retransmission): ... this. Assume that a - network is congested by default. - -2000-02-11 OKUJI Yoshinori - - From Pavel Roskin: - * stage2/shared.h [!GRUB_SHARED_HEADER] (GRUB_SHARED_HEADER): - Defined. - [GRUB_SHARED_HEADER]: Don't declare or define anything. - - * netboot/main.c (print_network_configuration): New function. - (await_reply): Check for Control-C instead of ESC, because GRUB - already uses ESC for another purpose. - (rfc951_sleep): Check for the key input in the loop. If - Control-C is pushed, return immediately. - * netboot/etherboot (print_network_configuration): Declared. - (CTRL_C): New macro. - (ESC): Undefined. - * netboot/config.c (eth_probe): Clear ARPTABLE after clearing - NETWORK_READY. - * stage2/builtins.c (bootp_func): Call - print_network_configuration if bootp succeeds. - (rarp_func): Call print_network_configuration if rarp succeeds. - -2000-02-11 OKUJI Yoshinori - - From Per Lundberg : - * docs/multiboot.texi: Added graphics support. - -2000-02-10 OKUJI Yoshinori - - * docs/multiboot.texi (Top): Downgrade the version to 0.6.90, - since we need more work to release it as 0.7. - -2000-02-10 OKUJI Yoshinori - - * stage2/Makefile.am [NETBOOT_SUPPORT] (STAGE2_COMPILE): Added - -I$(top_srcdir)/netboot and -DSUPPORT_NETBOOT=1. - * stage2/builtins.c (bootp_func): New function. - (dhcp_func): Likewise. - (rarp_func): Likewise. - (builtin_bootp): New variable. - (builtin_dhcp): Likewise. - (builtin_rarp): Likewise. - (builtin_table): Added pointers to BUILTIN_BOOTP, BUILTIN_DHCP - and BUILTIN_RARP. - * docs/user-ref.texi (General Commands): Added descriptions - about "bootp", "dhcp" and "rarp". - - * netboot/main.c (bootp) [!NO_DHCP_SUPPORT]: Added casts to - suppress gcc warnings. - (decode_rfc1533) [!NO_DHCP_SUPPORT]: Likewise. - * netboot/3c90x.c: Include the local "pci.h" instead of - even if __FreeBSD__ is undefined. - -2000-02-09 OKUJI Yoshinori - - From Jochen Hoenicke: - * stage2/fsys_fat.c (fat_create_blocklist): The previous change - is reversed. Set FIRST_FAT_ENTRY to a unsigned long value in - FAT_BUF + (NEW_MAPBLOCK - MAPBLOCK) instead of a unsigned short - value. Mask FIRST_FAT_ENTRY with 0xFFF if FAT_SIZE is equal to - 3, whether the bit 0 of LAST_FAT_ENTRY is set or not. - - * netboot/config.c (eth_probe): If PROBED is set to non-zero, - return 1 without probing ethernet cards. Clear NETWORK_READY. If - *T->ETH_PROBE return sucessfully, set PROBED to 1. - * netboot/main.c (rarp): Call eth_probe and return zero if - fails. Clear NETWORK_READY at first, and set NETWORK_READY to 1 - if RETRY is less than MAX_ARP_RETRIES. If IP_ABORT is non-zero, - return zero instead of one. - (bootp): Call eth_probe and return zero if fails. Clear - NETWORK_READY at first, and set NETWORK_READY to 1 if - await_reply returns successfully. - (bootp) [T509HACK]: If FLAG is non-zero, skip calling - await_reply. Don't call await_reply here any more. - (bootp) [!NO_DHCP_SUPPORT]: If any ack packet is not reached - within MAX_BOOTP_RETRIES times, return zero. If DHCP_REPLY isn't - DHCPOFFER, set NETWORK_READY to one and return one. - * netboot/etherboot.h (NO_DHCP_SUPPORT): Undefined. - - * stage2/builtins.c (print_root_device): Use the macro - NETWORK_DRIVE instead of 0x20. - * stage2/disk_io.c [!STAGE1_5] (sane_partition): Likewise. - (real_open_partition) [!STAGE1_5]: Likewise. - (set_device) [!STAGE1_5]: Likewise. - -2000-02-08 OKUJI Yoshinori - - * grub/asmstub.c (biosdisk) [__linux__]: Use _llseek when - __GLIBC_MINOR__ is less than 1 even if __GLIBC__ is 2. Reported - by Goran Koruga . - - * configure.in (--disable-lba-support-bitmap-check): New option. - Don't define CHECK_LBA_SUPPORT_BITMAP if specified. - * stage1/stage1.S (real_start): Check if AH=0x42 is supported if - CHECK_LBA_SUPPORT_BITMAP instead of NO_BUGGY_BIOS_IN_THE_WORLD - is defined. - * stage2/bios.c (get_diskinfo): Check if LBA read/write - functions are supported iff CHECK_LBA_SUPPORT_BITMAP is defined, - instead of NO_BUGGY_BIOS_IN_THE_WORLD. - -2000-02-07 OKUJI Yoshinori - - The netboot support is heavily rewritten, based on - Etherboot-4.4.2. The current one doesn't work yet, so check out - GRUB with the tag "dresden_netboot_code" if you need working - one. - - * configure.in (--enable-tftp): Deleted. - (FSYS_CFLAGS): `AC_SUBST'ed right before AC_OUTPUT. - (NETBOOT_DRIVERS): New variable. AC_SUBST this after examining - the driver options. - (--enable-packet-retransmission): New option. - (--enable-pci-direct): Likewise. - (--enable-3c509): Likewise. - (--enable-3c529): Likewise. - (--enable-3c90x): Likewise. - (--enable-cs89x0): Likewise. - (--enable-epic100): Likewise. - (--enable-3c507): Likewise. - (--enable-exos205): Likewise. - (--enable-ni5210): Likewise. - (--enable-lancepci): Likewise. - (--enable-ne2100): Likewise. - (--enable-ni6510): Likewise. - (--enable-3c503): Likewise. - (--enable-ntulip): Likewise. - (--enable-rtl8139): Likewise. - (--enable-sk-g16): Likewise. - (--enable-smc9000): Likewise. - (--enable-tiara): Likewise. - (--enable-tulip): Likewise. - (--enable-via-rhine): Likewise. - (--enable-3c503-shmem): Likewise. - (--enable-3c503-aui): Likewise. - (--enable-3c509-hack): Likewise. - (--enable-compex-rl2000-fix): Likewise. - (--enable-smc9000-scan): Likewise. - (--enable-t503): Deleted. - (--enable-lance): Likewise. - (--enable-cs): Likewise. - - * netboot/main.c: New file. Copied and modified. - * netboot/linux-asm-io.h: Likewise. - * netboot/etherboot.h: Likewise. - * netboot/misc.c: Likewise. - * netboot/via-rhine.c: Likewise. - * netboot/3c90x.c: Likewise. - * netboot/3c90x.txt: Likewise. - * netboot/epic100.c: Likewise. - * netboot/epic100.h: Likewise. - * netboot/i82586.c: Likewise. - * netboot/linux-asm-string.h: Likewise. - * netboot/ntulip.c: Likewise. - * netboot/ntulip.txt: Likewise. - * netboot/osdep.h: Likewise. - * netboot/rtl8139.c: Likewise. - * netboot/sk_g16.c: Likewise. - * netboot/sk_g16.h: Likewise. - * netboot/smc9000.c: Likewise. - * netboot/smc9000.h: Likewise. - * netboot/tiara.c: Likewise. - * netboot/tulip.c: Likewise. - * netboot/tulip.h: Likewise. - * netboot/README.netboot: New file. Most information is stolen - from Makefile and Config.32 in Etherboot. - * netboot/3c509.c: Copied from Etherboot. The original is - removed. - * netboot/3c509.h: Likewise. - * netboot/cs89x0.c: Likewise. - * netboot/eepro100.c: Likewise. - * netboot/lance.c: Likewise. - * netboot/ns8390.c: Likewise. - * netboot/ns8390.h: Likewise. - * netboot/pci.c: Likewise. - - * netboot/3c59x.c: Include etherboot.h instead netboot.h. - * netboot/config.c: Copied from Etherboot and added the 3c59x - entries. - * netboot/pci.h: Likewise. - * netboot/fsys_tftp.c: Entirely rewritten based on main.c in - Etherboot. - - * netboot/io.h: Removed. - * netboot/ip.h: Likewise. - * netboot/ip.c: Likewise. - * netboot/netboot.h: Likewise. - - * netboot/Makefile.am (INCLUDES): Added -I$(top_srcdir)/stage2. - (DRIVERS): Removed. - (libdrivers_a_SOURCES): Added etherboot.h, linux-asm-io.h, - linux-asm-string.h, main.c, misc.c and osdep.h. Deleted io.h, - ip.h, ip.c, netboot.h and $(DRIVERS). - (EXTRA_libdrivers_a_SOURCES): New variable. - (libdrivers_a_LIBADD): Set to @NETBOOT_DRIVERS@. - (libdrivers_a_DEPENDENCIES): New variable. - (EXTRA_DIST): Likewise. - (3c509_drivers): New variable. Define a new rule for the value. - (3c59x_drivers): Likewise. - (3c90x_drivers): Likewise. - (cs89x0_drivers): Likewise. - (eepro100_drivers): Likewise. - (epic100_drivers): Likewise. - (i82586_drivers): Likewise. - (lance_drivers): Likewise. - (ns8390_drivers): Likewise. - (ntulip_drivers): Likewise. - (rtl8139_drivers): Likewise. - (sk_g16_drivers): Likewise. - (smc9000_drivers): Likewise. - (tiara_drivers): Likewise. - (tulip_drivers): Likewise. - (via_rhine_drivers): Likewise. - (t503_o_CFLAGS): Removed. - (nepci_o_CFLAGS): Set to -DINCLUDE_NEPCI=1. - (ne_o_CFLAGS): Set to -DINCLUDE_NE=1. - (wd_o_CFLAGS): Set to -DINCLUDE_WD=1. - (3c509_o_CFLAGS): Likewise. - (3c529_o_CFLAGS): Likewise. - (3c59x_o_CFLAGS): Likewise. - (3c90x_o_CFLAGS): Likewise. - (cs89x0_o_CFLAGS): Likewise. - (eepro100_o_CFLAGS): Likewise. - (epic100_o_CFLAGS): Likewise. - (3c507_o_CFLAGS): Likewise. - (exos205_o_CFLAGS): Likewise. - (ni5210_o_CFLAGS): Likewise. - (lancepci_o_CFLAGS): Likewise. - (ne2100_o_CFLAGS): Likewise. - (ni6510_o_CFLAGS): Likewise. - (3c503_o_CFLAGS): Likewise. - (ntulip_o_CFLAGS): Likewise. - (rtl8139_o_CFLAGS): Likewise. - (sk_g16_o_CFLAGS): Likewise. - (smc9000_o_CFLAGS): Likewise. - (tiara_o_CFLAGS): Likewise. - (tulip_o_CFLAGS): Likewise. - (via_rhine_o_CFLAGS): Likewise. - - * stage2/char_io.c (nul_terminate): Changed the type of the - return value to int. Return the original character changed to - NUL. - * stage2/shared.h (NETWORK_DRIVE): New macro. - (nul_terminate): Adjusted to the definition. - * stage2/gunzip.c (gunzip_test_header): Removed the TFTP check - entirely. It is no longer necessary because we now can obtain - the correct size of a file even for TFTP. - -2000-02-07 OKUJI Yoshinori - - * stage2/asm.S: Undo the previous changes. Is - binutils-2.9.5.0.25 too strict to retain the compatibility? - Reported by Kalle Olavi Niemitalo . - -2000-02-03 OKUJI Yoshinori - - * stage2/cmdline.c (enter_cmdline): Set BUF_DRIVE to -1 before - running a command to invalidate the cache. - (run_script): Likewise. - * stage2/char_io.c (get_cmdline): Set BUF_DRIVE to -1 before the - completion to invalidate the cache. - Reported by Jeff Sheinberg . - - * configure.in: Use AC_PATH_TOOL instead of AC_PATH_PROG. - * stage2/asm.S (chain_stage1): Prepend `*' to the argument for - ljmp. - (chain_stage2): Likewise. - (big_linux_boot): Likewise. - -2000-01-19 OKUJI Yoshinori - - * util/grub-install.in (--root): Renamed to ... - (--root-directory): ... this, since "root" is vague. - * docs/user-ref.texi (Invoking grub-install): Adjusted to the - change above, and added an example how to use --root-directory. - * docs/grub-install.8: Regenerated. - - * docs/appendices.texi (FAQ): Added an item about the sucked - SCSI problem. - -2000-01-15 OKUJI Yoshinori - - * stage2/builtins.c (chainloader_func): If --force is specified - in ARG, don't check for the signature. - * docs/tutorial.texi (Chain-loading): Added a caution about some - defective boot loaders and --force. - * docs/user-ref.texi (Command-line-specific commands): Added a - description about --force. - -2000-01-11 OKUJI Yoshinori - - * docs/prog-ref.texi (LBA mode disk I/O): Added a footnote about - a buggy BIOS. - -2000-01-11 OKUJI Yoshinori - - * stage1/stage1.S [!NO_BUGGY_BIOS_IN_THE_WORLD]: Don't check if - LBA read is supported. Anyway, fallback to the CHS mode if - fails. - -2000-01-10 OKUJI Yoshinori - - * stage2/bios.c (NO_INT13_FALLBACK): Undefined. - (get_diskinfo) [!NO_BUGGY_BIOS_IN_THE_WORLD]: Do not check if - bit 0 in DRP.FLAGS is set, because at least one BIOS does not - set it correctly. Reported by "Forever shall I be." - . - - * util/grub-install.in: Handle the new options `--root' and - `--grub-shell'. - (rootdir): New variable. - (usage): Print the help messages about the options --root and - --grub-shell. - (bootdir): Initialized after the option analysis. - (grubdir): Likewise. - (device_map): Likewise. - (root_device): Set to the result for the directory ROOTDIR - instead of "/". - * docs/user-ref.texi (Invoking grub-install): Added the - descriptions about --root and --grub-shell. - * docs/grub-install.8: Regenerated. - -2000-01-08 OKUJI Yoshinori - - * util/grub-install.in (grubdir_device): New variable. - If GRUBDIR_DEVICE is not equal to ROOT_DEVICE, print an error - message and exit. - * README: Added a caution about Automake. - * TODO: Updated. Only the things that should be done until 0.6 - have one or more exclamations. Things with zero exclamation - will be done after 0.6 unless someone sends a patch for it. - -2000-01-05 OKUJI Yoshinori - - * grub/asmstub.c: Include the header shared.h after including - all the system headers, but not before. - (EXTENDED_MEMSIZE): Reduced to 3MB. - (grub_setjmp): New function. - (grub_longjmp): Likewise. - * grub/main.c: Include setjmp.h. - * stage2/asm.S (grub_setjmp): New function. Stolen from the - OSKit (which stole it from Mach). - (grub_longjmp): Likewise. - * stage2/shared.h [GRUB_UTIL] (grub_jmp_buf): New type. - [!GRUB_UTIL] (grub_jmp_buf): New macro. Defined as jmp_buf. - (grub_setjmp): Declared. - (grub_longjmp): Likewise. - (restart_env): Likewise. - * stage2/builtins.c (configfile_func): Use grub_longjmp instead - of invoking cmain again. - * stage2/stage2.c (restart_env): New variable. - (cmain): Call grub_setjmp first to initialize RESTART_ENV. - -2000-01-03 OKUJI Yoshinori - - * docs/multiboot.texi (Boot information format): Added the - descriptions about the fields "config_table" and - "boot_loader_name". - -1999-12-31 OKUJI Yoshinori - - * stage2/builtins.c (setup_func) [!NO_BUGGY_BIOS_IN_THE_WORLD]: - Specify the option `d', whether INSTALL_DRIVE is identical with - IMAGE_DRIVE or not. - * docs/user-ref.texi (Command-line-specific commands): Added a - caution about buggy BIOSes which don't pass a booting drive - properly. - - * docs/src2texi: Added an extra space into the first line, for - the portability issue. - - * docs/appendices.texi (Obtaining and Building GRUB): Update the - information on the ftp site and the CVS repository. - -1999-12-30 OKUJI Yoshinori - - * stage2/builtins.c (blocklist_func): New function. - (builtin_blocklist): New variable. - (builtin_table): Added a pointer to BUILTIN_BLOCKLIST. - * docs/user-ref.texi (Command-line-specific commands): Added a - description about the command "blocklist". - -1999-12-30 OKUJI Yoshinori - - * stage2/disk_io.c (grub_seek): New function. - * stage2/shared.h (grub_seek): Declared. - * stage2/boot.c (load_image): Use grub_seek instead of setting - FILEPOS to a new value directly. - * stage2/builtins.c (install_func): Likewise. - (testload_func): Likewise. - - * docs/grub.texi: Use a single direntry command for all the - entries instead of one per entry. - -1999-12-29 OKUJI Yoshinori - - * grub/asmstub.c (check_device) [__linux__]: Check if DEVICE is - a CD-ROM drive by the HDIO_GETGEO ioctl. If so, then return - zero. Reported by Pavel Roskin. - - * stage2/Makefile.am (nodist_noinst_DATA): Renamed to ... - (noinst_DATA): ... this. The primary DATA is `nodist' by - default, at least theoretically. Reported by Klaus Reichl. - - * stage2/bios.c (get_diskinfo): Set the LBA flag in GEOMETRY - only if bit 0 in DRP.FLAGS is set. Reported by Zack Weinberg - . - - From Pavel Roskin: - * grub/asmstub.c (init_device_map): Increase the number of - devices to be probed to 8 for IDE disks and 16 for SCSI - disks. Reported by Anton Anisimov . - -1999-12-06 Gordon Matzigkeit - - * README (DEVELOPERS): Change CVS location to subversions. - -1999-11-30 OKUJI Yoshinori - - * stage2/disk_io.c (real_open_partition): If SLICE_NO is greater - than or equal to PC_SLICE_MAX, skip any extended partition, when - searching for the right partition. Reported by Weil, Stefan 3732 - EPE-24 . - -1999-11-19 Gordon Matzigkeit - - * grub/asmstub.c (getkey): Stop immediately if we get an EOF. - - * stage2/stage2.c (cmain): Tell enter_cmdline to run forever. - (run_menu): Tell print_cmdline_message and enter_cmdline that we - won't run forever. - * stage2/cmdline.c (enter_cmdline): New argument, FOREVER, for - when ESC shouldn't allow an exit. Pass it to - print_cmdline_message. - (print_cmdline_message): Use new argument, FOREVER, to decide - whether to tell the user that ESC exits. - -1999-11-18 Gordon Matzigkeit - - * debian/rules (binary-arch): Don't strip or generate shared - library dependencies for /usr/sbin/grub-install, since it's a - script. - - * util/grub-install.in: Create safe temporary log files using - /bin/tempfile if it is executable. - -1999-11-17 Gordon Matzigkeit - - * stage1/Makefile.am (LDFLAGS): Consolidate multiple -Wl flags. - * stage2/Makefile.am (PRE_STAGE2_LINK): Likewise. - (START_LINK): Likewise. - (STAGE1_5_LINK): Likewise. - -1999-11-19 OKUJI Yoshinori - - * util/grub-install.in (debug): New variable. - (convert): If the device file does not exist, then emit an - error. Get the GRUB drive instead of the OS device. - If --debug is specified, then set $debug to yes. - If $debug is yes, run "set -x". - Make sure that stage1 and stage2 exist. - When checking for INSTALL_DEVICE, use "case" instead of "elif"s. - Make sure that $install_drive is not empty. - Likewise, make sure that $root_drive is not empty. - Any error message is redirected to the standard error. - -1999-11-19 Pavel Roskin - - * stage2/Makefile.am (noinst_DATA): Renamed to ... - (nodist_noinst_DATA): ... this. - * util/Makefile.am: sbin_SCRIPS -> sbin_SCRIPTS. - * util/grub-install.in: grub_dir -> grubdir. - Check if $grub_shell exists before running it. - (convert): Added a missing "test" after "if". - -1999-11-18 OKUJI Yoshinori - - * configure.in: Output grub-install. - * util/Makefile.am (sbin_SCRIPTS): New variable. - * util/grub-install.in: New file. - * docs/Makefile.am (man_MANS): Added grub-install.8. - [MAINTAINER_MODE] ($(srcdir)/grub-install.8): New target. - * docs/grub-install.8: New file. Generated by help2man. - * docs/user-ref.texi (Invoking grub-install): New chapter. - -1999-11-16 OKUJI Yoshinori - - From Pavel Roskin: - * stage1/stage1.S: Check for the API subset support bitmap - returned by INT 13 AH=48h, and jump to chs_mode if AH=42h is not - supported. - -1999-11-13 OKUJI Yoshinori - - * stage2/builtins.c (install_func): When using a Stage 1.5, set - CURRENT_DRIVE to SAVED_DRIVE and CURRENT_PARTITION to - SAVED_PARTITION if set_device fails. If CURRENT_DRIVE is equal - to SRC_DRIVE, then set CURRENT_DRIVE to 0xFF. We don't want to - embed any drive number whenever possible. - * stage2/disk_io.c (set_device) [STAGE1_5]: Always set - CURRENT_PARTITION to PARTITION. - -1999-11-13 OKUJI Yoshinori - - From Pavel Roskin: - * stage1/stage1.S (lba_mode): Jump to chs_mode if INT 13 AH=42h - fails. - -1999-11-12 OKUJI Yoshinori - - Do not use the device map file unless --device-map is specified. - - * grub/main.c (device_map_file): Set to 0. - (default_device_map_file): Removed. - (usage): Do not print DEFAULT_DEVICE_MAP_FILE. - * grub/asmstub.c (init_device_map): If DEVICE_MAP_FILE is NULL, - do not try to open the device map file. - Set FP to NULL by default. - * docs/grub.8: Regenerated. - -1999-11-11 Michael Hohmuth - - * stage2/boot.c (load_image): grub_close was called after - return, so exchange the order. - * stage2/stage1_5.c (cmain): Call grub_close after grub_read. - Set RET to the value returned by grub_read, and if RET is - non-zero, call chain_stage2. - * stage1/Makefile.am (BUILT_SOURCES): Removed. - (CLEANFILES): Set to $(nodist_pkgdata_DATA). - -1999-11-11 OKUJI Yoshinori - - Suggested by Klaus Reichl: - * stage2/builtins.c (print_root_device): New function. - (root_func): If no argument is specified, call the function - print_root_device and return. - (rootnoverify_func): Likewise. - * stage2/disk_io.c [!STAGE1_5] (print_completions): Call - print_error even if IS_FILENAME is zero. - If ERRNUM is non-zero, then return -1. - * stage2/char_io.c [!STAGE1_5] (get_cmdline): Clear ERRNUM after - calling print_completions to print the list as well. - - * stage2/asm.S [!STAGE1_5] (currticks): Set %eax to %cx:%dx - correctly. Reported by Michael Hohmuth. - -1999-11-06 Klaus Reichl - - * grub/asmstub.c (get_diskinfo) [__linux__]: After opening the - drive, flush the cache, other progs may have left over something - in the cache. - -1999-11-03 Gordon Matzigkeit - - * debian/rules: Add variables for cross-compilation. - - * debian/control (Standards-Version): Update to version 3.1.0. - * debian/rules (build): Install manpages into /usr/share/man, and - info into /usr/share/info in accordance with FHS. - (binary-arch): Likewise, and put docs into /usr/share/doc. - * debian/postinst: Use /usr/share/info, and manage compatibility - /usr/doc/grub -> /usr/share/doc/grub symlink. - * debian/prerm: Likewise. - - * stage2/Makefile.am (CLEANFILES): Change to - $(nodist_pkgdata_DATA) so that the raw binary files are deleted. - * stage1/Makefile.am (CLEANFILES): Likewise. - -1999-11-06 OKUJI Yoshinori - - * grub/asmstub.c (grub_putchar) [HAVE_LIBCURSES]: Do not call - wrefresh. This was just an accident. Sorry. - - Reported by Alan McLean : - * stage2/builtins.c (embed_func): The sector argument for the - function biosdisk is changed from SECTOR + I * SECTOR_SIZE to - SECTOR + I. - (find_func): Clear ERRNUM before each of the attempts. - -1999-11-05 OKUJI Yoshinori - - * docs/multiboot.texi (Boot information format): Add the members - `drives_addr' and `drives_count' into the Multiboot information - structure, and added the descriptions. - -1999-11-03 Gordon Matzigkeit - - * util/mbchk.c (main): Move the version number inside the - parentheses since it is the GRUB package version, not just an - mbchk-specific version. - -1999-10-30 Gordon Matzigkeit - - * debian/rules (binary-arch): Compress man pages. - Strip the grub shell. - Install examples. - -1999-11-03 OKUJI Yoshinori - - * docs/tutorial.texi: Fix typos by ispell. - * docs/user-ref.texi: Likewise. - * docs/prog-ref.texi: Likewise. - * docs/appendices.texi: Likewise. - -1999-11-03 OKUJI Yoshinori - - * stage2/fsys_ext2fs.c (struct ext2_dir_entry): Changed the type - of `name_len' to __u8 and added the new member `file_type' after - it. This is stolen from linux/ext2_fs.h in Linux 2.2.13. - Reported by Ben Harris . - - * stage2/builtins.c (device_func) [GRUB_UTIL]: Call - nul_terminate before calling check_device. - -1999-11-02 OKUJI Yoshinori - - * stage2/disk_io.c (real_open_partition): Check for the right - partition for any extended partition as well. Set EXT to I after - the check is done. Reported by Jeff Scheinberg - . - - * stage2/builtins.c (color_func): Use the function - nul_terminate. - (device_func) [GRUB_UTIL]: Likewise. - (help_func): Likewise. - (install_func): Save CURRENT_DRIVE, CURRENT_PARTITION and - BUG_GEOM in SRC_DRIVE, SRC_PARTITION and SRC_GEOM respectively, - and use them when patching the Stage 2. - NUL-terminate the configuration filename CONFIG_FILENAME. - If IS_STAGE1_5 is true, then check if the "real config file" - option is present, and, if so, patch the Stage 2 CONFIG_FILENAME - with the configuration filename REAL_CONFIG_FILENAME. - (setkey_func): Use nul_terminate instead of the local function - null_terminate. - * stage2/char_io.c [!STAGE1_5] (nul_terminate): New function. - * stage2/shared.h (nul_terminate): Declared. - -1999-11-01 OKUJI Yoshinori - - * docs/grub.texi: Add "I/O ports detection" into the menu. - * docs/user-ref.texi: Added a description about the command - "ioprobe". - * docs/prog-ref.texi (I/O ports detection): New chapter. - -1999-11-01 OKUJI Yoshinori - - From Pavel Roskin: - * stage2/asm.S (int1_handler): Use EXT_C(io_map) instead of - io_map. - (int1_handler): Use EXT_C(bios_key_map) instead of bios_key_map. - * grub/asmstub.c [__OpenBSD__]: Include and - . - [__OpenBSD__] (get_floppy_disk_name): Added support for OpenBSD. - [__OpenBSD__] (get_ide_disk_name): Likewise. - [__OpenBSD__] (get_scsi_disk_name): Likewise. - (get_drive_geometry) [__OpenBSD__]: Use for OpenBSD the same - ioctl as for NetBSD and FreeBSD. - -1999-10-31 OKUJI Yoshinori - - * grub/asmstub.c (init_device_map): Add a floppy device name - into the device map file even if check_device fails. - * stage2/char_io.c [!STAGE1_5] (get_cmdline): Clear ERRNUM after - calling print_completions. - -1999-10-29 OKUJI Yoshinori - - * stage2/asm.S (track_int13): Defined unconditionally. Do not - use int3 any more, but replace the int13 handler with - set_tf_int13_handler. - (int1_handler): Defined unconditionally. Do not check for 0x0F. - Add missing `$'s. If the code is 0xEC-0xEF, use %dx instead of - immediate. If the code is 0xE4-0xE7, use immediate instead of - %dx. Set %ds to zero before scanning IO_MAP. Check for the - buffer overrun of IO_MAP before adding a port. - [!DEFINE_TRACK_INT13] (int13_first_instruction): Removed. - [!DEFINE_TRACK_INT13] (int3_handler): Likewise. - (set_tf_int13_handler): New interrupt handler. - (set_tf_int13_offset): New variable. - (set_tf_int13_segment): Likewise. - * stage2/builtins.c (ioprobe_func): New function. - (builtin_ioprobe): New variable. - (builtin_table): Added a pointer to BUILTIN_IOPROBE. - * stage2/shared.h (IO_MAP_SIZE): New macro. - (track_int13): Declared. - (io_map): Likewise. - -1999-10-29 OKUJI Yoshinori - - * stage2/char_io.c (print_error) [!STAGE1_5]: Print "Error:" - before print the error message. - (print_error): Do not clear ERRNUM. - * stage2/cmdline.c (run_script): If ERRNUM is non-zero, set - ERRNUM to ERR_NONE. - (enter_cmdline): Clear ERRNUM after print_error. - -1999-10-28 OKUJI Yoshinori - - From Pavel Roskin: - * stage2/stage2.c (run_menu) [GRUB_UTIL]: Do not use IBM special - characters in the message, but use ascii names instead. - (run_menu) [!GRUB_UTIL]: Use DISP_UP and DISP_DOWN instead of - the ascii codes. - * stage2/shared.h [!ACS_ULCORNER] (ACS_ULCORNER): New macro. - [!ACS_ULCORNER] (ACS_URCORNER): Likewise. - [!ACS_ULCORNER] (ACS_LLCORNER): Likewise. - [!ACS_ULCORNER] (ACS_LRCORNER): Likewise. - [!ACS_ULCORNER] (ACS_HLINE): Likewise. - [!ACS_ULCORNER] (ACS_VLINE): Likewise. - [!ACS_ULCORNER] (ACS_LARROW): Likewise. - [!ACS_ULCORNER] (ACS_RARROW): Likewise. - [!ACS_ULCORNER] (ACS_UARROW): Likewise. - [!ACS_ULCORNER] (ACS_DARROW): Likewise. - [GRUB_UTIL] (DISP_UL): Set to ACS_ULCORNER. - [GRUB_UTIL] (DISP_UR): Set to ACS_URCORNER. - [GRUB_UTIL] (DISP_LL): Set to ACS_LLCORNER. - [GRUB_UTIL] (DISP_LR): Set to ACS_LRCORNER. - [GRUB_UTIL] (DISP_HORIZ): Set to ACS_HLINE. - [GRUB_UTIL] (DISP_VERT): Set to ACS_VLINE. - [GRUB_UTIL] (DISP_LEFT): Set to ACS_LARROW. - [GRUB_UTIL] (DISP_RIGHT): Set to ACS_RARROW. - [GRUB_UTIL] (DISP_UP): Set to ACS_UARROW. - [GRUB_UTIL] (DISP_DOWN): Set to ACS_DARROW. - -1999-10-28 OKUJI Yoshinori - - * stage2/builtins.c (keycode_func): Removed. - (builtin_keycode): Likewise. - (struct keysym): New structure. - (keysym_table): New variable. - (setkey_func): New function. - (builtin_setkey): New variable. - (builtin_table): Removed the pointer to BUILTIN_KEYCODE, and - added a pointer to BUILTIN_SETKEY. - * stage2/common.c [!STAGE1_5] (err_list): Added - ERR_BAD_ARGUMENT. - * stage2/shared.h (grub_error_t): Added ERR_BAD_ARGUMENT. - (KEY_MAP_SIZE): Set to 128. - (ascii_key_map): Declared. - * stage2/asm.S [!STAGE1_5] (remap_ascii_char): New function. - [!STAGE1_5] (ascii_key_map): New variable. - [!STAGE1_5] (getkey): Call remap_ascii_char after int16. - [!STAGE1_5] (checkkey): Likewise. - * grub/asmstub.c (ascii_key_map): New variable. - * docs/user-ref.texi (General commands): Added a description - about the command "setkey". - (Stage2 errors): Added a description about ERR_BAD_ARGUMENT. - -1999-10-27 OKUJI Yoshinori - - * stage2/disk_io.c (set_device) [!STAGE1_5]: Remove the - preliminary Mach-style device name support. I've decided that - the support is not necessary. - (setup_part) [!STAGE1_5]: Do not strip the leading "/dev/". - * docs/help2man: Upgraded to 1.016. - * docs/mbchk.1: Regenerated. - * docs/grub.8: Likewise. - * grub/asmstub.c: Rename KEY_MAP to BIOS_KEY_MAP. - - * stage2/asm.S [!STAGE1_5] (set_int15_handler): Use 0 instead of - the maximum number for the segment. - [!STAGE1_5] (unset_int15_handler): Likewise. - [!STAGE1_5] (int15_handler): Almost rewritten. If non-carrier, - ignore the scancode. If the scancode is E1 or E0, then set - INT15_SKIP_FLAG to 0x74, and if the previous scancode is E1 or - E0, set INT15_SKIP_FLAG to 0xea. Clear bit 7 in %dl. Save bit 7 - of %al in %bl. Do not lcall. Use ljmp instead. - [!STAGE1_5] (key_map): Renamed to ... - [!STAGE1_5] (bios_key_map): ... this. - * stage2/builtins.c (keycode_func): Check if FROM is greater - than 0xff instead of double-checking for TO. Use BIOS_KEY_MAP - instead of KEY_MAP. - * stage2/shared.h (KEY_MAP_SIZE): Set to 32. - (key_map): Removed. - (bios_key_map): Declared. - -1999-10-26 OKUJI Yoshinori - - Now the BIOS drive remapping is functional. - - * stage2/asm.S [DEFINE_TRACK_INT13] (track_int13): Use %edi - instead of direct addresses. - Prefix DATA32 to the calls for real_to_prot and prot_to_real. - Fix the address of DRIVE: 4(%ebp) -> 8(%ebp). - (set_int15_handler): Use %edi instead of direct addresses. - (unset_int15_handler): Likewise. - (set_int13_handler): Copy DRIVE_MAP_SIZE * 2 bytes instead of - DRIVE_MAP_SIZE bytes of MAP. - Fix the address of MAP: 4(%ebp) -> 8(%ebp). - Use %edi instead of direct addresses. - (int13_handler): Do not set %ds to %cs. Use the segment override - prefix of %cs instead. - Push the flags pushed by the callee instead of the current. - Set the flags in the stack to the flags returned by the original - int13 call. - (drive_map): 4bytes-aligned. - * stage2/disk_io.c (grub_close): Do not set ERRNUM even if - FSYS_TYPE is NUM_FSYS. - -1999-10-25 OKUJI Yoshinori - - * stage1/stage1.S: Long jump to real_start, because some bogus - BIOSes jump to 07C0:0000 instead of 0000:7C00. - (real_start): New label. - * docs/Makefile.am (grub.info): Removed. Use the default rule - instead. - -1999-10-25 OKUJI Yoshinori - - * stage2/asm.S [DEFINE_TRACK_INT13] (int3_handler): Save the - modified FLAGS in 6(%bp) instead of 4(%bp). - Decrease %bx before restoring the first instruction. - [DEFINE_TRACK_INT13] (track_int13): Go to the real mode before - setting up the registers for the int13 call. - -1999-10-24 OKUJI Yoshinori - - Add the prototype of a function to probe I/O ports used for a - BIOS drive. - - * stage2/asm.S [DEFINE_TRACK_INT13] (track_int13): New function. - [DEFINE_TRACK_INT13] (int1_handler): New interrupt handler for - the real mode. - [DEFINE_TRACK_INT13] (int3_handler): Likewise. - [DEFINE_TRACK_INT13] (io_map): New variable. - - * stage2/builtins.c (quit_func) [!GRUB_UTIL]: Fix a typo. - -1999-10-24 OKUJI Yoshinori - - The new GRUB manual becomes official. - - * docs/grub.texi: Replaced with new-grub.texi. - * docs/new-grub.texi: Removed. - * docs/Makefile.am (grub_TEXINFOS): New variable. - (UNFINISHED_MANUALS): Removed. - (EXTRA_DIST): Deleted $(UNFINISHED_MANUALS). - -1999-10-24 OKUJI Yoshinori - - * stage2/builtins.c (device_func) [!GRUB_UTIL]: Set ERRNUM to - ERR_UNRECOGINIZED and return 1. - (impsprobe_func) [GRUB_UTIL]: Likewise. - (quit_func) [!GRUB_UTIL]: Likewise. - * docs/tutorial.texi: Rename "Device Syntax" to "Filename". - Added many cross-references. - * docs/new-grub.texi: "Device Syntax" -> "Filename". - * docs/user-ref.texi: Fix typos and added some cross-references. - * docs/prog-ref.texi: Likewise. - * docs/appendices.texi: Likewise. - -1999-10-23 OKUJI Yoshinori - - * stage2/builtins.c (map_func): If BIOS_DRIVE_MAP already - contains FROM, override the existsing entry. - If TO is equal to FROM, delete the existing entry if any. - (keycode_func): Likewise. - * docs/user-ref.texi (Command): Use the list of `@deffn's - instead of @table. - (Basic usage): Use @option instead of @code. - (Invoking mbchk): Likewise. - -1999-10-23 OKUJI Yoshinori - - * stage2/asm.S [!STAGE1_5] (set_int15_handler): New function. - [!STAGE1_5] (unset_int15_handler): Likewise. - [!STAGE1_5] (int15_handler): New interrupt handler for the real - mode. - [!STAGE1_5] (int15_offset): New variable. - [!STAGE1_5] (int15_segment): Likewise. - [!STAGE1_5] (key_map): Likewise. - [!STAGE1_5] (set_int13_handler): Use the macro ABS for - INT13_OFFSET and INT13_SEGMENT. - * stage2/shared.h (KEY_MAP_SIZE): New macro. - (set_int15_handler): Declared. - (unset_int15_handler): Likewise. - * stage2/builtins.c (boot_func): Do not allow I to be equal to - DRIVE_MAP_SIZE. - Call unset_int15_handler unless KERNEL_TYPE is KERNEL_TYPE_NONE. - (map_func): Search for an empty slot till I is less than - DRIVE_MAP_SIZE. - Check if I is equal to DRIVE_MAP_SIZE instead of if I is greater - than DRIVE_MAP_SIZE. - (keycode_func): New function. - (builtin_keycode): New variable. - (builtin_table): Added a pointer to BUILTIN_KEYCODE. - * grub/asmstub.c (set_int15_handler): New function. - (unset_int15_handler): Likewise. - (key_map): New variable. - -1999-10-23 OKUJI Yoshinori - - From Michael Hohmuth : - * acconfig.h (HAVE_USCORE_USCORE_BSS_START_SYMBOL): Added the - `undef' entry. - (HAVE_EDATA_SYMBOL): Likewise. - (HAVE_USCORE_EDATA_SYMBOL): Likewise. - * acinclude.m4 (grub_CHECK_USCORE_USCORE_BSS_START_SYMBOL): New - function. - (grub_CHECK_EDATA_SYMBOL): Likewise. - (grub_CHECK_USCORE_EDATA_SYMBOL): Likewise. - * configure.in: Check for __bss, edata and _edata. - * netboot/Makefile.am (DRIVERS): Deleted ns8390.c and ns8390.h. - (libdrivers_a_LIBADD): New variable. - ($(libdrivers_a_LIBADD)): New target. - (nepci_o_CFLAGS): New variable. - (ne_o_CFLAGS): Likewise. - (wd_o_CFLAGS): Likewise. - (t503_o_CFLAGS): Likewise. - * netboot/fsys_tftp.c (tftp_close): New function. - * stage2/boot.c (load_image): Call grub_close before return. - (load_initrd): Likewise. - (load_module): Likewise. - * stage2/builtins.c (cat_func): Likewise. - (chainloader_func): Likewise. - (configfile_func): Likewise. - (embed_func): Likewise. - (find_func): Likewise. - (install_func): Set IS_OPEN to the value returned by grub_open. - If IS_OPEN is non-zero, call grub_close before return. - (setup_func): Call grub_close after grub_open. - (testload): Call grub_close before return. - * stage2/disk_io.c (fsys_table): Add the `close' member into - each of the entries. For TFTP, tftp_close is added, and for the - rest, NULL is added. - (grub_read): "|" -> "||". - (grub_close): New function. - * stage2/filesys.h [FSYS_TFTP] (tftp_close): Declared. - (struct fsys_entry): Added close_func. - * stage2/shared.h (grub_close): Declared. - * stage2/stage1_5.c (cmain): Call grub_close after grub_open. - * stage2/stage2.c (cmain): Clear ERRNUM after calling - find_command to just ignore the error code. - Call grub_close after loading the configuration file. - - * stage2/asm.S (main): Clean out the bss. - -1999-10-23 OKUJI Yoshinori - - * docs/new-grub.texi: Updated. - * docs/user-ref.texi: Likewise. - * docs/tutorial.texi: Likewise. - * docs/prog-ref.texi: Likewise. - * docs/appendices.texi: Likewise. - -1999-10-22 OKUJI Yoshinori - - * docs/prog-ref.texi: New file. - * docs/appendices.texi: Likewise. - * docs/Makefile.am (UNFINISHED_MANUALS): Added prog-ref.texi and - appendices.texi. - -1999-10-22 OKUJI Yoshinori - - * docs/user-ref.texi: New file. - * docs/Makefile.am (UNFINISHED_MANUALS): Added user-red.texi. - -1999-10-21 OKUJI Yoshinori - - Add BIOS drive remapping support for chain-loading some foolish - operating systems. - - * stage2/builtins.c (bios_drive_map): New variable. - (boot_func): If KERNEL_TYPE is KERNEL_TYPE_CHAINLOADER, check - if BIOS_DRIVE_MAP contains meaningful values. If so, search for - SAVED_DRIVE in BIOS_DRIVE_MAP and exchange SAVED_DRIVE with the - mapped drive if found. And then call set_int13_handler. - (map_func): New function. - (builtin_map): New variable. - (builtin_table): Added a pointer to BUILTIN_MAP. - * stage2/asm.S (ABS): New macro. - [!STAGE1_5] (set_int13_handler): New function. - [!STAGE1_5] (int13_handler): New interrupt handler for the real - mode. - [!STAGE1_5] (drive_map): New variable. - [!STAGE1_5] (int13_handler_end): New label used for just - computing the end address of int13_handler. - * stage2/shared.h (DRIVE_MAP_SIZE): New macro. - (set_int13_handler): Declared. - * grub/asmstub.c (set_int13_handler): New function. Do nothing. - -1999-10-20 OKUJI Yoshinori - - * stage2/builtins.c (find_func): Print only the device names. - * docs/tutorial.texi: New file. - * docs/Makefile.am (UNFINISHED_MANUALS): Added tutorial.texi. - (%.c.texi): Use $(SHELL) instead of /bin/sh. - (%.h.texi): Likewise. - (%.S.texi): Likewise. - -1999-10-20 OKUJI Yoshinori - - * stage2/char_io.c (memcheck): Fix the checks: "<=" -> "<". - Reported by Mike Hicks . - -1999-10-19 OKUJI Yoshinori - - * stage2/builtins.c (find_func): New function. - (builtin_find): New variable. - (hide_func): Save SAVED_DRIVE and SAVED_PARTITION to TMP_DRIVE - and TMP_PARTITION, respectively, and resotre them before return. - (unhide_func): Likewise. - (setup_func): Likewise. And set SAVED_DRIVE and SAVED_PARTITION - instead of CURRENT_DRIVE and CURRENT_PARTITION to IMAGE_DRIVE - and IMAGE_PARTITION before running install_func. - (builtin_table): Added a pointer to BUILTIN_FIND. - -1999-10-19 OKUJI Yoshinori - - * docs/Makefile.am (UNFINISHED_MANUALS): New variable. - (EXTRA_DIST): Added $(UNFINISHED_MANUALS). - * docs/new-grub.texi: New file. - -1999-10-19 OKUJI Yoshinori - - * docs/Makefile.am (man_MANS): Added mbchk.1. - [MAINTAINER_MODE] (mbchk.1): New target. - * docs/mbchk.1: New file. Generated by help2man. - -1999-10-18 OKUJI Yoshinori - - * Makefile.am (SUBDIRS): Added util. - * configure.in: Output util/Makefile. - * util/Makefile.am: New file. - * util/mbchk.c: Likewise. - * util/Makefile.in: Likewise. Generated by automake. - -1999-10-17 OKUJI Yoshinori - - * docs/Makefile.am (.texi): Canceled because the dependecies can - be circulated. - * stage2/builtins.c (embed_func): Set BUF_TRACK to -1 before - writing the Stage 1.5 to the disk to clear the cache. - -1999-10-17 OKUJI Yoshinori - - * stage2/boot.c (load_initrd): Change types of *RAMDISK and - MOVETO to unsigned long. - Apply the macro RAW_ADDR to MOVETO. - -1999-10-16 OKUJI Yoshinori - - * docs/multiboot.texi: Include the example source files of a - Multiboot kernel. - * docs/src2texi: New file. - * docs/boot.S: Likewise. - * docs/multiboot.h: Likewise. - * docs/kernel.c: Likewise. - * docs/boot.S.texi: Likewise. - * docs/multiboot.h.texi: Likewise. - * docs/kernel.c.texi: Likewise. - * docs/Makefile.am (EXAMPLES): New varilable. - (multiboot_TEXINFOS): Likewise. - (SRC2TEXI): Likewise. - (noinst_SCRIPTS): Added $(SRC2TEXI). - (EXTRA_DIST): Added $(EXAMPLES) and $(multiboot_TEXINFOS). - (%.c.texi): New target. - (%.h.texi): Likewise. - (%.S.texi): Likewise. - -1999-09-22 OKUJI Yoshinori - - * multiboot.texi (BIOS device mapping techniques): New section. - Stolen from bios_mapping.txt in grub-0.5. - (Data comparison technique): New subsection. - (I/O restriction technique): Likewise. - (Example OS code): Rewrited from scratch. - -1999-09-21 OKUJI Yoshinori - - * multiboot.texi: Rename Multiboot Standard to Multiboot - Specification and upgrade the version to 0.7. Many cleanups - are done. - -1999-10-15 OKUJI Yoshinori - - * stage2/builtins.c (setup_func): Save CURRENT_DRIVE and - CURRENT_PARTITION into IMAGE_DRIVE and IMAGE_PARTITION - respectively, and restore them before running install_func. - Use DEVICE instead of BUFFER to store the device name. - Change each type of STAGE1, STAGE2 and CONFIG_FILE to an array - of char. - If installing the Stage 1 into a MBR, embed the Stage 1.5 in the - sectors right after it. - Return the result of install_func instead of zero. - -1999-10-14 Pavel Roskin - - * configure.in: Check for opendisk in libutil. - * grub/asmstub.c [__FreeBSD__ || __NetBSD__]: Include - . - [HAVE_OPENDISK]: Include . - [__NetBSD__] (get_floppy_disk_name): Added support for NetBSD. - [__NetBSD__ && HAVE_OPENDISK] (get_ide_disk_name): Likewise. - [__NetBSD__ && HAVE_OPENDISK] (get_scsi_disk_name): Likewise. - (get_drive_geometry) [__NetBSD__]: Use for NetBSD the same ioctl - as for FreeBSD. - -1999-10-13 OKUJI Yoshinori - - * grub/asmstub.c (assign_device_name): If DEVICE is NULL, set - DEVICE_MAP[DRIVE] to NULL. - (get_diskinfo): If open or read fails, call assign_device_name - to disable accessing the drive DRIVE. - (grub_stage2): The device mapping routine is moved to ... - (init_device_map): ... here. This new function also reads/writes - a device map file. If DEVICE_MAP_FILE already exists, then use - the data in it instead of probing devices. Otherwise, guess the - map between BIOS drives and OS devices, and write it to the file - DEVICE_MAP_FILE if it can be opened. - * grub/main.c (device_map_file): New variable. - (default_device_map_file): Likewise. - (OPT_DEVICE_MAP): New macro. - (longopts): Added an entry for "device-map". - (usage): Print the usage about --device-map as well. - (main): Set DEFAULT_DEVICE_MAP_FILE to DEVICE_MAP_FILE. If - OPT_DEVICE_MAP is found, set DEVICE_MAP_FILE to a duplicated - string of OPTARG. - * stage2/shared.h [GRUB_UTIL] (device_map_file): Declared. - * docs/grub.8: Regenerated. - -1999-10-13 OKUJI Yoshinori - - * stage2/builtins.c (color_func): Do not set NORMAL_COLOR or - HIGHLIGHT_COLOR directly, but use NEW_NORMAL_COLOR and - NEW_HIGHLIGHT_COLOR as temporary storages instead. - New internal function `color_number' is used to convert a - symbolic color representation into a color number. - Try color_number at first, and if fails, then try - safe_parse_maxint for each of NORMAL and HIGHLIGHT. - (builtin_color): The long doc does not describe the raw number - syntax but the symbolic color name syntax. - * docs/grub.texi (Commands): Adjusted to the long doc of - BUILTIN_COLOR. - * docs/menu.lst: Add examples of "fallback" and "color". - -1999-10-13 OKUJI Yoshinori - - * stage2/char_io.c [!STAGE1_5] (get_cmdline): If C is a newline - or a return, then set LPOS to LLEN and call the function - cl_setcpos. - [!STAGE1_5] (grub_strncat): New function. - * stage2/builtins.c (embed_func): New function. - (builtin_embed): New varilable. - (setup_func): New function. - (builtin_setup): New varilable. - (builtin_table): Added a pointer to BUILTIN_EMBED and a pointer - to BUILTIN_SETUP. - * stage2/shared.h (grub_strncat): Declared. - - * stage2/Makefile.am (stage2_size.h): ../stage2/stage2 -> - pre_stage2. Reported by Pavel Roskin. - -1999-10-12 OKUJI Yoshinori - - From Pavel Roskin: - * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): main -> cmain. - * stage2/boot.c (load_image): Only CUR_ADDR, not ENTRY_ADDR - should be 1M-aligned for NetBSD. Don't align symbol table on 4k - boundaries if the kernel doesn't require it. - -1999-10-10 OKUJI Yoshinori - - * stage2/asm.S [!STAGE1_5] (start): New label to force ld quiet. - [!STAGE1_5] (_start): Likewise. - * stage2/builtins.c (install_func): Rewritten heavily almost - from scratch. As the blocklist was moved to the first sector of - Stage 2, always write sectors of Stage 2 to the disk. - * stage1/stage1.h (STAGE1_STAGE2_SECTOR): 0x40 -> 0x41. - (STAGE1_STAGE2_ADDRESS): 0x44 -> 0x45. - (STAGE1_STAGE2_SEGMENT): 0x46 -> 0x47. - (STAGE1_BOOT_DRIVE): 0x3f -> 0x40. - -1999-10-09 OKUJI Yoshinori - - Stage1 supports both the CHS mode and the LBA mode. - - * stage1/Makefile.am (nodist_pkgdata_DATA): Removed stage1_lba. - (BUILT_SOURCES): Deleted. - (CLEANFILES): Likewise. - (noinst_PROGRAMS): Removed stage1_lba.exec. - (stage1_exec_SOURCES): Removed stage2_size.h. - (stage2_size.h): Deleted. - (stage1_lba_exec_SOURCES): Likewise. - * stage1/stage1.S: Rewritten from scratch. - * stage1/stage1_lba.S: Deleted. - * stage1/stage1.h (COMPAT_VERSION_MAJOR): Set to 3. - (COMPAT_VERSION_MINOR): Set to 0. - (STAGE1_VER_MAJ_OFFS): Set to 0x3e. - (STAGE1_FIRSTLIST): Deleted. - (STAGE1_INSTALLSEG): Likewise. - (STAGE1_INSTALLADDR): Likewise. - (STAGE1_MINPARAMSIZE): Likewise. - (STAGE1_LISTSIZE): Likewise. - (STAGE1_ID_OFFSET): Likewise. - (STAGE1_ID_CHS): Likewise. - (STAGE1_ID_LBA): Likewise. - (STAGE1_STAGE2_SECTOR): New macro. - (STAGE1_STAGE2_ADDRESS): Likewise. - (STAGE1_STAGE2_SEGMENT): Likewise. - (STAGE1_BOOT_DRIVE): Likewise. - * stage2/start.S: New file. - * stage2/Makefile.am (noinst_DATA): New variable. - (CLEANFILES): Set to "$(nodist_pkgdata_DATA) $(noinst_DATA) - $(BUILT_SOURCES)". - (noinst_PROGRAMS): Removed stage2.exec, and added start.exec and - pre_stage2.exec. - (STAGE2_LINK): Deleted. - (PRE_STAGE2_LINK): New variable. - (START_LINK): Likewise. - (stage2_exec_SOURCES): Deleted. - (stage2_exec_CFLAGS): Likewise. - (stage2_exec_LDFLAGS): Likewise. - [NETBOOT_SUPPORT] (stage2_exec_LDADD): Likewise. - (pre_stage2_exec_SOURCES): New variable. - (pre_stage2_exec_CFLAGS): Likewise. - (pre_stage2_exec_LDFLAGS): Likewise. - [NETBOOT_SUPPORT] (pre_stage2_exec_LDADD): Likewise. - (BUILT_SOURCES): Likewise. - (start_exec_SOURCES): Likewise. - (start_exec_CFLAGS): Likewise. - (start_exec_LDFLAGS): Likewise. - (start_exec_DEPENDENCIES): Likewise. - (stage2_size.h): New rule. - (stage2): Likewise. - (e2fs_stage1_5_exec_SOURCES): Added start.S. - (fat_stage1_5_exec_SOURCES): Likewise. - (ffs_stage1_5_exec_SOURCES): Likewise. - (minix_stage1_5_exec_SOURCES): Likewise. - * stage2/asm.S (start): Renamed to ... - (main): ... this. - [STAGE1_5] (main): Jump to (codestart - EXT_C(main) + 0x2200) - instead of (codestart - EXT_C(start) + 0x2000). - [!STAGE1_5] (main): Jump to (codestart - EXT_C(main) + 0x8200) - instead of (codestart - EXT_C(start) + 0x8000). - [STAGE1_5] (chain_stage2): Use main instead of start. - * stage2/shared.h (BOOTSEC_LISTSIZE): New macro. - * stage2/stage1_5.c: Change the second argument for chain_stage2 - to 0x8200. - -1999-10-08 OKUJI Yoshinori - - * configure.in (--with-binutils): New option to specify a - directory to find binutils. - (CFLAGS): If WITH_BINUTILS is not empty, added the option `-B'. - (LD): Do not check for this. We don't use ld directly anyway. - (RANLIB): If WITH_BINUTILS is not empty, search the directory - WITH_BINUTILS first. - (OBJCOPY): Likewise. - * acinclude.m4 (grub_ASM_USCORE): Add CFLAGS into - AC_TRY_COMMAND. - (grub_ASM_ADDR32): Likewise. - (grub_ASM_PREFIX_REQUIREMENT): Likewise. - (grub_PROG_OBJCOPY_ABSOLUTE): Use CC instead of LD. - -1999-10-04 Pavel Roskin - - * stage2/freebsd.h (struct bootinfo): New member, bi_bios_dev. - * stage2/boot.c (bsd_boot): Set BI.BI_BIOS_DEV to SAVED_DRIVE. - -1999-10-04 OKUJI Yoshinori - - From Pavel Roskin: - * docs/grub.texi: Fix typos. - * stage2/builtins.c (install_func): Reformat the warning message - about the option `d'. - -1999-10-03 Gordon Matzigkeit - - * stage2/builtins.c (install_func): Fix check for the Stage 2 id. - From Pavel Roskin. - - * debian/Makefile.am (EXTRA_DIST): Add postinst and prerm. - -1999-10-03 OKUJI Yoshinori - - * stage2/builtins.c (boot_func): Pass MBI.CMDLINE instead of ARG - to bsd_boot. - -1999-10-03 OKUJI Yoshinori - - * stage2/gunzip.c (gunzip_test_header): Check if CURRENT_DRIVE - is 0x20 instead of if the fs type is TFTP, because GRUB does not - mount CURRENT_DRIVE when using a block file. Reported by Pavel - Roskin. - -1999-10-02 OKUJI Yoshinori - - * stage2/builtins.c (cat_func): Do not read the whole of a file - at one time. Instead, repeat reading one byte and print it on - the screen. - * docs/grub.texi (Command line): List the available key - bindings. - (Commands): Added descriptions about "geometry", "device" and - "cat". - -1999-10-02 OKUJI Yoshinori - - Now it is possible to build the grub shell with old BSD curses. - - * stage2/shared.h [!A_NORMAL] (A_NORMAL): Set to zero. - [!A_REVERSE && A_STANDOUT] (A_REVERSE): Set to A_STANDOUT. - [!A_REVERSE && !A_STANDOUT] (A_REVERSE): Set to zero. - -1999-09-30 Pavel Roskin - - * stage2/disk_io.c (set_bootdev): Mask 0x7F instead of 0x79 of - the device number. - -1999-10-01 OKUJI Yoshinori - - * configure.in (--without-curses): New option. If WITH_CURSES is - no, do not check for curses. - - * stage2/disk_io.c (set_device) [STAGE1_5]: Change the type of - DEV to unsigned long. - * stage2/builtins.c (install_func): Always check for the Stage 2 - id in FILE. - Reported by Pavel Roskin. - -1999-09-30 Gordon Matzigkeit - - * debian/postinst: New file to call install-info. - * debian/prerm: Likewise. - * debian/rules (binary-arch): Add postinst and prerm, compress the - info files, and call dpkg-shlibdeps. - - * stage2/cmdline.c (skip_to): Restructure, and count tabs as - whitespace. - (find_command): Likewise. - -1999-09-30 OKUJI Yoshinori - - * grub/getopt.c: Moved to ... - * lib/getopt.c: ... here. - * grub/getopt1.c: Moved to ... - * lib/getopt1.c: ... here. - * grub/getopt.h: Moved to ... - * lib/getopt.h: ... here. - * grub/Makefile.am (AM_CFLAGS): Added -I$(top_srcdir)/lib. - (grub_LDADD): Added ../lib/libcommon.a. - * lib/Makefile.am: New file. - * Makefile.am (SUBDIRS): Added lib. - * configure.in: lib/Makefile is added into the arguments for - AC_OUTPUT. - -1999-09-30 OKUJI Yoshinori - - From Pavel Roskin: - * stage2/defs.h (time_t): Renamed to ... - (mach_time_t): ... this. - (daddr_t): Renamed to ... - (mach_daddr_t): ... this. - (uid_t): Renamed to ... - (mach_uid_t): ... this. - (gid_t): Renamed to ... - (mach_gid_t): ... this. - (ino_t): Renamed to ... - (mach_ino_t): ... this. - * stage2/disk_inode.h (FFS_MAX_FASTLINK_SIZE): Use mach_daddr_t - instead of daddr_t. - (struct icommon): Use mach_uid_t, mach_gid_t, mach_time_t and - mach_daddr_t, instead of uid_t, gid_t, time_t and daddr_t. - * stage2/fs.h (BBLOCK): Use mach_daddr_t instead of addr_t. - (SBLOCK): Likewise. - (ROOTINO): Use mach_ino_t instead of ino_t. - (struct fs): Use mach_daddr_t and mach_time_t instead of daddr_t - and time_t. - (struct cg): Use mach_time_t instead of time_t. - (struct ocg): Likewise. - (cgbase): Use mach_daddr_t instead of daddr_t. - (itod): Likewise. - -1999-09-30 OKUJI Yoshinori - - * acinclude.m4 (grub_CHECK_START_SYMBOL): Use AC_TRY_LINK - instead of AC_TRY_COMMAND. - (grub_CHECK_USCORE_START_SYMBOL): Likewise. - (grub_CHECK_END_SYMBOL): Likewise. - (grub_CHECK_USCORE_END_SYMBOL): Likewise. - - * stage2/disk_io.c (set_device) [!STAGE1_5]: Use RESULT instead - of RETVAL to check if the analysis succeeds. - -1999-09-29 OKUJI Yoshinori - - * stage2/builtins.c (install_func): If the Stage 2 id in FILE is - not STAGE2_ID_STAGE2, set IS_STAGE1_5 to 1, otherwise to 0. - Use CONFIG_FILE_LOCATION to point to the location of the name of - a configuration file in Stage 2. - If the option `p' is present and IS_STAGE1_5 is non-zero, reset - the device information in CONFIG_FILE_LOCATION. - (cat_func): New function. - (builtin_cat): New variable. - (builtin_table): Added a pointer to BUILTIN_CAT. - (geometry_func): Call real_open_partition with the argument 1 - after printing out the drive information. - * stage2/disk_io.c (real_open_partition): Made global. - [!STAGE1_5] (print_completions): In the command completion and - the filename completion, print a newline at the last if - IS_COMPLETION is zero. - * stage2/shared.h (real_open_partition): Declared. - * stage2/fsys_ext2fs.c (ext2fs_dir): Do not print a newline even - if PRINT_POSSIBILITIES is less than zero. - * stage2/fsys_ffs.c (ffs_dir): Likewise. - * stage2/fsys_fat.c (fat_dir): Likewise. - * stage2/fsys_minix.c (minix_dir): Likewise. - -1999-09-29 OKUJI Yoshinori - - * stage1/stage1.S [!FFS_STAGE1_5] (blocklist_default_len): Do - not divide the size by 512, but shift the size to the right by - 9 instead, because of a binutils-2.9.1.0.x bug. - * stage1/stage1_lba.S [!FFS_STAGE1_5] (blocklist_default_len): - Likewise. - * stage2/builtins.c (install_func): When installing Stage 1.5, - if set_device returns NULL, then set CURRENT_DRIVE to 0xFF and - CONFIG_FILE to PTR. - -1999-09-26 OKUJI Yoshinori - - * stage2/char_io.c [!STAGE1_5] (get_cmdline): In cl_insert, call - cl_setcpos before printing BUF, even if LPOS is equal to LLEN. - In the completion, if RET is zero, do not call cl_init. - * stage2/disk_io.c [!STAGE1_5] (print_completions): In the - filename completion, if UNIQUE is 1, check if UNIQUE_STRING is a - directory or not. If so, append '/' to BUF. - In the partition completion, if IS_COMPLETION is non-zero and - *UNIQUE_STRING is not NUL, copy UNIQUE_STRING to PTR. Do not - append '/'. - (real_open_partition) [!STAGE1_5]: If DO_COMPRESSION is non-zero, - call print_a_completion. - (check_BSD_parts) [!STAGE1_5]: Likewise. - [!STAGE1_5] (print_a_completion): Ignore NAME if it is "." or - "..". - -1999-09-25 OKUJI Yoshinori - - * acinclude.m4 (grub_CHECK_USCORE_END_SYMBOL): Do not call - AC_DEFINE within AC_CACHE_VAL. Call it after AC_CACHE_VAL. - * stage2/Makefile.am (STAGE1_5_COMPILE): Do not define - CONFIG_FILE_ASM. - * stage2/asm.S (config_file) [STAGE1_5]: Set the first 4 bytes - to 0xffffffff and the following to "/boot/grub/stage2". - (config_file) [!STAGE1_5]: Set to "/boot/grub/menu.lst". - * stage2/builtins.c (install_func): Read a Stage 2 before - handling the `p' option. - If the `configfile' option is present and FILE is a Stage 2, - translate the device name to the internal device representation - and copy the result to STR. - * stage2/disk_io.c [STAGE1_5] (sane_partition): Eliminated. - [STAGE1_5] (incomplete): Likewise. - [STAGE1_5] (disk_choice): Likewise. - [STAGE1_5] (part_choice): Likewise. - (set_device) [STAGE1_5]: Assume that the first 4 bytes of DEVICE - is a device number. Set DRIVE to the forth byte of DEV and - PARTITION to the first 3 bytes of DEV. If DRIVE is 0xFF, set - CURRENT_DRIVE and CURRENT_PARTITION to SAVED_DRIVE and - SAVED_PARTITION, respectively. Otherwise set to DRIVE and - PARTITION, respectively. - (setup_part) [STAGE1_5]: Always call set_device. - -1999-09-24 OKUJI Yoshinori - - * acinclude.m4 (grub_CHECK_END_SYMBOL): Add a missing - double-quote. Reported by Johannes Kroeger - . - -1999-09-14 Gordon Matzigkeit - - * stage1/stage1.S (blocklist_default_start): New label for default - blocklist start sector. - (blocklist_default_len): New label for default blocklist length. - (blocklist_default_seg): New label for default blocklist segment. - * stage1/stage1_lba.S (blocklist_default_start): Likewise. - (blocklist_default_len): Likewise. - (blocklist_default_seg): Likewise. - -1999-09-23 OKUJI Yoshinori - - * acinclude.m4 (grub_ASM_ADDR32): First, create a template - source file "conftest.s.in", and then, replace @ADDR32@ with - "addr32" if GRUB_CV_ASM_PREFIX_REQUIREMENT is yes, otherwise, - replace it with "addr32;". Reported by John Tobey - . - -1999-09-23 OKUJI Yoshinori - - * stage2/builtins.c (debug_fs_print_func): Renamed to ... - (disk_read_print_func): ... this. - (fstest_func): Use DISK_READ_HOOK instead of DEBUG_FS. - (install_func): Rename debug_fs_savesect_func to - disk_read_savesect_func. - Rename debug_fs_blocklist_func to disk_read_blocklist_func. - Use DISK_READ_HOOK instead of DEBUG_FS. - (testload_func): Use DISK_READ_HOOK instead of DEBUG_FS. - * stage2/disk_io.c [!STAGE1_5] (debug_fs): Renamed to ... - [!STAGE1_5] (disk_read_hook): ... this. - [!STAGE1_5] (debug_fs_func): Renamed to ... - [!STAGE1_5] (disk_read_func): ... this. - (rawread) [!STAGE1_5]: Use DISK_READ_HOOK and DISK_READ_FUNC - instead of DEBUG_FS and DEBUG_FS_FUNC. - (grub_read) [!STAGE1_5]: Likewise. - (devread) [!STAGE1_5]: Use DISK_READ_HOOK instead of DEBUG_FS. - * stage2/fsys_ext2fs.c (ext2fs_read) [!STAGE1_5]: Use - DISK_READ_HOOK and DISK_READ_FUNC instead of DEBUG_FS and - DEBUG_FS_FUNC. - * stage2/fsys_ffs.c (ffs_read) [!STAGE1_5]: Likewise. - * stage2/fsys_minix.c (minix_read) [!STAGE1_5]: Likewise. - * stage2/shared.h [!STAGE1_5] (debug_fs): Renamed to ... - [!STAGE1_5] (disk_read_hook): ... this. - [!STAGE1_5] (debug_fs_func): Renamed to ... - [!STAGE1_5] (disk_read_func): ... this. - * docs/grub.texi: Likewise, replace debug_fs and debug_fs_func - with disk_read_hook and disk_read_func, respectively. - -1999-09-23 Pavel Roskin - - * stage2/builtins.c (install_func): New local function, - debug_fs_savesect_func. Use debug_fs_savesect_func to determine - the first sector of Stage2. Write Stage 1 after patching Stage - 2. - -1999-09-22 OKUJI Yoshinori - - * acinclude.m4 (grub_ASM_USCORE): Do not define HAVE_ASM_USCORE - within AC_CACHE_VAL. Define it after AC_CACHE_VAL if - GRUB_CV_ASM_USCORE is yes. - -1999-09-20 Edmund GRIMLEY EVANS - - * netboot/3c59x.c: INCLUDE_3c59x is replaced by INCLUDE_3C59X - throughout. - * netboot/config.c: Likewise. - * netboot/io.h (__INS): New macro. - (__OUTS): Likewise. - (outl): Likewise. - (inl): Likewise. - (outl_p): Likewise. - (inl_p): Likewise. - Call __INS with the argument `b', with `w' and with `l' to - define insb, insw and insl, respectively. Likewise, Call __OUTS - with `b', with `w' and with `l' to define outsb, outw and outl, - respectively. - * netboot/pci.h (PCI_VENDOR_ID_VORTEX): New macro. - (PCI_DEVICE_ID_VORTEX_3c595): Likewise. Defined as a random - value. - -1999-09-20 Edward Killips - - * stage2/disk_io.c (set_partition_hidden_flag): Set/clear the - hidden flag, whether the hidden flag is set or not. - -1999-09-21 OKUJI Yoshinori - - * stage2/builtins.c (install_func): Do not set DEBUG_FS at the - first read. Set it to DEBUG_FS_BLOCKLIST_FUNC when reading the - whole of Stage 2. Set FILEPOS to zero at the same time to read - from the beginning of Stage 2. Reported by Pavel Roskin. - -1999-09-20 OKUJI Yoshinori - - The argument ADDR for the command install is now optional. - - * stage2/builtins.c (install_func): If parsing ADDR fails, set - INSTALLADDR to zero and set PTR to ADDR. - If INSTALLADDR is zero after parsing the command-line, check if - the Stage 2 id is STAGE2_ID_STAGE2. If so, set INSTALLADDR to - 0x8000, otherwise set it to 0x2000. - Set the install address in the Stage 1 after the automatic - determination is completed. - (builtin_install): Say that ADDR is optional in the help - message. - * docs/grub.texi: Synchronize the description about install to - builtins.c. Remove explicit address arguments from all the - examples. Add a description about help. - * docs/menu.lst: Do not specify the address argument for - install. - -1999-09-19 OKUJI Yoshinori - - The completion code is heavily modified. - - * stage2/char_io.c [!STAGE1_5] (get_cmdline): In the completion - code, use COMPLETION_BUFFER to get the completion instead of - writing to BUF directly. - Save the position of a possible equal character after a command - in EQUAL_POS and replace the equal character with a space - temporarily for the code simplicity. - At first, just get completions, and, if there is more than one - completions, then print the list of the completions. - * stage2/disk_io.c [!STAGE1_5] (do_completion): New variable. - [!STAGE1_5] (unique): Moved the definition near the beginning. - [!STAGE1_5] (unique_string): Likewise. And changed the type to - char *. - (check_BSD_parts) [!STAGE1_5]: If DO_COMPLETION is non-zero, do - not print anything. - (real_open_partition) [!STAGE1_5]: Likewise. - [!STAGE1_5] (print_fsys_type): Likewise. - [!STAGE1_5] (print_a_completion): The argument FILENAME is - renamed to NAME. - If DO_COMPLETION is non-zero, get the unique part from NAME and - set UNIQUE_STRING to it. - If DO_COMPLETION is zero, just print NAME. - Do not call printf unconditionally. - [!STAGE1_5] (print_completions): Accept two arguements - IS_FILENAME and IS_COMPLETION instead of FILENAME. - Set UNIQUE_STRING to UNIQUE_BUF. - Set DO_COMPLETION to IS_COMPLETION and set it to zero before - returning. - If IS_FILENAME is zero, then complete builtin commands and - return UNIQUE - 1. - Use BUF instead of FILENAME. - If IS_COMPLETION is non-zero, do not print anything. - Copy UNIQUE_STRING to PTR only if IS_COMPLETION and - *UNIQUE_STRING are non-zero. - * stage2/shared.h (COMPLETION_BUF): New macro. - (COMPLETION_BUFLEN): Likewise. - (UNIQUE_BUF): Likewise. - (UNIQUE_BUFLEN): Likewise. - (MENU_BUF): Set to UNIQUE_BUF + UNIQUE_BUFLEN. - (MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - UNIQUE_BUF. - (print_completions): Adjusted to the definition. - -1999-09-19 OKUJI Yoshinori - - * acinclude.m4 (grub_ASM_PREFIX_REQUIREMENT): Do not call - AC_DEFINE_UNQUOTEs within AC_CACHE_VAL. Define ADDR32 and DATA32 - after it. - (grub_CHECK_START_SYMBOL): Do not call AC_DEFINE within - AC_CACHE_VAL. Define HAVE_START_SYMBOL after it. - (grub_CHECK_USCORE_START_SYMBOL): Do not call AC_DEFINE within - AC_CACHE_VAL. Define HAVE_USCORE_START_SYMBOL after it. - (grub_CHECK_END_SYMBOL): Do not call AC_DEFINE within - AC_CACHE_VAL. Define HAVE_END_SYMBOL after it. - (grub_CHECK_USCORE_END_SYMBOL): Do not call AC_DEFINE within - AC_CACHE_VAL. Define HAVE_USCORE_END_SYMBOL after it. - -1999-09-17 Pavel Roskin - - * acconfig.h (ADDR32): Removed. This entry is automatically - created by autoheader. - (DATA32): Likewise. - * acinclude.m4 (grub_ASM_ADD32): Use ADDR32 instead of addr32. - Require grub_ASM_PREFIX_REQUIREMENT. - (grub_ASM_PREFIX_REQUIREMENT): Define ADDR32 and DATA32. - * configure.in: Call grub_ASM_PREFIX_REQUIREMENT before - grub_ASM_ADDR32. Do not define ADDR32 and DATA32. - * stage1/stage1.S (after_BPB): Use ABS(firstlist) instead of - firstlist. - (MSG): Use ABS(x) instead of x. - (probe_loop): Use the macro MSG for fd_probe_error_string. - * stage1/stage1_lba.S (after_BPB): Use ABS(firstlist) instead of - firstlist. - (MSG): Use ABS(x) instead of x. - * stage2/asm.S (putchar): Renamed to ... - (grub_putchar): ... this. - -1999-09-18 OKUJI Yoshinori - - * stage2/gunzip.c (reset_linalloc): Use the macro RAW_ADDR - before setting LINALLOC_TOPADDR. - * stage2/shared.h [!GRUB_UTIL] (RAW_ADDR): Added parenthesises - to avoid a gcc warning. - [!GRUB_UTIL] (RAW_SEG): Likewise. - -1999-09-18 OKUJI Yoshinori - - * acinclude.m4 (grub_CHECK_START_SYMBOL): New function. - (grub_CHECK_USCORE_START_SYMBOL): Likewise. - (grub_CHECK_END_SYMBOL): Likewise. - (grub_CHECK_USCORE_SYMBOL): Likewise. - * configure.in: Call grub_CHECK_START_SYMBOL and - grub_CHECK_USCORE_START_SYMBOL, and if neither start nor _start - is defined, print an error message and exit. - Likewise, call grub_CHECK_END_SYMBOL and - grub_CHECK_USCORE_END_SYMBOL, and if neither end nor _end is - defined, print an error message and exit. - * acconfig.h (HAVE_START_SYMBOL): Added the "undef" entry. - (HAVE_USCORE_START_SYMBOL): Likewise. - (HAVE_END_SYMBOL): Likewise. - (HAVE_USCORE_END_SYMBOL): Likewise. - * stage2/char_io.c (memcheck): Rename the argument START to - ADDR. Added two missing equal characters. - [GRUB_UTIL]: Define new local functions start_addr and end_addr. - [GRUB_UTIL && HAVE_START_SYMBOL]: The function start_addr - returns START. - [GRUB_UTIL && HAVE_USCORE_START_SYMBOL]: The function start_addr - returns _START. - [GRUB_UTIL && HAVE_END_SYMBOL]: The function end_addr returns - END. - [GRUB_UTIL && HAVE_USCORE_END_SYMBOL]: The function end_addr - returns _END. - [GRUB_UTIL]: If ADDR is equal to or greater than the address - returned by start_addr, and ADDR plus LEN is less than the - address returned by end_addr, return ! ERRNUM. - * stage2/asm.S (get_code_end) [HAVE_END_SYMBOL]: Use $end as the - end of the bss. - [HAVE_USCORE_END_SYMBOL]: Use $_end as the end of the bss. - * stage2/disk_io.c [!STAGE1_5] (cur_part_desc): Made static. - Need not to be global any longer. - -1999-09-17 OKUJI Yoshinori - - * stage2/char_io.c [!STAGE1_5] (get_cmdline): The argument - COMPLETION is renamed to READLINE. - Do not initialize KILL here. - TAB, C-a, C-e, C-f, C-b, C-u, C-k, C-y, C-p and C-n are handled - only if READLINE is non-zero. - If ECHO_CHAR is not NUL, do not remove the leading spaces in BUF. - Add CMDLINE into the history list only if READLINE is non-zero. - * stage2/stage2.c (cmain): Initialize the kill buffer. - -1999-09-17 OKUJI Yoshinori - - Killing, yanking and manipulating the history are supported. - - * stage2/shared.h (cur_cmdline): Removed. - (MAX_CMDLINE): Moved near the beginning of the file. - (NEW_HEAPSIZE): Likewise. - (CMDLINE_BUFLEN): Set to MAX_CMDLINE. - (KILL_BUF): New macro. - (KILL_BUFLEN): Likewise. - (HISTORY_BUF): Likewise. - (HISTORY_SIZE): Likewise. - (HISTORY_BUFLEN): Likewise. - (MENU_BUF): Set to HISTORY_BUF + HISTORY_BUFLEN. - (MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - HISTORY_BUF. - (strcpy): New macro. - (grub_strcpy): Delared. - * stage2/boot.c (cur_cmdline): Removed. - * stage2/char_io.c [!STAGE1_5] (grub_strcpy): New function. - [!STAGE1_5] (get_history): Likewise. - [!STAGE1_5] (add_history): Likewise. - [!STAGE1_5] (get_cmdline): Use BUF instead of CMDLINE for the - working buffer for the command-line. - A new function cl_insert is used to insert a string to the - command-line. - In the case where C-u or C-k is pressed, copy the string being - deleted to KILL. - If C-y is pressed, insert KILL to the command-line. - If C-p is pressed, fetch the previous command from the history - list HISTORY, and if C-n is pressed, fetch the next command from - it. - If LPOS is less than LLEN, add CMDLINE into the history list. - If C is equal to KEY_UP, set C to 16, and if C is equal to - KEY_DOWN, set C to 14. - [!STAGE1_5] (num_history): New variable. - -1999-09-15 OKUJI Yoshinori - - * stage2/size_test: Do not check for the size of Stage 2. - * stage1/Makefile.am (stage2_size.h): Use `set' and `echo' - instead of awk, since we cannot expect awk is present. Remove - stage2_size.h before creating it. - -1999-09-15 Pavel Roskin - - * Makefile.am (SUBDIRS): Put stage1 after stage2 so that stage2 - is built before stage1. - * stage1/Makefile.am (BUILT_SOURCES): New varilable. - (CLEANFILES): Added BUILT_SOURCES. - (stage1_exec_SOURCES): Added stage2_size.h. - (stage1_lba_exec_SOURCES): Likewise. - (stage2_size.h): New rule. - * stage1/stage1.S: Include and use STAGE2_SIZE - to determine how much number of sectors to be read when loading - Stage 2. - * stage1/stage1_lba.S: Likewise. - -1999-09-15 OKUJI Yoshinori - - * netboot/config.h: Moved to ... - * netboot/netboot_config.h: ... here. - * netboot/config.c: Include netboot_config.h instead of config.h. - * netboot/fsys_tftp.c: Likewise. - * netboot/ip.c: Likewise. - * netboot/Makefile.am (libdrivers_a_SOURCES): Removed config.h - and added netboot_config.h. - -1999-09-14 Pavel Roskin - - * grub/asmstub.c [__linux__]: On GLibc 2.0 and newer use lseek, - don't include and define BLKFLSBUF if needed. - -1999-09-14 OKUJI Yoshinori - - Now the grub shell works fine on FreeBSD. A patch by Pavel - Roskin is modified and applied. - - * grub/asmstub.c (get_drive_geometry): New function. - (get_diskinfo): Use get_drive_geometry to set the geometry of - DRIVE. - -1999-09-14 OKUJI Yoshinori - - * configure.in (--enable-ne): Made the description more clear. - (--enable-nepci): Likewise. - (--enable-wd): Likewise. - (--enable-t503): Likewise. - (--enable-t509): Likewise. - (--enable-3c59x): Likewise. - (--enable-lance): Likewise. - (--enable-cs): Likewise. - (--enable-eepro100): Likewise. - (--enable-wd-default_mem): Renamed to ... - (--enable-wd-default-mem): ... this. - (--enable-cs-scan): Corrected the description. - (NETBOOT_SUPPORT): Defined if NET_CFLAGS is not empty. - * stage2/Makefile.am (stage2_exec_LDADD): Defined only if - NETBOOT_SUPPORT is true. - * netboot/Makefile.am (LIBDRIVERS): New variable. If - NETBOOT_SUPPORT is true, set to libdriver.a, otherwise set to an - empty string. - (noinst_LIBRARIES): Set to LIBDRIVERS. - (DRIVERS): Added 3c509.h, cs89x0.h and ns8390.h. - (libdrivers_a_SOURCES): Added byteorder.h, config.h, if.h, io.h, - ip.h, netboot.h, netdevice.h, nic.h and pic.h. - (libdrivers_a_CFLAGS): Added -fno-builtin and -nostdinc and - removed -O2. - * stage2/char_io.c (grub_sprintf): Added parenthesises to avoid - gcc warnings. - * stage2/gunzip.c (gunzip_test_header): Check if FSYS_TYPE is - TFTP. If so, set IS_TFTP to non-zero, otherwise to zero. And, - use IS_TFTP to check if we have GZIP_CRC instead of the equation - "FILEMAX == 16 * 1024 * 1024". - -1999-09-13 Edmund GRIMLEY EVANS - - The netboot support in the Dresden version of GRUB is integrated. - - * Makefile.am (SUBDIRS): Added netboot. - * configure.in (--enable-tftp): New option. - (--enable-ne): Likewise. - (--enable-nepci): Likewise. - (--enable-wd): Likewise. - (--enable-t503): Likewise. - (--enable-t509): Likewise. - (--enable-3c59x): Likewise. - (--enable-lance): Likewise. - (--enable-cs): Likewise. - (--enable-eepro100): Likewise. - (--enable-ne-scan): Likewise. - (--enable-wd-default_mem): Likewise. - (--enable-cs-scan): Likewise. - (NET_CFLAGS): New variable. - (NET_EXTRAFLAGS): Likewise. - Do AC_OUTPUT for netboot/Makefile as well. - * stage1/stage1.S: Set the number of sectors for Stage 2 to 130. - * stage1/stage1_lba.S: Likewise. - * stage2/Makefile.am (stage2_exec_LDADD): Added - ../netboot/libdrivers.a. - * stage2/asm.S [!STAGE1_5] (currticks): New function. - * stage2/char_io.c [!STAGE1_5] (grub_sprintf): Likewise. - [!STAGE1_5] (grub_memcmp): Likewise. - * stage2/disk_io.c (fsys_table) [FSYS_TFTP]: Added an entry for - tftp. - (sane_partition) [!STAGE1_5]: If CURRENT_DRIVE is a network - drive, return 1. - (real_open_partition) [!STAGE1_5]: Likewise. - (set_device): If DEVICE contains a network drive, set - CURRENT_DRIVE to 0x20. - * stage2/filesys.h [FSYS_TFTP] (FSYS_TFTP_NUM): Defined as 1. - [!FSYS_TFTP] (FSYS_TFTP_NUM): Defined as 0. - (NUM_FSYS): Added FSYS_TFTP_NUM. - * stage2/gunzip.c (gunzip_test_header): If FILEMAX >= 16MB, do - not try to examine the last 8 bytes of the file. This is - required for compressed files by TFTP. - * stage2/shared.h (sprintf): New macro. - (memcmp): Likewise. - (currticks): Declared. - (grub_sprintf): Likewise. - (grub_memcmp): Likewise. - * stage2/size_test: Set the maximum size of Stage 2 to 66560. - * netboot/3c509.c: New file. - * netboot/3c509.h: Likewise. - * netboot/3c59x.c: Likewise. - * netboot/Makefile.am: Likewise. - * netboot/Makefile.in: Likewise. - * netboot/byteorder.h: Likewise. - * netboot/compile: Likewise. - * netboot/config.c: Likewise. - * netboot/config.h: Likewise. - * netboot/cs89x0.c: Likewise. - * netboot/cs89x0.h: Likewise. - * netboot/eepro100.c: Likewise. - * netboot/fsys_tftp.c: Likewise. - * netboot/if.h: Likewise. - * netboot/io.h: Likewise. - * netboot/ip.c: Likewise. - * netboot/ip.h: Likewise. - * netboot/lance.c: Likewise. - * netboot/netboot.h: Likewise. - * netboot/netdevice.h: Likewise. - * netboot/nic.h: Likewise. - * netboot/ns8390.c: Likewise. - * netboot/ns8390.h: Likewise. - * netboot/pci.c: Likewise. - * netboot/pci.h: Likewise. - -1999-09-13 OKUJI Yoshinori - - * configure.in (--enable-maintainer-mode): Do not use our own - rule, but use AM_MAINTAINER_MODE instead. If the maintainer mode - is enabled, then check for perl, and if it is not found, print - an error message and abort. - * docs/Makefile.am (grub.8): Regenerated if MAINTAINER_MODE is - defined, instead of GRUB_MAINT. Use the variable PERL rather - than running help2man directly. - -1999-09-13 Pavel Roskin - - * stage2/pc_slice.h (IS_PC_SLICE_TYPE_EXTENDED): New macro. - * stage2/disk_io.c (real_open_partition): Use - IS_PC_SLICE_TYPE_EXTENDED instead of comparing CURRENT_SLICE - with the extended partition types. - -1999-09-11 Pavel Roskin - - * acconfig.h: New file for autoheader support. - * acinclude.m4 (grub_ASM_EXT_C) Renamed to ... - (grub_ASM_USCORE): ... this. Define HAVE_ASM_USCORE if a C - symbol gets an underscore after compiling to assembler. - * configure.in: Added AM_CONFIG_HEADER. Autoconf 2.13 is now - required. Test for wgetch(), not getch() in -l[n]curses. - * stage2/shared.h (EXT_C): Defined. - Include the best existing header for [n]curses. - -1999-09-12 OKUJI Yoshinori - - * stage2/boot.c (load_image): Use CURRENT_DRIVE and - CURRENT_PARTITION instead of SAVED_DRIVE and SAVED_PARTITION for - the boot device in the Multiboot information. Reported by - Stephen Early . - -1999-09-12 OKUJI Yoshinori - - * stage2/disk_io.c (sane_partition) [STAGE1_5]: Defined. - (set_device): Use sane_partition to make sure that CURRENT_DRIVE - has a valid value. Reported by Pavel Roskin. - -1999-09-11 OKUJI Yoshinori - - From Pavel Roskin: - * stage2/builtins.c (device_func) [GRUB_UTIL]: Use check_device - in order to make sure that DEVICE exists. - * grub/asmstub.c (check_device): New function. - (grub_stage2): Use check_device to probe a device. - - * stage2/builtins.c (geometry_func) [GRUB_UTIL]: Copy the - modified geometry to GEOM and reset BUF_DRIVE. Reported by Pavel - Roskin. - - * grub/main.c (no_floppy): New variable. - (probe_second_floppy): Likewise. - (OPT_NO_FLOPPY): New macro. - (OPT_PROBE_SECOND_FLOPPY): Likewise. - (longopts): Added no-floppy and probe-second-floppy. - (usage): Added the descriptions about --no-floppy and - --probe-second-floppy. - (main): Handle OPT_PROBE_SECOND_FLOPPY and OPT_NO_FLOPPY. - * grub/asmstub.c (grub_stage2): Print a message before the probe - routine. If NO_FLOPPY is non-zero, do not probe any floppy drive. - If PROBE_SECOND_FLOPPY is zero, skip the probe of the second - floppy drive. - (get_floppy_disk_name): New function. - (get_ide_disk_name): Likewise. - (get_scsi_disk_name): Likewise. - -1999-09-10 OKUJI Yoshinori - - * stage2/builtins.c (device_func): New function. - (builtin_device): New variable. - (builtin_table): Added the pointer to BUILTIN_DEVICE. - (builtin_geometry) [GRUB_UTIL]: Accept extra arguments, - CYLINDER, HEAD, SECTOR and TOTAL_SECTOR, and, if they are found, - set the geometry of a drive specified to them. - * grub/asmstub.c (disks): Made global. - (assign_device_name): New function. - -1999-09-09 Gordon Matzigkeit - - * docs/grub.texi (Commands): Synchronize descriptions with - builtins.c. - - * stage2/builtins.c (hide_func): Use set_partition_hidden_flag. - (unhide_func): Likewise. - Many help message cleanups. From Pavel Roskin. - - * stage2/shared.h (set_partition_hidden_flag): Declare. - - * stage2/disk_io.c (set_partition_hidden_flag): New function - merged from hide_partition and unhide_partition. Make sure we OR - with the inverse of the flag bit rather than XORing to unhide the - partition. - -1999-09-10 OKUJI Yoshinori - - * grub/asmstub.c (_FILE_OFFSET_BITS): Defined. - (biosdisk) [!__linux__]: Pass the offset argument as off_t - instead of int to lseek, and compare the return value with - OFFSET. Reported by Pavel Roskin. - (grub_stage2) [!__linux__ && !__GNU__]: Print a warning message. - -1999-09-08 OKUJI Yoshinori - - * stage2/stage2.c (run_menu): If run_script is successfully - finished, break the loop. Reported by Pavel Roskin. - Do not wait an input character when FALLBACK_ENTRY is less than - zero. - * stage2/cmdline.c (run_script): If ERRNUM is non-zero, wait an - input character, whether FALLBACK is less than zero or not. - -1999-09-06 OKUJI Yoshinori - - * stage2/builtins.c (configfile_func): New function. - (builtin_configfile): New variable. - (builtin_table): Added the pointer to BUILTIN_CONFIGFILE. - -1999-09-06 OKUJI Yoshinori - - From Pavel Roskin: - * stage2/asm.S [!STAGE1_5] (chain_stage2): Deleted. - [STAGE1_5] (get_code_end): Likewise. - * stage2/char_io.c (grub_strncat): Likewise. - * stage2/common.c [STAGE1_5] (saved_mem_upper): Likewise. - * stage2/smp-imps.c (imps_release_cpus): Likewise. - (imps_any_new_apics): Made static. - (imps_enabled): Likewise. - (imps_num_cpus): Likewise. - (imps_lapic_addr): Likewise. - (imps_cpu_apic_map): Likewise. - (imps_apic_cpu_map): Likewise. - -1999-09-06 OKUJI Yoshinori - - * stage2/builtins.c (testload_func): Fix the typos: 0x2000000 -> - 0x200000 and 0x3000000 -> 0x300000. - -1999-09-06 OKUJI Yoshinori - - From Hisazumi Kenji : - * stage2/fsys_ffs.c (mapblock_offset): New variable. - (mapblock_bsize): Likewise. - (MAPBUF): New macro. - (MAPBUF_LEN): Likewise. - (ffs_mount): Set MAPBLOCK_OFFSET to -1. - (block_map): Added partial read support. - -1999-09-06 OKUJI Yoshinori - - * stage2/cmdline.c (find_command): If COMMAND is less than - (*BUILTIN)->NAME in dictionary order, break the loop. - * stage2/builtins.c (builtin_chainloader): Capitalize the - variable name in the short doc. - (builtin_color): Likewise. - (builtin_geometry): Likewise. - (builtin_help): Likewise. - (builtin_hide): Likewise. - (builtin_initrd): Likewise. - (builtin_install): Likewise. - (builtin_kernel): Likewise. - (builtin_module): Likewise. - (builtin_modulenounzip): Likewise. - (builtin_pause): Likewise. - (builtin_read): Likewise. - (builtin_root): Likewise. - (builtin_testload): Likewise. - (builtin_unhide): Likewise. - (builtin_uppermem): Likewise. - -1999-09-05 OKUJI Yoshinori - - The internal of the command handling is heavily modified, and - a new command "help" is added. - - * stage1/stage1.S: Set the number of sectors for Stage 2 to 110. - * stage1/stage1_lba.S: Likewise. - * stage2/builtins.c: New file. - * stage2/Makefile.am (libgrub_a_SOURCES): Added builtins.c. - (stage2_exec_SOURCES): Likewise. - * stage2/boot.c (load_image): Return kernel_t instead int. - (bsd_boot): Change the type of the first argument to kernel_t. - * stage2/char_io.c (get_cmdline): Do not accept the argument - COMMANDS and accept the argument COMPLETION. - Print completions only if COMPLETION is non-zero. - Print the list of short docs when the command is completed. - * stage2/cmdline.c [GRUB_UTIL]: Do not include apic.h and - smp-imps.h. - (fallback): Deleted. - (password): Likewise. - (debug): Likewise. - (normal_color): Likewise. - (highlight_color): Likewise. - (print_cmdline_message): New function. - (commands): Deleted. - (debug_fs_print_func): Likewise. - (installaddr): Likewise. - (installlist): Likewise. - (installsect): Likewise. - (debug_fs_blocklist_func): Likewise. - (find_command): New function. - (init_cmdline): Initialize the data for the command-line - interface. The function to print the message is moved to - print_cmdline_message. - (enter_cmdline): Rewritten from scratch. Now deal with only the - pure command-line and the function to deal with a menu entry is - moved to run_script. - (run_script): New function. - * stage2/shared.h (PASSWORD_BUF): New macro. - (PASSWORD_BUFLEN): Likewise. - (CMDLINE_BUF): Likewise. - (CMDLINE_BUFLEN): Likewise. - (MENU_BUF): Likewise. - (MENU_BUFLEN): Likewise. - (fallback): Deleted. - (fallback_entry): Declared. - (default_entry): Likewise. - (BUILTIN_CMDLINE): New macro. - (BUILTIN_MENU): Likewise. - (BUILTIN_TITLE): Likewise. - (struct builtin): New tag. - (builtin_table): Declared. - (cmdline_t): Deleted. - (kernel_t): New type. - (kernel_type): Declared. - (grub_timeout): Likewise. - (init_builtins): Likewise. - (init_config): Likewise. - (find_command): Likewise. - (print_cmdline_message): Likewise. - (run_script): Likewise. - [!STAGE1_5] (bsd_boot): Deleted. - [!STAGE1_5] (load_image): Likewise. - [!STAGE1_5] (load_module): Likewise. - [!STAGE1_5] (load_initrd): Likewise. - * stage2/size_test: Set the maximum size of Stage 2 to 56320. - * stage2/stage2.c (grub_timeout): Deleted. - (menu_t): Likewise. - (run_menu): Changed the return type to void. - Use FALLBACK_ENTRY instead of FALLBACK. - Do not check the return value of enter_cmdline. - (run_menu) [GRUB_UTIL]: Call stop instead of returning - MENU_ABORT. - (cmain): Set MENU_ENTRIES to MENU_BUF. - Call init_config instead of clearing the variables directly. - Use CMDLINE_BUF for the command-line buffer instead of the - stack. - Adapted the analysis routine for the configuration file to the - new builtin commands interface. - Run enter_cmdline forever. - If run_menu returns, restart the loop. - -1999-09-04 Pavel Roskin - - * docs/menu.lst: More meaningful examples. Not using (0x80,0) - notation anymore. - * stage2/stage2.c (run_menu): Erase the entered password before - get_cmdline(). Help on TAB disabled when entering the password. - * stage2/char_io.c (get_cmdline): Restore command-line even if - there is no help string. - * configure.in: --disable-gunzip disables decompression in - stage2. - * stage2/gunzip.c [NO_DECOMPRESSION]: Disable all code if - decompression is disabled. - -1999-09-03 OKUJI Yoshinori - - * stage2/boot.c (load_image): Use PHDR->P_PADDR instead of - PHDR->P_VADDR. Reported by Ramon van Handel . - -1999-09-03 OKUJI Yoshinori - - * docs/help2man: Upgraded to 1.013. - * docs/grub.8: Regenerated. - -1999-09-02 Pavel Roskin - - * stage2/cmdline.c (enter_cmdline) [GRUB_UTIL]: Add a space in - the LBA warning message. - -1999-09-02 OKUJI Yoshinori - - The character `=' after a command is now optional. - - * stage2/char_io.c (get_cmdline): Search for a space or a equal - character after the first word in CMDLINE when TAB lists - completions, instead of just searching for a eqaul character. - * stage2/cmdline.c (skip_to): Treat the character `=' as a space - if AFTER_EQUAL is non-zero. - (commands): Delete all the equal characters. - * docs/menu.lst: Likewise. - * docs/grub.texi: Likewise. - -1999-09-01 OKUJI Yoshinori - - * grub/asmstub.c (env_for_exit): New variable. - (grub_stage2): Do a setjmp in doit, and when it returns - non-zero, set STATUS to 1 if ERRNUM is non-zero. - (stop): Call longjmp instead of exit. - -1999-08-31 Pavel Roskin - - * stage2/boot.c [GRUB_UTIL] (bsd_boot_entry): New function. - (bsd_boot) [GRUB_UTIL]: Set ENTRY_ADDR to BSD_BOOT_ENTRY to fake - the *BSD boot. - -1999-08-31 OKUJI Yoshinori - - * stage2/fsys_fat.c (fat_create_blocklist): Cast FAT_BUF to - unsigned short * instead of unsigned long *. Suggested by Pavel - Roskin. - -1999-08-30 OKUJI Yoshinori - - From Edward Killips : - * stage2/cmdline.c (commands): Added hide and unhide. - (enter_cmdline): Likewise. - * stage2/disk_io.c (unhide_partition): New function. - (hide_partition): Likewise. - * stage2/pc_slice.h (PC_SLICE_TYPE_HIDDEN_FLAG): New macro. - -1999-08-29 OKUJI Yoshinori - - From Pavel Roskin : - * stage2/fsys_minix.c (namelen): New variable. - (MINIX_NAME_LEN): Deleted. - (minix_mount): Set NAMELEN to 14 if SUPRTBLOCK->S_MAGIC is - MINIX_SUPER_MAGIC, and set NAMELEN to 30 if it is - MINIX_SUPER_MAGIC2. - (minix_dir): Use NAMELEN instead of MINIX_NAME_LEN. - -1999-08-29 Pavel Roskin - - * grub/Makefile.am, stage1/Makefile.am, stage2/Makefile.am: - Avoid using variables inclosed in '@' because they cannot be - overridden at the make time. - -1999-08-29 Pavel Roskin - - * stage2/fsys_fat.c (fat_create_blocklist): Return 1 for the - root directory on FAT12 and FAT16. - -1999-08-27 OKUJI Yoshinori - - * stage2/boot.c (load_image): Accept two arguments, KERNEL and - ARG. And use them instead of CUR_CMDLINE. - (load_module): Accept two arguments, MODULE and ARG. And use - them instead of CUR_CMDLINE. - (load_initrd): Accept one argument, INITRD. And use it instead - of CUR_CMDLINE. - (bsd_boot): Accept one additional argument, ARG. And use it - instead of CUR_CMDLINE. - * stage2/cmdline.c (enter_cmdline): Use MB_CMDLINE instead of - HEAP for the Multiboot command-line buffer. - * stage2/shared.h (MB_CMDLINE_BUF): New macro. - (MB_CMDLINE_BUFLEN): Likewise. - -1999-08-26 OKUJI Yoshinori - - * docs/Makefile.am [GRUB_MAINT] (grub.8): The argument for the - option --name is changed to "the grub shell". - * docs/grub.8: Regenerated. - * docs/grub.texi: Do not use the name "the Stage 2 emulator" any - more. Use the name "the grub shell" instead. - -1999-08-26 OKUJI Yoshinori - - From Klaus Reichl : - * stage2/fsys_minix.c: New file. - * stage2/size_test: Added a check for the size of minix_stage1_5. - * stage2/Makefile.am (libgrub_a_SOURCES): Added fsys_minix.c. - (libgrub_a_CFLAGS): Added -DFSYS_MINIX=1. - (nodist_pkgdata_DATA): Added minix_stage1_5. - (noinst_PROGRAMS): Added minix_stage1_5.exec. - (stage2_exec_SOURCES): Added fsys_minix.c. - (minix_stage1_5_exec_SOURCES): New variable. - (minix_stage1_5_exec_CFLAGS): Likewise. - (minix_stage1_5_exec_LDFLAGS): Likewise. - * stage2/pc_slice.h (PC_SLICE_TYPE_MINIX): New macro. - * stage2/disk_io.c (fsys_table) [FSYS_MINIX]: Added minix entry. - * stage2/filesys.h [FSYS_MINIX] (FSYS_MINIX_NUM): Set to 1. - [!FSYS_MINIX] (FSYS_MINIX_NUM): Set to 0. - [!NUM_FSYS] (NUM_FSYS): Added FSYS_MINIX_NUM. - * stage2/shared.h (STAGE2_ID_MINIX_STAGE1_5): New macro. - [STAGE1_5 && FSYS_MINIX] (STAGE2_ID): Set to - STAGE2_ID_MINIX_STAGE1_5. - * grub/Makefile.am (AM_CFLAGS): Added -DFSYS_MINIX=1. - * configure.in (--disable-minix): New option. - -1999-08-25 OKUJI Yoshinori - - From Jochen Hoenicke : - * stage2/fat.h (FAT_BPB_FAT_SECTORS_16): New macro. - (FAT_BPB_FAT_SECTORS_32): Likewise. - (FAT_BPB_IS_FAT32): Likewise. - (FAT_BPB_ROOT_DIR_CLUSTER): Likewise. - (FAT_BPB_FAT_SECTORS): If FAT_BPB_FAT_SECTORS_16 returns - a non-zero value, return it. Otherwise return - FAT_BPB_FAT_SECTORS_32. - (FAT_DIRENTRY_FIRST_CLUSTER): Corrected. - * stage2/fsys_fat.c (root_dir): New variable. - (fat_mount): Use the macro IS_PC_SLICE_TYPE_FAT instead of - checking for each fs types directly. - Omit the >64 sectors check. - If the current fs type is FAT32, then set FAT_SIZE to 8 and - get the root from BPB. - (fat_create_blocklist): Use the macro SECTOR_SIZE instead of a - magic number. - (fat_dir): Set MAP to ROOT_DIR instead of -1. - * stage2/pc_slice.h (PC_SLICE_TYPE_FAT32): New macro. - (PC_SLICE_TYPE_FAT32_LBA): Likewise. - (PC_SLICE_TYPE_FAT16_LBA): Likewise. - (IS_PC_SLICE_TYPE_FAT): Likewise. - -1999-08-25 OKUJI Yoshinori - - * stage2/fsys_ffs.c (ffs_mount): Do not shift the fs type - FS_BSDFFS. Reported by Takehiro Suzuki - . - * stage2/fsys_fat.c (fat_mount): Do not shift the fs type - FS_MSDOS. - -1999-08-13 OKUJI Yoshinori - - Pavel Roskin's patch that adds new options to disable arbitrary - filesystems is heavily modified and applied. - - * configure.in (--disable-ext2fs): New option. - (--disable-fat): Likewise. - (--disable-ffs): Likewise. - (FSYS_CFLAGS): New variable. Set to filesystems the user choose. - * grub/Makefile.am (AM_CFLAGS): Added -DFSYS_EXT2FS=1, - -DFSYS_FAT=1 and -DFSYS_FFS=1. - * stage2/Makefile.am (libgrub_a_CFLAGS): Likewise. - (stage2_exec_CFLAGS): Added @FSYS_CFLAGS@. - * stage2/filesys.h - [!(FSYS_FFS || FSYS_FAT || FSYS_EXT2FS)] (FSYS_FFS): Deleted. - [!(FSYS_FFS || FSYS_FAT || FSYS_EXT2FS)] (FSYS_FAT): Likewise. - [!(FSYS_FFS || FSYS_FAT || FSYS_EXT2FS)] (FSYS_EXT2FS): Likewise. - * stage2/fsys_ext2fs.c [!FSYS_EXT2FS]: Do not define anything. - * stage2/fsys_fat.c [!FSYS_FAT]: Likewise. - * stage2/fsys_ffs.c [!FSYS_FFS]: Likewise. - -1999-08-12 OKUJI Yoshinori - - * stage1/stage1_lba.S: Use STAGE1_DRP_ADDR for the address of - drive parameters instead of DRIVE_PARAMETER. - (drive_parameter): Deleted. - * stage1/stage1.h (STAGE1_DRP_ADDR): New macro. - (STAGE1_DRP_SIZE): Likewise. - -1999-08-11 OKUJI Yoshinori - - * stage2/bios.c (get_diskinfo): In LBA mode, set TOTAL_SECTORS - to the low 32bits of DRP.TOTAL_SECTORS instead of the multiple - of CHS. - * stage2/cmdline.c (enter_cmdline) [GRUB_UTIL]: In the command - "geometry", print the device file name instead of CHS/LBA - information. - * stage2/shared.h (device_map): Declared. - * grub/asmstub.c (device_map): Defined as a global variable - instead of a local variable. - -1999-08-10 OKUJI Yoshinori - - Support the NetBSD and OpenBSD partition slices. - - * stage2/pc_slice.h (PC_SLICE_TYPE_BSD): Deleted. - (PC_SLICE_TYPE_FREEBSD): New macro. - (PC_SLICE_TYPE_OPENBSD): Likewise. - (PC_SLICE_TYPE_NETBSD): Likewise. - (IS_PC_SLICE_TYPE_BSD_WITH_FS): Likewise. - (IS_PC_SLICE_TYPE_BSD): Likewise. - * stage2/fsys_ffs.c (ffs_mount): Use the macro - IS_PC_SLICE_TYPE_BSD_WITH_FS instead of checking if - CURRECT_SLICE is equal to the BSD partition type directly. - * stage2/fsys_ext2fs.c (ext2fs_mount): Likewise. - * stage2/fsys_fat.c (fat_mount): Likewise. - * stage2/disk_io.c (check_BSD_parts): Set the low bits of - CURRENT_SLICE to PC_SLICE_TYPE_FREEBSD instead of - PC_SLICE_TYPE_BSD. - (real_open_partition): Use the macro IS_PC_SLICE_TYPE_BSD instead - of checking if CURRENT_SLICE is equal to the BSD partition type - directly. - -1999-08-09 OKUJI Yoshinori - - * stage2/cmdline.c (commands): Added geometry. - (enter_cmdline): If CUR_HEAP has the string "geometry", print - out the information about a drive that the argument represents. - -1999-08-09 OKUJI Yoshinori - - * stage2/stage2.c (run_menu): Terminate the string PASSWORD - before checking if ENTERED is identical to PASSWORD. Reported - by Mark Lundeberg . - -1999-08-08 OKUJI Yoshinori - - * stage2/stage2.c (set_line_normal): New function. - (set_line_highlight): Likewise. - (run_menu): Do not call the function set_line directly any - longer, call set_line_normal and set_line_highlight instead. - - From Pavel Roskin: - * stage2/stage2.c (run_menu) [GRUB_UTIL]: Quit when pushing the - key `q'. - -1999-08-05 OKUJI Yoshinori - - * acinclude.m4 (grub_ASM_PREFIX_REQUIREMENT): New function. - * configure.in: Call grub_ASM_PREFIX_REQUIREMENT, and define - ADDR32 and DATA32 based on the result. - * stage2/asm.S: Replace addr32 and data32 prefixes with ADDR32 - and DATA32 respectively. - -1999-08-05 Pavel Roskin - - * stage2/boot.c (load_image): Use RAW_ADDR macro when loading - an a.out kernel. - -1999-08-04 OKUJI Yoshinori - - * stage2/asm.S: Make each of the addr32 and data32 prefixes - appear in the same line as it modifies, as the gas manual in - binutils-2.9.5.0.4 says "it must be in the same line". - -1999-08-04 OKUJI Yoshinori - - * boot.c (load_image): Fix a strcmp test. Reported by Pavel - Roskin . - -1999-08-03 OKUJI Yoshinori - - From "Dan J. Walters" : - * stage2/i386-elf.h (EI_BRAND): New macro. - * stage2/boot.c (load_image): If the kernel is ELF, check if it - is a FreeBSD kernel as well as a Multiboot kernel, and if it is - a FreeBSD kernel, then mask ENTRY_ADDR since FreeBSD requires - that. Likewise, mask MEMADDR. - (bsd_boot): Set the bi_symtab and the bi_esymtab members of BI - only if MBI.FLAGS has the flag MB_INFO_AOUT_SYMS. Otherwise, - clear them. - -1999-07-30 OKUJI Yoshinori - - From Pavel Roskin : - * grub/getopt.c: New file. Copied from texinfo-3.12n. - * grub/getopt1.c: Likewise. - * grub/getopt.h: Likewise. - * grub/Makefile.am (grub_SOURCES): Added getopt.c, getopt1.c and - getopt.h. - * configure.in: Check for string.h and strings.h. - * grub/asmstub.c (grub_stage2): Fix a misordering in the output - format of the inline assembly. - -1999-07-30 OKUJI Yoshinori - - From Pavel Roskin : - * stage2/asm.S (get_diskinfo_standard): If the number of sectors - returned is zero, then return an error code, even if non-carrier. - -1999-07-15 Gordon Matzigkeit - - * docs/Makefile.am (grub.info): Use an ugly hack to downgrade - grub.texi so that it works with Debian's version of texinfo. - -1999-07-26 OKUJI Yoshinori - - * stage2/bios.c (get_diskinfo): When DRIVE is a floppy drive, - try standard probe routine at first. Reported by Peter Astrand - . - - * grub/main.c (main): Call printf instead of grub_printf. - Reported by Klaus Reichl . - -1999-07-15 OKUJI Yoshinori - - * stage2/cmdline.c (skip_to): Don't increase CMDLINE if the - character to which CMDLINE points is NUL. - - * stage2/Makefile.am (EXTRA_DIST): Removed smp-imps.c. - (stage2_exec_SOURCES): Added smp-imps.c. - * stage2/cmdline.c [!GRUB_UTIL] (IMPS_DEBUG) (KERNEL_PRINT) - (CMOS_WRITE_BYTE) (CMOS_READ_BYTE) (PHYS_TO_VIRTUAL) - (VIRTUAL_TO_PHYS) (inb) (outb) (cmos_write_byte) - (cmos_read_byte): These are now defined in ... - * stage2/smp-imps.c (IMPS_DEBUG) (KERNEL_PRINT) - (CMOS_WRITE_BYTE) (CMOS_READ_BYTE) (PHYS_TO_VIRTUAL) - (VIRTUAL_TO_PHYS) (inb) (outb) (cmos_write_byte) - (cmos_read_byte): ... here. - * stage2/cmdline.c [!GRUB_UTIL]: Include apic.h and smp-imps.h. - -1999-07-14 OKUJI Yoshinori - - The function ungetch is simulated so that the user can use a - buggy curses. - - * grub/asmstub.c [HAVE_LIBCURSES] (save_char): New variable. - (getkey) [HAVE_LIBCURSES]: If SAVE_CHAR is not ERR, return - SAVE_CHAR and clear it. - (checkkey) [HAVE_LIBCURSES]: If SAVE_CHAR is not ERR, return - SAVE_CHAR. If C is not ERR, set SAVE_CHAR to C. - -1999-07-14 Pavel Roskin - - * stage2/char_io.c (get_cmdline) [GRUB_UTIL]: Recognize - backspace when ncurses fails to do this. - - * grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: Call wtimeout - instead of nodelay. - (getkey) [HAVE_LIBCURSES]: Likewise. - -1999-07-14 OKUJI Yoshinori - - * stage1/stage1_lba.S (probe_values): New variable. This is not - used actually, but prevents `install' command from failing - bogusly. - -1999-07-14 OKUJI Yoshinori - - All constants in stage1s are moved to stage1.h and renamed - appropriately, and include stage1.h instead. - - * grub/Makefile.am (AM_CFLAGS): Added the include path to stage1. - * stage2/Makefile.am (INCLUDES): New variable. - * stage1/Makefile.am (stage1_exec_SOURCES): Added stage1.h - (stage1_lba_exec_SOURCES): Likewise. - * stage1/stage1.h: New file. - * stage1/stage1.S (SIGNATURE): Renamed to ... - * stage1/stage1.h (STAGE1_SIGNATURE): ... this. - * stage1/stage1.S (BPBEND): Renamed to ... - * stage1/stage1.h (STAGE1_BPBEND): ... this. - * stage1/stage1.S (PARTSTART): Renamed to ... - * stage1/stage1.h (STAGE1_PARTSTART): ... this. - * stage1/stage1.S (MINPARMSIZ): Renamed to ... - * stage1/stage1.h (STAGE1_MINPARMSIZE): ... this. - * stage1/stage1.S (LISTSIZ): Renamed to ... - * stage1/stage1.h (STAGE1_LISTSIZE): ... this. - * stage1/stage1.S (REALSTACK): Renamed to ... - * stage1/stage1.h (STAGE1_STACKSEG): ... this. - * stage1/stage1.S (BUFFERSEG): Renamed to ... - * stage1/stage1.h (STAGE1_BUFFERSEG): ... this. - * stage1/stage1.S (BIOS_HD_FLAG): Renamed to ... - * stage1/stage1.h (STAGE1_BIOS_HD_FLAG): ... this. - * stage1/stage1_lba.S (SIGNATURE): Removed. - * stage1/stage1_lba.S (BPBEND): Likewise. - * stage1/stage1_lba.S (PARTSTART): Likewise. - * stage1/stage1_lba.S (MINPARMSIZ): Likewise. - * stage1/stage1_lba.S (LISTSIZ): Likewise. - * stage1/stage1_lba.S (REALSTACK): Likewise. - * stage1/stage1_lba.S (BUFFERSEG): Likewise. - * stage1/stage1_lba.S (BIOS_HD_FLAG): Likewise. - - * stage1/stage1.S (stage1_id): New variable. - * stage1/stage1_lba.S (stage1_id): Likewise. - * stage1/stage1.h (COMPAT_VERSION_MINOR): Set to 2. - (STAGE1_ID_OFFSET): New macro. - (STAGE1_ID_CHS): Likewise. - (STAGE1_ID_LBA): Likewise. - * stage2/cmdline.c (enter_cmdline) [!GRUB_UTIL]: When running - the command `install' and STAGE1_FILE is stage1_lba, check if - LBA is supported. - (enter_cmdline) [GRUB_UTIL]: In the same case above, check only - if CURRENT_DRIVE is a hard disk and, if so, print a warning - message, because /sbin/grub cannot detect if LBA is supported or - not. - - * stage1/stage1_lba.S: Fix a bug that incorrectly assigns the - segment of buffer address. - -1999-07-13 OKUJI Yoshinori - - * stage2/boot.c (load_image): When removing "vga=...", memmove - the length of VGA_END plus one. - -1999-07-12 OKUJI Yoshinori - - * stage2/bios.c (get_diskinfo): In LBA mode, compute - TOTAL_SECTORS from DRP instead of GEOMETRY. - Clear GEOMETRY->FLAGS first. - - * stage2/boot.c (load_image): Fix inverted lines. - -1999-07-12 OKUJI Yoshinori - - Support Linux video mode selection. - - * stage2/shared.h (LINUX_VID_MODE_OFFSET): New macro. - (LINUX_VID_MODE_NORMAL): Likewise. - (LINUX_VID_MODE_EXTENDED): Likewise. - (LINUX_VID_MODE_ASK): Likewise. - [!WITHOUT_LIBC_STUBS] (strlen): Likewise. - (grub_strlen): Declared. - * stage2/boot.c (load_image): Added Linux video mode selection. - * stage2/char_io.c [!STAGE1_5] (grub_strlen): New function. - -1999-07-12 OKUJI Yoshinori - - * stage2/char_io.c (print_error): Print ERRNUM in the format of - %u instead of %d. - (convert_to_ascii) [STAGE1_5]: Eliminate the `x' and `d' - handling code. - (grub_printf): Declare FORMAT as `const char *'. - (grub_printf) [STAGE1_5]: Eliminate the `x' and `d' handling - code. - (get_based_digit): Removed. - (safe_parse_maxint): Remove unnecessary `register' prefixes, - because GCC does better optimization. - Declare DIGIT as `unsigned int' and calculate the value by more - compact instructions. - [!STAGE1_5] (grub_strncat): Declare S2 as `const char *'. - [!STAGE1_5] (grub_strcmp): Declare S1 and S2 as `const char *'. - [!STAGE1_5] (grub_strstr): Likewise. - (grub_memmove): Declare FROM as `const char *'. - The copy code is replaced with inline assembly code stolen from - Linux-2.2.2. - - * stage2/shared.h (grub_printf) : Corrected. - (grub_strncat): Likewise. - (grub_memmove): Likewise. - (grub_strstr): Likewise. - (grub_strcmp): Likewise. - -1999-07-11 OKUJI Yoshinori - - * stage1/stage1.S (sectors): Change the size to long. - (heads): Likewise. - (sector_start): New variable. - (head_start): Likewise. - (cylinder_start): Likewise. - (final_init): Set %si to SECTORS first, and use %si for memory - references. - Zero %eax so that the high 16 bits are always zero. - Set %di to FIRSTLIST - LISTSIZ instead of FIRSTLIST. - (bootloop): Omit the complex CHS recomputation, and always - compute them from LBA address instead. - Call 32bits div instructions instead of 16bits div instructions. - Update the position where to load data from at the end of this - loop, instead of the beginning. - - * stage1/stage1_lba.S: New file. - * stage1/Makefile.am (nodist_pkgdata_DATA): Added stage1_lba. - (LDFLAGS): New variable. - (noinst_PROGRAMS): Added stage1_lba.exec. - (stage1_lba_exec_SOURCES): New variable. - (%: %.exec): New rule. - -1999-06-28 OKUJI Yoshinori - - * grub/main.c (main): The third argument for strtoul is changed - to 0 in the case where an option is OPT_INSTALL_PARTIION. - Reported by Pavel Roskin . - -1999-06-27 OKUJI Yoshinori - - * stage2/shared.h (STAGE2_STAGE2_ID): New macro. - (STAGE2_VER_STR_OFFS): Set to 0xd. - (STAGE2_ID_STAGE2): New macro. - (STAGE2_ID_FFS_STAGE1_5): Likewise. - (STAGE2_ID_E2FS_STAGE1_5): Likewise. - (STAGE2_ID_FAT_STAGE1_5): Likewise. - (STAGE2_ID) [!STAGE1_5]: Defined as STAGE2_ID_STAGE2. - (STAGE2_ID) [STAGE1_5] [FSYS_FFS]: Defined as - STAGE2_ID_FFS_STAGE1_5. - (STAGE2_ID) [STAGE1_5] [FSYS_EXT2FS]: Defined as - STAGE2_ID_STAGE1_5. - (STAGE2_ID) [STAGE1_5] [FSYS_FAT]: Defined as - STAGE2_ID_FAT_STAGE1_5. - (COMPAT_VERSION_MINOR): Set to 1. - * stage2/asm.S (stage2_id): New variable. - * stage1/stage1.S: Change the minor version to 1. - -1999-06-27 OKUJI Yoshinori - - * configure.in (CFLAGS): Set to "-g", since only this flag is - always sharable. - (STAGE1_CFLAGS): Set to "-O2", and AC_SUBST this. - (GRUB_CFLAGS): Likewise. - (saved_CFLAGS): New variable for temporarily saving CFLAGS. - (STAGE2_CFLAGS): Set to "-Os" if this option is available, - otherwise set to "-fno-strength-reduce -fno-unroll-loops", - and then AC_SUBST this. - * grub/Makefile.am (AM_CFLAGS): Prepended @GRUB_CFLAGS@. - * stage1/Makefile.am (AM_CFLAGS): Prepended @STAGE1_CFLAGS@. - * stage2/Makefile.am (libgrub_a_CFLAGS): Prepened @GRUB_CFLAGS@. - (STAGE2_COMPILE): Prepended @STAGE2_CFLAGS@. - - * stage2/asm.S (chain_stage2): Pass CURRENT_PARTITION and - CURRENT_DRIVE, instead of INSTALL_PARTITION and BOOT_DRIVE. - -1999-06-27 Pavel Roskin - - * configure.in: set CFLAGS to "-Os -g" for compilers which - understand "-Os" if CFLAGS is not already set. Use - "-O2 -fno-strength-reduce -fno-unroll-loops -g" for older gcc - versions. - -1999-06-25 OKUJI Yoshinori - - * stage2/disk_io.c (attempt_mount) [STAGE1_5]: Set FSYS_TYPE to - 0, and set it to NUM_FSYS if mount fails. - (real_open_partition): Call rawread in Stage 1.5 as well. - -1999-06-24 OKUJI Yoshinori - - * Makefile.am (SUBDIRS): Change the order of the directories so - that a directory will be made after the dependent directories - are made. `grub' depends on `stage2', and `docs' depends on - `grub'. Do not make in parallel. - * docs/help2man: Copied from help2man-1.012, which contains my - previous change. - * docs/grub.8: Regenerated. - -1999-06-24 OKUJI Yoshinori - - Build process is cleaned up. Stage 2 and Stage 1.5's are all - built in the directory stage2. - - From Pavel Roskin : - * Makefile.am (SUBDIRS): e2fs_stage1_5, ffs_stage1_5, - fat_stage1_5 and shared_src are removed. - (DISTCLEANFILES): Deleted. - * configure.in: Call AC_PROG_RANLIB. - (AC_INIT): Change the argument to stage2/stage2.c. - (LIBS): Renamed to ... - (GRUB_LIBS): ... this, and call AC_SUBST for this. - Our own rules are removed. - (AC_OUTPUT): e2fs_stage1_5/Makefile, ffs_stage1_5/Makefile, - fat_stage1_5/Makefile and shared_src/Makefile are removed. - * docs/Makefile.am (HELP2MAN): The prefix $(srcdir) is removed. - [GRUB_MAINT]: Prepend $(srcdir) to $(HELP2MAN). - * e2fs_stage1_5/Makefile.am: Deleted. - * e2fs_stage1_5/Makefile.in: Likewise. - * fat_stage1_5/Makefile.am: Likewise. - * fat_stage1_5/Makefile.in: Likewise. - * ffs_stage1_5/Makefile.am: Likewise. - * ffs_stage1_5/Makefile.in: Likewise. - * grub/Makefile.am (CLEANFILES): Likewise. - (COMPILE): Likewise. - (INCLUDES): Likewise. - (DEP_FILES): Likewise. - (@SHARED_SRC_RULES@): Likewise. - (AM_CFLAGS): New variable. - (grub_LDADD): Set to the library libgrub.a and @GRUB_LIBS@. - * shared_src/Makefile.am: Deleted. - * shared_src/Makefile.in: Likewise. - * shared_src/apic.h: Moved to ... - * stage2/apic.h: ... here. - * shared_src/asm.S: Moved to ... - * stage2/asm.S: ... here. - * shared_src/bios.c: Moved to ... - * stage2/bios.c: ... here. - * shared_src/boot.c: Moved to ... - * stage2/boot.c: ... here. - * shared_src/char_io.c: Moved to ... - * stage2/char_io.c: ... here. - * shared_src/cmdline.c: Moved to ... - * stage2/cmdline.c: ... here. - * shared_src/common.c: Moved to ... - * stage2/common.c: ... here. - * shared_src/defs.h: Moved to ... - * stage2/defs.h: ... here. - * shared_src/dir.h: Moved to ... - * stage2/dir.h: ... here. - * shared_src/disk_inode.h: Moved to ... - * stage2/disk_inode.h: ... here. - * shared_src/disk_inode_ffs.h: Moved to ... - * stage2/disk_inode_ffs.h: ... here. - * shared_src/disk_io.c: Moved to ... - * stage2/disk_io.c: ... here. - * shared_src/fat.h: Moved to ... - * stage2/fat.h: ... here. - * shared_src/filesys.h: Moved to ... - * stage2/filesys.h: ... here. - * shared_src/freebsd.h: Moved to ... - * stage2/freebsd.h: ... here. - * shared_src/fs.h: Moved to ... - * stage2/fs.h: ... here. - * shared_src/fsys_ext2fs.c: Moved to ... - * stage2/fsys_ext2fs.c: ... here. - * shared_src/fsys_fat.c: Moved to ... - * stage2/fsys_fat.c: ... here. - * shared_src/fsys_ffs.c: Moved to ... - * stage2/fsys_ffs.c: ... here. - * shared_src/gunzip.c: Moved to ... - * stage2/gunzip.c: ... here. - * shared_src/i386-elf.h: Moved to ... - * stage2/i386-elf.h: ... here. - * shared_src/imgact_aout.h: Moved to ... - * stage2/imgact_aout.h: ... here. - * shared_src/mb_header.h: Moved to ... - * stage2/mb_header.h: ... here. - * shared_src/mb_info.h: Moved to ... - * stage2/mb_info.h: ... here. - * shared_src/pc_slice.h: Moved to ... - * stage2/pc_slice.h: ... here. - * shared_src/shared.h: Moved to ... - * stage2/shared.h: ... here. - * shared_src/smp-imps.c: Moved to ... - * stage2/smp-imps.c: ... here. - * shared_src/smp-imps.h: Moved to ... - * stage2/smp-imps.h: ... here. - * shared_src/stage1_5.c: Moved to ... - * stage2/stage1_5.c: ... here. - * shared_src/stage2.c: Moved to ... - * stage2/stage2.c: ... here. - * stage1/Makefile.am (pkgdata_DATA): Renamed to ... - (nodist_pkgdata_DATA): ... this. - (COMPILE): Deleted. - (AM_CFLAGS): New variable. - * stage2/Makefile.am: Completely rewritten from scratch. - (TESTS): New variable. - (noinst_SCRIPTS): Likewise. - (noinst_HEADERS): Likewise. - (EXTRA_DIST): Set to smp-imps.c and $(noinst_SCRIPTS). - (noinst_LIBRARIES): New variable. - (libgrub_a_SOURCES): Likewise. - (libgrub_a_CFLAGS): Likewise. - (pkgdata_DATA): Deleted. - (nodist_pkgdata_DATA): New variable. - (MOSTLYCLEANFILES): Set to $(noinst_PROGRAMS). - (COMPILE): Deleted. - (INCLUDES): Likewise. - (stage2_exec_LDADD): Likewise. - (DEP_FILES): Likewise. - (stage2_exec_SOURCES): Set to the actual source files instead of - dummy. - (DISTFILES): Deleted. - (stage2.exec): Likewise. - (stage2): Likewise. - (@SHARED_SRC_RULES@): Likewise. - (noinst_PROGRAMS): Set to executable formats of Stage 2 and - Stage 1.5's. - (STAGE2_LINK): New variable. - (STAGE2_COMPILE): Likewise. - (STAGE1_5_LINK): Likewise. - (STAGE1_5_COMPILE): Likewise. - (stage2_exec_CFLAGS): Likewise. - (stage2_exec_LDFLAGS): Likewise. - (e2fs_stage1_5_exec_SOURCES): Likewise. - (e2fs_stage1_5_exec_CFLAGS): Likewise. - (e2fs_stage1_5_exec_LDFLAGS): Likewise. - (fat_stage1_5_exec_SOURCES): Likewise. - (fat_stage1_5_exec_CFLAGS): Likewise. - (fat_stage1_5_exec_LDFLAGS): Likewise. - (ffs_stage1_5_exec_SOURCES): Likewise. - (ffs_stage1_5_exec_CFLAGS): Likewise. - (ffs_stage1_5_exec_LDFLAGS): Likewise. - (% : %.exec): New rule. - - * stage2/size_test: New file, for checking for the sizes of - Stage 2 and Stage 1.5's. - -1999-06-24 OKUJI Yoshinori - - * stage1/stage1.S: Call testb instead of andb when checking if - the drive is a floppy. - -1999-06-23 OKUJI Yoshinori - - * grub/asmstub.c [__linux__]: Include linux/fs.h for BLKFLSBUF. - (grub_stage2): Call sync before and after calling doit. - (gurb_stage2) [__linux__]: Invalidate buffer caches by BLKFLSBUF - ioctl. - * grub/main.c (main): Call sync first. Suggested by Pavel Roskin - . - - * configure.in: Curses libraries are always checked. - (--enable-sbin-grub): Deleted. Now /sbin/grub is always built. - (--enable-maintainer-mode): New option. - * grub/Makefile.am (EXTRA_PROGRAMS): Deleted. - (sbin_PROGRAMS): Just set to grub. - * docs/Makefile.am (man_MANS): New variable. - (HELP2MAN): Likewise. - (noinst_SCRIPTS): Likewise. - (EXTRA_DIST): Add $(man_MANS) and $(noinst_SCRIPTS). - [GRUB_MAINT]: Define the rule for the /sbin/grub manual. - * docs/help2man: Copied from texinfo-3.12i. - (--section): New option to specify which section a manual - belongs to. - (opt_section): New variable. - (section): Likewise. - * docs/grub.8: Produced by help2man automatically. - -1999-06-22 OKUJI Yoshinori - - * shared_src/char_io.c (get_cmdline): Add two missing `break's. - - * shared_src/cmdline.c (commands): Add quit. - (enter_cmdline): Change the return type to cmdline_t, and return - CMDLINE_OK if successful, otherwise CMDLINE_ERROR if fail. - (enter_cmdline) [GRUB_UTIL]: Return CMDLINE_ABORT if CUR_HEAP - contains "quit". - [!GRUB_UTIL]: Just print an annotation message. - * shared_src/shared.h (cmdline_t): New enum type. - (enter_cmdline): Change the return type to cmdline_t. - (cmain): Remove ``noreturn'' attribute. - * shared_src/stage2.c (menu_t): New enum type. - (run_menu): Change the return type to menu_t. - If enter_cmdline returns CMDLINE_ABORT, then return MENU_ABORT, - otherwise return MENU_OK. - (cmain): If enter_cmdline aborts, then break the command-line - loop and return. If run_menu aborts, then return. - -1999-06-22 OKUJI Yoshinori - - * shared_src/Makefile.am (EXTRA_DIST): Add bios.c. Reported by - Pavel Roskin . - -1999-06-21 OKUJI Yoshinori +1999-06-21 OKUJI Yoshinori * docs/Makefile.am (html): Deleted. (txt): Likewise. @@ -8419,809 +247,7 @@ * docs/embedded_data.txt: Likewise. * docs/filesystem.txt: Likewise. -1999-06-21 OKUJI Yoshinori - - From Alexander K. Hudek : - * shared_src/disk_io.c (real_open_partition): Check if - CURRENT_SLICE is equal to PC_SLICE_TYPE_WIN95_EXTENDED as well. - * shared_src/pc_slice.c (PC_SLICE_TYPE_WIN95_EXTENDED): New - macro. - * shared_src/bios.c (biosdisk): Clear the reserved member of DAP. - -1999-06-08 OKUJI Yoshinori - - Color-menu support based on Peter Astrand - 's patch. - - * shared_src/asm.S (nocursor): New function. - * shared_src/cmdline.c (normal_color): New variable. - (highlight_color): Likewise. - (commands): Added "color" command. - (enter_cmdline): Handle the color command. - * shared_src/shared.h (normal_color): Declared. - (highlight_color): Likewise. - [!GRUB_UTIL] (nocursor): Likewise. - * shared_src/stage2.c (print_border) [!GRUB_UTIL]: Color the - menu. - (run_menu) [!GRUB_UTIL]: Call nocursor, and call set_line with - the second argument HIGHLIGHT_COLOR when highlighting a line, - and NORMAL_COLOR when drawing a normal line. - (cmain): Initialize normal_color and highlight_color. Handle - the color command in the same way as the command-line - interface. - -1999-06-07 OKUJI Yoshinori - - * e2fs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 31744. - * fat_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Likewise. - -1999-06-06 OKUJI Yoshinori - - The debug version of Stage 2 is removed. - - * shared_src/cmdline.c: The imps code is now defined if GRUB_UTIL - is not defined, but not if DEBUG. - (debug): New global variable. - (commands): All commands are always enabled, and added "debug". - (debug_fs_print_func): Defined unconditionally. - (debug_fs_blocklist_func): If DEBUG is true, then call printf. - (enter_cmdline): Handle "testload", "read", "fstest", - "impsprobe" and "displaymem" unconditionally, and added "debug" - handling. - [GRUB_UTIL]: If a command is impsprobe, just fails. - * shared_src/disk_io.c (devread) [!STAGE1_5]: If DEBUG_FS and - DEBUG are true, then call printf. - * shared_src/asm.S (patch_code): Defined unconditionally. - (patch_code_end): Likewise. - * stage1/stage1.S (firstlist) [!FFS_STAGE1_5]: Increase the - number of sectors to 90, because Stage 2 is larger than 80 - sectors. - * configure.in: The option --enable-debug is removed, and do - not output "stage2_debug/Makefile". - * Makefile.am (SUBDIRS): stage2_debug is removed. - * stage2_debug/Makefile.am: Deleted. - * stage2_debug/Makefile.in: Likewise. - -1999-06-02 OKUJI Yoshinori - - * grub/main.c (verbose): New variable. - (read_only): Likewise. - (OPT_VERBOSE): New macro. - (OPT_READ_ONLY): Likewise. - (longopts): Add --read-only and --verbose options. - (usage): Add the descriptions about --read-only and --verbose. - (main): Handle OPT_VERBOSE and OPT_READ_ONLY. - If HOLD and VERBOSE are non-zero, then display the message - about how to restart /sbin/grub. - - * shared_src/shared.h (verbose) [GRUB_UTIL]: Declared. - (read_only) [GRUB_UTIL]: Likewise. - - * grub/asmstub.c (hex_dump): New function. - (biosdisk): In the case where SUBFUNC is - BIOSDISK_WRITE, check for READ_ONLY and call nwrite if - READ_ONLY is zero. If VERBOSE is non-zero, display what GRUB - will try to do. - (get_diskinfo): Open DEVNAME with the mode O_RDWR if READ_ONLY - is zero, and attempt to open DEVNAME with the mode O_RDONLY - regardless of ERRNO if READ_ONLY is non-zero. If VERBOSE is - non-zero, then display the drive DRIVE and the file DEVNAME. - - * shared_src/disk_io.c (set_device) [STAGE1_5]: Eliminate - completion code. - -1999-06-01 OKUJI Yoshinori - - * grub/asmstub.c: Do not use I_AM_VERY_BRAVE any more. - (grub_stage2): Delete first_scsi_disk and add a variable - num_hd, which is used for counting how many drives are - detected. - Initialize the flags member of each element of disks to -1 - instead of 0, and check if it is equal to -1 instead of 0 when - close it. - (get_diskinfo): Treat -1 as non-caching state instead of 0. - -1999-06-01 OKUJI Yoshinori - - Reported from Klaus Reichl : - * docs/.cvsignore: New file. - * shared_src/disk_io.c (print_a_completion): New function - which saves what has been printed to UNIQUE_STRING and printf - it. - (unique) [!STAGE1_5]: New variable. - (unique_string): Likewise. - (print_completions): Use print_a_completion, and improve the - completion facility. - * shared_src/fsys_ext2fs.c (ext2fs_dir) [!STAGE1_5]: Use - print_a_completion instead of just printf. - * shared_src/fsys_ffs.c (ffs_dir) [!STAGE1_5]: Likewise. - * shared_src/fsys_fat.c (fat_dir) [!STAGE1_5]: Likewise. - * shared_src/shared.h (print_a_completion): Declared. - * shared_src/cmdline.c (enter_cmdline): Explicitly cast - int to pointer to char for grub_read. - * grub/asmstub.c (grub_stage2) [__linux__]: Don't use /dev/fd1. - Probe 4 IDE drives instead of 2. - (biosdisk) [__linux__]: Add a prototype for _llseek. - * shared_src/char_io.c (get_cmdline): Update LPOS and LLEN_OLD - when the functon print_completion modifies CMDLINE. - * shared_src/stage2.c (get_line_from_config): Fix LITERAL - handling. - -1999-05-25 OKUJI Yoshinori - - * grub/asmstub.c (grub_stage2): Fix a memory leak that FP is - not closed. - -1999-05-25 OKUJI Yoshinori - - * grub/main.c: Replace OPT_DISABLE_CONFIG_FILE and - OPT_DISABLE_CURSES with OPT_NO_CONFIG_FILE and OPT_NO_CURSES - respectively. - (longopts): Rename from "disable-config-file" to - "no-config-file", and from "disable-curses" to "no-curses". - (usage): Use "grub" instead of ARGV[0], read the standards. - Change the help message according to the changes above. - (main): Handle OPT_NO_CONFIG_FILE and OPT_NO_CURSES, instead - of OPT_DISABLE_CONFIG_FILE and OPT_DISABLE_CURSES. - -1999-05-21 OKUJI Yoshinori - - * docs/TODO: Moved to ... - * TODO: ... here. - * docs/BUGS: Moved to ... - * BUGS: ... here. - * docs/COPYING: Removed. - * docs/Makefile.am (EXTRA_DIST): Get rid of BUGS. - * Makefile.am (EXTRA_DIST): Set to BUGS. - -1999-05-17 OKUJI Yoshinori - - * acinclude.m4 (grub_ASM_EXT_C): Do not overrun the command - shift. Reported by Pavel Roskin . - 1999-05-14 OKUJI Yoshinori * docs/Makefile.am (info_TEXINFOS): Added multiboot.texi. * docs/multiboot.texi: New file. From Kunihiro Ishiguro. - -1999-05-12 OKUJI Yoshinori - - * grub/asmstub.c: Include . Reported by Kunihiro - Ishiguro . - -1999-05-11 OKUJI Yoshinori - - Reported by Brian Brunswick : - * shared_src/asm.S (start) [STAGE1_5]: Jump to 0x0:0x2000. - * shared_src/cmdline.c (enter_cmdline): Doesn't check for the jump - address in stage2. We are not paranoid. - Add a missing RAW_ADDR macro. - * shared_src/diskio.c (grub_open): Call setup_part even in stage1.5. - And, include necessary functions that were eliminated incorrectly. - * shared_src/char_io.c [STAGE1_5]: Eliminate unnecessary functions - for stage1.5. - - * grub/asmstub.c (nread): New function. Handle EINTR. - (nwrite): Likewise. - (biosdisk) [I_AM_VERY_BRAVE]: When SUBFUNC is BIOSDISK_WRITE, call - nwrite. - - Reported by Pavel Roskin : - * shared_src/fsys_ext2fs.c (off_t): Renamed to ... - (linux_off_t): ... this. - * shared_src/defs.h (off_t): Renamed to ... - (mach_off_t): ... this. - * shared_src/fs.h (BBOFF): Use mach_off_t instead of off_t. - (SBOFF): Likewise. - - * e2fs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 81920. - * fat_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Likewise. - * ffs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 7168. - -1999-05-03 Gordon Matzigkeit - - From Pavel Roskin: - * shared_src/shared.h: Redeclare. - - * grub/main.c (main): Use strncpy rather than pointer assignment - to set the config file name. - - * grub/asmstub.c: Make config_file a static array, not a pointer. - Correct the value of VERSION_STRING. - -1999-04-10 Gordon Matzigkeit - - * debian/rules (build): Install into /lib instead of /share. - -1999-05-03 OKUJI Yoshinori - - Preliminary non-interactive use support. - - * grub/main.c (use_config_file): New variable. - (use_curses): Likewise. - (OPT_DISABLE_CONFIG_FILE): New constant. - (OPT_DISABLE_CURSES): Likewise. - (OPT_BATCH): Likewise. - (longopts): Add new options, --disable-config-file, --disable-curses, - and --batch. - (usage): Print the help messages about these new options. - (main): Handle them. - - * grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: If ! USE_CURSES, - fallback non-curses code. - (stop) [HAVE_LIBCURSES]: Likewise. - (cls) [HAVE_LIBCURSES]: Likewise. - (getxy) [HAVE_LIBCURSES]: Likewise. - (gotoxy) [HAVE_LIBCURSES]: Likewise. - (grub_putchar) [HAVE_LIBCURSES]: Likewise. - (getkey) [HAVE_LIBCURSES]: Likewise. - (checkkey) [HAVE_LIBCURSES]: Likewise. - (set_attrib) [HAVE_LIBCURSES]: Likewise. - - * shared_src/cmdline.c (enter_cmdline): Do not use getc, but use - getkey. - - * shared_src/stage2.c (cmain) [GRUB_UTIL]: Check if USE_CONFIG_FILE - is non-zero or not. - - * shared_src/shared.h (getc): Removed. - (use_config_file) [GRUB_UTIL]: Add the declaration. - (use_curses) [GRUB_UTIL]: Likewise. - -1999-05-02 OKUJI Yoshinori - - * shared_src/asm.S (biosdisk_standard): Pop %ebp correctly, reported - by Pavel Roskin . - -1999-04-25 OKUJI Yoshinori - - * docs/menu.lst: Rewritten, so that it contains up-to-date - information and FAQish configuration examples. - -1999-04-09 OKUJI Yoshinori - - * shared_src/asm.S (get_diskinfo_floppy): Correct the number of heads - and the one of cylinders. - -1999-04-06 OKUJI Yoshinori - - * grub/asmstub.c (get_diskinfo): Compute the total number of sectors - for DRIVE. - - * shared_src/asm.S (get_diskinfo_standard): Clear the data segment - after calling int 0x13. Restore the base pointer after returning - to protected mode. - (get_diskinfo_floppy): Likewise. - - * shared_src/bios.c (get_diskinfo): Always set the size of DRP to - the max size of DRP, regardless of the major version of extensions. - -1999-04-03 OKUJI Yoshinori - - * shared_src/shared.h (struct geometry): Declare total_sectors as - unsigned long instead of unsigned long long, because GRUB represents - a sector number by 4bytes integer, so it doesn't make sense. - - * shared_src/bios.c (biosdisk) [!NO_INT13_FALLBACK]: Recompute - TOTAL_SECTORS according to CHS information. - (get_diskinfo) [DEBUG]: Print the geometry of DRIVE. - - * shared_src/disk_io.c (real_open_partition): Set PART_LENGTH to - BUF_GEOM.TOTAL_SECTORS. - -1999-04-01 OKUJI Yoshinori - - * docs/texinfo.tex: Copied from automake-1.4a. - - * configure.in (SHARED_SRC_RULES): Add bios into shared sources. - - * e2fs_stage1_5/Makefile.am (e2fs_stage1_5_exec_LDADD): Added bios.o. - * fat_stage1_5/Makefile.am (fat_stage1_5_exec_LDADD): Likewise. - * ffs_stage1_5/Makefile.am (ffs_stage1_5_exec_LDADD): Likewise. - * stage2/Makefile.am (stage2_exec_LDADD): Likewise. - * stage2_debug/Makefile.am (stage2_debug_exec_LDADD): Likewise. - - * shared_src/Makefile.am (EXTRA_DIST): Added bios.c. - - * shared_src/asm.S (biosdisk): Deleted. Now defined in bios.c. - (get_diskinfo): Likewise. - (biosdisk_int13_extensions): New function. - (biosdisk_standard): Likewise. - (check_int13_extensions): Likewise. - (get_diskinfo_int13_extensions): Likewise. - (get_diskinfo_standard): Likewise. - (get_diskinfo_floppy): Likewise. - - * shared_src/bios.c: New file. - - * shared_src/shared.h (struct geometry): Added new member, - total_sectors. - -1999-03-28 OKUJI Yoshinori - - * shared_src/stage2.c (print_entries): Correctly assign MENU_ENTRIES - the entries starting from FIRST. - -1999-03-27 Gordon Matzigkeit - - * Change everything to use memset and memmove instead of bzero and - bcopy. GNB's Not BSD. - - * shared_src/shared.h (grub_memset): Adapted from grub_bzero. - (grub_memmove): Adapted from grub_bcopy. - - * grub/asmstub.c (checkkey): Fix unterminated comment. - - * shared_src/char_io.c (grub_printf): Renamed from printf. - (grub_tolower): Renamed from tolower. - (grub_isspace): Renamed from isspace. - (grub_strncat): Renamed from strncat. - (grub_strstr): Renamed from strstr. - (grub_bcopy): Renamed from bcopy. - (grub_bzero): Renamed from bzero. - - From Bradford Hovinen: - * shared_src/char_io.c (get_cmdline): Add new argument to hide - password entry. - (grub_strcmp): New function. - * shared_src/shared.h (get_cmdline): Fix declaration. - (grub_strcmp): Declare. - * shared_src/stage2.c (run_menu): Use get_cmdline with an - ECHO_CHAR of `*'. This protects against both brute-force and - sidelong-glance password cracking attempts. - - * grub/main.c (usage): Display defaults for stage2 options. - - * grub/asmstub.c [WITHOUT_LIBC_STUBS]: Renamed from - NO_REMAPPING_LIBC_FUNCTIONS. - * grub/main.c: Likewise. - * shared_src/shared.h: Likewise. - -1999-03-27 OKUJI Yoshinori - - * grub/asmstub.c (set_attrib): Use inch and addch, instead of - chgat, because chgat doesn't work as expected. - -1999-03-26 OKUJI Yoshinori - - * grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: Call nodelay. - (checkkey) [HAVE_LIBCURSES]: If getting an input character, then - ungetch it, because checkkey shouldn't modify the input queue. - - Use file descriptors instead of file pointers to support - >4GB disks in Linux. - - * grub/asmstub.c (grub_stage2): Call close instead of fclose. - (get_diskinfo): Call open instead of fopen. - (biosdisk) [__linux__]: Use _llseek instead of lseek. - (biosdisk): Call read instead of fread. - - Add options so that the user can specify the config file. - - * grub/Makefile.am (CPPFLAGS): Use -fwritable-strings, because - grub assumes that all strings resides at the data section. - - * grub/main.c: Define NO_REMAPPING_LIBC_FUNCTIONS before including - shared.h. - (OPT_CONFIG_FILE): New macro. - (OPT_INSTALL_PARTITION): Likewise. - (OPT_BOOT_DRIVE): Likewise. - (longopts): Add new options, config-file, install-partition and - boot-drive. - (usage): Add the documentation for them. - (main): Add handling code for OPT_CONFIG_FILE, OPT_INSTALL_PARTITION - and OPT_BOOT_DRIVE. - - * grub/asmstub.c: Define NO_REMAPPING_LIBC_FUNCTIONS before including - shared.h. - (config_file): Make it char * instead of char []. - (getrtsecs): Return current time instead of 0xff. - - * shared_src/shared.h [NO_REMAPPING_LIBC_FUNCTIONS]: Don't define - libc-API-compatible function names. - (config_file): Change the prototype from char [] to char *. - (grub_putchar): Renamed from putchar. - -1999-03-25 OKUJI Yoshinori - - * char_io.c (get_cmdline): Call cl_setcpos even if lpos == llen, - because ncurses won't update the cursor position. - - * grub/main.c (OPT_HOLD): New macro. - (longopts): New option --hold. - (usage): Add the documentation about --hold. - (main): Set hold if --hold is specified. Wait until cleared. - -1999-03-22 Gordon Matzigkeit - - * shared_src/cmdline.c (enter_cmdline): Check the return value of - set_device in the `root' command. - - * shared_src/char_io.c (memcheck): Special-case cur_part_desc and - reenable memory checking. - -1999-03-21 Gordon Matzigkeit - - * shared_src/boot.c (load_image): Make sure we use the mapped - address before actually writing data to memaddr. - - * shared_src/char_io.c (get_cmdline): Only zero-terminate if there - were leading blanks. This prevents accidental truncation of - commands. - - * grub/asmstub.c (get_diskinfo): Cache device geometries as well - as file handles. - Use the Linux HDIO_GETGEO ioctl to make a better guess at hard - disk geometries. - -1999-03-16 Gordon Matzigkeit - - * shared_src/shared.h (geometry_t): Delete typedef, until we - actually use it. - -1999-03-16 OKUJI Yoshinori - - * shared_src/asm.S (biosdisk): Use a structure for geometry - instead of a integer. - (get_diskinfo): Take a pointer to a geometry structure as the - second argument, and fill a geometry in it. Return 1 if an error - occurs, otherwise return 0. - * shared_src/boot.c (bsd_boot): Compute BIOS geometries for BSD. - * shared_src/cmdline.c (enter_cmdline): Declare dest_geom as - struct geometry. - * shared_src/disk_io.c (buf_geom): Declare as struct geometry. - * shared_src/filesys.h (SECTORS): Deleted. - (HEADS): Likewise. - (CYLINDERS): Likewise. - * shared_src/shared.h (BIOSDISK_FLAG_LBA_EXTENSION): New macro. - (struct geometry): New structure. - (buf_geom): Correct the prototype. - (get_diskinfo): Likewise. - (biosdisk): Likewise. - -1999-03-15 Gordon Matzigkeit - - * grub/asmstub.c (doit): Nested function to get a clean stack - frame while in grub_stage2. - Use different assembler magic. From OKUJI Yoshinori. - -1999-03-14 Gordon Matzigkeit - - * shared_src/stage2.c (run_menu): Use A_REVERSE and A_NORMAL - constants instead of magic numbers. - - * shared_src/shared.h (A_REVERSE): Renamed from ATTR_INVERSE for - compatibility with curses. - (A_NORMAL): Renamed from ATTR_NORMAL. - - * shared_src/cmdline.c (enter_cmdline): Change prompt to "grub> ". - (enter_cmdline): Only abort the boot if we are in a script. - - * shared_src/stage2.c (run_menu): Change prompts to "grub edit> ". - - * shared_src/char_io.c (memcheck): Use RAW_ADDR to compute memory - locations. - (get_cmdline): Change the `goto next line' code to account for - newlines deleting to end of line under curses. - - * Innumerable cleanups to fix warnings. There are still too many - typecasts in the wrong places (int variables used to hold - pointers, then casted to a pointer type), but things look better. - - * configure.in (CPPFLAGS): Bump up GCC warnings to -Wall - -Wmissing-prototypes -Wunused. - - * shared_src/shared.h: Delete stupid declarations, and totally - rearrange for clarity. - (inb, outb): Move to cmdline.c, since it's only used there. - (print_possibilities, fsmax, fsys_table): Move definitions to - disk_io.c. - - * grub/asmstub.c: Fill in more stubs. - -1999-03-13 Gordon Matzigkeit - - * shared_src/gunzip.c (border): Rename to bitorder, to resolve - clash with curses. - * shared_src/stage2.c (timeout): Rename to grub_timeout. - - * configure.in: Check for curses libraries for use with - /sbin/grub. - - * shared_src/shared.h (KEY_DELETE): Rename to KEY_DC, for - compatibility with curses. - (KEY_INSERT): Rename to KEY_IC. - (KEY_PGDN): Rename to KEY_NPAGE. - (KEY_PGUP): Rename to KEY_PPAGE. - - * shared_src/asm.S (asm_getkey): Renamed to getkey. - - * shared_src/char_io.c (getkey): Delete, because it's useless. - - * shared_src/shared.h: Resolve name clashes with libc by renaming - overlapping functions to have grub_ prefixes, then defining - macros. - - * grub/asmstub.c (start_stage2): Make some assertions about our - scratch memory area. - - * shared_src/shared.h (end): Delete declaration. - (RAW_ADDR, RAW_SEG): Macros to redirect /sbin/grub memory requests - through grub_scratch_mem. - - * grub/asmstub.c (get_mem_map): Implement, simulating 4MB - contiguous memory. - (get_code_end): Implement, simulating with a malloced area. - grub/asmstub.c (start_stage2): Initialize grub_scratch_mem. - - * shared_src/asm.S (get_mem_map): Some BIOSes expect the high word - of %eax to be zero. - (get_code_end): Move this from common.c so that we can stub it out - in the simulator. - - * debian/rules: Make sure info files end up in /usr/info, not - /info. - -1999-03-10 Gordon Matzigkeit - - * shared_src/asm.S (biosdisk): Make LBA mode work correctly. From - OKUJI Yoshinori. - Unconditionally define NO_INT13_FALLBACK until we release GRUB - 0.6. This will help debug any problems with the LBA support until - then. - -1999-03-09 Gordon Matzigkeit - - * shared_src/asm.S (biosdisk): Compute location of - disk_address_packet correctly. From OKUJI Yoshinori. - -1999-03-08 Gordon Matzigkeit - - * docs/grub.texi: New Texinfo documentation. - - * shared_src/disk_io.c (set_device): First stab at interpreting - Mach-style partition naming. - - * shared_src/stage2.c (run_menu): Don't say it was a failure if - enter_cmdline returns nonzero... just wait for a key. - - * shared_src/cmdline.c (enter_cmdline): Return nonzero, and avoid - the fallback command if we did an install. - - * shared_src/asm.S (_start): New explicit symbol to supress - warnings. - - * e2fs_stage1_5/Makefile.am (NO_FANCY_STUFF): Renamed to STAGE1_5, - since that describes this conditional more accurately. - * fat_stage1_5/Makefile.am: Likewise. - * ffs_stage1_5/Makefile.am: Likewise. - * shared_src/asm.S: Likewise. - * shared_src/char_io.c: Likewise. - * shared_src/common.c: Likewise. - * shared_src/disk_io.c: Likewise. - * shared_src/fsys_ext2fs.c: Likewise. - * shared_src/fsys_ffs.c: Likewise. - * shared_src/shared.h: Likewise. - -1999-03-07 Gordon Matzigkeit - - * configure.in (SHARED_SRC_RULES): Automatically generate - Makefile dependencies for files in shared_src. - e2fs_stage1_5/Makefile.am: Use them. - fat_stage1_5/Makefile.am: Likewise. - ffs_stage1_5/Makefile.am: Likewise. - grub/Makefile.am: Likewise. - stage2/Makefile.am: Likewise. - stage2_debug/Makefile.am: Likewise. - - * shared_src/disk_inode.h: Fix typo: i_ic shouldn't be defined. - - * shared_src/fsys_ffs.c (block_map): Make static, since this - function isn't used outside of its defining file. - - * shared_src/disk_io.c [NO_FANCY_STUFF]: Eliminate a whole bunch - more functions from the stage1.5. From OKUJI Yoshinori. - * shared_src/fsys_ffs.c: Likewise. - * shared_src/char_io.c: Likewise. - -1999-03-05 Gordon Matzigkeit - - * shared_src/char_io.c (getkey): Don't set BUF_DRIVE to -1. - BUF_DRIVE has nothing at all to do with getkey. - - * shared_src/common.c (err_list): Change description of ERR_GEOM - to be more informative. - - * Makefile.am (configure): Depend on debian/changelog. - - * configure.in (host_cpu): Make all fully i386-compatible CPUs be - identified as i386. - (AM_INIT_AUTOMAKE): Fetch values for PACKAGE and VERSION from - debian/changelog, so that we only have one file to update. - - * shared_src/asm.S (get_diskinfo): Fix a few bit-twiddling bugs in - the BIOS extension detection code. - (biosdisk) [AWARD_INT13_EXTENSIONS]: Preliminary implementation - of Award's encoding of cylinder bits 10 and 11. - (biosdisk) [NO_INT13_FALLBACK]: If defined, don't use the standard - disk interface if the extended interface fails. - - * configure.in: Make sure $(host_cpu) and $(host_vendor) are - substituted into the Makefile. - - * e2fs_stage1_5/Makefile.am (pkgdatadir): Install files in - $(datadir)/grub/$(host_cpu)-$(host_vendor). - * fat_stage1_5/Makefile.am: Likewise. - * ffs_stage1_5/Makefile.am: Likewise. - * stage1/Makefile.am: Likewise. - * stage2/Makefile.am: Likewise. - * stage2_debug/Makefile.am: Likewise. - -1999-03-03 Gordon Matzigkeit - - * shared_src/asm.S (biosdisk): Use LBA mode if high nibble of - GEOMETRY is nonzero. - (get_diskinfo): Set high nibble of GEOMETRY (0xf0000000) to 1 if - LBA mode is detected. - -1999-03-02 Gordon Matzigkeit - - * shared_src/disk_io.c (make_saved_active): Use BIOSDISK_READ and - BIOSDISK_WRITE. - - * shared_src/cmdline.c (enter_cmdline): Use BIOSDISK_WRITE. - - * shared_src/shared.h (BIOSDISK_SUBFUNC_READ, - BIOSDISK_SUBFUNC_WRITE): Delete constants. - - * shared_src/asm.S (biosdisk): Change subfunc argument to be - read=0, write=1. - - * configure.in: Drop redundant AC_PROG_INSTALL. From OKUJI - Yoshinori. - -1999-03-01 Gordon Matzigkeit - - * debian/rules (binary-arch): Properly install README.debian. - - * acinclude.m4 (grub_OBJCOPY_ABSOLUTE): Don't forget to move the - old binary out of the way before reentering the loop. - (grub_ASM_ADDR32): Delete conftest files after running the test. - - * debian/rules (binary-arch): Remove empty /sbin directory until - /sbin/grub is installed. Use $(DESTDIR) instead of $(prefix) to - install files. - - * shared_src/asm.S (version_string): Set the version string from - the VERSION specified in configure.in. - - * Change all Makefiles into Makefile.ams. Many major build - environment changes to get Automake/Autoconf working nicely. - -1999-02-28 Gordon Matzigkeit - - * NEWS: Moved from docs/NEWS. - - * configure.in, acinclude.m4: New files for Autoconf. From OKUJI - Yoshinori. - - * AUTHORS, INSTALL: New files. - -1999-02-24 Gordon Matzigkeit - - * stage1/stage1.S (after_BPB): Do a hard disk probe first, so that - we can work with IDE floppies (like the LS-120). - - * Run GNU Indent on */*.[ch]. - -1999-02-21 Gordon Matzigkeit - - * debian: Add to the distribution, since we maintain the GRUB - Debian package ourselves. - - * grub/asmstub.c: New file to implement stubbed assembly functions - under Unix. - - * stage1/Makefile: Delete spurious dependencies on Makefile. - * stage2/Makefile: Likewise. - * stage2_debug/Makefile: Likewise. - * grub/Makefile: Likewise. - - * shared_src/fsys_ext2fs.c (ext2fs_dir): Follow symbolic links - rather than giving an error. - - * shared_src/common.c (err_list): Use labeled elements to - associate messages with error codes. - * shared_src/shared.h: Make error codes into an enumerated type. - - * shared_src/common.c (err_list): Add ERR_SYMLINK_LOOP. - * shared_src/shared.h: Likewise. - - * shared_src/char_io.c (bcopy): Don't make any assumptions about - the length of an unsigned long. - - * grub/Makefile: Treat CFLAGS, CPPFLAGS, LDFLAGS according to - GNU standards. - * stage2/Makefile: Likewise. - * e2fs_stage1_5/Makefile: Likewise. - * fat_stage1_5/Makefile: Likewise. - * ffs_stage1_5/Makefile: Likewise. - -1999-02-20 Gordon Matzigkeit - - * docs/index.html: Rename to grub.html, so that we don't hide - files in this directory from a web browser. - -1999-02-15 Gordon Matzigkeit - - * Makefile.end (PROGS): Add grub. - - * grub/main.c: New file. - - * grub/Makefile: New directory to contain the stage2 Unix program. - - * shared_src/cmdline.c: Use substring. - * shared_src/fsys_ext2fs.c: Likewise. - * shared_src/fsys_fat.c: Likewise. - * shared_src/fsys_ffs.c: Likewise. - * shared_src/stage2.c: Likewise. - - * shared_src/shared.h: Delete strcmp, declare substring. - - * shared_src/char_io.c (strcmp): Rename to `substring', because - this function doesn't behave the same as libc's strcmp. - -1999-02-14 Gordon Matzigkeit - - * shared_src/shared.h: (addr32, data32): Delete definitions. - - * stage1/stage1.S: Modify to use GAS's new .code16 semantics. - shared_src/asm.S: Likewise. - - * configure: Test to see if the `addr32' instruction is supported. - Ian Lance Taylor says that GAS's interpretation of `.code16' has - changed. Older versions always generated 32-bit code, but - implicitly inserted addr32 and data32 when .code16 was given. - Newer versions generate 16-bit code, and require manual addr32 and - data32 overrides. - - * shared_src/shared.h: Add some assertions to check that buffer - addresses are properly defined. - -1999-02-12 Gordon Matzigkeit - - * shared_src/stage2.c (run_menu): Pause if we failed to boot both - the default and fallback entries. - - * configure: Check to make sure that GAS actually honors .code16 - directives. - -1999-02-02 Gordon Matzigkeit - - * shared_src/asm.S: Fix typo that called interrupt 0xd (decimal - 13) instead of 0x13. - -1999-01-31 Gordon Matzigkeit - - * e2fs_stage1_5/Makefile: Avoid gratuitous dependencies on - Makefile. - * fat_stage1_5/Makefile: Likewise. - * ffs_stage1_5/Makefile: Likewise. - - * Makefile.end (PROGS): Add e2fs_stage1_5, fat_stage1_5, and - grubinst. - (distclean): New GNU standard rule. - -1998-10-23 Gordon Matzigkeit - - * configure: Accept `--host' as a synonym for `--target', and - accept a non-optional argument as the target name. Join the - prefix to the tool name with a hyphen. - - * shared_src/disk_io.c (print_fsys_type): Always print the - partition type. - - * shared_src/stage2.c (run_menu): Check to make sure that the - fallback entry is nonnegative. - (run_menu): For consistency, use `e' rather than enter to edit the - command entry.