Commit graph

1055 commits

Author SHA1 Message Date
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