| 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. |