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/grub-reboot.in: New file. * util/grub-set-default.in: New file. * conf/common.rmk (grub-reboot): New utility. (grub-set-default): New utility. * util/grub-mkconfig_lib.in (save_default_entry): New function. * util/grub.d/00_header.in: 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 initialisation. * util/grub.d/10_kfreebsd.in: Call save_default_entry. * util/grub.d/10_hurd.in: Likewise. * util/grub.d/10_linux.in (linux_entry): Likewise. * util/grub.d/10_windows.in: Likewise. * util/grub.d/30_os-prober.in: Likewise. * util/grub-install.in: Create environment block. * util/i386/efi/grub-install.in: Likewise. * util/ieee1275/grub-install.in: Likewise. * util/sparc64/ieee1275/grub-install.in: Likewise.