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