Skip to content
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Latest commit 6ecc8ec Sep 22, 2010 History
0 contributors

Users who have contributed to this file

2010-03-06 Vladimir Serbinenko <>
* NEWS: Put the date of 1.98 release.
2010-03-06 Vladimir Serbinenko <>
* Update CPPFLAGS and not CFLAGS when checking for
2010-03-06 Vladimir Serbinenko <>
* normal/cmdline.c (grub_cmdline_get): Fix gabled line after
completition in the middle of string.
2010-03-06 Vladimir Serbinenko <>
* util/ Use mktemp with explicit template.
2010-03-06 Vladimir Serbinenko <>
* loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
2010-03-06 Vladimir Serbinenko <>
* loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
right pointer.
2010-03-05 Vladimir Serbinenko <>
Fix FreeBSD compilation.
* (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
* Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
2010-03-05 Vladimir Serbinenko <>
* util/ Add autogenerated files to MAINTAINER_CLEANFILES.
2010-03-04 Vladimir Serbinenko <>
* gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
2010-03-04 Vladimir Serbinenko <>
* disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
2010-03-04 Robert Millan <>
Support relative image path in theme file.
* gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
(image_set_property): Handle theme_dir and relative path.
2010-03-04 Vladimir Serbinenko <>
* Alias amd64 to x86_64.
2010-03-04 Vladimir Serbinenko <>
* NEWS: mention multiboot on EFI.
2010-03-04 Vladimir Serbinenko <>
* kern/main.c (grub_load_modules): Handle errors from init functions of
embeded modules.
2010-03-04 Vladimir Serbinenko <>
* normal/autofs.c (autoload_fs_module): Handle errors.
2010-03-04 Vladimir Serbinenko <>
Disable linux.mod on qemu-mips since it's not functional and leads
to compilation failure.
* conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
* conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
* conf/mips.rmk (linux_mod_SOURCES): Move from here ...
* conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
* conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
* conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
* conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
* conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
* conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
* conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
Reported by: BVK Chaitanya
2010-03-04 Jordan Uggla <>
* INSTALL: Add gettext as a dependency and add qemu to a new section
"Prerequisites for make-check".
2010-03-04 Christian Franke <>
* util/grub-pe2elf.c: Add missing include "progname.h".
2010-03-04 Vladimir Serbinenko <>
* normal/crypto.c (read_crypto_list): Fix a typo.
Reported by: Seth Goldberg.
2010-03-04 Vladimir Serbinenko <>
* (DISTCLEANFILES): Add stamp-h1.
Reported by: Seth Goldberg.
2010-03-04 Vladimir Serbinenko <>
* (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
2010-03-04 Vladimir Serbinenko <>
* genmk.rb: Remove terminal*.lst in make clean.
Reported by: Seth Goldberg.
2010-03-04 Vladimir Serbinenko <>
* util/i386/efi/ Copy gettext files.
2010-03-01 Vladimir Serbinenko <>
* fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
2010-03-01 Vladimir Serbinenko <>
Wait for user entry basing on presence of output rather than on errors.
* include/grub/normal.h (grub_normal_get_line_counter): New proto.
(grub_install_newline_hook): Likewise.
* normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
* normal/menu.c (show_menu): Check line_counter to determine presence
of output.
* normal/term.c (grub_normal_line_counter): New variable.
(grub_normal_get_line_counter): New function.
(grub_install_newline_hook): Likewise.
2010-03-01 Vladimir Serbinenko <>
* commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
2010-03-01 Vladimir Serbinenko <>
* Update version to 1.98.
2010-02-26 Vladimir Serbinenko <>
* util/grub.d/ (linux_entry): Don't default to
gfxpayload=keep if Linux doesn't support video handover.
2010-02-25 Vladimir Serbinenko <>
Don't compile video modules on yeeloong since video subsystem is part
of kernel.
* conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
* conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
* conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
* include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
* include/grub/bitmap_scale.h: Likewise.
* include/grub/bufio.h: Likewise.
* include/grub/font.h: Likewise.
* include/grub/gfxterm.h: Likewise.
* include/grub/video.h: Likewise.
* include/grub/vbe.h: Don't include video_fb.h.
* video/i386/pc/vbe.c: Include video_fb.h.
* commands/i386/pc/vbetest.c: Include video.h.
2010-02-25 Jordan Uggla <>
* util/ (GRUB_SAVEDEFAULT): Export new variable.
* util/ (save_default_entry): Only save a new
default entry if GRUB_SAVEDEFAULT=true. This allows using
GRUB_DEFAULT=saved on its own to let grub-reboot work, without
saving a new default on every boot.
2010-02-24 Vladimir Serbinenko <>
* normal/crypto.c (read_crypto_list): Fix a memory leak.
* normal/term.c (read_terminal_list): Likewise.
* normal/main.c (grub_normal_init_page): Likewise.
(grub_normal_read_line_real): Likewise.
2010-02-24 Vladimir Serbinenko <>
* loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
memory leak.
Reported by: Seth Goldberg.
2010-02-24 Joey Korkames <>
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
duplicate declaration of `start'.
2010-02-20 Vladimir Serbinenko <>
* fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
Reported by: Georgy Buranov
2010-02-20 Carles Pina i Estany <>
* util/grub-mkrawimage.c (usage): Change string formatting to
improve gettext.
2010-02-20 Manoel Rebelo Abranches <>
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
backspace keys.
2010-02-20 Vladimir Serbinenko <>
* video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
Reported by: Michael Suchanek.
2010-02-18 Samuel Thibault <>
* util/ Export GRUB_INIT_TUNE.
* util/grub.d/ Handle GRUB_INIT_TUNE.
2010-02-16 Vladimir Serbinenko <>
Remove any reference to non-free fonts.
* commands/videotest.c (grub_cmd_videotest): Use unifont by default.
* docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
uses non-free components.
* font/font.c (grub_font_get_name): Remove example name.
* gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
* gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
* gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
* gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
2010-02-16 Georgy Buranov <>
* disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
2010-02-15 Vladimir Serbinenko <>
* term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
Double divisor.
(serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
2010-02-15 Vladimir Serbinenko <>
* Use TARGET_CC instead of CC.
2010-02-14 Samuel Thibault <>
* commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
* docs/grub.texi (Command-line and menu entry commands): Document play
2010-02-14 Samuel Thibault <>
* commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
parse arguments as inline tempo and notes. Move code for playing notes
(play): ... new function.
2010-02-14 Samuel Thibault <>
* commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
grub_uint16_t instead of short.
(grub_cmd_play): Use grub_uint32_t instead of int, convert data from
disk from little endian to cpu endianness.
2010-02-07 Samuel Thibault <>
* commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
GRUB_TICKS_PER_SECOND instead of 120.
2010-02-14 Vladimir Serbinenko <>
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
escape sequence after \e.
2010-02-14 Vladimir Serbinenko <>
* term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
non-ASCII characters.
2010-02-14 Vladimir Serbinenko <>
* util/ (prepare_grub_to_access_device): Enclose
set root in single quotes to prevent \, from being unescaped.
2010-02-14 Vladimir Serbinenko <>
Prevent unknown commands from stopping menuentry execution.
* script/execute.c (grub_script_execute_cmdline): Print error after
unknown command.
2010-02-14 Vladimir Serbinenko <>
* fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
Reported by: Pavel Pisa.
2010-02-13 Vladimir Serbinenko <>
* io/gzio.c (grub_gzio_open): Use grub_zalloc.
2010-02-13 Vladimir Serbinenko <>
Merge grub_ieee1275_map_physical into grub_map and rename to
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
* include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
* kern/ieee1275/openfw.c (grub_map): Rename to ...
(grub_ieee1275_map): ... this. All users updated. Add phys_lo when
* kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
2010-02-13 Vladimir Serbinenko <>
* disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
opening and not after.
2010-02-13 Vladimir Serbinenko <>
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
2010-02-13 Vladimir Serbinenko <>
* loader/sparc64/ieee1275/linux.c (align_addr): Remove.
(alloc_phys): Use ALIGN_UP instead of align_addr.
2010-02-13 Vladimir Serbinenko <>
* loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
2010-02-13 Vladimir Serbinenko <>
* kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
2010-02-13 Vladimir Serbinenko <>
* disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
verbose dprintf.
2010-02-13 Vladimir Serbinenko <>
Fix over-4GiB seek on sparc64.
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
Replace pos_i and pos_lo with pos. All users updated.
* include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
New constant.
* include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
* kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
and pos_lo.
2010-02-13 Vladimir Serbinenko <>
* util/grub-mkrawimage.c (main): Call set_program_name.
2010-02-13 Vladimir Serbinenko <>
Properly align 64-bit targets.
* util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
(generate_image): Use ALIGN_ADDR.
2010-02-13 Vladimir Serbinenko <>
Properly create cross-endian images.
* include/grub/types.h (grub_host_to_target_addr): New macro
* util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
2010-02-13 Vladimir Serbinenko <>
* util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
2010-02-10 Vladimir Serbinenko <>
Pass SIMPLE framebuffer size in bytes and not 64K blocks.
* loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
* loader/i386/linux.c (grub_linux_setup_video): Likewise.
(grub_linux_boot): Divide by 64K when on VESA.
2010-02-10 Vladimir Serbinenko <>
* util/grub.d/ (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
2010-02-10 Vladimir Serbinenko <>
* script/execute.c (grub_script_execute_cmdline): Use grub_print_error
to show messages instead of discarding them.
Process errors after executing command and not before. Keep old method
too as precaution.
2010-02-09 Vladimir Serbinenko <>
* Check for ft2build.h.
2010-02-07 Vladimir Serbinenko <>
* kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
2010-02-07 Vladimir Serbinenko <>
2010-02-07 Colin Watson <>
* NEWS: Update.
2010-02-07 Vladimir Serbinenko <>
* include/grub/multiboot2.h: Remove leftover file.
* include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
* include/grub/partition.h [GRUB_UTIL]: Likewise.
2010-02-07 Yves Blusseau <>
* gnulib/getdelim.c: add missing header (type ssize_t must be defined).
2010-02-07 Vladimir Serbinenko <>
Fix warnings in grub-emu when compiling with maximum warning options.
* util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
(grub_arch_modules_addr): Return 0 and not NULL.
* util/misc.c (ENABLE_RELOCATABLE): New definition.
(xstrdup): Use newstr instead of dup.
* util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
of disk to dsk to avoid shadowing.
(find_free_slot): Fix prototype.
* util/getroot.c (grub_util_is_dmraid): Make static.
* include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
Add missing prototype.
* util/sdl.c (grub_video_sdl_set_viewport): Remove.
2010-02-07 Vladimir Serbinenko <>
* loader/i386/linux.c (grub_linux_setup_video): Handle error
2010-02-07 Vladimir Serbinenko <>
* fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
code out.
2010-02-07 Vladimir Serbinenko <>
* include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
* kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
* kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
* kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
* kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
* util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
2010-02-07 Vladimir Serbinenko <>
* include/grub/err.h (grub_err_printf): Don't export.
2010-02-07 Vladimir Serbinenko <>
* include/grub/dl.h (grub_dl_register_symbol): Don't export.
2010-02-07 Vladimir Serbinenko <>
* include/grub/i18n.h (grub_gettext_dummy): Removed.
* kern/misc.c (grub_gettext_dummy): Make static.
2010-02-06 Vladimir Serbinenko <>
* kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
by non-valid ones.
* kern/term.c (grub_putchar): Likewise.
2010-02-06 Vladimir Serbinenko <>
* partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
buggy hook call and memory leak.
2010-02-06 Vladimir Serbinenko <>
* commands/ls.c (grub_ls_list_files): Free pathname on exit.
2010-02-06 Vladimir Serbinenko <>
* fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
2010-02-06 Vladimir Serbinenko <>
* loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
Return grub_errno on allocation error.
2010-02-06 Vladimir Serbinenko <>
* disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
2010-02-06 Yves Blusseau <>
* conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
(grub_mkpasswd_pbkdf2_SOURCES): Likewise.
2010-02-06 Vladimir Serbinenko <>
* fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
non-pxe disk.
(grub_pxefs_open): Likewise.
2010-02-06 Robert Millan <>
* util/grub.d/ Add --class information to menuentries.
* util/grub.d/ Likewise.
* util/grub.d/ Likewise.
2010-02-06 Colin D Bennett <>
* conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
(gfxmenu_mod_SOURCES): New variable.
(gfxmenu_mod_CFLAGS): Likewise.
(gfxmenu_mod_LDFLAGS): Likewise.
* include/grub/term.h (grub_term_set_current_output): Declare
argument as const.
* docs/gfxmenu-theme-example.txt: New file.
* gfxmenu/gfxmenu.c: Likewise.
* gfxmenu/gui_box.c: Likewise.
* gfxmenu/gui_canvas.c: Likewise.
* gfxmenu/gui_circular_progress.c: Likewise.
* gfxmenu/gui_image.c: Likewise.
* gfxmenu/gui_label.c: Likewise.
* gfxmenu/gui_list.c: Likewise.
* gfxmenu/gui_progress_bar.c: Likewise.
* gfxmenu/gui_string_util.c: Likewise.
* gfxmenu/gui_util.c: Likewise.
* gfxmenu/icon_manager.c: Likewise.
* gfxmenu/model.c: Likewise.
* gfxmenu/named_colors.c: Likewise.
* gfxmenu/theme_loader.c: Likewise.
* gfxmenu/view.c: Likewise.
* gfxmenu/widget-box.c: Likewise.
* include/grub/gfxmenu_model.h: Likewise.
* include/grub/gfxmenu_view.h: Likewise.
* include/grub/gfxwidgets.h: Likewise.
* include/grub/gui.h: Likewise.
* include/grub/gui_string_util.h: Likewise.
* include/grub/icon_manager.h: Likewise.
2010-02-06 Vladimir Serbinenko <>
Agglomerate scrolling in gfxterm.
* term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
(grub_virtual_screen_setup): Initialise 'total_screen'.
(write_char): Split to ...
(paint_char): ... this ...
(write_char): ... and this.
(paint_char): Handle delayed scrolling.
(draw_cursor): Likewise.
(scroll_up): Split to ...
(real_scroll): ... this ...
(scroll_up): ... and this.
(real_scroll): Handle multi-line scroll and draw below-the-bottom
(grub_gfxterm_refresh): Call real_scroll.
2010-02-06 Colin D Bennett <>
* include/grub/misc.h (grub_iscntrl): New inline function.
(grub_isalnum): Likewise.
(grub_strtol): Likewise.
2010-02-06 Colin D Bennett <>
* normal/menu_text.c (get_entry_number): Move from here ...
* normal/menu.c (get_entry_number): ... moved here.
* include/grub/menu.h (grub_menu_get_default_entry_index):
New prototype.
* normal/menu.c (grub_menu_get_default_entry_index): New function.
* normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
* include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
(grub_menu_viewer_should_return): Likewise.
* normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
* normal/menu_text.c (run_menu): Enable menu switching.
* normal/menu_viewer.c (should_return): New variable.
(menu_viewer_changed): Likewise.
(grub_menu_viewer_show_menu): Handle menu viewer changes.
(grub_menu_viewer_should_return): New function.
(menuviewer_write_hook): Likewise.
(grub_menu_viewer_init): Likewise.
2010-02-06 Colin D Bennet <>
2010-02-06 Vladimir Serbinenko <>
Support for gfxterm in a window.
* include/grub/gfxterm.h: New file.
* include/grub/video.h (struct grub_video_rect): New declaration.
(grub_video_rect_t): Likewise.
* term/gfxterm.c (struct grub_gfxterm_window): New type.
(refcount): New variable.
(render_target): Likewise.
(window): Likewise.
(repaint_callback): Likewise.
(grub_virtual_screen_setup): Use 'render_target'.
(init_window): New function.
(grub_gfxterm_init_window): Likewise.
(grub_gfxterm_init): Check reference counter.
Use init_window.
(destroy_window): New function.
(grub_gfxterm_destroy_window): Likewise.
(grub_gfxterm_fini): Check reference counter.
Use destroy_window.
(redraw_screen_rect): Restore viewport.
Use 'render_target' and 'window'.
Call 'repaint_callback'.
(write_char): Use 'render_target'.
(draw_cursor): Likewise.
(scroll_up): Restore viewport.
Use 'render_target' and 'window'.
Call 'repaint_callback'.
(grub_gfxterm_cls): Likewise.
(grub_gfxterm_refresh): Use 'window'.
(grub_gfxterm_set_repaint_callback): New function.
(grub_gfxterm_background_image_cmd): Use 'window'.
(grub_gfxterm_get_term): New function.
(GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
2010-02-06 Colin D Bennett <>
Bitmap scaling support.
* conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
(bitmap_scale_mod_SOURCES): New variable.
(bitmap_scale_mod_CFLAGS): Likewise.
(bitmap_scale_mod_LDFLAGS): Likewise.
* include/grub/bitmap_scale.h: New file.
* term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
(background_image_cmd_options): New variable.
(grub_gfxterm_background_image_cmd): Support bitmap stretching.
(cmd): Rename and change type to ...
(background_image_cmd_handle): ... this. All users updated.
(GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
* video/bitmap_scale.c: New file.
2010-02-06 Vladimir Serbinenko <>
SDL support.
* (LIBSDL): New variable.
(enable_grub_emu_sdl): Likewise.
* conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
(grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
(grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
* Detect SDL availability and add --enable-grub-emu-sdl
* util/sdl.c: New file.
2010-02-06 Colin D Bennett <>
2010-02-06 Vladimir Serbinenko <>
Double buffering support.
* commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
* include/grub/video.h: Update comment.
* include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
New type.
(grub_video_fb_doublebuf_blit_init): New prototype.
* term/gfxterm.c (scroll_up): Support double buffering.
(grub_gfxterm_refresh): Likewise.
* video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
(grub_video_fb_doublebuf_blit_init): Likewise.
* video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
'front_target', 'back_target', 'offscreen_buffer', 'page_size',
'displayed_page', 'render_page' and 'update_screen'.
(grub_video_vbe_fini): Free offscreen buffer.
(doublebuf_pageflipping_commit): New function.
(doublebuf_pageflipping_update_screen): Likewise.
(doublebuf_pageflipping_init): Likewise.
(double_buffering_init): Likewise.
(grub_video_vbe_setup): Enable doublebuffering.
(grub_video_vbe_swap_buffers): Implement.
(grub_video_vbe_set_active_render_target): Handle double buffering.
(grub_video_vbe_get_active_render_target): Likewise.
(grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
(grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
(grub_video_vbe_enable_double_buffering): Likewise.
(grub_video_vbe_swap_buffers): Use update_screen.
(grub_video_set_mode): Use double buffering.
2010-02-06 Robert Millan <>
* maintainance/ Remove.
* lib/trig.c: Likewise.
* gentrigtables.c: New file. C rewrite of
* conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
(trigtables.c): New rule.
(gentrigtables): Likewise.
(DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
2010-02-06 Robert Millan <>
* maintainance/ Avoid duplicate hardcoding of
integer constants.
2010-02-06 Colin D Bennet <>
Trigonometry support.
* include/grub/trig.h: New file.
* lib/trig.c: Likewise.
* maintainance/ Likewise.
* conf/common.rmk (pkglib_MODULES): Add trig.mod.
(trig_mod_SOURCES): New variable.
(trig_mod_CFLAGS): Likewise.
(trig_mod_LDFLAGS): Likewise.
2010-02-06 Vladimir Serbinenko <>
* kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
disk devices.
2010-02-06 Vladimir Serbinenko <>
* kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
2010-02-03 Vladimir Serbinenko <>
* util/hostdisk.c (open_device): Don't use partition device when reading
before the partition.
(grub_util_biosdisk_read): Don't read from partition and before the
partition in single operation.
(grub_util_biosdisk_write): Don't write to partition and before the
partition in single operation.
2010-02-03 Torsten Landschoff <>
* kern/disk.c (grub_disk_read): Fix offset computation when reading
last sectors.
2010-02-03 Vladimir Serbinenko <>
* disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
CDROM reads.
(grub_biosdisk_write): Refuse to write to CDROM.
2010-01-31 Vladimir Serbinenko <>
* disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
2010-01-31 Vladimir Serbinenko <>
* font/font.c (find_glyph): Check that bmp_idx is available before
using it.
(grub_font_get_string_width): Never call grub_font_get_glyph_internal
with (font == NULL).
2010-01-28 Christian Schmitt <>
* util/ieee1275/ Fix nvsetenv arguments.
2010-01-28 BVK Chaitanya <>
* include/grub/script_sh.h (sourcecode): Add const qualifier.
* util/grub-script-check.c (getline): Fix empty lines case.
2010-01-28 Robert Millan <>
* (check): Exit with fail status when one of the tests
* tests/example_functional_test.c (example_test): Fix reversed assert.
* tests/example_unit_test.c (example_test): Likewise.
2010-01-28 Colin Watson <>
* util/grub.d/ This script does not use any of the
contents of, only the external command `gettext', so stop
sourcing it. (Moreover, isn't necessarily installed in
the same prefix as GRUB.)
* util/grub.d/ Likewise.
2010-01-27 Vladimir Serbinenko <>
* normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
of the line.
2010-01-27 Vladimir Serbinenko <>
* kern/disk.c (grub_disk_read): Fix offset computation when reading
last sectors.
2010-01-27 Vladimir Serbinenko <>
* commands/hashsum.c (hash_file): Avoid possible stack overflow by
having a 4KiB and not 32KiB buffer size.
2010-01-27 Robert Millan <>
* util/hostfs.c: Include `<errno.h>'.
(grub_hostfs_read): Handle errors from fseeko() and fread().
2010-01-27 Robert Millan <>
* kern/disk.c (grub_disk_read): Fix bug that would cause infinite
loop when using read hooks on files whose size isn't sector-aligned.
2010-01-27 Robert Millan <>
Remove unused parameter.
* fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
(grub_iso9660_open): Remove initialization of `data->length'.
2010-01-27 Robert Millan <>
* util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
memleak conditions.
2010-01-27 Carles Pina i Estany <>
* util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
(grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
2010-01-26 Carles Pina i Estany <>
* util/bin2h.c (usage): Fix warning (space after backslash).
2010-01-26 Carles Pina i Estany <>
* font/font.c: Include `grub/fontformat.h.
Remove font file format constants.
(grub_font_load): Use the new macros.
* include/grub/fontformat.h: New file.
* util/grub-mkfont.c: Include `grub/fontformat.c'.
(write_font_pf2): Use the new macros.
2010-01-26 Robert Millan <>
* util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
2010-01-26 Robert Millan <>
* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
* boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
(_start): Macroify `0x7F'.
* kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
(make_install_device): Use "(pxe)" as fallback prefix when booting
via PXE.
2010-01-26 Vladimir Serbinenko <>
* Reset LIBS after check for libgcc symbols.
2010-01-25 Colin Watson <>
* util/hostdisk.c (open_device): Add trailing newline to debug
2010-01-25 Grégoire Sutre <>
* Check for `limits.h'.
* util/misc.c: Include `<limits.h>' (for PATH_MAX).
2010-01-24 Robert Millan <>
* loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
capitalize error strings.
2010-01-24 Samuel Thibault <>
* util/grub.d/ Add a recovery mode.
2010-01-23 Vladimir Serbinenko <>
* Check for libgcc symbols with -nostdlib.
2010-01-23 BVK Chaitanya <>
* acinclude.m4: Quote underquoted AC_DEFUN parameters.
2010-01-22 Vladimir Serbinenko <>
* term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
stack since heap may be unavailable at that point.
(grub_ofconsole_gotoxy): Likewise.
2010-01-22 Vladimir Serbinenko <>
* Check for _restgpr_14_x.
* include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
and _savegpr_* prototypes.
2010-01-22 Robert Millan <>
Use generic grub_reboot() for i386-efi.
* kern/efi/efi.c [__i386__] (grub_reboot): Remove.
* kern/i386/efi/startup.S: Include `"../realmode.S"'.
* kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
2010-01-22 Vladimir Serbinenko <>
* kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
presence of "prefix" variable as it breaks when normal.mod is
2010-01-21 Vladimir Serbinenko <>
* term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
stack since heap is unavailable at that point.
2010-01-21 Vladimir Serbinenko <>
* include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
(grub_freebsd_bootinfo): Rewritten.
* loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
2010-01-21 Vladimir Serbinenko <>
* util/misc.c (make_system_path_relative_to_its_root): Fix typo.
2010-01-21 Robert Millan <>
* po/POTFILES: Remove mkisofs-related files. They have their own TLP
domain now.
2010-01-20 Felix Zielcke <>
* util/misc.c (make_system_path_relative_to_its_root): Change the work
around for handling "/" to the correct fix. Fix a memory leak. Use
xstrdup instead of strdup.
2010-01-20 Vladimir Serbinenko <>
* conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
2010-01-20 Vladimir Serbinenko <>
Optimise glyph lookup by Basic Multilingual Plane lookup array.
* font/font.c (struct grub_font): New member 'bmp_idx'.
(font_init): Initialise 'bmp_idx'.
(load_font_index): Fill 'bmp_idx'.
(find_glyph): Make inline. Use bmp_idx for BMP characters.
2010-01-20 Vladimir Serbinenko <>
* video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
unnecessary calls.
2010-01-20 Vladimir Serbinenko <>
Move context handling out of the kernel.
* conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
* conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
* conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
* conf/i386-efi.rmk: Likewise.
* conf/i386-ieee1275.rmk: Likewise.
* conf/i386-pc.rmk: Likewise.
* conf/powerpc-ieee1275.rmk: Likewise.
* conf/sparc64-ieee1275.rmk: Likewise.
* conf/x86_64-efi.rmk: Likewise.
* include/grub/env.h: Include grub/menu.h.
(grub_env_var_type): Removed.
(grub_env_var): Replaced field 'type' with 'global'.
(grub_env_find): New prototype.
(grub_env_context_open): Remove EXPORT_FUNC.
(grub_env_context_close): Likewise.
(grub_env_export): Likewise.
(grub_env_set_data_slot): Removed.
(grub_env_get_data_slot): Likewise.
(grub_env_unset_data_slot): Likewise.
(grub_env_unset_menu): New prototype.
(grub_env_set_menu): Likewise.
(grub_env_get_menu): Likewise.
* include/grub/env_private.h: New file.
* include/grub/normal.h (grub_context_init): New prototype.
(grub_context_fini): Likewise.
* kern/corecmd.c (grub_core_cmd_export): Moved from here ...
* normal/context.c (grub_cmd_export): ... to here.
* kern/env.c: Include env_private.h.
(HASHSZ): Moved to include/grub/env_private.h.
(grub_env_context): Likewise.
(grub_env_sorted_var): Likewise.
(current_context): Renamed from this ...
(grub_current_context): this. 'static' removed. All users updated.
(grub_env_find): Removed 'static'.
(grub_env_context_open): Moved to normal/context.c.
(grub_env_context_close): Likewise.
(grub_env_export): Likewise.
(mangle_data_slot_name): Removed.
(grub_env_set_data_slot): Likewise.
(grub_env_get_data_slot): Likewise.
(grub_env_unset_data_slot): Likewise.
* kern/main.c (grub_set_root_dev): Don't export root.
It will be done later.
(grub_main): Don't export prefix.
It will be done later.
* normal/context.c: New file.
* normal/main.c (free_menu): Use grub_env_unset_menu.
(grub_normal_add_menu_entry): Use grub_env_get_menu.
(read_config_file): Use grub_env_get_menu and grub_env_set_menu.
(GRUB_MOD_INIT(normal)): Call grub_context_init.
(GRUB_MOD_FINI(normal)): Call grub_context_fini.
2010-01-20 Vladimir Serbinenko <>
setpci support.
* commands/setpci.c: New file.
* conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
(setpci_mod_SOURCES): New variable.
(setpci_mod_CFLAGS): Likewise.
(setpci_mod_LDFLAGS): Likewise.
2010-01-20 Vladimir Serbinenko <>
Byte-addressable PCI configuration space.
* bus/pci.c (grub_pci_make_address): Use byte address instead of
dword address.
(grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
* bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
* bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
* commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
* commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
(lock_rom_area): Likewise.
* commands/lspci.c (grub_lspci_iter): Use macroses
of grub_pci_make_address.
* disk/ata.c (grub_ata_pciinit): Likewise.
* include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
(GRUB_PCI_REG_BIST): Likewise.
* loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
* loader/i386/efi/xnu.c (find_framebuf): Likewise.
* video/efi_uga.c (find_framebuf): Likewise.
* video/sm712.c (grub_video_sm712_setup): Likewise.
* util/pci.c (grub_pci_make_address): Use byte-addressed configuration
2010-01-20 Robert Millan <>
* util/grub.d/ (linux_entry): Set gfxpayload=keep when it
can be reliably determined to be supported.
2010-01-20 Robert Millan <>
* loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
that VESA is supported.
(grub_linux_boot): Use generic framebuffer unless VESA is known to be
2010-01-20 Vladimir Serbinenko <>
* conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
2010-01-20 Robert Millan <>
* util/misc.c (make_system_path_relative_to_its_root): Work around
special-casing of "/", as previous incarnation of this routine did.
2010-01-20 Vladimir Serbinenko <>
Fix any-emu compilation.
* conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
* grub_bin2h_SOURCES: New variable.
2010-01-20 Robert Millan <>
* util/grub.d/ Fix stupid mistake from last commit.
2010-01-20 Robert Millan <>
* util/grub.d/ Fix handling of locale_dir.
2010-01-20 Vladimir Serbinenko <>
* Add /usr/share/fonts/unifont/unifont.pcf.gz
as possible unifont location (Gentoo).
Reported by: Alexander Brüning
2010-01-20 Vladimir Serbinenko <>
Don't try to generate lists for kernel.img.
* conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
(pkglib_MODULES): Remove kernel.img.
(kernel_img_EXPORTS): Removed.
(kernel_img_RELOCATABLE): New variable.
* conf/x86_64-efi.rmk: Likewise.
* genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
2010-01-20 Vladimir Serbinenko <>
* include/grub/misc.h (grub_sprintf): Removed. All users switched to
grub_xasprintf or grub_snprintf.
(grub_vsprintf): Likewise.
(grub_snprintf): New proto.
(grub_vsnprintf): Likewise.
(grub_xasprintf): Likewise.
(grub_xvasprintf): Likewise.
* kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
(grub_sprintf): Removed.
(grub_vsnprintf): New function.
(grub_snprintf): Likewise.
(grub_xvasprintf): Likewise.
(grub_xasprintf): Likewise.
(grub_vsprintf): Renamed to ...
(grub_vsnprintf_real): ...this. New argument max_len.
2010-01-20 BVK Chaitanya <>
* include/grub/script_sh.h (sourcecode): Remove const qualifier to
fix grub-script-check warning.
2010-01-20 Vladimir Serbinenko <>
* include/grub/font.h (grub_font_load): Fix prototype.
2010-01-20 Vladimir Serbinenko <>
* conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
2010-01-20 Vladimir Serbinenko <>
* include/grub/x86_64/at_keyboard.h: New file.
2010-01-20 Vladimir Serbinenko <>
* loader/mips/linux.c: Include missing grub/i18n.h.
2009-12-20 Robert Millan <>
* normal/menu.c (notify_execution_failure): Clarify error message.
2009-12-20 Robert Millan <>
* commands/loadenv.c (check_blocklists): Use `grub_err_t' as
return value (and revert all return statements). Update users.
2010-01-20 Dan Merillat <>
* kern/device.c (grub_device_iterate): Allocate new part_ent
structure based on sizeof (*p) rather than sizeof (p->next), to
account for structure padding.
* util/grub-probe.c (probe_raid_level): Return -1 immediately if
disk is NULL, which might happen for LVM physical volumes with no
LVM signature.
2009-12-20 Robert Millan <>
* loader/mips/linux.c (grub_cmd_initrd)
(GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
2009-12-20 Robert Millan <>
* kern/mips/yeeloong/init.c (grub_video_sm712_init)
(grub_video_video_init, grub_video_bitmap_init)
(grub_font_manager_init, grub_term_gfxterm_init)
(grub_at_keyboard_init): New extern declarations.
(grub_machine_init): Initialize gfxterm and at_keyboard.
* kern/main.c (grub_main): Revert grub_printf delay kludge.
* util/ Revert embed of `at_keyboard.mod' and
`gfxterm.mod' into core image.
* conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
(kernel_img_FORMAT): Copy to ...
* conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
(kernel_img_FORMAT): ... here, and ...
* conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
(kernel_img_FORMAT): ... here.
(kernel_img_SOURCES): Add files necessary for output (gfxterm)
and input (at_keyboard) terminals in kernel.
(kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
(pkglib_MODULES): Remove `pci.mod'.
(pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
(sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
(at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
(at_keyboard_mod_LDFLAGS): Remove variables.
2010-01-11 Felix Zielcke <>
* po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
2009-12-10 Robert Millan <>
* include/grub/mips/libgcc.h: Only export symbols for functions
that libgcc provides.
2009-12-02 Vladimir Serbinenko <>
MIPS support.
* bus/bonito.c: New file.
* bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
* term/i386/pc/serial.c: Move to ...
* term/serial.c: ... here. All users updated.
* util/i386/pc/grub-mkimage.c: Move to ...
* util/grub-mkrawimage.c: ... here. All users updated.
* term/i386/pc/at_keyboard.c: Move to ...
* term/at_keyboard.c: ... here. All users updated.
* conf/mips-qemu-mips.rmk: New file.
* conf/mips-yeeloong.rmk: Likewise.
* conf/mips.rmk: Likewise.
* New platforms mipsel-yeeloong, mips-qemu-mips and
* disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
to port addresses.
(grub_ata_pciinit): Support CS5536.
* font/font.c (grub_font_load): Use grub_file_t instead of filename.
* font/font_cmd.c (loadfont_command): Open file before passing it to
(pseudo_file_read): New function.
(pseudo_file_close): Likewise.
(pseudo_fs): New structure.
(load_font_module): New function.
(GRUB_MOD_INIT(font_manager)): Load embedded font.
* fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
* genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
* genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
* include/grub/i386/at_keyboard.h: Split into ...
* include/grub/at_keyboard.h: ... this ...
* include/grub/i386/at_keyboard.h: ... and this.
* include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
New prototype.
* include/grub/elfload.h (grub_elf32_size): New parameter. All users
(grub_elf64_size): Likewise.
* include/grub/font.h (grub_font_load): Use grub_file_t instead of
* include/grub/i386/io.h (grub_port_t): New type. All users updated.
* include/grub/i386/coreboot/serial.h: Rewritten.
* include/grub/i386/ieee1275/serial.h: Include
grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
* include/grub/i386/pc/serial.h: Moved from here ...
* include/grub/serial.h: ... to here. All users updated.
* include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
(GRUB_PCI_NUM_BUS): Likewise.
(grub_pci_device_map_range): Add missing volatile keyword.
* include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
* include/grub/mips/at_keyboard.h: New file.
* include/grub/mips/cache.h: Likewise.
* include/grub/mips/io.h: Likewise.
* include/grub/mips/kernel.h: Likewise.
* include/grub/mips/libgcc.h: Likewise.
* include/grub/mips/pci.h: Likewise.
* include/grub/mips/qemu-mips/boot.h: Likewise.
* include/grub/mips/qemu-mips/kernel.h: Likewise.
* include/grub/mips/qemu-mips/loader.h: Likewise.
* include/grub/mips/qemu-mips/memory.h: Likewise.
* include/grub/mips/qemu-mips/serial.h: Likewise.
* include/grub/mips/qemu-mips/time.h: Likewise.
* include/grub/mips/relocator.h: Likewise.
* include/grub/mips/time.h: Likewise.
* include/grub/mips/types.h: Likewise.
* include/grub/mips/yeeloong/at_keyboard.h: Likewise.
* include/grub/mips/yeeloong/boot.h: Likewise.
* include/grub/mips/yeeloong/kernel.h: Likewise.
* include/grub/mips/yeeloong/loader.h: Likewise.
* include/grub/mips/yeeloong/memory.h: Likewise.
* include/grub/mips/yeeloong/pci.h: Likewise.
* include/grub/mips/yeeloong/serial.h: Likewise.
* include/grub/mips/yeeloong/time.h: Likewise.
* kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
* kern/elf.c (grub_elf32_size): New parameter. All users
(grub_elf64_size): Likewise.
* kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
Load modules before saying "Welcome to GRUB!".
Call grub_refresh after saying "Welcome to GRUB!".
* kern/mips/cache.S: New file.
* kern/mips/cache_flush.S: Likewise.
* kern/mips/dl.c: Likewise.
* kern/mips/init.c: Likewise.
* kern/mips/qemu-mips/init.c: Likewise.
* kern/mips/startup.S: Likewise.
* kern/mips/yeeloong/init.c: Likewise.
* kern/term.c (grub_putcode): Handle NULL terminal.
(grub_getcharwidth): Likewise.
(grub_getkey): Likewise.
(grub_checkkey): Likewise.
(grub_getkeystatus): Likewise.
(grub_getxy): Likewise.
(grub_getwh): Likewise.
(grub_gotoxy): Likewise.
(grub_cls): Likewise.
(grub_setcolorstate): Likewise.
(grub_setcolor): Likewise.
(grub_getcolor): Likewise.
(grub_refresh): Likewise.
* lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
(write_jump): Add hatch nop.
* lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
* lib/mips/setjmp.S: New file.
* loader/mips/linux.c: Likewise.
* term/i386/pc/at_keyboard.c: Move from here ...
* term/at_keyboard.c: ... to here.
* term/i386/pc/serial.c: Moved from here ...
* term/serial.c: ... to here. All users updated.
(TEXT_HEIGHT): Set to 24 to fit linux terminal.
(serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
(serial_translate_key_sequence): Avoid deadlock.
(grub_serial_getkey): Handle backspace.
(grub_serial_putchar): Fix newline handling.
* util/i386/pc/grub-mkimage.c: Move from here ...
* util/grub-mkrawimage.c: ... to here. All users updated.
(generate_image): New parameters 'font_path' and 'format'.
Support embedding font.
Use grub_host_to_target* instead of grub_cpu_to_le*.
(generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
(options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
(options): New option "--font".
(usage): Likewise.
(main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
(main): Handle "--font".
* term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
(grub_virtual_screen_setup): Set bg_color_display.
(redraw_screen_rect): Use bg_color_display instead of incorrect
(grub_gfxterm_cls): Likewise.
* util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
Support embedding config file.
(add_segments): Likewise.
(options): New option "--config".
(main): Handle "--config".
* video/sm712.c: New file.
2010-01-18 Robert Millan <>
Fix parallel builds.
* conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
font.c depend on ascii.h).
2010-01-12 Carles Pina i Estany <>
2010-01-11 Carles Pina i Estany <>
* font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
By default: disabled.
* (ascii.h): Remove the non-needed grub/bin2h size
2010-01-10 Carles Pina i Estany <>
* font/font.c: Update copyright years.
* util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
2010-01-10 Carles Pina i Estany <>
* font/font.c: Include `ascii.h'.
(ascii_font_glyph): Define.
(ascii_glyph_lookup): New function.
(grub_font_get_string_width): Change comment. If glyph not found, use
(grub_font_get_glyph_with_fallback): If glyph not available returns
* util/grub-mkfont.c (file_formats): New enum.
(options): Add `ascii-bitmaps' new option.
(usage): Add `asii-bitmaps' new option.
(write_font_ascii_bitmap): New function.
(write_font): Rename to ...
(write_font_p2): ... this. Remove print_glyphs call.
(main): Use file_format. Implement code for ranges if ascii-bitmaps is
used. Call print_glyphs.
* (pkgdata_DATA): Add `ascii.h'.
2010-01-14 Robert Millan <>
* conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
(grub_bin2h_SOURCES): New variable.
* util/bin2h.c: New file.
2010-01-20 Vladimir Serbinenko <>
* include/multiboot.h: Resynced with spec.
* include/multiboot2.h: Likewise.
* loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
2010-01-18 Robert Millan <>
* include/grub/term.h (grub_term_register_input,
grub_term_register_output): Check return of terminal init()
routines, and abort if errors are raised.
* commands/terminal.c: Update copyright year.
2010-01-18 Robert Millan <>
* commands/terminal.c (grub_cmd_terminal_input)
(grub_cmd_terminal_output): Check return of terminal init()
routines, and abort if errors are raised.
2010-01-18 Vladimir Serbinenko <>
* include/grub/i386/bsd.h: Fix include pathes.
2010-01-18 Vladimir Serbinenko <>
Add missing *BSD copyright headers.
* include/grub/aout.h: Add BSD licence.
* include/grub/i386/bsd.h: Parts under different licences moved to ...
* include/grub/i386/freebsd_linker.h: ... here,
* include/grub/i386/freebsd_reboot.h: ... here,
* include/grub/i386/netbsd_bootinfo.h: ... here,
* include/grub/i386/netbsd_reboot.h: ... here,
* include/grub/i386/openbsd_bootarg.h: ... here,
* include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
licence to each file.
2010-01-18 Robert Millan <>
* acinclude.m4: Remove `nop' assembly instruction; it's not
implemented by all architectures.
2010-01-18 Robert Millan <>
* loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
ELILO. This is no longer necessary.
2010-01-18 BVK Chaitanya <>
Added new tool, grub-scrit-check to verify grub.cfg syntax.
* util/grub-script-check.c: grub-script-check tool.
* conf/common.rmk: Make rules for grub-script-check.
2010-01-18 Robert Millan <>
Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
spotting it back in 2008. Shame on me for forgetting he did.
* kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
2010-01-18 Robert Millan <>
* include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
(GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
(GRUB_VIDEO_TYPE_VLFB): Rename to ...
(GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
(GRUB_VIDEO_TYPE_EFI): Rename to ...
(GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
2010-01-17 Robert Millan <>
* include/grub/test.h: Add license header.
* tests/example_functional_test.c: Likewise.
* tests/example_unit_test.c: Likewise.
* tests/lib/functional_test.c: Likewise.
* tests/lib/test.c: Likewise.
* tests/lib/unit_test.c: Likewise.
2010-01-17 Vladimir Serbinenko <>
Use flag-based instead of hook-based video mode selection and "auto"
* include/grub/video.h (grub_video_adapter): Changed 'setup' member.
(grub_video_set_mode): Changed prototype. All users updated.
(grub_video_check_mode_flag): New inline function.
* video/video.c (parse_modespec): New function.
(grub_video_set_mode): Parse flags and keywords.
2010-01-17 Carles Pina i Estany <>
* util/misc.c (grub_util_info): Fix the order of the parameters in a
fprintf call.
2010-01-16 Grégoire Sutre <>
* genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
2010-01-16 Carles Pina i Estany <>
* util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
* util/grub-emu.c (usage): Likewise.
* util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
* util/i386/efi/grub-mkimage.c (usage): Likewise.
* util/i386/pc/grub-mkimage.c (usage): Likewise.
* util/i386/pc/grub-setup.c (usage): Likewise.
2010-01-16 Carles Pina i Estany <>
* util/misc.c (grub_util_warn): Gettextizze, print full stop after
the message.
(grub_util_info): Likewise.
(grub_util_error): Likewise.
* util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
and/or new lines in `grub_util_warna', `grub_util_info',
`grub_util_error' calls.
* util/getroot.c: Likewise.
* util/grub-editenv.c: Likewise.
* util/grub-emu.c: Likewise.
* util/grub-fstest.c: Likewise.
* util/grub-mkdevicemap.c: Likewise.
* util/grub-mkfont.c: Likewise.
* util/grub-mkpasswd-pbkdf2.c: Likewise.
* util/grub-mkrelpath.c: Likewise.
* util/grub-pe2elf.c: Likewise.
* util/grub-probe.c: Likewise.
* util/hostdisk.c: Likewise.
* util/i386/efi/grub-mkimage.c: Likewise.
* util/i386/pc/grub-mkimage.c: Likewise.
* util/i386/pc/grub-setup.c: Likewise.
* util/ieee1275/ofpath.c: Likewise.
* util/mkisofs/eltorito.c: Likewise.
* util/mkisofs/rock.c: Likewise.
* util/mkisofs/write.c: Likewise.
* util/raid.c: Likewise.
* util/sparc64/ieee1275/grub-mkimage.c: Likewise.
* util/sparc64/ieee1275/grub-setup.c: Likewise.
2010-01-15 Vladimir Serbinenko <>
Enable multiboot on non-pc.
* conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
multiboot.mod and multiboot2.mod to ...
* conf/i386.rmk (pkglib_MODULES): ... here.
* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
Moved to ...
* conf/i386.rmk (multiboot_mod_SOURCES): .. here.
* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
Moved to ...
* conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
Moved to ...
* conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
* conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
Moved to ...
* conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
* conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
(ata_mod_SOURCES): Removed.
(ata_mod_CFLAGS): Likewise.
(ata_mod_LDFLAGS): Likewise.
(relocator_mod_SOURCES): Removed.
(relocator_mod_CFLAGS): Likewise.
(relocator_mod_ASFLAGS): Likewise.
(relocator_mod_LDFLAGS): Likewise.
* include/grub/x86_64/multiboot.h: New file.
* loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
Terminate EFI.
2010-01-15 Vladimir Serbinenko <>
Video multiboot support.
* include/grub/multiboot.h (grub_multiboot_set_accepts_video):
New prototype.
* include/multiboot.h: Resynced with multiboot specification.
* include/multiboot2.h: Likewise.
* loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
(grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
* loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
(HAS_VGA_TEXT): Likewise.
(accepts_video): New variable.
(grub_multiboot_set_accepts_video): New function.
(grub_multiboot_get_mbi_size): Account for video structures.
(set_video_mode): New function.
(retrieve_video_parameters): Likewise.
(grub_multiboot_make_mbi): Fill video fields.
2010-01-15 Vladimir Serbinenko <>
Video driver ids.
* include/grub/video.h (grub_video_driver_id): New type.
(grub_video_adapter): New member 'id'. All users updated.
(grub_video_get_driver_id): New proto.
* video/video.c (grub_video_get_driver_id): New function.
2010-01-14 Carles Pina i Estany <>
* util/grub.d/ Use `set var=val' rather than plain
2010-01-14 Carles Pina i Estany <>
* normal/cmdline.c (print_completion): Gettextizze.
2001-01-14 Carles Pina i Estany <>
* loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
2010-01-14 Carles Pina i Estany <>
* gettext/gettext.c (grub_gettext_translate): Push and pop
(grub_gettext_delete_list): Change comment style.
* kern/err.c (grub_error): Gettextizze.
(grub_fatal): Gettextizze.
2010-01-14 Robert Millan <>
* include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
(grub_linux16_real_boot): ... this.
* kern/i386/loader.S: Likewise.
* loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
(grub_linux16_boot): New function. Switches to text mode and calls
* loader/i386/bsd.c: Include `<grub/video.h>'.
(grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
text mode before calling grub_unix_real_boot().
* loader/i386/multiboot.c: Include `<grub/video.h>'.
(grub_multiboot_boot): Switch to text mode before calling
* loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
(grub_chainloader_boot): Switch to text mode before calling
2010-01-05 Jordan Uggla <>
2010-01-05 Colin Watson <>
* util/ Make sure prev_saved_entry always gets a
non-empty value.
2010-01-05 Jordan Uggla <>
2010-01-05 Colin Watson <>
* util/grub.d/ Define a "savedefault" function for use
in menu entries.
* util/ (save_default_entry): Use it.
2010-01-05 Jordan Uggla <>
2010-01-05 Colin Watson <>
* util/ (save_default_entry): Only set
saved_entry if boot_once is unset.
* util/grub.d/ Set boot_once to "true" if there was a
previous saved entry (i.e. grub-reboot).
2009-12-08 Colin Watson <>
* util/grub.d/ Call save_default_entry for hurd.
2009-12-08 Colin Watson <>
* util/grub.d/ Use `set var=val' rather than plain
* util/ (save_default_entry): Likewise.
2009-12-08 Colin Watson <>
* util/ Fix --version output.
* util/ Likewise.
2009-12-08 Colin Watson <>
* util/grub.d/ Silently ignore zero-sized environment
2009-12-08 Colin Watson <>
* util/grub.d/ Quote the value assigned to `default',
in case it contains spaces.
2009-12-08 Colin Watson <>
* util/grub.d/ Fix merge error that moved a
`save_default_entry' call from the macosx case to the linux case.
2009-10-25 Vladimir Serbinenko <>
2009-10-25 Colin Watson <>
* normal/menu.c (grub_menu_execute_entry): Save selected entry title
in `chosen' environment variable.
* normal/menu_text.c (get_entry_number): Check if the variable
matches the title of a menu entry.
(run_menu): Pass menu to get_entry_number.
* util/ New file.
* util/ New file.
* conf/common.rmk (grub-reboot): New utility.
(grub-set-default): New utility.
* util/ (save_default_entry): New function.
* util/grub.d/ If GRUB_DEFAULT is `saved', set
default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
move it to `saved_entry' for the next boot. Load environment on
* util/grub.d/ Call save_default_entry.
* util/grub.d/ Likewise.
* util/grub.d/ (linux_entry): Likewise.
* util/grub.d/ Likewise.
* util/grub.d/ Likewise.
* util/ Create environment block.
* util/i386/efi/ Likewise.
* util/ieee1275/ Likewise.
* util/sparc64/ieee1275/ Likewise.
2010-01-14 BVK Chaitanya <>
Unit testing framework for GRUB.
* Test framework build rules for 'make check'.
* conf/tests.rmk: Build rules for individual tests and framework.
* include/grub/test.h: Header file for whitebox tests.
* tests/lib/functional_test.c: Framework support for whitebox
functional tests.
* tests/lib/test.c: Common whitebox testing code for unit and
functional tests.
* tests/lib/unit_test.c: Framework support for whitebox unit
* tests/util/ Support utility for grub-script
* tests/util/ Utility to execute grub-script
commands in a Qemu instance.
* tests/example_functional_test.c: Example whitebox functional
* tests/ Example grub-script test.
* tests/ Example scripted test.
* tests/example_unit_test.c: Example whitebox unit test.
2010-01-14 Vladimir Serbinenko <>
* conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
Add loader/i386/multiboot_mbi.c.
(multiboot2_mod_SOURCES): Likewise.
* conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
(multiboot2_mod_SOURCES): Likewise.
* include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
(grub_multiboot_make_mbi): Likewise.
(grub_multiboot_free_mbi): Likewise.
(grub_multiboot_init_mbi): Likewise.
(grub_multiboot_add_module): Likewise.
(grub_multiboot_set_bootdev): Likewise.
* loader/i386/multiboot.c (mbi): Removed.
(mbi_dest): Likewise.
(alloc_mbi): New variable.
(grub_multiboot_payload_size): Removed. All users updated.
(grub_multiboot_pure_size): New variable.
(grub_multiboot_boot): Use grub_multiboot_make_mbi.
(grub_multiboot_unload): Use grub_multiboot_free_mbi.
(grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
(grub_fill_multiboot_mmap): Likewise.
(grub_multiboot_get_bootdev): Likewise.
(grub_multiboot): Use multiboot_mbi functions.
* loader/i386/multiboot_mbi.c: New file.
2010-01-13 Vladimir Serbinenko <>
* kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
it would result in module crash.
2010-01-13 Vladimir Serbinenko <>
* term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
(grub_ofconsole_getwh): Split to ...
(grub_ofconsole_getwh): ... this.
(grub_ofconsole_dimensions): ...and this.
(grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
2010-01-13 Robert Millan <>
* util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
2010-01-12 Vladimir Serbinenko <>
* loader/i386/pc/multiboot2.c: Removed stalled file.
2010-01-12 Vladimir Serbinenko <>
* util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
Reported by: Grégoire Sutre
2010-01-11 Robert Millan <>
* util/misc.c (canonicalize_file_name): New function.
(make_system_path_relative_to_its_root): Use canonicalize_file_name()
instead of realpath().
2010-01-11 Colin Watson <>
* util/ (usage): Clarify meaning of --root-directory,
and make it clearer that it's optional. Based on confusion
witnessed on IRC.
2010-01-10 Vladimir Serbinenko <>
* term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
in premature implicit newline.
2010-01-10 Vladimir Serbinenko <>
* normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
which resulted in garbled command line at the end of screen.
2010-01-10 Robert Millan <>
* loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
initialization with similar approach as with other Linux loaders.
2010-01-10 Robert Millan <>
Fix i386-ieee1275 build.
* loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
and grub_term_height() for video_{width,height} initialization.
2010-01-10 Robert Millan <>
Fix grub-emu build.
* conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
2010-01-07 Vladimir Serbinenko <>
2010-01-09 Robert Millan <>
Support for multiple terminals.
* (pkglib_DATA): terminal.lst.
(terminal.lst): New target.
* commands/handler.c (grub_cmd_handler): Don't handle terminals.
(GRUB_MOD_INIT(handler)): Likewise.
(GRUB_MOD_FINI(handler)): Likewise.
* commands/help.c (grub_cmd_help): Handle multiple terminals.
* commands/keystatus.c (grub_cmd_keystatus): Likewise.
* commands/sleep.c (do_print): Use grub_term_restore_pos.
(grub_cmd_sleep): Use grub_term_save_pos.
* commands/terminal.c: New file.
* conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
commands/terminal.c and lib/charset.c.
* conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
(pkglib_MODULES): Add terminal.mod.
(terminal_mod_SOURCES): New variable.
(terminal_mod_CFLAGS): Likewise.
(terminal_mod_LDFLAGS): Likewise.
* Don't handle terminals.
* genmk.rb: Generate terminal-*.lst.
* New file.
* include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
(grub_is_valid_utf8): Likewise.
(grub_utf8_to_ucs4_alloc): Likewise.
* include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
(grub_menu_register_viewer): Changed argument.
(grub_menu_try_text): New proto.
(grub_gfxmenu_try_hook): New declaration.
* include/grub/normal.h (grub_normal_exit_level): New declaration.
(grub_menu_init_page): Additional argument term.
(grub_normal_init_page): Likewise.
(grub_cmdline_get): Arguments simplified.
(grub_utf8_to_ucs4_alloc): Removed.
(grub_print_ucs4): Additional argument term.
(grub_getstringwidth): Likewise.
(grub_print_message_indented): Likewise.
(grub_menu_text_register_instances): New proto.
(grub_show_menu): Likewise.
(read_terminal_list): Likewise.
(grub_set_more): Likewise.
* include/grub/parser.h: Include handler.h.
* include/grub/reader.h: Rewritten.
* include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
(GRUB_TERM_WIDTH): Changed to function.
(grub_term_input_class): Likewise.
(grub_term_output_class): Likewise.
(grub_term_outputs_disabled): New declaration.
(grub_term_inputs_disabled): Likewise.
(grub_term_outputs): Likewise.
(grub_term_inputs): Likewise.
(grub_term_register_input): Rewritten.
(grub_term_register_output): Likewise.
(grub_term_unregister_input): Likewise.
(grub_term_unregister_output): Likewise.
* include/grub/terminfo.h: Add oterm argument to all protypes.
* kern/main.c (grub_main): Don't call grub_register_rescue_reader.
Use grub_rescue_run.
* kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
All users updated.
* kern/reader.c: Removed. All users updated.
* kern/rescue_reader.c (grub_rescue_init): Removed.
(grub_rescue_reader): Likewise.
(grub_register_rescue_reader): Likewise.
(grub_rescue_run): New function based on kern/reader.c.
* kern/term.c: Adapted for multiterm.
* lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
(grub_is_valid_utf8): Likewise.
(grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
* loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
right terminal.
* loader/i386/linux.c (grub_linux_boot): Likewise.
* normal/auth.c (grub_username_get): New function.
(grub_auth_check_authentication): Use grub_username_get.
* normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
* normal/color.c: Adapt for multiterm.
* normal/main.c (read_config_file): Don't use grub_reader_loop.
(grub_normal_init_page): Additional argument term.
(read_lists): Call read_terminal_lists.
(grub_enter_normal_mode): Call grub_cmdline_run.
Handle grub_normal_exit_level.
(grub_cmd_normal): Make reentrant.
(grub_cmd_normal_exit): New function.
(grub_normal_reader_init): Additional argument nested. Handle multiterm.
* normal/menu.c: Adapt for multiterm.
* normal/menu_entry.c: Likewise.
* normal/menu_text.c: Likewise.
* normal/menu_viewer.c: Removed. All users updated.
* normal/term.c: New file.
* util/console.c: Change order of includes to workaround a bug in
ncurses headers.
* term/terminfo.c: New argument oterm on all exported functions.
All users updated.
* util/grub-editenv.c (grub_term_input_class): Removed.
(grub_term_output_class): Likewise.
2010-01-09 Robert Millan <>
Make loader output a bit more user-friendly.
* util/grub.d/ Print message indicating that GNU Mach
is being loaded. Likewise for the Hurd.
* util/grub.d/ (kfreebsd_entry): Print message indicating
that kernel of FreeBSD ${version} is being loaded.
* loader/i386/linux.c (grub_cmd_linux): Move debug info to
(grub_cmd_initrd): Likewise.
* util/grub.d/ (linux_entry): Print message indicating
that Linux ${version} is being loaded. Likewise for initrd.
2010-01-09 Carles Pina i Estany <>
* gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
2010-01-08 Carles Pina i Estany <>
* loader/efi/appleloader.c: Include `<grub/i18n.h>'.
(GRUB_MOD_INIT): Gettextizze.
* loader/efi/chainloader.c: Include `<grub/i18n.h>'.
(GRUB_MOD_INIT): Gettextizze.
* loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
(grub_cmd_linux): Capitalise Linux.
(GRUB_MOD_INIT): Gettextizze.
* loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
(grub_cmd_linux): Capitalise Linux.
(GRUB_MOD_INIT): Gettextizze.
* loader/i386/linux.c: Include `<grub/i18n.h>'.
(grub_cmd_linux): Capitalise Linux.
(GRUB_MOD_INIT): Gettextizze.
* loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
(GRUB_MOD_INIT): Gettextizze.
* loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
(grub_cmd_linux): Capitalise Linux.
(GRUB_MOD_INIT): Gettextizze.
* loader/i386/xnu.c: Include `<grub/i18n.h>'.
(grub_cpu_xnu_init): Gettextizze.
* loader/multiboot_loader.c: Include `<grub/i18n.h>'.
(GRUB_MOD_INIT): Gettextizze.
* loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
(GRUB_MOD_INIT): Gettextizze.
* loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
(grub_linux_load64): Capitalise Linux.
(GRUB_MOD_INIT): Gettextizze.
* loader/xnu.c: Include `<grub/i18n.h>'.
(GRUB_MOD_INIT): Gettextizze.
* po/POTFILES: Add `loader/efi/appleloader.c',
`loader/efi/chainloader.c', `loader/i386/efi/linux.c',
`loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
`loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
`loader/i386/xnu.c', `loader/multiboot_loader.c',
`loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
and `loader/xnu.c'.
2010-01-08 Robert Millan <>
* src/mkisofs.c: Remove `ifdef linux' portability kludge.
2010-01-08 Robert Millan <>
* util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
(SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
* util/mkisofs/mkisofs.c (main): Readjust --version output.
2010-01-07 Robert Millan <>
Reset Multiboot 2 support. New loader implements the draft in
/branches/multiboot2 and shares as much code as possible with the
production Multiboot 1 implementation.
* loader/ieee1275/multiboot2.c: Remove file. Update all users.
* loader/multiboot2.c: Likewise.
* loader/i386/multiboot_helper.S: Likewise.
* include/multiboot2.h: Replace with latest version from the draft
in /branches/multiboot2.
* conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
`loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
and `loader/multiboot2.c'.
(pkglib_MODULES): Add `multiboot2.mod'.
(multiboot2_mod_SOURCES): New variable.
(multiboot2_mod_LDFLAGS): Likewise.
(multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
* conf/i386-pc.rmk: Likewise.
* conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
(multiboot_mod_SOURCES): Remove variable.
(multiboot_mod_LDFLAGS): Likewise.
(multiboot_mod_CFLAGS): Likewise.
* include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
`<multiboot2.h>' instead of `<multiboot.h>'.
* loader/multiboot_loader.c (module_version_status): Remove variable.
(find_multi_boot2_header): Remove function.
(grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
logic. Always check for the Multiboot version we're compiling for.
(grub_cmd_module_loader): Likewise.
[GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
command instead of `multiboot'.
2010-01-07 Robert Millan <>
* include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
* loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
all users.
2010-01-07 Robert Millan <>
2010-01-07 Vladimir Serbinenko <>
Fix breakage introduced with previous commit.
* normal/dyncmd.c (read_command_list): Avoid unregistering kernel
* normal/handler.c (read_handler_list): Revert part of previous commit
affecting this file.
* normal/main.c (read_lists): Move read_handler_list() call back to ...
(grub_normal_execute): ... here.
2010-01-07 Robert Millan <>
Merge prefix-redefinition-fix branch.
* normal/autofs.c (read_fs_list): Make function capable of being
run multiple times, gracefuly replacing the previous data
* normal/dyncmd.c (read_command_list): Likewise.
* normal/handler.c (read_handler_list): Likewise.
* normal/main.c (read_lists): New function. Calls all the
list reading functions.
(grub_normal_execute): Use read_lists() instead of calling all
list reading functions explicitly. Register read_lists() as a
variable hook attached to ${prefix}.
2010-01-07 Vladimir Serbinenko <>
Merge crypto branch.
* (pkglib_DATA): Add crypto.lst.
(crypto.lst): New target.
* commands/hashsum.c: New file.
* commands/password.c (check_password): Use grub_crypto_memcmp.
* commands/password_pbkdf2.c: New file.
* commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
* conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
(grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
* conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
(pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
(crypto_mod_SOURCES): New variable.
(crypto_mod_CFLAGS): Likewise.
(crypto_mod_LDFLAGS): Likewise.
(hashsum_mod_SOURCES): New variable.
(hashsum_mod_CFLAGS): Likewise.
(hashsum_mod_LDFLAGS): Likewise.
(pbkdf2_mod_SOURCES): New variable.
(pbkdf2_mod_CFLAGS): Likewise.
(pbkdf2_mod_LDFLAGS): Likewise.
(password_pbkdf2_mod_SOURCES): New variable.
(password_pbkdf2_mod_CFLAGS): Likewise.
(password_pbkdf2_mod_LDFLAGS): Likewise.
(bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
(grub_mkpasswd_pbkdf2_SOURCES): New variable.
(grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
Include conf/gcry.rmk.
* include/grub/auth.h: Rewritten.
* include/grub/crypto.h: New file.
* include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
* include/grub/normal.h (read_crypto_list): New prototype.
* lib/crypto.c: New file.
* lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
* lib/pbkdf2.c: Likewise.
* normal/auth.c (grub_auth_strcmp): Removed.
(grub_iswordseparator): Likewise.
(grub_auth_strword): Likewise.
(is_authenticated): Use grub_strword.
(grub_auth_check_authentication): Use grub_strcmp, grub_password_get
and grub_strword. Pass entered password to authentication callback.
* normal/crypto.c: New file.
* normal/main.c: Call read_crypto_list.
* util/grub-mkpasswd-pbkdf2.c: New file.
* util/ Generate crypto.lst. Add hash blocklen.
2010-01-06 Vladimir Serbinenko <>
Fix descent and ascent calculation.
* util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
(options): New option "asce".
(usage): Likewise.
(add_char): Ignore invalid glyphs for descent calculation.
Calculate ascent from actual content.
(print_glyphs): Use 'asce'.
(write_font): Likewise. Allow ascent override.
(main): Handle "asce" option.
2010-01-06 Carles Pina i Estany <>
* kern/err.c: Include `<grub/i18n.h>'.
(grub_print_error): Add full stop. Gettextizze.
* loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
(grub_bsd_load_elf): Capitalise ELF.
(grub_cmd_freebsd_loadenv): Add `s' in error string.
(grub_cmd_freebsd_module): Likewise.
(grub_cmd_freebsd_module_elf): Likewise.
* loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
2010-01-06 Carles Pina i Estany <>
* commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
* commands/search_file.c (HELP_MESSAGE): New macro.
* commands/search_label.c (HELP_MESSAGE): Likewise.
* commands/search_uuid.c (HELP_MESSAGE): Likewise.
* po/POTFILES: Add `commands/search_file.c',
`commands/search_label.c', `commands_uuid.c'. Remove duplicate
2010-01-05 Robert Millan <>
* config.rpath: Update from Gnulib.
2010-01-05 Yves Blusseau <>
* commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
2010-01-05 Yves Blusseau <>
* util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
2010-01-05 Colin Watson <>
* util/mkisofs/write.c (padblock_write): Switch size and nmemb
arguments to fread so that we get a return value in bytes, rather
than something that will normally be rounded down to 0.
Adjust error handling to avoid producing garbage when size_t is not
the same size as long long.
2010-01-05 Colin Watson <>
* util/mkisofs/write.c (padblock_write): Check return value of
2010-01-05 Robert Millan <>
Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
floppy images now.
* util/i386/pc/ Remove. Update all users.
2010-01-04 Robert Millan <>
* disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
instead of manual alignment.
* kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
verbose). Avoid attempts to read past end of the device
(grub_disk_adjust_range() guarantees that we can read `size' bytes,
but GRUB_DISK_CACHE_SIZE may exceed that).
2010-01-04 Robert Millan <>
* commands/crc.c (grub_cmd_crc): Abort on read errors.
* fs/iso9660.c (grub_iso9660_read): Check for read error and pass
it to upper layer.
2010-01-04 Vladimir Serbinenko <>
* include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
New constant.
(grub_efi_piwg_device_path): New structure
(grub_efi_piwg_device_path_t): New type.
* loader/efi/appleloader.c (piwg_full_device_path): New structure.
(devpath_1): Transform to a structure. All users updated.
(devpath_2): Likewise.
(devpath_3): Likewise.
(devpath_4): Likewise.
(devpath_5): Likewise.
2010-01-04 Vladimir Serbinenko <>
* loader/efi/appleloader.c: Restored. Update all users.
2010-01-03 Robert Millan <>
* boot/i386/pc/diskboot.S: Fix inaccurate comment.
* util/i386/pc/grub-setup.c: Include `<assert.h>'.
(struct boot_blocklist): Move from here ...
* include/grub/i386/pc/boot.h [ASM_FILE]
(struct grub_boot_blocklist): ... to here. Update all users.
(setup): Only initialize `start' member of `first_block'
structure. Add assert() calls to verify the other members.
* util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
(generate_image): Fix broken blocklist length initialization.
Add assert() call to verify blocklist `segment' field.
2010-01-03 Robert Millan <>
* loader/efi/appleloader.c: Remove. Update all users.
2010-01-03 Robert Millan <>
* boot/i386/pc/boot.S: Update copyright year.
* boot/i386/pc/cdboot.S: Likewise.
* boot/i386/pc/diskboot.S: Likewise.
* boot/i386/pc/lnxboot.S: Likewise.
* boot/i386/pc/pxeboot.S: Likewise.
* bus/pci.c: Likewise.
* commands/cmp.c: Likewise.
* commands/help.c: Likewise.
* commands/hexdump.c: Likewise.
* commands/i386/pc/halt.c: Likewise.
* commands/i386/pc/play.c: Likewise.
* commands/i386/pc/vbeinfo.c: Likewise.
* commands/ls.c: Likewise.
* commands/test.c: Likewise.
* disk/dmraid_nvidia.c: Likewise.
* disk/i386/pc/biosdisk.c: Likewise.
* disk/ieee1275/nand.c: Likewise.
* disk/ieee1275/ofdisk.c: Likewise.
* disk/lvm.c: Likewise.
* disk/raid.c: Likewise.
* disk/raid6_recover.c: Likewise.
* disk/scsi.c: Likewise.
* fs/affs.c: Likewise.
* fs/cpio.c: Likewise.
* fs/ext2.c: Likewise.
* fs/hfs.c: Likewise.
* fs/iso9660.c: Likewise.
* fs/ntfs.c: Likewise.
* fs/sfs.c: Likewise.
* fs/udf.c: Likewise.
* fs/ufs.c: Likewise.
* fs/xfs.c: Likewise.
* Likewise.
* genmk.rb: Likewise.
* include/grub/disk.h: Likewise.
* include/grub/efi/api.h: Likewise.
* include/grub/efi/efi.h: Likewise.
* include/grub/efi/pe32.h: Likewise.
* include/grub/elf.h: Likewise.
* include/grub/fs.h: Likewise.
* include/grub/i386/at_keyboard.h: Likewise.
* include/grub/i386/pc/memory.h: Likewise.
* include/grub/i386/pc/vbe.h: Likewise.
* include/grub/i386/pci.h: Likewise.
* include/grub/i386/tsc.h: Likewise.
* include/grub/ieee1275/ieee1275.h: Likewise.
* include/grub/ntfs.h: Likewise.
* include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
* include/grub/sparc64/libgcc.h: Likewise.
* include/grub/symbol.h: Likewise.
* include/grub/types.h: Likewise.
* include/multiboot2.h: Likewise.
* io/gzio.c: Likewise.
* kern/device.c: Likewise.
* kern/disk.c: Likewise.
* kern/efi/efi.c: Likewise.
* kern/efi/mm.c: Likewise.
* kern/elf.c: Likewise.
* kern/file.c: Likewise.
* kern/i386/dl.c: Likewise.
* kern/i386/pc/init.c: Likewise.
* kern/i386/pc/startup.S: Likewise.
* kern/ieee1275/ieee1275.c: Likewise.
* kern/ieee1275/init.c: Likewise.
* kern/main.c: Likewise.
* kern/mm.c: Likewise.
* kern/powerpc/dl.c: Likewise.
* kern/sparc64/dl.c: Likewise.
* kern/x86_64/dl.c: Likewise.
* lib/hexdump.c: Likewise.
* loader/efi/appleloader.c: Likewise.
* loader/i386/ieee1275/linux.c: Likewise.
* loader/i386/pc/chainloader.c: Likewise.
* loader/i386/pc/linux.c: Likewise.
* loader/i386/pc/multiboot2.c: Likewise.
* loader/ieee1275/multiboot2.c: Likewise.
* loader/multiboot2.c: Likewise.
* loader/multiboot_loader.c: Likewise.
* loader/powerpc/ieee1275/linux.c: Likewise.
* normal/completion.c: Likewise.
* normal/menu_entry.c: Likewise.
* partmap/apple.c: Likewise.
* util/grub.d/ Likewise.
* util/hostfs.c: Likewise.
* video/readers/png.c: Likewise.
2010-01-03 Colin Watson <>
* include/grub/misc.h (GNUC_PREREQ): New macro.
* include/grub/list.h (grub_bad_type_cast_real): Use
2010-01-03 Carles Pina i Estany <>
* normal/menu_text.c (print_message): Change messages.
2010-01-03 Carles Pina i Estany <>
* normal/menu_entry.c (store_completion): Gettextizze.
2010-01-03 Carles Pina i Estany <>
* kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
2010-01-03 Carles Pina i Estany <>
* po/POTFILES: Sort correctly.
2010-01-03 Carles Pina i Estany <>
* commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
* commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
* commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
full stop.
* commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
summary. Gettextizze the strings.
* commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
* commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
* disk/loopback.c (grub_arg_options): Capitalise first letter. Add
full stop.
(GRUB_MOD_INIT): Remove command name from summary.
* hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
* loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
* term/i386/pc/serial.c (options): Add full stops.
(GRUB_MOD_INIT): Remove command name from the summary.
2010-01-03 Carles Pina i Estany <>
* commands/acpi.c: Gettextizze help strings and/or options. Include
`grub/i18n.h' if needed.
* commands/blocklist.c: Likewise.
* commands/boot.c: Likewise.
* commands/cat.c: Likewise.
* commands/cmp.c: Likewise.
* commands/configfile.c: Likewise.
* commands/crc.c: Likewise.
* commands/date.c: Likewise.
* commands/echo.c: Likewise.
* commands/efi/fixvideo.c: Likewise.
* commands/efi/loadbios.c: Likewise.
* commands/gptsync.c: Likewise.
* commands/halt.c: Likewise.
* commands/handler.c: Likewise.
* commands/hdparm.c: Likewise.
* commands/hexdump.c: Likewise.
* commands/i386/cpuid.c: Likewise.
* commands/i386/pc/drivemap.c: Likewise.
* commands/i386/pc/halt.c: Likewise.
* commands/i386/pc/pxecmd.c: Likewise.
* commands/i386/pc/vbeinfo.c: Likewise.
* commands/i386/pc/vbetest.c: Likewise.
* commands/ieee1275/suspend.c: Likewise.
* commands/keystatus.c: Likewise.
* commands/loadenv.c: Likewise.
* commands/ls.c: Likewise.
* commands/lsmmap.c: Likewise.
* commands/lspci.c: Likewise.
* commands/memrw.c: Likewise.
* commands/minicmd.c: Likewise.
* commands/parttool.c: Likewise.
* commands/password.c: Likewise.
* commands/probe.c: Likewise.
* commands/read.c: Likewise.
* commands/reboot.c: Likewise.
* commands/search.c: Likewise.
* commands/sleep.c: Likewise.
* commands/test.c: Likewise.
* commands/true.c: Likewise.
* commands/usbtest.c: Likewise.
* commands/videotest.c: Likewise.
* commands/xnu_uuid.c: Likewise.
* disk/loopback.c: Likewise.
* hello/hello.c: Likewise.
* loader/i386/bsd.c: Likewise.
* term/i386/pc/serial.c: Likewise.
* po/POTFILES: Add new files.
2010-01-02 Colin Watson <>
* term/i386/pc/at_keyboard.c
(keyboard_controller_wait_untill_ready): Rename to ...
(keyboard_controller_wait_until_ready): ... this. Update all users.
2010-01-01 Carles Pina i Estany <>
* commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
(grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
string using string width.
* normal/menu_text.c (grub_print_message_indented): Use
grub_print_spaces and not print_spaces.
(print_timeout): Likewise.
(print_spaces): Move to...
* include/grub/term.h: ... here. Change the name to grub_print_spaces.
2010-01-01 Robert Millan <>
Import from Gnulib.
* gnulib/getdelim.c: New file.
* gnulib/getline.c: Likewise.
2009-12-31 BVK Chaitanya <>
* include/grub/list.h (grub_assert_fail): Removed.
(grub_bad_type_cast_real): New function.
(grub_bad_type_cast): New macro.
(GRUB_AS_LIST): Use grub_bad_type_cast.
(GRUB_AS_LIST_P): Likewise.
(GRUB_AS_PRIO_LIST): Likewise.
(GRUB_AS_PRIO_LIST_P): Likewise.
* include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
2009-12-29 Vladimir Serbinenko <>
* loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
Fix syntax error.
2009-12-29 Robert Millan <>
* Check for TARGET_CFLAGS initialization before we
initialize it ourselves (sigh).
Move a few modifications to TARGET_CFLAGS to be unconditional
(extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
* gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
* term/i386/pc/at_keyboard.c
(keyboard_controller_wait_untill_ready): Likewise.
(keyboard_controller_led): Rename `led_status' paramter to avoid
name conflict.
2009-12-28 Carles Pina i Estany <>
* normal/misc.c (grub_normal_print_device_info): Add spaces and double
2009-12-27 Vladimir Serbinenko <>
* kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
2009-12-27 Vladimir Serbinenko <>
* normal/menu_text.c (grub_print_message_indented): Prevent
past-the-end-of-array dereference.
2009-12-27 Vladimir Serbinenko <>
* video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
(GRUB_MOD_FINI (video_reader_jpeg)): ...this
2009-12-27 Carles Pina i Estany <>
* normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
* normal/main.c (grub_normal_read_line): Remove a space from the
default prompt.
2009-12-27 Carles Pina i Estany <>
* loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
* loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
* loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
* loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
* loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
* loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
* loader/xnu.c (GRUB_MOD_INIT): Likewise.
2009-12-26 Carles Pina i Estany <>
* video/readers/jpeg.c (cmd): Declare.
(grub_cmd_jpegtest): Use `grub_command_t' type.
(GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
Assign to `cmd'.
(GRUB_MOD_FINI): Use `cmd' to unregister.
* video/readers/png.c (cmd): Declare.
(grub_cmd_pngtest): Use `grub_command_t' type.
(GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
Assign to `cmd'.
(GRUB_MOD_FINI): Use `cmd' to unregister.
* video/readers/tga.c (cmd): Declare.
(grub_cmd_tgatest): Use `grub_command_t' type.
(GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
Assign to `cmd'.
(GRUB_MOD_FINI): Use `cmd' to unregister.
2009-12-26 Carles Pina i Estany <>
* efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
* kern/corecmd.c (grub_register_core_commands): Likewise.
* loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
* loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
* loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
* loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
* loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
* loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
* loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
* loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
* loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
* loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
* loader/xnu.c (GRUB_MOD_INIT): Likewise.
* mmap/mmap.c (GRUB_MOD_INIT): Likewise.
* normal/handler.c (insert_handler): Likewise.
* normal/main.c (GRUB_MOD_INIT): Likewise.
* term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2009-12-26 Carles Pina i Estany <>
* commands/help.c (grub_cmd_help): Print the command name before the
(GRUB_MOD_INIT): Remove command name from the summary.
* kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
string as summary.
* lib/arg.c (find_long): Print the command name before the summary.
* commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
* commands/blocklist.c (GRUB_MOD_INIT): Likewise.
* commands/cat.c (GRUB_MOD_INIT): Likewise.
* commands/cmp.c (GRUB_MOD_INIT): Likewise.
* commands/configfile.c (GRUB_MOD_INIT): Likewise.
* commands/crc.c (GRUB_MOD_INIT): Likewise.
* commands/date.c (GRUB_MOD_INIT): Likewise.
* commands/echo.c (GRUB_MOD_INIT): Likewise.
* commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
* commands/gptsync.c (GRUB_MOD_INIT): Likewise.
* commands/handler.c (GRUB_MOD_INIT): Likewise.
* commands/hdparm.c (GRUB_MOD_INIT): Likewise.
* commands/hexdump.c (GRUB_MOD_INIT): Likewise.
* commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
* commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
* commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
* commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
* commands/keystatus.c (GRUB_MOD_INIT): Likewise.
* commands/loadenv.c (GRUB_MOD_INIT): Likewise.
* commands/ls.c (GRUB_MOD_INIT): Likewise.
* commands/lspci.c (GRUB_MOD_INIT): Likewise.
* commands/memrw.c (GRUB_MOD_INIT): Likewise.
* commands/minicmd.c (GRUB_MOD_INIT): Likewise.
* commands/parttool.c (GRUB_MOD_INIT): Likewise.
* commands/password.c (GRUB_MOD_INIT): Likewise.
* commands/probe.c (GRUB_MOD_INIT): Likewise.
* commands/read.c (GRUB_MOD_INIT): Likewise.
* commands/search.c (GRUB_MOD_INIT): Likewise.
* commands/sleep.c (GRUB_MOD_INIT): Likewise.
* commands/test.c (GRUB_MOD_INIT): Likewise.
* commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
* efiemu/main.c (GRUB_MOD_INIT): Likewise.
* font/font_cmd.c (GRUB_MOD_INIT): Likewise.
* gettext/gettext.c (GRUB_MOD_INIT): Likewise.
* kern/corecmd.c (GRUB_MOD_INIT): Likewise.
* lib/arg.c (GRUB_MOD_INIT): Likewise.
* loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
* loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
* loader/xnu.c (GRUB_MOD_INIT): Likewise.
* mmap/mmap.c (GRUB_MOD_INIT): Likewise.
* term/terminfo.c (GRUB_MOD_INIT): Likewise.
* video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
* video/readers/png.c (GRUB_MOD_INIT): Likewise.
* video/readers/tga.c (GRUB_MOD_INIT): Likewise.
2009-12-25 Vladimir Serbinenko <>
Use search command for preliminar UUID search.
* commands/search.c: Split into ...
* commands/search_wrap.c: ...this
* commands/search.c: ...and this.
* commands/search_file.c: New file.
* commands/search_label.c: New file.
* commands/search_uuid.c: New file.
* conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
Add commands/search_wrap.c, commands/search_file.c,
commands/search_label.c and commands/search_uuid.c.
* conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
(search_mod_SOURCES): Set to commands/search_wrap.c.
(pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
(search_fs_file_mod_SOURCES): New variable.
(search_fs_file_mod_CFLAGS): Likewise.
(search_fs_file_mod_LDFLAGS): Likewise.
(search_label_mod_SOURCES): Likewise.
(search_label_mod_CFLAGS): Likewise.
(search_label_mod_LDFLAGS): Likewise.
(search_fs_uuid_mod_SOURCES): New variable.
(search_fs_uuid_mod_CFLAGS): Likewise.
(search_fs_uuid_mod_LDFLAGS): Likewise.
(fs_file_mod_SOURCES): Removed.
(fs_file_mod_CFLAGS): Likewise.
(fs_file_mod_LDFLAGS): Likewise.
(fs_uuid_mod_SOURCES): Removed.
(fs_uuid_mod_CFLAGS): Likewise.
(fs_uuid_mod_LDFLAGS): Likewise.
* conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
Set to util/
* disk/fs_file.c: Removed.
* disk/fs_uuid.c: Likewise.
* include/grub/search.h: New file.
* util/ Handle sparc64.
Create and use load.cfg.
* util/sparc64/ieee1275/ Removed.
2009-12-25 Vladimir Serbinenko <>
* kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
Ignore return status if CF is cleared.
(grub_biosdisk_get_diskinfo_standard): Likewise.
2009-12-25 Robert Millan <>
* term/i386/pc/at_keyboard.c
(keyboard_controller_wait_untill_ready): New function.
(grub_keyboard_controller_write, grub_keyboard_controller_read)
(keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
for keyboard polling, rather than duplicate the same loop. This
saves a few bytes in code size.
2009-12-25 Vladimir Serbinenko <>
Support for (pxe[:server[:gateway]]) syntax and
use environment variable for PXE.
* commands/i386/pc/pxecmd.c (options): Removed.
(print_ip): Removed.
(grub_cmd_pxe): Removed
(grub_cmd_pxe_unload): New function.
* fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
(grub_pxe_your_ip): Made static.
(grub_pxe_default_server_ip): Likewise.
(grub_pxe_default_gateway_ip): Likewise.
(grub_pxe_blksize): Likewise.
(parse_ip): New function.
(grub_pxe_open): Support server and gateway specification.
(grub_pxe_close): Free disk->data.
(grub_pxefs_open): Use disk->data.
(grub_pxefs_read): Likewise.
(grub_env_write_readonly): New function.
(set_mac_env): Likewise.
(set_env_limn_ro): Likewise.
(parse_dhcp_vendor): Likewise.
(grub_pxe_detect): Set the environment variables.
(set_ip_env): New function.
(write_ip_env): Likewise.
(grub_env_write_pxe_default_server): Likewise.
(grub_env_write_pxe_default_gateway): Likewise.
(grub_env_write_pxe_blocksize): Likewise.
(GRUB_MOD_INIT(pxe)): Set environment variables.
* include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
(grub_pxe_mac_addr_t): ... this. All users updated.
(grub_pxe_your_ip): Removed.
(grub_pxe_server_ip): Likewise.
(grub_pxe_gateway_ip): Likewise.
(grub_pxe_blksize): Likewise.
2009-12-25 Carles Pina i Estany <>
* commands/help.c: Include `<grub/i18n.h>'.
(grub_cmd_help): Gettextizze.
(GRUB_MOD_INIT): Likewise.
* commands/i386/pc/play.c: Include `<grub/i18n.h>'.
(GRUB_MOD_INIT): Gettextizze.
* commands/search.c: Include `<grub/i18n.h>'.
(options): Gettextizze.
(GRUB_MOD_INIT): Gettextizze.
* lib/arg.c: Include `<grub/i18n.h>'.
(help_options): Gettextizze.
(find_long): Likewise.
(grub_arg_show_help): Likewise.
* normal/dyncmd.c: Include `<grub/i18n.h>'.
(read_command_list): Gettextizze.
* po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
`commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
2009-12-25 Robert Millan <>
* include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
* term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
(led_status): New variable.
(keyboard_controller_led): New function.
(grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
update led status for caps lock, num lock and scroll lock.
2009-12-25 Felix Zielcke <>
* util/hostdisk.c (open_device): Fix a comment.
2009-12-24 Robert Millan <>
* util/ (host_os): New variable.
* util/i386/efi/ (host_os): Likewise.
2009-12-24 Robert Millan <>
* util/mkisofs/write.c (padblock_write): Abort when given an
excedingly large embed image, instead of silently truncating it.
2009-12-24 Robert Millan <>
* include/multiboot.h: Indentation fixes.
2009-12-24 Robert Millan <>
* include/multiboot.h (struct multiboot_aout_symbol_table)
(struct multiboot_elf_section_header_table): New structure
declarations (stolen from GRUB Legacy).
(struct multiboot_info): Replace opaque `syms' with a.out and ELF
table information.
(multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
(multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
type aliases.
2009-12-24 Robert Millan <>
* include/multiboot.h: Make comments src2texi-friendly.
2009-12-24 Robert Millan <>
For consistency with [multiboot]/docs/boot.S.
* include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
(MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
(MULTIBOOT_MAGIC2): Rename from this ...
(MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
2009-12-24 Robert Millan <>
* include/multiboot.h: Remove `<grub/types.h>'.
(multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
types. Update all users.
2009-12-25 Carles Pina i Estany <>
* commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
`couldn't' and `can not' by `cannot'.
* commands/i386/pc/drivemap.c: Likewise.
* disk/ata.c: Likewise.
* disk/ieee1275/nand.c: Likewise.
* fs/affs.c: Likewise.
* fs/fat.c: Likewise.
* fs/hfs.c: Likewise.
* fs/hfsplus.c: Likewise.
* fs/iso9660.c: Likewise.
* fs/jfs.c: Likewise.
* fs/minix.c: Likewise.
* fs/reiserfs.c: Likewise.
* fs/sfs.c: Likewise.
* fs/udf.c: Likewise.
* fs/ufs.c: Likewise.
* fs/xfs.c: Likewise.
* loader/powerpc/ieee1275/linux.c: Likewise.
* loader/sparc64/ieee1275/linux.c: Likewise.
* util/grub-probe.c: Likewise.
* util/misc.c: Likewise.
2009-12-24 Carles Pina i Estany <>
* bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
grub_errno calls.
* commands/acpi.c: Likewise.
* commands/blocklist.c: Likewise.
* commands/efi/loadbios.c: Likewise.
* commands/i386/pc/drivemap.c: Likewise.
* commands/loadenv.c: Likewise.
* commands/memrw.c: Likewise.
* commands/password.c: Likewise.
* commands/videotest.c: Likewise.
* disk/ata.c: Likewise.
* disk/ata_pthru.c: Likewise.
* disk/dmraid_nvidia.c: Likewise.
* disk/ieee1275/nand.c: Likewise.
* disk/ieee1275/ofdisk.c: Likewise.
* disk/loopback.c: Likewise.
* disk/lvm.c: Likewise.
* disk/mdraid_linux.c: Likewise.
* disk/raid.c: Likewise.
* disk/raid6_recover.c: Likewise.
* disk/scsi.c: Likewise.
* efiemu/main.c: Likewise.
* efiemu/mm.c: Likewise.
* efiemu/pnvram.c: Likewise.
* efiemu/symbols.c: Likewise.
* font/font.c: Likewise.
* fs/cpio.c: Likewise.
* fs/hfsplus.c: Likewise.
* fs/iso9660.c: Likewise.
* fs/jfs.c: Likewise.
* fs/minix.c: Likewise.
* fs/ntfs.c: Likewise.
* fs/ntfscomp.c: Likewise.
* fs/reiserfs.c: Likewise.
* fs/ufs.c: Likewise.
* fs/xfs.c: Likewise.
* gettext/gettext.c: Likewise.
* include/grub/auth.h: Likewise.
* kern/elf.c: Likewise.
* kern/file.c: Likewise.
* kern/ieee1275/init.c: Likewise.
* kern/ieee1275/mmap.c: Likewise.
* kern/ieee1275/openfw.c: Likewise.
* kern/powerpc/dl.c: Likewise.
* kern/sparc64/dl.c: Likewise.
* lib/arg.c: Likewise.
* loader/i386/bsd.c: Likewise.
* loader/i386/bsdXX.c: Likewise.
* loader/i386/efi/linux.c: Likewise.
* loader/i386/efi/xnu.c: Likewise.
* loader/i386/ieee1275/linux.c: Likewise.
* loader/i386/linux.c: Likewise.
* loader/i386/multiboot.c: Likewise.
* loader/i386/pc/linux.c: Likewise.
* loader/i386/pc/multiboot2.c: Likewise.
* loader/i386/xnu.c: Likewise.
* loader/ieee1275/multiboot2.c: Likewise.
* loader/macho.c: Likewise.
* loader/machoXX.c: Likewise.
* loader/multiboot2.c: Likewise.
* loader/multiboot_loader.c: Likewise.
* loader/powerpc/ieee1275/linux.c: Likewise.
* loader/sparc64/ieee1275/linux.c: Likewise.
* loader/xnu.c: Likewise.
* loader/xnu_resume.c: Likewise.
* mmap/i386/pc/mmap.c: Likewise.
* normal/menu_viewer.c: Likewise.
* partmap/acorn.c: Likewise.
* partmap/amiga.c: Likewise.
* partmap/apple.c: Likewise.
* script/lexer.c: Likewise.
* term/gfxterm.c: Likewise.
* term/i386/pc/serial.c: Likewise.
* term/i386/pc/vga.c: Likewise.
* term/ieee1275/ofconsole.c: Likewise.
* term/terminfo.c: Likewise.
* video/bitmap.c: Likewise.
* video/efi_gop.c: Likewise.
* video/efi_uga.c: Likewise.
* video/fb/video_fb.c: Likewise.
* video/i386/pc/vbe.c: Likewise.
* video/readers/tga.c: Likewise.
* video/video.c: Likewise.
2009-12-23 Felix Zielcke <>
* commands/i386/pc/drivemap.c: Remove all trailing whitespace.
* commands/lspci.c: Likewise.
* commands/probe.c: Likewise.
* commands/xnu_uuid.c: Likewise.
* conf/i386-coreboot.rmk: Likewise.
* conf/i386-efi.rmk: Likewise.
* conf/i386-ieee1275.rmk: Likewise.
* conf/i386-pc.rmk: Likewise.
* conf/powerpc-ieee1275.rmk: Likewise.
* conf/sparc64-ieee1275.rmk: Likewise.
* conf/x86_64-efi.rmk: Likewise.
* fs/i386/pc/pxe.c: Likewise.
* gettext/gettext.c: Likewise.
* include/grub/efi/graphics_output.h: Likewise.
* include/grub/i386/pc/memory.h: Likewise.
* kern/env.c: Likewise.
* kern/i386/qemu/startup.S: Likewise.
* lib/i386/pc/biosnum.c: Likewise.
* lib/i386/relocator.c: Likewise.
* lib/i386/relocator_asm.S: Likewise.
* lib/relocator.c: Likewise.
* loader/i386/bsd.c: Likewise.
* loader/i386/multiboot.c: Likewise.
* loader/i386/pc/chainloader.c: Likewise.
* loader/i386/xnu.c: Likewise.
* loader/xnu.c: Likewise.
* normal/main.c: Likewise.
* normal/menu_text.c: Likewise.
* util/getroot.c: Likewise.
* util/ Likewise.
* util/grub.d/ Likewise.
* util/i386/pc/grub-mkimage.c: Likewise.
* util/mkisofs/eltorito.c: Likewise.
* util/mkisofs/exclude.h: Likewise.
* util/mkisofs/hash.c: Likewise.
* util/mkisofs/iso9660.h: Likewise.
* util/mkisofs/joliet.c: Likewise.
* util/mkisofs/mkisofs.c: Likewise.
* util/mkisofs/mkisofs.h: Likewise.
* util/mkisofs/multi.c: Likewise.
* util/mkisofs/name.c: Likewise.
* util/mkisofs/rock.c: Likewise.
* util/mkisofs/tree.c: Likewise.
* util/mkisofs/write.c: Likewise.
* video/efi_gop.c: Likewise.
2009-12-23 Vladimir Serbinenko <>
* video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
size counting.
2009-12-22 Felix Zielcke <>
* util/ (pkglib_DATA): Set to @pkglib_DATA@.
* genmk.rb (class SCRIPT): Modify the target file instead of source.
2009-12-22 Vladimir Serbinenko <>
* commands/memrw.c (grub_cmd_write): Support for mask parameter.
(GRUB_MOD_INIT(memrw)): Update help line.
2009-12-22 Vladimir Serbinenko <>
* commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
Use grub_extcmd_t. All users updated.
(options): New variable.
(grub_cmd_read): Restructure for readability. Support "-v" option.
(grub_cmd_write): Restructure for readability.
2009-12-22 Felix Zielcke <>
* genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
2009-12-22 Felix Zielcke <>
* genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
with the actual contents of the correspondending make variable.
* util/ (pkglib_DATA): New variable.
(process_input_dir): Copy all $pkglib_DATA files instead of explicitly
specifying `*.lst' and `efiemu??.o'
2009-12-22 Felix Zielcke <>
* util/grub.d/ (osx_entry): Add round brackets
after function name.
Noticed by Rene Engelhard <>.
2009-12-22 Vladimir Serbinenko <>
* commands/lspci.c (grub_pci_classes): Add "USB Controller".
(options): New variable.
(iospace): Likewise.
(grub_lspci_iter): List IO spaces if "-i" was given.
(grub_cmd_lspci): Parse options.
(GRUB_MOD_INIT(lspci)): Use extcmd.
(GRUB_MOD_FINI(lspci)): Likewise.
2009-12-22 Felix Zielcke <>
* util/grub.d/ (osx_entry): Remove non POSIX compliant
`function' keyword.
Patch by Tony Mancill <>.
2009-12-22 Vladimir Serbinenko <>
* bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
(grub_uhci_portstatus): Likewise.
(grub_uhci_portstatus): Add necessary delay.
* bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
2009-12-21 Carles Pina i Estany <>
* commands/acpi.c (options): Fix capitalizations and/or full stops.
(GRUB_MOD_INIT): Likewise.
* commands/boot.c (GRUB_MOD_INIT): Likewise.
* commands/cmp.c (grub_cmd_cmp): Improve the help message.
* commands/echo.c (options): Fix capitalizations and/or full stops.
* commands/efi/loadbios.c (enable_rom_area): Likewise.
(enable_rom_area): Likewise.
(GRUB_MOD_INIT): Likewise.
* commands/gptsync.c (GRUB_MOD_INIT): Likewise.
* commands/halt.c (GRUB_MOD_INIT): Improve the help message.
* commands/handler.c (GRUB_MOD_INIT): Likewise.
* commands/hdparm.c (options): Fix capitalizations and/or full stops.
* commands/hexdump.c (options): Likewise.
* commands/i386/cpuid.c (options): Likewise.
(GRUB_MOD_INIT): Likewise.
* commands/i386/pc/drivemap.c (options): Likewise.
(GRUB_MOD_INIT): Likewise.
* commands/i386/pc/halt (options): Likewise.
(GRUB_MOD_INIT): Likewise.
* commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
* commands/i386/pc/pxecmd.c (options): Likewise.
* commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
* commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
* commands/keystatus.c (options): Likewise.
(GRUB_MOD_INIT): Likewise.
* commands/loadenv.c (options): Likewise.
* commands/ls.c (options): Likewise.
* commands/lspci.c (GRUB_MOD_INIT): Likewise.
* commands/memrw.c (GRUB_MOD_INIT): Likewise.
* commands/minicmd.c (GRUB_MOD_INIT): Likewise.
* commands/parttool.c (helpmsg): Likewise.
* commands/probe.c (options): Likewise.
* commands/read.c (GRUB_MOD_INIT): Likewise.
* commands/reboot.c (GRUB_MOD_INIT): Likewise.
* commands/search.c (options): Likewise.
* commands/sleep.c (options): Likewise.
* commands/test.c (GRUB_MOD_INIT): Likewise.
* commands/true.c (GRUB_MOD_INIT): Likewise.
* commands/usbtest.c (GRUB_MOD_INIT): Likewise.
* commands/videotest.c (GRUB_MOD_INIT): Likewise.
* lib/arg.c (help_options): Likewise.
* ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
* po/POTFILES: Add `commands/loadenv.c'.
2009-12-21 Felix Zielcke <>
* util/ (process_input_dir): Copy `*.lst' files
instead of specifying them explicit.
2009-12-21 Robert Millan <>
* NEWS: Add grub-probe support for GNU/Hurd.
2009-12-21 Robert Millan <>
* NEWS: gettext was added after 1.97.
2009-12-21 Robert Millan <>
* util/mkisofs/msdos_partition.h: New file (based on
* util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
(ld_options, main): Recognize --protective-msdos-label.
* util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
* util/mkisofs/write.c: Include `"msdos_partition.h"'.
(padblock_write): If `use_protective_msdos_label' is set, patch a
protective DOS-style label in the output image.
* util/ Use --protective-msdos-label.
2009-12-21 Robert Millan <>
* util/ Do not zero-pad image for BIOS-based disk
2009-12-21 Robert Millan <>
* util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
(ld_options, main): Recognize `--embedded-boot'.
* util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
* util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
(padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
(padblock_write): Likewise. Rewrite to support embedded boot image.
* util/ When building i386-pc images, embed core.img
for BIOS-based disk boot instead of only ElTorito.
2009-12-21 Robert Millan <>
* util/ Remove `configfile' and `sh' from i386-pc
build (not needed for bootstrap).
2009-12-21 Robert Millan <>
* util/ Remove `memdisk', `tar' and `search' modules
from i386-pc build (not needed for bootstrap).
Rewrite a pair of strings.
2009-12-21 Robert Millan <>
* normal/main.c (grub_normal_reader_init): Set left margin back to 3.
2009-12-21 Vladimir Serbinenko <>
* video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
2009-12-21 Andreas Born <>
* kern/env.c (grub_env_context_open): Mark exported variable for
2009-12-21 Andreas Born <>
* kern/env.c (grub_env_export): Create nonexistent variables before
2009-12-20 Carles Pina i Estany <>
* include/grub/auth.h: Include `<grub/i18n.h>'.
(GRUB_GET_PASSWORD): Gettextizze string.
* include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
(grub_utf8_to_ucs4_alloc): Fix indentation.
(grub_print_ucs4): Likewise.
(grub_getstringwidth): Likewise.
(print_message_indented): New declaration.
* normal/auth.c: Include `<grub/i18n.h>'.
(grub_auth_check_authentication): Gettexttize string.
* normal/cmdline.c: Include `<grub/i18n.h>'.
(grub_cmdline_get): Gettextizze.
* normal/color.c: Include `<grub/i18n.h>'.
(grub_parse_color_name_pair): Gettexttize strings.
* normal/main.c (grub_normal_reader_init): Cleanup gettexttized
string (use `print_message_indented').
* normal/menu_text.c (STANDARD_MARGIN): Moved from here to
(print_message_indented): Renamed to ...
(grub_print_message_indented): ... this. Remove `static' qualifer (now
used in normal/main.c).
(print_message): Use `grub_print_message_indented' instead of
(print_timeout): Likewise.
* normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
(grub_normal_print_device_info): Gettexttize strings.
* po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
2009-12-20 Vladimir Serbinenko <>
* kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
of arguments. Return number of tokens and not arguments. All users
2009-12-20 Vladimir Serbinenko <>
* util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
non-MSDOS paritions.
2009-12-19 Vladimir Serbinenko <>
* include/grub/types.h (UNUSED): Removed since it conflicts with
NetBSD headers. All users changed to direct __attribute__ ((unused)).
Reported by Grégoire Sutre.
2009-12-19 Carles Pina i Estany <>
* include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
(grub_print_ucs4_alloc): Likewise.
(grub_getstringwidth): Likewise.
* normal/main.c (grub_normal_init_page): Gettextize version string.
* normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
(getstringwidth): Renamed to ...
(grub_getstringwidth): ... this. Remove `static' qualifier (now used
in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
(grub_print_ucs4): Remove `static' qualifer (now used in
* po/POTFILES: Add normal/main.c.
2009-12-19 Carles Pina i Estany <>
* normal/menu_text.c (STANDARD_MARGIN): New macro.
(print_message_indented): Add `margin_left' and `margin_right'
(print_message): Update `print_message_indented' calls. Adds '\n' to the
(print_timeout): Use `print_message_indented' to print the message.
Deletes `second_stage' parameter.
(run_menu): Update `print_timeout' calls.
2009-12-18 Vladimir Serbinenko <>
Fix console palette on OpenFirmware.
* term/ieee1275/ofconsole.c (MAX): Removed.
(colors): Redone based on VGA palette.
(grub_ofconsole_setcolor): Discard brightness bit since only 8
colors are supported.
(grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
2009-12-18 Vladimir Serbinenko <>
Fix potential EfiEmu double prepare.
* efiemu/main.c (prepared): New variable
(grub_efiemu_unload): Set prepare to '0'.
(grub_efiemu_prepare): Return if already prepared. Set prepared.
set_virtual_address_map support.
* include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
* include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
(grub_efiemu_crc32): Likewise.
(grub_efiemu_crc64): Likewise.
(grub_efiemu_set_virtual_address_map): Likewise.
* include/grub/autoefi.h (grub_autoefi_exit_boot_services):
New definition.
(grub_autoefi_set_virtual_address_map): Likewise.
* kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
* loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
Restructure flow to accomodate it.
* efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
(grub_efiemu_crc): Recompute CRC32.
* efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
(efiemu_ptv_relocated): ... this. Made global. All users updated.
* efiemu/symbols.c (relocated_handle): New variable.
(grub_efiemu_free_syms): Free relocated_handle.
(grub_efiemu_alloc_syms): Allocate relocated_handle.
(grub_efiemu_write_sym_markers): New function.
(grub_efiemu_set_virtual_address_map): Likewise.
Newer XNU parameters.
* include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
* include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
(grub_xnu_fill_devicetree): New prototype.
(grub_xnu_heap_real_start): New variable.
* loader/xnu.c (get_name_ptr): New function.
(grub_xnu_load_driver): Fill namelen and name.
64-bit xnu support.
* conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
and 'loader/macho64.c'.
* conf/i386-pc.rmk: Likewise.
* conf/x86_64-efi.rmk: Likewise.
* include/grub/i386/macho.h (grub_macho_thread64): New structure.
* include/grub/xnu.h (grub_xnu_is_64bit): New variable.
* include/grub/macho.h (grub_macho_segment64): New structure.
* include/grub/machoload.h (grub_macho32_size): Renamed from ...
(grub_macho_size32): ... to this.
(grub_macho32_get_entry_point): Renamed from ...
(grub_macho_get_entry_point32): ... to this.
(grub_macho_contains_macho64): New prototype.
(grub_macho_size64): Likewise.
(grub_macho_get_entry_point64): Likewise.
(grub_macho32_load): Renamed from ...
(grub_macho_load32): ... to this.
(grub_macho32_filesize): Renamed from ...
(grub_macho_filesize32): ... to this.
(grub_macho32_readfile): Renamed from ...
(grub_macho_readfile32): ... to this.
(grub_macho_filesize64): New prototype.
(grub_macho_readfile64): Likewise.
(grub_macho_parse32): Likewise.
(grub_macho_parse64): Likewise.
* loader/macho.c: Split into ...
* loader/machoXX.c: ... and this. Replace 32 with XX.
* loader/macho32.c: New file.
* loader/macho64.c: Likewise.
* loader/xnu.c (grub_xnu_is_64bit): New variable.
(grub_cmd_xnu_kernel): Make 32-bit only.
(grub_cmd_xnu_kernel64): New function.
(grub_xnu_load_driver): Support Mach-O 64.
(grub_cmd_xnu_mkext): Likewise.
* util/grub.d/ (osx_entry): New function.
Generate entries for 64-bit boot too.
Eliminate ad-hoc tree format in XNU and EfiEmu.
* efiemu/main.c (grub_efiemu_prepare): Update comment.
* efiemu/pnvram.c: Rewritten to use environment variables.
All users updated.
Inline utf16_to_utf8.
* kern/misc.c (grub_utf16_to_utf8): Move from here ...
* include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
All users updated.
* include/grub/misc.h (grub_utf16_to_utf8): Removed.
* bus/usb/usb.c (grub_usb_get_string): Move from here ...
* commands/usbtest.c (grub_usb_get_string): ... move here.
(usb_print_str): Fix error handling.
* include/grub/usb.h (grub_usb_get_string): Remove.
UTF-8 to UTF-16 transformation.
* conf/common.rmk (pkglib_MODULES): Add charset.mod
(charset_mod_SOURCES): New variable.
(charset_mod_CFLAGS): Likewise.
(charset_mod_LDFLAGS): Likewise.
* include/grub/utf.h: New file.
* lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
Support for device properties.
* include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
(grub_xnu_devprop_device_header): Likewise.
(grub_xnu_devprop_device_descriptor): Likewise.
(grub_xnu_devprop_add_device): New prototype.
(grub_xnu_devprop_remove_device): Likewise.
(grub_xnu_devprop_remove_property): Likewise.
(grub_xnu_devprop_add_property_utf8): Likewise.
(grub_xnu_devprop_add_property_utf16): Likewise.
(grub_cpu_xnu_init): Likewise.
(grub_cpu_xnu_fini): Likewise.
(grub_cpu_xnu_unload): Likewise.
* loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
(property_descriptor): Likewise.
(devices): New variable.
(grub_xnu_devprop_remove_property): New function.
(grub_xnu_devprop_add_device): Likewise.
(grub_xnu_devprop_remove_device): Likewise.
(grub_xnu_devprop_add_property): Likewise.
(grub_xnu_devprop_add_property_utf8): Likewise.
(grub_xnu_devprop_add_property_utf16): Likewise.
(hextoval): Likewise.
(grub_cpu_xnu_fill_devprop): Likewise.
(grub_cmd_devprop_load): Likewise.
(grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
(cmd_devprop_load): New variable.
(grub_cpu_xnu_init): New function.
(grub_cpu_xnu_fini): Likewise.
* loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
* loader/xnu.c (grub_xnu_parse_devtree): Remove.
(grub_cmd_xnu_devtree): Likewise.
(hextoval): New function.
(unescape): Likewise.
(grub_xnu_fill_devicetree): Likewise.
* util/grub.d/ Load devprop.bin. Don't load devtree.txt.
* util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
2009-12-18 Vladimir Serbinenko <>
Workaround for broken ATI VBE.
* video/i386/pc/vbe.c (last_set_mode): New variable.
(grub_vbe_set_video_mode): Set 'last_set_mode'.
(grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
(grub_video_vbe_setup): Don't check for reserved flag.
2009-12-17 Felix Zielcke <>
* Use POSIX compliant `!' instead of `-not' in
the `find' command.
2009-12-16 Vladimir Serbinenko <>
UUID support for HFS.
* fs/hfs.c (grub_hfs_uuid): New function.
(grub_hfs_fs): New value .uuid.
* include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
2009-12-14 Felix Zielcke <>