Commit graph

1296 commits

Author SHA1 Message Date
Yves Blusseau
b23ffd70eb Bash completion script for util commands
* Makefile.am:  Add util/bash-completion.d directory
    * configure.ac: Likewise.
    * util/bash-completion.d/Makefile.am: New file.
    * util/bash-completion.d/grub-completion.bash.in: Likewise.
2010-09-13 10:29:18 +02:00
Vladimir 'phcoder' Serbinenko
e64334df29 Support mixed inline and suffix commands 2010-09-12 15:50:52 +02:00
Vladimir 'phcoder' Serbinenko
64ad6157ae Fix bunch of memory problems and implement hdbias 2010-09-12 14:01:02 +02:00
Vladimir 'phcoder' Serbinenko
6c6850ae13 Implement hiddenmenu (not tested) 2010-09-12 02:55:24 +02:00
Vladimir 'phcoder' Serbinenko
bd9603071a Merge mainline into legacy_parser 2010-09-11 22:39:55 +02:00
Vladimir 'phcoder' Serbinenko
09695ab80c Fix few compile errors 2010-09-11 22:18:06 +02:00
Vladimir 'phcoder' Serbinenko
76e61597b4 Merge mainline into install 2010-09-11 17:28:46 +02:00
Vladimir Serbinenko
25761e13ee * util/grub-install.in (grub_partition): New variable.
Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
	* util/i386/pc/grub-setup.c (setup): Don't touch prefix.
	Fixes a bug reported by Yves Blusseau.
2010-09-11 17:21:48 +02:00
Vladimir 'phcoder' Serbinenko
038272a5c5 Merge mainline into install 2010-09-11 16:38:37 +02:00
Vladimir 'phcoder' Serbinenko
638f5f7ea1 Implement --bootloader-id 2010-09-11 16:37:00 +02:00
Colin Watson
5ed7d816b4 * util/grub-install.in: Don't try to verify core.img until after
running grub-mkimage to create it.
2010-09-10 23:15:56 +01:00
Robert Millan
90367e043d 2010-09-10 Robert Millan <rmh@gnu.org>
* util/grub.d/10_hurd.in: Add misc readability checks.
	* util/grub.d/10_kfreebsd.in: Likewise.
	* util/grub.d/10_linux.in: Likewise.
2010-09-10 15:11:54 +02:00
Colin Watson
c452fa66dd * util/grub-install.in: ${imgext} won't be defined here until the
install branch is merged.  For the meantime, only verify core.img on
i386-pc and sparc64-ieee1275 platforms.
2010-09-10 13:47:16 +01:00
Robert Millan
66d4bea5cc 2010-09-10 Robert Millan <rmh@gnu.org>
* util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
	on ZFS.  Now non-main filesystems are supported as / too.
2010-09-10 13:35:23 +02:00
Colin Watson
b6a690eeb8 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
and grub-core/disk/host.c to ...
(grub-fstest): ... here.  Having the host disk implementation
present confuses grub-probe and other utility programs.
* util/grub-mkconfig.in: Only verify readability of grub.cfg.new
when writing to a file, not when writing to stdout.
2010-09-09 17:17:45 +01:00
Robert Millan
7bf45fdd31 2010-09-09 Robert Millan <rmh@gnu.org>
* util/grub-probe.c (probe): Fix a pair of unhandled error
	conditions.
2010-09-09 01:16:05 +02:00
Robert Millan
f637773235 2010-09-08 Robert Millan <rmh@gnu.org>
* util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
	with (optional) parameters to specify device and relative path.
	* util/grub-install.in: Use is_path_readable_by_grub() to
	verify readability of a few critical files.
	* util/grub-mkconfig.in: Use is_path_readable_by_grub() to
	verify readability of grub.cfg.new.
2010-09-08 23:41:27 +02:00
Robert Millan
6b8e78aee3 2010-09-08 Robert Millan <rmh@gnu.org>
* util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
	with (optional) parameters to specify device and relative path.
	* util/grub-install.in: Use is_path_readable_by_grub() to
	verify readability of a few critical files.
	* util/grub-mkconfig.in: Use is_path_readable_by_grub() to
	verify readability of grub.cfg.new.
2010-09-08 23:35:53 +02:00
Vladimir 'phcoder' Serbinenko
dedb5f9be2 merge mainline into nested 2010-09-08 20:40:27 +02:00
Yves Blusseau
c0e53ea537 Add new --boot-directory option to replace --root-directory
* util/grub-install.in: Add new --boot-directory option
	* util/grub-reboot.in: Likewise.
	* util/grub-set-default.in: Likewise.
2010-09-08 17:25:29 +02:00
Yves Blusseau
b9fe6ea2ea * util/grub-mkconfig.in: Use new variable. 2010-09-08 17:21:32 +02:00
Colin Watson
fdff6f0be9 For EFI, hardcode the partition number in the core image's prefix. 2010-09-08 14:11:45 +01:00
Vladimir 'phcoder' Serbinenko
6ed71f4831 merge mainline into install 2010-09-08 15:05:42 +02:00
Robert Millan
92f2aef045 2010-09-08 Robert Millan <rmh@gnu.org>
* configure.ac: Remove `--enable-grub-fstest' option.
	* Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
	
	* util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
	`grub-fstest' instead of `grub-probe' for readability verification.
	* util/grub-probe.c (probe): Remove readability verification kludge.
2010-09-08 14:37:19 +02:00
Robert Millan
99fd620d5a 2010-09-08 Robert Millan <rmh@gnu.org>
* util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
	initializing `GRUB_FS'.
2010-09-08 14:29:32 +02:00
Mario Limonciello
dc3d901cde Check for the EFI distributor case-insensitively, since efi_distributor is
always forced to lower-case.
Reported by: Mario Limonciello.
2010-09-08 13:07:21 +01:00
Colin Watson
f438a5be58 Set install_device for EFI before it's needed. 2010-09-08 12:54:38 +01:00
bvk.groups@gmail.com
75d8c629fc syntax check before overwriting 2010-09-07 11:18:53 +05:30
Vladimir 'phcoder' Serbinenko
88ae2ce160 Fix several powerpc-ieee1275 issues and one EFI one while on it 2010-09-06 23:03:25 +02:00
Vladimir 'phcoder' Serbinenko
88b87c9313 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
* util/grub-probe.c (main): Likewise.
	* util/i386/pc/grub-setup.c (main): Likewise.
	* util/sparc64/ieee1275/grub-setup.c (main): Likewise.
	Reported and debugged by: alexxy
2010-09-05 23:24:57 +02:00
Jo Shields
d7ee3441eb * util/grub.d/30_os-prober.in: Add missing classes. 2010-09-05 22:43:43 +02:00
Vladimir 'phcoder' Serbinenko
122a9b2cd9 Merge mainline into legacy_parser 2010-09-05 20:44:42 +02:00
Vladimir 'phcoder' Serbinenko
fc2ef1172c * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
Made static.
	(grub_gzfile_open): Removed. All users updated.
	(GRUB_MOD_INIT): New function.
	(GRUB_MOD_FINI): Likewise.
	* grub-core/kern/file.c (grub_file_filters_all): New variable.
	(grub_file_filters_enabled): Likewise.
	(grub_file_open): Handle filters.
	* grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
	* grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
	* include/grub/file.h (grub_file_filter_id_t): New type.
	(grub_file_filter_t): Likewise.
	(grub_file_filters_all): New extern variable.
	(grub_file_filters_enabled): Likewise.
	(grub_file_filter_register): New inline function.
	(grub_file_filter_unregister): Likewise.
	(grub_file_filter_disable): Likewise.
	(grub_file_filter_disable_compression): Likewise.
	* include/grub/gzio.h: Removed.
2010-09-05 13:05:36 +02:00
Vladimir 'phcoder' Serbinenko
208b940054 Handle new names in grub-install 2010-09-04 01:19:11 +02:00
Vladimir 'phcoder' Serbinenko
c8e7bf5ff7 Compress grub_prefix.
* grub-core/boot/i386/pc/lnxboot.S: Use
	GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
	* grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
	* include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
	GRUB_MACHINE_PREFIX_END. All users updated.
	(GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
	(GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
	+ 0x40.
	(GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
	* util/grub-mkimage.c (image_target_desc): Change data_end to
	prefix_end. All users updated.
2010-09-03 14:54:04 +02:00
Vladimir 'phcoder' Serbinenko
8395034bec Add i386-pc-pxe image target.
* util/grub-mkimage.c (image_target_desc): New enum value
	IMAGE_I386_PC_PXE.
	(image_targets): New target i386-pc-pxe.
	(generate_image): Handle i386-pc-pxe image.
2010-09-02 17:15:53 +02:00
Vladimir 'phcoder' Serbinenko
529cc99acf Add i386-pc-pxe image target.
* util/grub-mkimage.c (image_target_desc): New enum value
	IMAGE_I386_PC_PXE.
	(image_targets): New target i386-pc-pxe.
	(generate_image): Handle i386-pc-pxe image.
2010-09-02 16:07:52 +02:00
Colin Watson
4066f57f19 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
generated manual page) a little.
2010-09-01 10:32:34 +01:00
Vladimir 'phcoder' Serbinenko
6585de4c0c merge mainline into ia64 2010-08-31 21:47:26 +02:00
Vladimir 'phcoder' Serbinenko
70770806f3 Merge mainline into keylayouts 2010-08-31 14:12:34 +02:00
Vladimir 'phcoder' Serbinenko
5aaf2c18bd Merge mainline into keylayouts 2010-08-31 14:03:29 +02:00
Colin Watson
861d5b5c72 Import EFI patch by cjwatson 2010-08-30 21:00:48 +02:00
Vladimir 'phcoder' Serbinenko
6c2111e96c Adapt common grub-install for efi and use it 2010-08-30 20:27:59 +02:00
Vladimir 'phcoder' Serbinenko
11721d1926 Remove leftover embedding of font objects.
* include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
	* util/grub-install.in (font): Removed.
	* util/grub-mkimage.c (generate_image): Remove font support. All users
	updated.
2010-08-30 20:23:04 +02:00
Vladimir 'phcoder' Serbinenko
00cf36062b Merge mainline into install 2010-08-30 19:58:00 +02:00
Vladimir 'phcoder' Serbinenko
37837d4ecb Remove leftover embedding of font objects.
* include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
	* util/grub-install.in (font): Removed.
	* util/grub-mkimage.c (generate_image): Remove font support. All users
	updated.
2010-08-30 19:48:10 +02:00
Vladimir 'phcoder' Serbinenko
8111f933ec remove ieee1275/grub-install and adapt grub-install for ieee1275 2010-08-30 19:30:34 +02:00
Vladimir 'phcoder' Serbinenko
f0b05761f4 fix multiboot compilation 2010-08-29 00:46:36 +02:00
Vladimir 'phcoder' Serbinenko
fff175c77f Implement grub-menulst2cfg and fix many bugs in legacy_parser 2010-08-27 20:04:49 +02:00
Samuel Thibault
04ddcc6a88 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
* util/grub.d/30_os-prober.in: Fix conversion from grub-probe
	--target=drive output to Mach device name.
2010-08-23 22:41:14 +02:00
Vladimir 'phcoder' Serbinenko
400ef90dba Fix reversal of NPAGE and PPAGE when handling Linux keymaps 2010-08-23 20:40:06 +02:00
Vladimir 'phcoder' Serbinenko
9f5a5ad55a Fix RCTRL and RALT linux scancodes 2010-08-23 13:21:26 +02:00
Vladimir 'phcoder' Serbinenko
09206dc3d0 Macroify key constants 2010-08-22 23:56:41 +02:00
Vladimir 'phcoder' Serbinenko
5ea70ca5fa Support scancode set 2 2010-08-22 22:53:31 +02:00
BVK Chaitanya
d84666e6bb merge with mainline 2010-08-22 21:00:22 +05:30
Vladimir 'phcoder' Serbinenko
c32f26bce8 Make USB the main keylayout for simplicity 2010-08-22 16:06:09 +02:00
BVK Chaitanya
8427685faa *_sources now collect all values of all its groups 2010-08-21 14:27:31 +05:30
Vladimir 'phcoder' Serbinenko
0b335a9797 Fix cutting bits by implicit conversion to char 2010-08-20 23:33:41 +02:00
Vladimir 'phcoder' Serbinenko
fea90138d5 merge mainline into keylayouts 2010-08-20 22:13:19 +02:00
Robert Millan
21a313dedc 2010-08-20 Robert Millan <rmh@gnu.org>
Make kFreeBSD code more generic to support ext2fs as root, ufs as
	a separate module and maybe other interesting combinations.
	
	* util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
	(kfreebsd_entry): Use load_kfreebsd_module() to load modules.
	(kfreebsd_entry): Add generic filesystem module load routine.
	Map GRUB `ext2' to kFreeBSD `ext2fs'.
2010-08-20 16:36:07 +02:00
BVK Chaitanya
3d9d354297 generate gcry rules from import_gcry 2010-08-20 18:21:31 +05:30
Vladimir 'phcoder' Serbinenko
8bb7e81637 Fix printf bug 2010-08-20 01:23:33 +02:00
Vladimir 'phcoder' Serbinenko
88e543b519 Add grub-kbdcomp 2010-08-19 20:48:31 +02:00
Vladimir 'phcoder' Serbinenko
9c9ec877cb Rename grub-mklayouts to grub-mklayout 2010-08-19 20:47:08 +02:00
Vladimir 'phcoder' Serbinenko
5a3e99b388 MAke grub-mklayouts do only one thing rather than doing all the piping 2010-08-19 20:43:40 +02:00
Vladimir 'phcoder' Serbinenko
b175204119 Add missing keys to grub-mklayouts 2010-08-19 19:17:36 +02:00
Vladimir 'phcoder' Serbinenko
b09634f027 Added missing values and indented USB table 2010-08-19 16:12:18 +02:00
Vladimir 'phcoder' Serbinenko
5ef4e08416 add usb keymap support 2010-08-19 15:32:43 +02:00
Vladimir 'phcoder' Serbinenko
e55e09628d Hook AT keyboard mapping 2010-08-19 15:00:31 +02:00
Vladimir 'phcoder' Serbinenko
ed19677fe3 Revert all parts done for BIOS keymap translation 2010-08-19 13:32:36 +02:00
BVK Chaitanya
16c7cb32c8 merge with mainline 2010-08-19 16:54:00 +05:30
Vladimir 'phcoder' Serbinenko
eb628338db AltGr support 2010-08-19 11:44:49 +02:00
Carles Pina i Estany
b6f7b4ba03 Reimported heavily modified version of cpina's grub-mklayout 2010-08-19 02:15:29 +02:00
Vladimir 'phcoder' Serbinenko
2cccf4b0c4 Merge mainline into keylayouts 2010-08-18 22:28:47 +02:00
BVK Chaitanya
6304d29255 working copy, wo nested packaging 2010-08-17 19:03:22 +05:30
BVK Chaitanya
163dd4f7e9 merge with mainline 2010-08-12 12:02:48 +05:30
BVK Chaitanya
fd324286d4 merge with mainline 2010-08-12 09:30:26 +05:30
BVK Chaitanya
0bcbae0fa7 merge with mainline 2010-08-12 09:01:59 +05:30
Yves Blusseau
2764da3ba2 2010-08-10 Yves Blusseau <blusseau@zetam.org>
* util/grub-macho2img.c (main): fix typo
2010-08-10 16:32:48 +02:00
Robert Millan
7117542069 2010-08-08 Robert Millan <rmh@gnu.org>
* util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
2010-08-08 22:47:32 +02:00
Robert Millan
0d8286f328 2010-08-08 Robert Millan <rmh@gnu.org>
* util/grub.d/10_kfreebsd.in: When files required for ZFS do not
	exist, issue a proper error message (rely on `ls' for translated
	strings).
2010-08-08 16:27:58 +02:00
Robert Millan
55dd292477 2010-08-08 Robert Millan <rmh@gnu.org>
Fix grub-probe invocation.
	
	* util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
2010-08-08 15:45:33 +02:00
Robert Millan
9dd6fd50b4 2010-08-03 Robert Millan <rmh@gnu.org>
Fix grub-emu build.
	
	* include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
	* include/grub/emu/misc.h: ... here.
	
	* include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
	* include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
	
	* util/misc.c: Remove `<grub/util/libzfs.h>'.
	[HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
	(grub_get_libzfs_handle): Move to ...
	* kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
	(grub_get_libzfs_handle): ... here.
2010-08-03 23:51:48 +02:00
Robert Millan
c7db243b92 2010-08-01 Robert Millan <rmh@gnu.org>
* util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
	kFreeBSD device name, except on ZFS where the filesystem label is
	used.
	(kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
	`/boot/zfs/zpool.cache'.
	Set mountfrom kernel variable using ${kfreebsd_device}.
2010-08-01 23:21:09 +02:00
Robert Millan
f7abdefbdd 2010-08-01 Robert Millan <rmh@gnu.org>
Make it even harder to use uninitialized `libzfs_handle' (and
	make the interface a bit simpler).
	
	* include/grub/util/misc.h (grub_util_init_libzfs)
	(libzfs_handle): Remove.
	(grub_get_libzfs_handle): New prototype.
	
	* util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
	attribute.
	(grub_util_init_libzfs): Remove.
	(grub_get_libzfs_handle): New function.
	
	* kern/emu/getroot.c (find_root_device_from_libzfs): Use
	grub_get_libzfs_handle() to obtain a libzfs handle instead of
	accessing `libzfs_handle' directly.
2010-08-01 23:12:24 +02:00
Colin Watson
ea9be8eadb * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img. 2010-08-01 11:30:03 -05:00
Robert Millan
deb0caa38e 2010-08-01 Robert Millan <rmh@gnu.org>
Prevent accidental use of uninitialized libzfs_handle.
	
	* util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
	* kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
	* util/misc.c (grub_util_init_libzfs): Make this function idempotent.
2010-08-01 15:23:44 +02:00
Colin Watson
ce04ef47e2 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
util/grub.d/10_linux.in).  Fixes Debian bug #591093.
2010-08-01 08:54:10 -05:00
Robert Millan
3710bb6b96 2010-07-31 Robert Millan <rmh@gnu.org>
* util/grub.d/10_kfreebsd.in: Make module handling more generic.
2010-08-01 02:14:07 +02:00
Robert Millan
a184f9c801 2010-07-30 Robert Millan <rmh@gnu.org>
Enable `grub-probe -t device' resolution on ZFS.
	
	* configure.ac: Check for getfsstat(), libzfs and libnvpair.
	* include/grub/util/libnvpair.h: New file.
	* include/grub/util/libzfs.h: New file.
	
	* kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
	[HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
	`<grub/util/libnvpair.h>'.
	[HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
	
	(find_mount_point_from_dir): New static function.
	[HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
	function.
	[HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
	find_root_device_from_libzfs() before ressorting to find_root_device().
	
	* include/grub/util/misc.h (grub_util_init_libzfs): New function
	prototype.
	* util/misc.c: Include `<grub/util/libzfs.h>'.
	(grub_util_init_libzfs): New function.
	[HAVE_LIBZFS] (libzfs_handle): New global variable.
	[HAVE_LIBZFS] (fini_libzfs): New static function.
	(grub_util_init_libzfs): New function.
	* util/grub-probe.c (main): Call grub_util_init_libzfs().
2010-07-30 21:43:12 +02:00
Robert Millan
0806b63c09 2010-07-29 Robert Millan <rmh@gnu.org>
* util/grub-probe.c (PRINT_FS_LABEL): New enum value.
	(probe): Handle `PRINT_FS_LABEL'.
	(main): Handle `-t fs_label'.
2010-07-29 18:46:42 +02:00
Vladimir 'phcoder' Serbinenko
463711215f * util/ieee1275/grub-install.in: Don't use empty grub_device.
Reported by: Lennart Sorensen.
2010-07-28 18:25:48 +03:00
Vladimir 'phcoder' Serbinenko
0ac33bf5eb * util/grub.d/00_header.in: Remove compatibility with terminal.mod
prior to terminal_input/terminal_output separation. It's been over 1.5
	years and those versions weren't widely deployed.
2010-07-21 06:44:38 +02:00
Vladimir 'phcoder' Serbinenko
a6a11f3cac * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
with -p "".
	Reported by: Tito Keitel.
2010-07-20 20:36:11 +02:00
Vadim Solomin
ab8ba95760 2010-07-20 Vadim Solomin <vadic052@gmail.com>
2010-07-20  Colin Watson  <cjwatson@ubuntu.com>

	Generate device.map in something closer to the old ordering.

	* util/deviceiter.c (struct device): New declaration.
	(compare_file_names): Rename to ...
	(compare_devices): ... this.  Sort by kernel name in preference to
	the stable by-id name, but keep the latter as a fallback comparison.
	Update header comment.
	(grub_util_iterate_devices) [__linux__]: Construct and sort an array
	of `struct device' rather than of plain file names.

	Also-By: Colin Watson <cjwatson@ubuntu.com>
2010-07-20 17:14:00 +01:00
Felix Zielcke
f058276b19 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
* disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
	removing the homehost if present.
	* kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
	(grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
	removing the homehost if present.
	(grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
	if possible.
	* util/i386/pc/grub-setup.c (main): Handle md/* devices.

	* disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
	parameter.  Set its pointer target to 0.
	* disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
	parameter.  Set its pointer target to 0 for 0.9 metadata, or to the
	`data_offset' value from the superblock for 1.x metadata.
	* disk/raid.c (grub_raid_read): Offset reads by the start sector of
	data on the device.
	(insert_array): Record the start sector of data on the device.
	(grub_raid_register): Pass start_sector parameters to
	grub_raid_list->detect and insert_array.
	* include/grub/raid.h (struct grub_raid_array): Add start_sector
	member.
	(struct grub_raid): Add start_sector parameter to `detect'.

	* disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
	__attribute__ ((packed)), leaving a comment.
	(grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
	(grub_mdraid_detect_09): ... here and ...
	(grub_mdraid_detect_1x): ... here.

2010-07-20  Peter Henn  <peter.henn@web.de>

	* disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
	chunk size and disk size, which are already given as sector counts
	as distinct from the 0.90 units.  Fetch the correct device number
	from the role table instead of using the table index.

2010-07-20  Felix Zielcke  <fzielcke@z-51.de>

	* disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
	* disk/mdraid_linux.c (grub_raid_super_1x): New structure.
	(WriteMostly1): New macro.
	Set array->name to NULL for metadata format 0.90.  Add support for
	metadata 1.x.  Fix some comments.
	* disk/raid.c (): Add support for name based RAID arrays.  Fix a
	few comments.
	* util/getroot.c (grub_util_get_grub_dev): Add support for
	/dev/md/name style devices.

	Also-By: Peter Henn <peter.henn@web.de>

	Also-By: Colin Watson <cjwatson@ubuntu.com>
2010-07-20 11:26:27 +01:00
Colin Watson
139ab97dc3 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
removing the homehost if present.
* kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
(grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
removing the homehost if present.
(grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
if possible.
* util/i386/pc/grub-setup.c (main): Handle md/* devices.
2010-07-18 15:53:14 +01:00
Colin Watson
5771289a14 * util/import_unicode.py: Remove unnecessary imports. 2010-07-17 19:27:18 +01:00
BVK Chaitanya
297f0c2b6e merge with mainline 2010-07-13 00:43:28 +05:30
BVK Chaitanya
05df19acd5 merge with mainline 2010-07-12 17:03:01 +05:30
BVK Chaitanya
9ec82092f1 merge with mainline 2010-07-11 21:40:25 +05:30
BVK Chaitanya
2643019702 merge with mainline 2010-07-11 21:20:26 +05:30
Vladimir 'phcoder' Serbinenko
3eaac1a13e * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
in this context.
2010-07-10 02:15:49 +02:00
Colin Watson
5357687a55 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
which we expect to be handled by upper layers.
2010-07-06 15:10:36 +01:00
Colin Watson
c8c069533f * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
after setting gfxterm as the active terminal.  GRUB_BACKGROUND
doesn't work otherwise.
2010-07-06 09:42:37 +01:00
Colin Watson
38d8f4f3f7 * util/i386/pc/grub-setup.c (setup): Rename prefix to
install_prefix, in line with install_dos_part and install_bsd_part.
Add new prefix variable, which is copied to install_prefix after
comparing core.img in memory with the one read from disk in the
no-embedding case, and use that rather than overwriting
install_prefix immediately when installing to a partition.
Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
Bicakci.
2010-07-05 01:09:00 +01:00
Grégoire Sutre
57ebd41ef1 Avoid == in test command, it's not portable. 2010-07-05 00:45:14 +02:00
Vladimir 'phcoder' Serbinenko
653d6e94b0 * util/i386/efi/grub-install.in: Don't use empty grub_device.
Reported by: Tito Keitel.
2010-07-04 14:23:55 +02:00
Grégoire Sutre
6b654bb0a5 Do not embed when there are multiple (top-level) partmaps. 2010-07-04 11:13:31 +02:00
Vladimir 'phcoder' Serbinenko
e8d0a8f85c Merge mainline into bidi 2010-07-02 19:35:07 +02:00
Colin Watson
2bdb2892b3 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
devices when iterating over /dev/disk/by-id; they will be handled
later if appropriate, which they aren't always (e.g. LVM).
2010-07-02 17:11:42 +01:00
Colin Watson
507736c87c * util/grub-mkconfig_lib.in (uses_abstraction): New function.
* util/grub.d/10_linux.in: Use it to check for LVM, so that
LVM-on-RAID is handled correctly.
2010-07-02 12:32:05 +01:00
Colin Watson
8d4a2fec0d * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
grub.d/README accidentally ends up executable for one reason or
another.  Ignore it.
2010-07-02 10:50:04 +01:00
Vladimir 'phcoder' Serbinenko
b0c4f95642 * util/grub-mkrescue.in: Avoid module duplication. 2010-07-01 23:35:45 +02:00
Sean Finney
105a2e8c66 * util/grub.d/10_linux.in: Don't use UUID for LVM root. 2010-07-01 23:24:21 +02:00
Vladimir 'phcoder' Serbinenko
ec1d04f1de Yeeloong firmware port.
* boot/mips/yeeloong/fwstart.S: New file.
	* bus/cs5536.c (gpiodump): New const.
	(set_io_space): New function.
	(set_iod): Likewise.
	(set_p2d): Likewise.
	(grub_cs5536_init_geode): Likewise.
	* commands/mips/yeeloong/lsspd.c: New file.
	* conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
	(serial_mod_SOURCES): New variable.
	(serial_mod_CFLAGS): Likewise.
	(serial_mod_LDFLAGS): Likewise.
	* conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
	term/terminfo.c and term/tparm.c.
	(pkglib_IMAGES): Add fwstart.img.
	(fwstart_img_SOURCES): New variable.
	(fwstart_img_CFLAGS): Likewise.
	(fwstart_img_ASFLAGS): Likewise.
	(fwstart_img_LDFLAGS): Likewise.
	(fwstart_img_FORMAT): Likewise.
	(pkglib_MODULES): Add lsspd.mod.
	(lsspd_mod_SOURCES): New variable.
	(lsspd_mod_CFLAGS): Likewise.
	(lsspd_mod_LDFLAGS): Likewise.
	(pkglib_MODULES): Add halt.mod.
	(halt_mod_SOURCES): New variable.
	(halt_mod_CFLAGS): Likewise.
	(halt_mod_LDFLAGS): Likewise.
	* conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
	(serial_mod_SOURCES): Removed.
	(serial_mod_CFLAGS): Likewise.
	(serial_mod_LDFLAGS): Likewise.
	* disk/ata.c (check_device): New function.
	(grub_ata_device_initialize): Use check_device.
	(grub_ata_iterate): Recheck devices.
	(grub_ata_open): Likewise.
	(grub_atapi_iterate): Likewise.
	(grub_atapi_open): Likewise.
	* include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
	(GRUB_ATA_CH1_PORT1): Likewise.
	(GRUB_ATA_CH0_PORT2): Likewise.
	(GRUB_ATA_CH1_PORT2): Likewise.
	* include/grub/mips/loongson.h: New file.
	* include/grub/mips/yeeloong/ec.h: Likewise.
	* include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
	(GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
	(GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
	* include/grub/misc.h (grub_halt): Declare as noreturn.
	* include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
	(UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
	(UART_ENABLE_FIFO_TRIGGER1): New definition.
	(UART_ENABLE_DTRRTS): Likewise.
	(UART_ENABLE_MODEM): Removed.
	(UART_ENABLE_OUT2): New const.
	* include/grub/term.h (grub_term_register_input_active): New function.
	(grub_term_register_output_active): Likewise.
	* kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
	argument.
	* kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
	(init_pci): New function.
	(grub_machine_init): Execute platform init when firmware. Init serial.
	(grub_halt): Implement.
	(grub_exit): Likewise.
	(grub_reboot): Likewise.
	* term/serial.c (serial_hw_init): Update macros.
	[GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
	* util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
	(image_targets): New target mipsel-yeeloong-flash.
	(generate_image): Support IMAGE_YEELOONG_FLASH.
	* video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
	(grub_video_sm712_setup): Init card.
	(grub_video_sm712_set_palette): Removed.
	* video/sm712_init.c: New file.
2010-07-01 03:16:56 +02:00
Vladimir 'phcoder' Serbinenko
b7e79e8a6a Merge mainline into yeeloongfw 2010-06-30 02:30:05 +02:00
Colin Watson
1246efeb8b * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
to avoid accidents when debugging with 'sh -x'.
* util/grub-mkrescue.in: Likewise.
* util/grub.d/00_header.in: Likewise.
* util/grub.d/10_hurd.in: Likewise.
* util/grub.d/10_kfreebsd.in: Likewise.
* util/grub.d/10_linux.in: Likewise.
* util/grub.d/10_netbsd.in: Likewise.
* util/grub.d/10_windows.in: Likewise.
* util/grub.d/20_linux_xen.in: Likewise.
* util/grub.d/30_os-prober.in: Likewise.
* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2010-06-29 16:20:49 +01:00
Robert Millan
d500ed127e 2010-06-28 Robert Millan <rmh@gnu.org>
* util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
	* util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
	command using ${GRUB_BADRAM} as parameter.
2010-06-28 23:52:03 +02:00
Colin Watson
c06e40f728 * util/grub-install.in: Add --debug-image= option. 2010-06-28 09:06:41 +01:00
Colin Watson
cb88052ba3 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
possible on Linux.
* util/deviceiter.c (check_device): Rename to ...
(check_device_readable_unique): ... this.  Update all callers.
Maintain and check a list of which devices (by canonicalized name)
have already been seen.
(clear_seen_devices): New function.
(compare_file_names) [__linux__]: New function.
(grub_util_iterate_devices): Clear the list of seen devices on exit
and (just in case) on entry.
(grub_util_iterate_devices) [__linux__]: Iterate over non-partition
devices in /dev/disk/by-id/, in sorted order.  Remove DM-RAID
seen-devices list, superseded by general code in check_device.
2010-06-28 08:55:05 +01:00
Vladimir 'phcoder' Serbinenko
412e09f355 XEN with Linux grub-mkconfig support.
* conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
	* util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
	GRUB_CMDLINE_XEN_DEFAULT.
	* util/grub.d/20_linux_xen.in: New file.
2010-06-28 02:39:49 +02:00
Vladimir 'phcoder' Serbinenko
d86e186ff1 Fix detection of dom0 kernels 2010-06-28 02:24:08 +02:00
Pavel Roskin
c75be4fb0c * util/grub.d/10_linux.in: Add support for initrd images on Fedora
13.
2010-06-26 20:31:40 +01:00
Colin Watson
4321c64aff * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
setting GRUB_VIDEO_BACKEND.  Make it available as a user override
	instead.  Replace the gfxterm backend check with a check that
	${GRUB_PREFIX}/video.lst is non-empty.
	* util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
	again.
	(load_video): New generated function.  Call it before loading
	gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
	* util/grub.d/10_linux.in (linux_entry): Call load_video.
	* util/grub.d/30_os-prober.in (osx_entry): Likewise.
	* docs/grub.texi (Simple configuration): Document
	GRUB_VIDEO_BACKEND.

	Use video functions in linux and xnu loaders.

	* conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
	* conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
	* include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
	* loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
	loader/i386/pc/linux.c.
	(grub_linux_boot): Resynced with loader/i386/pc/linux.c.
	(find_line_len): Removed.
	(find_framebuf): Likewise.
	(grub_cmd_linux): Declare grub_linux_boot as possibly returning.
	* loader/i386/efi/xnu.c: Removed.
	* loader/i386/pc/xnu.c: Moved from here...
	* loader/i386/xnu.c: ...here.

	Enable priorities in video drivers.

	* include/grub/video.h (grub_video_adapter_prio_t): New type.
	(grub_video_adapter): New field prio.
	(grub_video_register): Respect prio when inserting.
	* video/efi_gop.c (grub_video_gop_adapter): Add prio.
	* video/efi_uga.c (grub_video_uga_adapter): Likewise.
	* video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
	* video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
	* video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
	* video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
	* video/sm712.c (grub_video_sm712_adapter): Likewise.

	Fix SDL driver ID.

	* include/grub/video.h (grub_video_driver_id_t): New value
	GRUB_VIDEO_DRIVER_SDL.
	* video/emu/sdl.c (grub_video_sdl_adapter): Add id.

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-06-20 13:37:18 +02:00
Colin Watson
7d24e434c5 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
argument to printf.
* util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
2010-06-17 21:54:04 +01:00
Colin Watson
c88a83f644 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
* util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
2010-06-17 21:49:50 +01:00
Colin Watson
094dfb699e * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
directly, and recommend grub-install instead.
* util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
2010-06-17 21:20:43 +01:00
Colin Watson
e803a2b793 merge mainline 2010-06-17 16:14:08 +01:00
Colin Watson
e4311a9f0f * util/grub-mkconfig.in: Stop setting GRUB_VIDEO_BACKEND. Make it
available as a user override instead.  Replace the gfxterm backend
check with a check that ${GRUB_PREFIX}/video.lst is non-empty.
* util/grub.d/00_header.in (load_video): New generated function.
Call it before loading gfxterm rather than loading
${GRUB_VIDEO_BACKEND}.
* util/grub.d/10_linux.in (linux_entry): Call load_video.
* util/grub.d/30_os-prober.in (osx_entry): Likewise.
* docs/grub.texi (Simple configuration): Document
GRUB_VIDEO_BACKEND.
2010-06-17 16:01:17 +01:00
Colin Watson
2164da6b25 Fix i386-pc prefix handling with nested partitions (Debian bug
#585068).  Note that the case where the core image is booted using
multiboot and relocated from its original location still requires
more work.
* kern/i386/pc/init.c (make_install_device): If the prefix starts
with "(,", fill the boot drive in between those two characters, but
expect that a full partition specification including partition map
names will follow.
* util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
specified, write a prefix without the drive name but including a
full partition specification.
2010-06-17 12:15:37 +01:00
Colin Watson
044e2e60be * util/grub-mkconfig.in: Ignore non-option arguments, for
compatibility with older versions (before 2010-06-12) which did the
same.  In particular, this makes it easier to ship an update-grub
wrapper which is compatible with that used with GRUB Legacy (Debian
bug #586056).
2010-06-16 12:51:26 +01:00
Colin Watson
8d70754eed * util/grub-mkconfig.in: Remove vestige of old argument parsing that
left this script non-functional.
2010-06-14 15:34:47 +01:00
BVK Chaitanya
49e38cf475 merge with mainline 2010-06-13 09:48:47 +05:30
Grégoire Sutre
fcb2d09011 New partition naming style in grub-probe for Linux and NetBSD. 2010-06-13 02:36:39 +02:00
BVK Chaitanya
20ebf73276 merge with mainline 2010-06-12 20:36:46 +05:30
BVK Chaitanya
b2ffba9c08 merge with mainline 2010-06-12 20:25:26 +05:30
Colin Watson
601c84fd16 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX.
* util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
again.
* util/grub.d/10_linux.in (linux_entry): Load all video drivers,
which may be needed to allow the loader to program modes for the
kernel.
2010-06-12 15:06:53 +01:00
Thomas Schmitt
ce08a9fb28 * util/grub-mkrescue.in: Pass unrecognized options to xorriso. 2010-06-12 16:03:34 +02:00
Thomas Schmitt
a608597318 * util/grub-mkrescue.in: Support --xorriso argument. 2010-06-12 13:54:35 +02:00
Vladimir 'phcoder' Serbinenko
25c56d2928 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
Suggested by: Thomas Schmitt.
2010-06-12 13:47:08 +02:00
Vladimir 'phcoder' Serbinenko
e03e4b24ca * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
Suggested by: Thomas Schmitt.
2010-06-12 13:44:01 +02:00
Vladimir 'phcoder' Serbinenko
57711df6ad custom.cfg support.
* conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
	* util/grub.d/41_custom.in: New file.
2010-06-12 13:20:21 +02:00
Colin Watson
ee62c427e5 * util/grub-mkrescue.in (make_image): Remove sh module, which has
been merged back into normal.
2010-06-12 12:02:38 +01:00
BVK Chaitanya
95af254928 merge with mainline 2010-06-12 16:32:06 +05:30
BVK Chaitanya
d6d0c209d9 merge with mainline 2010-06-12 16:21:10 +05:30
BVK Chaitanya
b2d0e6c3fd merge with mainline 2010-06-12 13:55:31 +05:30
Vladimir 'phcoder' Serbinenko
3a37e3226b Use FOR_* macros instead of *_iterate whenever possible.
* commands/handler.c: Removed.
	* commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
	* commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
	* conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
	(grub_probe_SOURCES): Remove kern/parser.c.
	(util/grub-script-check.c_DEPENDENCIES): Removed.
	(grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
	and grub_script_check_init.c.
	(grub_script_check_init.lst): Removed.
	(grub_script_check_init.h): Likewise.
	(grub_script_check_init.c): Likewise.
	(pkglib_MODULES): Remove handler.mod and sh.mod.
	(handler_mod_SOURCES): Removed.
	(handler_mod_CFLAGS): Likewise.
	(handler_mod_LDFLAGS): Likewise.
	(normal_mod_SOURCES): Remove normal/handler.c.
	Add script/main.c, script/script.c, script/execute.c,
	script/function.c, script/lexer.c, grub_script.tab.c
	and grub_script.yy.c.
	* conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	* conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
	(grub_setup_SOURCES): Remove kern/parser.c.
	* conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
	* conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
	(grub_setup_SOURCES): Remove kern/parser.c.
	* conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
	* gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
	* include/grub/command.h (grub_command_iterate): Removed.
	(FOR_COMMANDS): New macro.
	* include/grub/dl.h (grub_dl): New member next.
	(grub_dl_iterate): Removed.
	(grub_dl_head): New variable declaration.
	(FOR_DL_MODULES): New macro.
	* include/grub/fs.h: Include list.h.
	(grub_fs): Make next first element.
	(grub_fs_list): New variable declaration.
	(grub_fs_register): Make inline.
	(grub_fs_unregister): Likewise.
	(grub_fs_iterate): Removed.
	(FOR_FILESYSTEMS): New macro.
	* include/grub/handler.h: Removed.
	* include/grub/list.h (grub_list_hook_t): Removed.
	(grub_list_test_t): Likewise.
	(grub_list_pop): Likewise.
	(grub_list_iterate): Likewise.
	(grub_list_insert): Likewise.
	(FOR_LIST_ELEMENTS): New macro.
	* include/grub/parser.h (grub_parser_class): Removed.
	(grub_parser_register): Likewise.
	(grub_parser_unregister): Likewise.
	(grub_parser_get_current): Likewise.
	(grub_parser_set_current): Likewise.
	(grub_register_rescue_parser): Likewise.
	(grub_rescue_parse_line): New function.
	* include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
	* include/grub/script_sh.h (grub_script_function_list): New variable
	declaration.
	(FOR_SCRIPT_FUNCTIONS): New macro.
	(grub_script_function_iterate): Removed.
	(grub_normal_parse_line): New prototype.
	* include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
	(FOR_DISABLED_TERM_INPUTS): Likewise.
	(FOR_ACTIVE_TERM_OUTPUTS): Likewise.
	(FOR_DISABLED_TERM_OUTPUTS): Likewise.
	* include/grub/video.h (grub_video_adapter): Move 'next' to first
	element.
	(grub_video_register): Inline.
	(grub_video_unregister): Likewise.
	(grub_video_adapter_list): New variable declaration.
	(grub_video_iterate): Removed.
	(FOR_VIDEO_ADAPTERS): New macro.
	* kern/dl.c (grub_dl_list): Removed. All users updated.
	(grub_dl_iterate): Removed.
	* kern/fs.c (grub_fs_list): Make global.
	(grub_fs_register): Removed.
	(grub_fs_unregister): Likewise.
	(grub_fs_iterate): Likewise.
	* kern/handler.c: Removed.
	* kern/list.c (grub_list_pop): Removed.
	(grub_list_iterate): Likewise.
	(grub_list_insert): Likewise.
	(grub_named_list_find): Use FOR_LIST_ELEMENTS.
	(grub_prio_list_insert): Don't use grub_list_insert.
	* kern/main.c (grub_register_rescue_parser): Don't call
	grub_register_rescue_parser.
	* kern/parser.c (grub_parser_class): Removed.
	(grub_parser_execute): Use grub_rescue_parse_line.
	* kern/rescue_parser.c (grub_rescue_parse_line): Make global.
	(grub_rescue_parser): Removed.
	(grub_register_rescue_parser): Likewise.
	* kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
	* normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
	(grub_auth_check_authentication): Likewise.
	* normal/completion.c (iterate_command): Removed.
	(grub_normal_do_completion): Use FOR_COMMANDS.
	* normal/handler.c: Removed.
	* normal/main.c (read_config_file): Remove parser changing.
	(grub_normal_execute): Don't call read_handler_list.
	(grub_normal_read_line_real): Statically allocate prompt.
	(grub_cmdline_run): Use grub_normal_parse_line.
	(GRUB_MOD_FINI): Don't call free_handler_list.
	* normal/menu_entry.c (run): Likewise.
	* script/function.c (grub_script_function_list): Make global.
	(grub_script_function_iterate): Removed.
	* script/main.c (grub_normal_parse_line): Make global.
	(grub_sh_parser): Removed.
	(GRUB_MOD_INIT): Likewise.
	(GRUB_MOD_FINI): Likewise.
	* tests/lib/functional_test.c (grub_functional_test): Use
	FOR_LIST_ELEMENTS.
	* tests/lib/test.c (free_failures): Don't use grub_list_pop.
	(grub_test_run): Use FOR_LIST_ELEMENTS.
	* tests/lib/unit_test.c (main): Likewise.
	* util/deviceiter.c (grub_util_iterate_devices): Don't use
	grub_list_pop.
	* util/grub-fstest.c (grub_term_input_class): Removed.
	(grub_term_output_class): Likewise.
	* util/grub-probe.c: Likewise.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/sparc64/ieee1275/grub-setup.c: Likewise.
	* util/grub-script-check.c (main): Don't call grub_init_all and
	grub_fini_all.
	* video/video.c (grub_video_adapter_list): Make global.
	(grub_video_register): Removed.
	(grub_video_unregister): Likewise.
	(grub_video_iterate): Likewise.
2010-06-11 22:31:16 +02:00
Robert Millan
9146024736 2010-06-09 Robert Millan <rmh@gnu.org>
* util/grub.d/10_linux.in: Prefer compressed images over non-compressed
	ones, when both are available.
2010-06-09 20:43:25 +02:00
Grégoire Sutre
0ea7c4f93c Make --version uniform and avoid hard-coded program name. 2010-06-08 12:52:42 +02:00
Grégoire Sutre
e8a6f3b6a5 Use absolute offsets for start of embedding area. 2010-06-08 12:23:30 +02:00
BVK Chaitanya
baea17662b merge with mainline 2010-06-08 09:36:44 +05:30
Colin Watson
e0f4c43882 * kern/emu/misc.c (device_mapper_null_log): New function.
(grub_device_mapper_supported): New function.
* include/grub/emu/misc.h (grub_device_mapper_supported): Add
prototype.
* kern/emu/hostdisk.c (find_partition_start): Check whether
device-mapper is supported before trying to use it.
* util/deviceiter.c (grub_util_iterate_devices): Likewise.
2010-06-07 22:41:55 +01:00
Colin Watson
e1cbcc40a4 * util/grub.d/00_header.in: Add some more quoting (of
"${prev_saved_entry}" and "${boot_once}") needed to make savedefault
work again.
Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
2010-06-07 14:22:40 +01:00
Colin Watson
db8fa1ad87 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
to `count', fixing variable shadowing that broke the -c option.
2010-06-07 14:15:57 +01:00
Colin Watson
71c3809882 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
in case they contain spaces.
2010-06-05 20:44:44 +01:00
Colin Watson
f28a9212b4 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
"part_" to partmap module names, in line with grub-install.
Reported by: Jindřich Makovička (Debian bug #584426).
2010-06-04 13:53:30 +01:00
Colin Watson
9cdfe32f09 * util/grub-mkimage.c: Make target-related error messages slightly
more helpful; -O talks about "format".  Explicitly point to the use
of -O if no target is specified.
Reported by: Didier Raboud (Debian bug #584415).
2010-06-04 13:38:10 +01:00
Colin Watson
0b35b2a921 * util/grub.d/00_header.in: Add safety check to make sure that
${locale_dir} exists before trying to probe it.
2010-06-02 13:57:13 +01:00
BVK Chaitanya
fe16b84557 pull-in emu-lite 2010-06-01 09:12:01 +05:30
Vladimir 'phcoder' Serbinenko
89d90892d0 Merge usb into yeeloongfw 2010-05-31 14:21:34 +02:00
Vladimir 'phcoder' Serbinenko
8148171e96 Pad image to 512K for flashrom 2010-05-31 08:24:33 +02:00
BVK Chaitanya
64c10cde57 merge with mainline 2010-05-28 16:23:07 +05:30
Colin Watson
d870813427 * util/grub-script-check.c (main): Ensure defined behaviour on empty
input files (in which case exit zero).
2010-05-27 15:54:18 +01:00
Robert Millan
5fdba519bb 2010-05-27 Robert Millan <rmh@gnu.org>
* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
	partmap module to handle cross-partmap setups.
	Reported by Orestes Mas.  Gràcies!
2010-05-27 16:38:16 +02:00
Colin Watson
d1d368e426 * util/grub-mkrescue.in: Initialise override_dir rather than
assuming that it's unset or empty in the environment.
2010-05-27 12:43:22 +01:00
BVK Chaitanya
692d7c2855 pull-in emu-lite branch 2010-05-26 17:49:05 +05:30
BVK Chaitanya
066e9dd87e pull-in emu-fixes branch 2010-05-26 09:58:23 +05:30
BVK Chaitanya
5f02926bbc emu build fixes for sparc64 and freebsd 2010-05-26 09:56:59 +05:30
BVK Chaitanya
a6b1d2075e merge with mainline 2010-05-25 17:11:24 +05:30
BVK Chaitanya
e9c5186cf8 merge with mainline 2010-05-25 16:09:03 +05:30
Vladimir 'phcoder' Serbinenko
2226d68df1 merge mainline into yeeloongfw 2010-05-23 14:50:11 +02:00
Vladimir 'phcoder' Serbinenko
76e6d0d767 Add default/grub support 2010-05-23 14:11:11 +02:00
Vladimir 'phcoder' Serbinenko
e34b610d49 merge mainline into yeeloongfw 2010-05-22 16:58:45 +02:00
Vladimir 'phcoder' Serbinenko
19dcc49086 xen configuration preliminary support based on enhanced version of a kludge I use 2010-05-21 19:45:14 +02:00
Colin Watson
21717c8fca * util/grub-mkconfig.in: Fix handling of -o so that it works when
not the first option.
2010-05-21 14:17:15 +01:00
Colin Watson
c0f48e654d * util/grub-mkrelpath.c (usage): Remove excess apostrophe. 2010-05-20 23:27:15 +01:00
Colin Watson
96779aec8e * util/misc.c: Move inclusion of <limits.h> to ...
* kern/emu/misc.c: ... here.  Needed for canonicalize_file_name.
2010-05-20 23:16:10 +01:00
BVK Chaitanya
526397f415 merge with mainline 2010-05-20 14:52:25 +05:30
BVK Chaitanya
868bebea0c merge with mainline 2010-05-19 14:39:58 +05:30
Christian Franke
74276c0df7 * util/grub.d/10_windows.in: Use path names instead of
drive letters to prevent warning from Cygwin 1.7.
	Add drivemap command to menuentry if needed.
2010-05-18 21:58:49 +02:00
Samuel Thibault
c4f7b52359 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
* util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
	gnumach and gnumach.gz.
2010-05-18 20:10:37 +02:00
Vladimir 'phcoder' Serbinenko
01b8d2d787 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
-DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
	* util/grub-mkimage.c (image_targets): Add i386-multiboot.
	(main): Add a slash after pkglibdirroot.
2010-05-18 13:55:26 +02:00
Vladimir 'phcoder' Serbinenko
654e1d1e0e * util/grub-install.in: Add missing "in" keyword. 2010-05-18 13:45:25 +02:00
Vladimir 'phcoder' Serbinenko
26966aeba7 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
* util/grub-mkrescue.in: Remove -O i386-pc duplication.
	Reported by: Seth Goldberg.
2010-05-18 14:21:15 +02:00
Colin Watson
74cbf5bdcb * configure.ac: Check for Linux device-mapper support.
* util/hostdisk.c (device_is_mapped): New function.
(find_partition_start): New function, partly broken out from
linux_find_partition and grub_util_biosdisk_get_grub_dev but with
device-mapper support added.
(linux_find_partition): Use find_partition_start.
(convert_system_partition_to_system_disk): Add `st' argument.
Support Linux /dev/mapper/* devices if device-mapper support is
available; only DM-RAID devices are understood at present.
(find_system_device): Add `st' argument.  Pass it to
convert_system_partition_to_system_disk.
(grub_util_biosdisk_get_grub_dev): Pass stat result to
find_system_device and convert_system_partition_to_system_disk.  Use
find_partition_start.
* conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
* util/deviceiter.c [__linux__]: Define MINOR.
(grub_util_iterate_devices): Add support for DM-RAID disk devices.
* util/mkdevicemap.c (grub_putchar): New function.
(grub_getkey): New function.
(grub_refresh): New function.
(main): Set debug=all if -v -v is used.
2010-05-18 12:33:35 +01:00
Colin Watson
355b51e9b5 Fix build with non-GNU libcs.
* util/misc.c (canonicalize_file_name): Move to ...
* kern/emu/misc.c (canonicalize_file_name): ... here.  Needed by
grub_make_system_path_relative_to_its_root.
2010-05-18 11:57:31 +01:00
Colin Watson
7fb5c25fd0 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
we handle finding grub-mkimage.  Default to finding grub-mkimage in
${bindir} with program_transform_name applied, and provide a
--grub-mkimage option to override this.
2010-05-18 11:51:37 +01:00
Colin Watson
e6127bed25 merge from trunk 2010-05-18 11:14:13 +01:00
Vladimir 'phcoder' Serbinenko
1d3293d67d Remove grub-mkisofs.
* conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
	(grub_mkisofs_SOURCES): Removed.
	(grub_mkisofs_CFLAGS): Removed.
	* util/mkisofs/defaults.h: Removed.
	* util/mkisofs/eltorito.c: Likewise.
	* util/mkisofs/exclude.h: Likewise.
	* util/mkisofs/hash.c: Likewise.
	* util/mkisofs/include/: Likewise.
	* util/mkisofs/include/fctldefs.h: Likewise.
	* util/mkisofs/include/mconfig.h: Likewise.
	* util/mkisofs/include/prototyp.h: Likewise.
	* util/mkisofs/include/statdefs.h: Likewise.
	* util/mkisofs/iso9660.h: Likewise.
	* util/mkisofs/joliet.c: Likewise.
	* util/mkisofs/match.c: Likewise.
	* util/mkisofs/match.h: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/mkisofs.h: Likewise.
	* util/mkisofs/msdos_partition.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.
2010-05-17 23:33:03 +02:00
Vladimir 'phcoder' Serbinenko
8b26d1d30b add missing sh.mod 2010-05-17 22:23:22 +02:00
Vladimir 'phcoder' Serbinenko
7e70395f9c Cherrypick bugfixes and coreboot+qemu support from expermental 2010-05-17 21:35:39 +02:00
Vladimir 'phcoder' Serbinenko
918405fd8c merge mainline into rescue-efi 2010-05-17 21:26:16 +02:00
Vladimir 'phcoder' Serbinenko
87fae34a1f Skeleton for keyboard layouts 2010-05-10 14:54:51 +02:00
Vladimir 'phcoder' Serbinenko
2dd54ae21d macroify keys in ncusest terminal code 2010-05-08 01:08:58 +02:00
Vladimir 'phcoder' Serbinenko
3c151d94af simplify setcolor/getcolor 2010-05-08 01:06:22 +02:00
BVK Chaitanya
e9efa0fe36 shift command support 2010-05-07 10:08:09 +05:30
Vladimir 'phcoder' Serbinenko
58664b94b7 pass pointer to term to term functions 2010-05-07 02:30:44 +02:00
BVK Chaitanya
ac49c9200a merge with emu-lite again 2010-05-06 13:13:26 +05:30
BVK Chaitanya
1828cb6098 merge with emu-reorg 2010-05-06 13:06:51 +05:30
BVK Chaitanya
16321bf9ca pull-in emu-lite branch 2010-05-06 12:55:47 +05:30
BVK Chaitanya
8c41176882 automake commit without merge history 2010-05-06 11:34:04 +05:30
BVK Chaitanya
60b4a7c45b sparc build fix 2010-05-06 10:16:55 +05:30
BVK Chaitanya
ab4da2cd36 build fixes for real platforms 2010-05-06 09:33:45 +05:30
BVK Chaitanya
da6e6f17f3 cygwin emu build fixes 2010-05-06 08:45:39 +05:30
Vladimir 'phcoder' Serbinenko
99bfe57386 merge mainline into bidi 2010-05-05 16:28:52 +02:00
BVK Chaitanya
a7aa28248b break command support 2010-05-05 15:34:26 +05:30
BVK Chaitanya
a8a145eb2f simplify cmdblock with cmdlist 2010-05-05 14:05:06 +05:30
BVK Chaitanya
725396942e replace --enable-grub-emu-modules with grub-emu-lite 2010-05-04 09:47:48 +05:30
BVK Chaitanya
81827e248c merge with mainline 2010-05-04 09:09:03 +05:30
Christian Franke
d1b61374ed * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
Remove broken Cygwin path conversion.
	* util/misc.c: [__CYGWIN__] Add include and define.
	[__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
	for Cygwin 1.7.
	(make_system_path_relative_to_its_root): Simplify loop, replace early
	return by break.
	[__CYGWIN__] Add conversion to win32 path.
	Include "/" case in trailing slash removal.
2010-05-01 21:39:32 +02:00
Vladimir 'phcoder' Serbinenko
7210dca942 Split coreboot and multiboot ports.
* conf/i386-multiboot.rmk: New file.
	* configure.ac: Add multiboot port.
	* include/grub/i386/multiboot/boot.h: New file.
	* include/grub/i386/multiboot/console.h: Likewise.
	* include/grub/i386/multiboot/init.h: Likewise.
	* include/grub/i386/multiboot/kernel.h: Likewise.
	* include/grub/i386/multiboot/loader.h: Likewise.
	* include/grub/i386/multiboot/memory.h: Likewise.
	* include/grub/i386/multiboot/serial.h: Likewise.
	* include/grub/i386/multiboot/time.h: Likewise.
	* include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
	* loader/multiboot.c: Likewise.
	* loader/multiboot_mbi2.c: Likewise.
	* util/grub-mkrescue.in: Generate multiboot rescue.
2010-05-01 14:06:53 +02:00
Vladimir 'phcoder' Serbinenko
54f83682d4 Add missing escape 2010-04-27 21:43:16 +02:00
BVK Chaitanya
f07ccea799 removed some duplicate code 2010-04-27 20:55:12 +05:30
Vladimir 'phcoder' Serbinenko
613b1b2c58 Include /grub.cfg 2010-04-27 13:44:39 +02:00
Vladimir 'phcoder' Serbinenko
ff6bea78b4 Enable pathspecs 2010-04-27 13:22:38 +02:00
Vladimir 'phcoder' Serbinenko
13ac43057b use uuids on efi 2010-04-27 11:08:53 +02:00
Vladimir 'phcoder' Serbinenko
19ba92760a merge merge-mkimage into rescue-efi 2010-04-27 10:47:29 +02:00
BVK Chaitanya
4c7085f82b added support for --enable-grub-emu-modules build 2010-04-27 13:57:14 +05:30
BVK Chaitanya
840b61d8f0 reorganized grub-emu sources to suite upcoming automake build system 2010-04-27 10:50:28 +05:30
Vladimir 'phcoder' Serbinenko
88d046d01e Switch to new grub-mkimage syntax 2010-04-26 21:27:41 +02:00
Vladimir 'phcoder' Serbinenko
8ea6ecb36d Some cleanups 2010-04-26 21:11:16 +02:00
Vladimir 'phcoder' Serbinenko
debaf23f7c all images binary identical to the ones from trunk 2010-04-26 19:11:38 +02:00
Vladimir 'phcoder' Serbinenko
bb3208158a Fill info for remaining platforms. Make efi image identical to image of previous grub-mkimage 2010-04-26 17:19:15 +02:00
Vladimir 'phcoder' Serbinenko
962b15b4c1 Fill info tables for qemu, sparc and mips 2010-04-26 14:42:40 +02:00
Vladimir 'phcoder' Serbinenko
0253aeb7a1 Unified grub-mkimage achieved 2010-04-26 13:11:43 +02:00
Vladimir 'phcoder' Serbinenko
94ac790645 Fix various issues created by previous commits 2010-04-26 10:56:12 +02:00
Christian Franke
460d8402e0 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
* util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
	(grub_get_prefix): Remove function.
	* util/grub-emu.c (main): Replace grub_get_prefix () call by
	make_system_path_relative_to_its_root ().
	* util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2010-04-26 03:35:55 +02:00
Vladimir 'phcoder' Serbinenko
614be3f119 #if-less grub-mkimage 2010-04-26 00:45:21 +02:00
Vladimir 'phcoder' Serbinenko
2296410ffb initial support for ppc in grub-mkimage (bugs for now) 2010-04-25 22:26:29 +02:00
Vladimir 'phcoder' Serbinenko
2fa6a5dd44 rename grub-mkrawimage to grub-mkimage 2010-04-25 19:41:51 +02:00
Vladimir 'phcoder' Serbinenko
287c2f2426 Remove efi/grub-mkimage.c 2010-04-25 19:39:22 +02:00
Vladimir 'phcoder' Serbinenko
e310b81f6c util/grub-mkrawimage.c working on EFI 2010-04-25 19:38:12 +02:00
Vladimir 'phcoder' Serbinenko
d31bc9964c migrate kernel.img to elf 2010-04-25 01:54:46 +02:00
Vladimir 'phcoder' Serbinenko
bc05c2cb2c Change to xorrisofs. Make message more clear. 2010-04-24 21:08:25 +02:00
Grégoire Sutre
0d2c20c6f1 Add grub-mkconfig support for NetBSD. 2010-04-19 21:25:41 +02:00
Vladimir 'phcoder' Serbinenko
7428eb2cf6 Revert useless and wrong parts 2010-04-18 20:38:40 +02:00
Vladimir 'phcoder' Serbinenko
06f1ed913e merge mainline into sparcfixes 2010-04-18 20:28:30 +02:00
Grégoire Sutre
38e55e9058 TARGET_IMG_LDFLAGS_AC now always expects a number appended to it. Fixed
grub_prefix in grub-mkconfig for NetBSD and OpenBSD.
2010-04-18 19:57:50 +02:00
Vladimir 'phcoder' Serbinenko
b076cdc730 Shave off bytes to compensate boot.img size increase 2010-04-18 18:22:58 +02:00
Vladimir 'phcoder' Serbinenko
ee9056d097 Support cross-disk installs. On non-cross-disk retrieve bootpath from chosen/bootpath 2010-04-18 16:35:08 +02:00
Vladimir 'phcoder' Serbinenko
6e86896ed8 Use ofpathname in grub-setup on sparc 2010-04-18 14:02:13 +02:00
Vladimir 'phcoder' Serbinenko
0b830b8f5e * util/hostdisk.c (make_device_name): Change to new partition naming. 2010-04-18 12:59:04 +02:00
Vladimir 'phcoder' Serbinenko
260ddb9417 create a fat16 image as efi spec requires 2010-04-17 16:43:04 +02:00
Vladimir 'phcoder' Serbinenko
1989170fd5 merge mainline into rescue-efi 2010-04-17 02:32:05 +02:00
Vladimir 'phcoder' Serbinenko
d499b13371 Remove grub/handler.h inclusion. Reported by: Giovanni Toraldo 2010-04-15 02:13:28 +02:00
Colin Watson
0b45630927 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
mistake in r2156.  Noticed by Anthony Fok.
* util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
@localedir@.
* util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2010-04-14 13:59:58 +01:00
Carles Pina i Estany
ce44826e79 Enclose all translated strings in grub.cfg in single quotes, and
escape them appropriately (Ubuntu bug #552921).
* util/grub-mkconfig_lib.in (gettext_quoted): New function.
* util/grub.d/10_hurd.in: Use it.
* util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
* util/grub.d/10_linux.in (linux_entry): Likewise.
	Also-By: Colin Watson <cjwatson@ubuntu.com>
2010-04-13 13:57:56 +01:00
BVK Chaitanya
b02c7c8fb5 added getopt like error for missing option parameters 2010-04-12 21:33:03 +05:30
BVK Chaitanya
8f33d5549f merged with mainline 2010-04-12 20:47:25 +05:30