⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog

📁 Linux启动程序grub的源码分析与实现;
💻
📖 第 1 页 / 共 5 页
字号:
	From Adam Lackorzynski <adam@os.inf.tu-dresden.de>:	* stage2/shared.h (KEY_NPAGE): Changed to 0x5100.	(KEY_PPAGE): Changed to 0x4900.2003-03-19  Yoshinori K. Okuji  <okuji@enbug.org>	* stage2/boot.c (load_image): Check if DATA_LEN plus SECTOR_SIZE	is less than or equal to MULTIBOOT_SEARCH, instead of if	DATA_LEN is less than or equal to MULTIBOOT_SEARCH.	Reported by Neelkanth Natu <neelnatu@yahoo.com>.2003-03-10  Yoshinori K. Okuji  <okuji@enbug.org>	From Andrew Walrond <andrew@walrond.org>:	* stage2/fsys_reiserfs.c (struct reiserfs_journal_header):	Remove an unnecessary ``long''.2003-03-10  Yoshinori K. Okuji  <okuji@enbug.org>	From Tilmann Bubeck:	* stage2/builtins.c [SUPPORT_SERIAL] (terminfo_func): Unescape	arguments before copying them, and escape sequences before	printing them.	* stage2/terminfo.h (TERMINFO_LEN): Changed to 40.2003-02-20  Yoshinori K. Okuji  <okuji@enbug.org>	* util/grub-install.in (find_device): Fix the sed script.2003-02-17  Yoshinori K. Okuji  <okuji@enbug.org>	* lib/device.c (check_device): If DEVICE is empty, just return	1.	(get_scsi_disk_name) [__QNXNTO__]: Make NAME empty, because SCSI	disks are detected as IDE disks on QNX RTP.	From Taketo Kabe <kabe@sra-tohoku.co.jp>:	* lib/device.c (get_ide_disk_name) [__QNXNTO__]: Set NAME to	"/dev/hdX".	(get_floppy_disk_name) [__QNXNTO__]: Set NAME to "/dev/fdX".	* stage2/mb_info.h (struct AddrRangeDesc): Specified with the	attribute packed.	* stage2/shared.h (struct mmar_desc): Likewise.2003-01-29  Yoshinori K. Okuji  <okuji@enbug.org>	From Ilguiz Latypov:	* configure.in: Fix a syntax error in a sed script.	* stage2/bios.c (get_diskinfo): PhoenixBIOS 4.0 Revision 6.0 	for ZF Micro might understand the greater buffer size for the	"get drive parameters" int 0x13 call in its own way.  	Supposedly the BIOS assumes even bigger space is available and	thus corrupts the stack.  This is why we specify the exactly 	necessary size of 0x42 bytes.2003-01-25  Yoshinori K. Okuji  <okuji@enbug.org>	From Steven Dick <ssd.gnu@mmae.ucf.edu>:	* stage2/pc_slice.h (PC_SLICE_TYPE_DELL_UTIL): New macro.	(IS_PC_SLICE_TYPE_FAT): Recognize PC_SLIDE_TYPE_DELL_UTIL as	well.2003-01-25  Yoshinori K. Okuji  <okuji@enbug.org>	From Karsten Scheibler <karsten.scheibler@student.uni-halle.de>:	* stage2/terminfo.c (term): Don't use a C99-style initializer.2003-01-16  Yoshinori K. Okuji  <okuji@enbug.org>	From H.J. Lu <hjl@gnu.org>:	* stage2/disk_io.c (part_start): Use unsigned long to support	large disks.	(part_length): Likewise.	* stage2/shared.h (part_start): Likewise.	(part_length): Likewise.2003-01-05  Yoshinori K. Okuji  <okuji@enbug.org>	* configure.in (CFLAGS): When the default CFLAGS is used,	eliminate -O2 and -g from CFLAGS, because Autoconf may	automatically set CFLAGS to them.2003-01-02  Yoshinori K. Okuji  <okuji@enbug.org>	From Jeremy Katz:	* configure.in: Support building on x86_64 with gcc -m32.2003-01-02  Yoshinori K. Okuji  <okuji@enbug.org>	From Jeremy Katz:	* stage2/fsys_ext2fs.c (ext2fs_dir): Initialize STR_CHK to shut	up GCC.	* stage2/fsys_minix.c (minix_dir): Likewise.2002-12-21  Yoshinori K. Okuji  <okuji@enbug.org>	* stage2/asm.S (gateA20): First, try a BIOS call (INT 15H,	AX=2400/2401). Use the keyboard controller, only if that failed.2002-12-11  Yoshinori K. Okuji  <okuji@enbug.org>	Add a workaround for buggy BIOSes which don't pass boot drive	correctly. The idea is that GRUB forces the fixed disk flag	when booted from a hard disk. When BIOS loads GRUB directly,	the boot drive must be either of 0x00 and 0x80, so this should	work, if those BIOSes always pass zero to %dl. AFAIK, this	assumption is always correct.	* stage2/builtins.c (install_func): Store the fixed disk flag of	the destination drive in BOOT_DRIVE_MASK in Stage 1.	* stage1/stage1.h (STAGE1_BOOT_DRIVE_MASK): New macro.	* stage1/stage1.S (boot_drive_mask): New variable. It is or'ed	to %dl.2002-12-09  Yoshinori K. Okuji  <okuji@enbug.org>	* stage2/char_io.c (init_page): Change the software name from	"GRUB" to "GNU GRUB". This was inaccurate. Reported by Ciaran	O'Riordan <coriordan@compsoc.com>.2002-12-04  Yoshinori K. Okuji  <okuji@enbug.org>	* stage2/builtins.c (embed_func): When checking if the disk can	store Stage 1.5, check every partition, if it isn't empty.2002-12-04  Yoshinori K. Okuji  <okuji@enbug.org>	* stage2/stage2.c (print_entry): Put a right arrow, if the entry	is longer than 71 characters. Reported by Pavel Roskin.2002-12-04  Yoshinori K. Okuji  <okuji@enbug.org>	* stage2/disk_io.c (set_device): If '(n' is given, add 'd' into	DEVICE. Reported by Pavel Roskin.2002-12-03  Yoshinori K. Okuji  <okuji@enbug.org>	Change the terminal structure a bit, to turn the cursor state	explicitly. Suggested by Pavel Roskin.		* stage2/term.h (struct term_entry): Remove the member	`nocursor' and add `setcursor'.	[!STAGE1_5] (console_setcursor): New prototype.	[SUPPORT_HERCULES] (hercules_setcursor): Likewise.	[!STAGE1_5] (console_nocursor): Removed.	[SUPPORT_HERCULES] (hercules_nocursor): Likewise.	* stage2/stage2.c (run_menu): Call setcursor instead of	nocursor.	Call setcursor with 1 before starting a boot entry.	* stage2/shared.h (nocursor): Removed.	(setcursor): New prototype.	* stage2/hercules.c (herc_cursor_state): New variable.	(herc_turn_cursor): Removed.	(hercules_nocursor): Likewise.	(hercules_setcursor): New function.	* stage2/char_io.c (get_cmdline): Turn on the cursor at the	beginning, and restore it before returning.	(nocursor): Removed.	(setcursor): New function.	* stage2/asm.S (console_cursor_state): New variable.	(console_cursor_shape): Likewise.	(console_setcursor): New function.	(console_nocursor): Removed.	* grub/asmstub.c (console_setcursor): New function.	(hercules_setcursor): Likewise.	(console_nocursor): Removed.	(hercules_nocursor): Likewise.2002-12-03  Yoshinori K. Okuji  <okuji@enbug.org>	* docs/grub.texi (terminfo): Fix a misleading English sentence.	Reported by Pavel Roskin.	* stage2/builtins.c (builtin_terminfo): Likewise.2002-12-01  Yoshinori K. Okuji  <okuji@enbug.org>	From Alexander Langer <alex@big.endian.de>:	* stage2/freebsd.h (RB_GDB): New macro.	(RB_MUTE): Likewise.	(RB_MULTIPLE): Likewise.	* stage2/boot.c (bsd_boot): Set the bits of RB_MULTIPLE, RB_GDB	and RB_MUTE when "-D", "-g" and "-m" are specified,	respectively.2002-12-01  Yoshinori K. Okuji  <okuji@enbug.org>	* docs/grub.texi (Reporting bugs): Specify the project page of	the BTS instead of the BTS itself.2002-11-30  Yoshinori K. Okuji  <okuji@enbug.org>	* docs/Makefile.am (man_MANS): Added grub-terminfo.8.	($(srcdir)/grub_terminfo.8): New target.	* utils/grub-terminfo.in: New file.	* util/Makefile.am (sbin_SCRIPTS): Added grub-terminfo.	* configure.in (AC_OUTPUT): Added util/grub-terminfo.	* docs/grub.texi (terminfo): New subsection.	(Invoking grub-terminfo): New chapter.	From Tilmann Bubeck <t.bubeck@reinform.de>:	* stage2/Makefile.am (noinst_HEADERS): Added terminfo.h and	tparm.h.	(libgrub_a_SOURCES): Added terminfo.c and tparm.c.	(pre_stage2_exe_SOURCES): Likewise.	* stage2/terminfo.c: New file.	* stage2/terminfo.h: Likewise.	* stage2/tparm.c: Likewise.	* stage2/tparm.h: Likewise.	* stage2/stage2.c (get_line_from_config): Fix handling of	backslashes.	* stage2/char_io.c (grub_putstr): New function.	(grub_printf): Use grub_putstr.	(substring): Add const into both arguments.	* stage2/builtins.c [SUPPORT_SERIAL]: Include terminfo.h.	[SUPPORT_SERIAL] (terminfo_func): New function.	[SUPPORT_SERIAL] (builtin_terminfo): New variable.	 (builtin_table) [SUPPORT_SERIAL]: Added a pointer to	BUILTIN_TERMINFO.	* stage2/serial.c (serial_gotoxy): Use ti_cursor_address.	(serial_cls): Use ti_clear_screen.	(serial_highlight): use ti_enter_standout_mode and	ti_exit_standout_mode.2002-11-30  Yoshinori K. Okuji  <okuji@enbug.org>	* stage2/disk_io.c (rawread): Make sure that SECTOR is valid.	If not, set ERRNUM to ERR_GEOM and return zero. This check is	critical when a partition table is corrupted.2002-11-28  Yoshinori K. Okuji  <okuji@enbug.org>	* stage2/asm.S (console_cls): Write spaces to the entire screen	instead of getting/setting the video mode, because this flickers	the screen and is quite annoying, if using a LCD.2002-11-15  Yoshinori K. Okuji  <okuji@enbug.org>	* docs/grub.texi (QNX): New subsection. Reported by	Marian-Nicolae V. ION <marian_ion@noos.fr>.2002-10-28  Yoshinori K. Okuji  <okuji@enbug.org>	* grub/asmstub.c (console_translate_key): Deal with KEY_PPAGE	and KEY_NPAGE.	* stage2/serial.c (serial_translate_key_sequence): Added two new	codes for Page Up and Page Down.	* stage2/asm.S (translation_table): Added entries for KEY_PPAGE	and KEY_NPAGE.	* stage2/stage2.c (run_menu): Deal with Page Up and Page Down.	Also recognize the right key for the selection of a boot entry.	Suggested by Adam Lackorzynski <adam@os.inf.tu-dresden.de>.2002-10-10  Jason Thomas  <jason@topic.com.au>	* stage2/builtins.c (setup_func): Added missing space to --force-lba	option. Reported by Kenneth Crudup <kenny@panix.com>2002-10-06  Yoshinori K. Okuji  <okuji@enbug.org>	* stage2/asm.S (gateA20): Output a dummy command (0xff), as a	workaround for USB keyboard hanging problem. Suggested by	Hidetoshi Nishimaki <nishimaki@mxs.nes.nec.co.jp>.2002-10-06  Yoshinori K. Okuji  <okuji@enbug.org>	* configure.in (falign_loop_flag): New variable. Set to if GCC	supports `-falign-*'. If true, use `-falign-jumps',	`-falign-loops' and `-falign-functions' instead of	`-malign-jumps', `-malign-loops' and `-malign-functions',	because `-malign-*' are obsolete in GCC 3.x. Reported by Jeremy	Katz.2002-09-13  Yoshinori K. Okuji  <okuji@enbug.org>	* stage2/serial.c (fill_input_buf): Take a new argument NOWAIT.	If NOWAIT is true, don't loop.	All callers are changed.2002-09-08  Yoshinori K. Okuji  <okuji@enbug.org>	* configure.in (--disable-serial): Fix a typo in the	description.2002-08-20  Jason Thomas <jason@topic.com.au>	Changed highlight state code for hercules, console and serial.	The state was 0 - normal or 1 - highlight.	The state is now defined using an enum called color_state.	* stage2/term.h (color_state): New enum.	(COLOR_STATE_STANDARD): Standard color to use when not using	user defined.	(COLOR_STATE_NORMAL): User defined normal color.	(COLOR_STATE_HIGHLIGHT): User defined highlight color.	(console_highlight): Renamed to console_setcolorstate.	(serial_highlight): Renamed to serial_setcolorstate.	(hercules_highlight): Renamed to hercules_setcolorstate.	* stage2/hercules.c (herc_highlight_state): Removed.	(herc_standard_color): New variable.	(herc_color_state): Likewise.	(herc_highlight): Renamed to herc_setcolorstate.	(herc_setcolorstate): Added switch to handle new states.	* stage2/console.c (console_highlight_state): Removed.	(console_standard_color): New variable.	(console_color_state): Likewise.	(console_highlight): Renamed to console_setcolorstate.	(console_setcolorstate): Added switch to handle new states.	* stage2/serial.c (serial_highlight): Renamed to	serial_setcolorstate.	(serial_setcolorstate): Adjusted 'if' to suit new states.	* grub/asmstub.c (console_highlight): Renamed to	console_setcolorstate.	(console_setcolorstate): Adjusted 'if' to suit new states.	* stage2/stage2.c (print_entry): Set color states using new	states.	(print_border): Likewise.	* stage2/stage2.c (run_menu): Reverse if (!) to if () for	uniformitty.2002-07-12  Yoshinori K. Okuji  <okuji@enbug.org>	* stage2/boot.c (load_image): Rewrite the Linux booting support	radically. Now it should work even on a machine having, say,	only 128KB, theoretically. Of course, GRUB itself doesn't work	on such a system, though.	(load_initrd): Initialize LH based on CUR_ADDR, because the	location becomes dynamic.	* stage2/shared.h (LINUX_MAX_SETUP_SECTS): Set to 64.	(LINUX_HEAP_END_OFFSET): Set to (0x9000 - 0x200).	(LINUX_STAGING_AREA): Removed.	(LINUX_SETUP): Likewise.	(LINUX_KERNEL): Likewise.	(LINUX_KERNEL_MAXLEN): Likewise.	(LINUX_SETUP_SEG): Likewise.	(LINUX_INIT_SEG): Likewise.	(LINUX_SETUP_STACK): Set to 0x9000.	(LINUX_BZIMAGE_ADDR): New macro.	(LINUX_ZIMAGE_ADDR): Likewise.	(LINUX_OLD_REAL_MODE_ADDR): Likewise.	(CL_MY_LOCATION): Removed.	(CL_MY_END_ADDR): Likewise.	(CL_BASE_ADDR): Likewise.	(CL_MAGIC): Renamed to ...	(LINUX_CL_MAGIC): ... this.	(LINUX_CL_OFFSET): New macro.	(LINUX_CL_END_OFFSET): Likewise.	(LINUX_SETUP_MOVE_SIZE): Likewise.	(struct linux_kernel_header): Change the type of the member	"cmd_line_ptr" to char *.	(linux_data_tmp_addr): Declared.	(linux_data_real_addr): Likewise.	* stage2/asm.S [!STAGE1_5] (linux_data_tmp_addr): New variable.	[!STAGE1_5] (linux_data_real_addr): Likewise.	[!STAGE1_5] (big_linux_boot): Copy the real mode part from	LINUX_DATA_TMP_ADDR to LINUX_DATA_REAL_ADDR.	* grub/asmstub.c (linux_data_tmp_addr): New variable.	(linux_data_real_addr): Likewise.2002-07-09  Yoshinori K. Okuji  <okuji@enbug.org>		From Mark Kettenis <kettenis@chello.nl>:	* stage2/boot.c (load_image): Recognize newer FreeBSD kernels.	* stage2/i386-elf.h (EI_OSABI): New macro.	(EI_ABIVERSION): Likewise.	(ELFOSABI_FREEBSD): Likewise.	(EI_PAD): Set to 9.2002-07-06  Yoshinori K. Okuji  <okuji@enbug.org>	* stage2/shared.h (boot_part_offset): Removed.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -