merge with mainline
This commit is contained in:
commit
2c7859b36f
12 changed files with 132 additions and 22 deletions
90
ChangeLog
90
ChangeLog
|
@ -1,4 +1,4 @@
|
|||
2010-11-19 BVK Chaitanya <bvk.groups@gmail.com>
|
||||
2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
|
||||
|
||||
Fix cmdline argument quotes for setparams command of menuentry
|
||||
definitions.
|
||||
|
@ -10,6 +10,94 @@
|
|||
|
||||
* include/grub/misc.h (grub_strchrsub): New function.
|
||||
|
||||
2010-11-24 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* util/deviceiter.c (grub_util_iterate_devices): Save a bit of
|
||||
effort by skipping "." and ".." entries up-front.
|
||||
Suggested by: Michael Lazarev.
|
||||
|
||||
2010-11-24 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
|
||||
ldflags to ldadd, to fix link line ordering.
|
||||
(none_decompress): Likewise.
|
||||
|
||||
2010-11-24 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
|
||||
platforms.
|
||||
(grub-emu-lite): Remove kern/emu/cache.S.
|
||||
|
||||
2010-11-23 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* util/deviceiter.c (compare_devices): If the by-id link for a
|
||||
device couldn't be resolved, fall back to sorting by the by-id link
|
||||
rather than segfaulting.
|
||||
Reported and tested by: Daniel Mierswa.
|
||||
|
||||
2010-11-23 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
|
||||
ldflags, to fix link line ordering.
|
||||
|
||||
2010-11-23 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
|
||||
linkers are picky about this.
|
||||
|
||||
2010-11-23 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* grub-core/Makefile.am (command.lst): Adjust sed expression
|
||||
ordering so that extended and priority commands aren't treated as
|
||||
ordinary commands.
|
||||
|
||||
2010-11-23 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
|
||||
Remove byte-swapping function calls, which are not valid in
|
||||
structure initialisers.
|
||||
* grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
|
||||
non-const.
|
||||
(GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
|
||||
grub_gpt_partition_type_bios_boot.
|
||||
|
||||
2010-11-22 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
Fix test program build on GNU/kFreeBSD.
|
||||
|
||||
* Makefile.util.def (example_unit_test): Add `$(LIBZFS)
|
||||
$(LIBNVPAIR)' library dependencies.
|
||||
|
||||
2010-11-22 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
|
||||
|
||||
2010-11-22 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* util/grub-install.in: Remove excessive quoting that broke
|
||||
installations to RAID devices.
|
||||
|
||||
2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
|
||||
bootloader version instead of 0.
|
||||
|
||||
2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
|
||||
warning.
|
||||
|
||||
2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
|
||||
retrieve the metadat sector if size isn't known.
|
||||
* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
|
||||
|
||||
2010-11-18 Robert Millan <rmh@gnu.org>
|
||||
|
||||
* grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
|
||||
with grub_memcmp().
|
||||
|
||||
2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/normal/menu_entry.c (print_up): Fix displacement of up
|
||||
|
|
|
@ -607,7 +607,7 @@ program = {
|
|||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubkern.a;
|
||||
ldadd = grub-core/gnulib/libgnu.a;
|
||||
ldadd = '$(LIBDEVMAPPER)';
|
||||
ldadd = '$(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
||||
};
|
||||
|
||||
program = {
|
||||
|
@ -620,5 +620,5 @@ program = {
|
|||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubkern.a;
|
||||
ldadd = grub-core/gnulib/libgnu.a;
|
||||
ldflags = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
||||
};
|
||||
|
|
|
@ -30,7 +30,7 @@ CCASFLAGS_LIBRARY += $(CCASFLAGS_PLATFORM)
|
|||
|
||||
# gentrigtables
|
||||
gentrigtables: gentrigtables.c
|
||||
$(BUILD_CC) -o $@ -I$(top_srcdir)/include $(CPPFLAGS) -lm $<
|
||||
$(BUILD_CC) -o $@ -I$(top_srcdir)/include $(CPPFLAGS) $< -lm
|
||||
CLEANFILES += gentrigtables
|
||||
|
||||
# trigtables.c
|
||||
|
@ -237,9 +237,9 @@ command.lst: $(MARKER_FILES)
|
|||
(for pp in $^; do \
|
||||
b=`basename $$pp .marker`; \
|
||||
sed -n \
|
||||
-e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" \
|
||||
-e "/EXTCOMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
|
||||
-e "/P1COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" $$pp; \
|
||||
-e "/P1COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/*\1: $$b/;p;}" \
|
||||
-e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" $$pp; \
|
||||
done) | sort -u > $@
|
||||
platform_DATA += command.lst
|
||||
CLEANFILES += command.lst
|
||||
|
|
|
@ -162,6 +162,7 @@ kernel = {
|
|||
emu = disk/host.c;
|
||||
emu = gnulib/progname.c;
|
||||
emu = gnulib/error.c;
|
||||
emu = kern/emu/cache.S;
|
||||
emu = kern/emu/console.c;
|
||||
emu = kern/emu/getroot.c;
|
||||
emu = kern/emu/hostdisk.c;
|
||||
|
@ -208,7 +209,6 @@ program = {
|
|||
name = grub-emu-lite;
|
||||
|
||||
emu = kern/emu/lite.c;
|
||||
emu = kern/emu/cache.S;
|
||||
emu_nodist = symlist.c;
|
||||
|
||||
ldadd = 'kernel.img$(EXEEXT)';
|
||||
|
@ -300,7 +300,8 @@ image = {
|
|||
mips_cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed -DGRUB_EMBED_DECOMPRESSOR=1 -DGRUB_MACHINE_LINK_ADDR=0x80200000';
|
||||
|
||||
objcopyflags = '-O binary';
|
||||
ldflags = '-lgcc -static-libgcc -Wl,-Ttext,0x80100000';
|
||||
ldflags = '-static-libgcc -Wl,-Ttext,0x80100000';
|
||||
ldadd = '-lgcc';
|
||||
cflags = '-static-libgcc';
|
||||
enable = mips;
|
||||
};
|
||||
|
@ -313,7 +314,8 @@ image = {
|
|||
mips_cppflags = '-DGRUB_EMBED_DECOMPRESSOR=1 -DGRUB_MACHINE_LINK_ADDR=0x80200000';
|
||||
|
||||
objcopyflags = '-O binary';
|
||||
ldflags = '-lgcc -static-libgcc -Wl,-Ttext,0x80100000';
|
||||
ldflags = '-static-libgcc -Wl,-Ttext,0x80100000';
|
||||
ldadd = '-lgcc';
|
||||
cflags = '-static-libgcc';
|
||||
enable = mips;
|
||||
};
|
||||
|
|
|
@ -105,7 +105,7 @@ static grub_err_t
|
|||
grub_mdraid_detect (grub_disk_t disk, struct grub_raid_array *array,
|
||||
grub_disk_addr_t *start_sector)
|
||||
{
|
||||
grub_disk_addr_t sector;
|
||||
grub_disk_addr_t sector = 0;
|
||||
grub_uint64_t size;
|
||||
struct grub_raid_super_1x sb;
|
||||
grub_uint8_t minor_version;
|
||||
|
@ -123,6 +123,9 @@ grub_mdraid_detect (grub_disk_t disk, struct grub_raid_array *array,
|
|||
|
||||
for (minor_version = 0; minor_version < 3; ++minor_version)
|
||||
{
|
||||
if (size == GRUB_DISK_SIZE_UNKNOWN && minor_version == 0)
|
||||
continue;
|
||||
|
||||
switch (minor_version)
|
||||
{
|
||||
case 0:
|
||||
|
|
|
@ -170,6 +170,8 @@ grub_mdraid_detect (grub_disk_t disk, struct grub_raid_array *array,
|
|||
|
||||
/* The sector where the mdraid 0.90 superblock is stored, if available. */
|
||||
size = grub_disk_get_size (disk);
|
||||
if (size == GRUB_DISK_SIZE_UNKNOWN)
|
||||
return grub_error (GRUB_ERR_OUT_OF_RANGE, "not 0.9x raid");
|
||||
sector = NEW_SIZE_SECTORS (size);
|
||||
|
||||
if (grub_disk_read (disk, sector, 0, SB_BYTES, &sb))
|
||||
|
|
|
@ -51,7 +51,7 @@ grub_btrfs_mount (grub_disk_t disk)
|
|||
&data->sblock) != GRUB_ERR_NONE)
|
||||
goto fail;
|
||||
|
||||
if (grub_strncmp ((char *) data->sblock.signature, BTRFS_SIGNATURE, sizeof (BTRFS_SIGNATURE) - 1))
|
||||
if (grub_memcmp ((char *) data->sblock.signature, BTRFS_SIGNATURE, sizeof (BTRFS_SIGNATURE) - 1))
|
||||
{
|
||||
grub_error (GRUB_ERR_BAD_FS, "not a Btrfs filesystem");
|
||||
goto fail;
|
||||
|
|
|
@ -655,7 +655,7 @@ grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)),
|
|||
goto fail;
|
||||
}
|
||||
|
||||
params->type_of_loader = (LINUX_LOADER_ID_GRUB << 4);
|
||||
params->type_of_loader = GRUB_LINUX_BOOT_LOADER_TYPE;
|
||||
|
||||
/* These two are used (instead of cmd_line_ptr) by older versions of Linux,
|
||||
and otherwise ignored. */
|
||||
|
|
|
@ -33,7 +33,7 @@ static grub_uint8_t grub_gpt_magic[8] =
|
|||
static const grub_gpt_part_type_t grub_gpt_partition_type_empty = GRUB_GPT_PARTITION_TYPE_EMPTY;
|
||||
|
||||
#ifdef GRUB_UTIL
|
||||
static const grub_gpt_part_type_t grub_gpt_partition_type_bios_boot = GRUB_GPT_PARTITION_TYPE_BIOS_BOOT;
|
||||
static grub_gpt_part_type_t grub_gpt_partition_type_bios_boot = GRUB_GPT_PARTITION_TYPE_BIOS_BOOT;
|
||||
#endif
|
||||
|
||||
/* 512 << 7 = 65536 byte sectors. */
|
||||
|
@ -198,6 +198,14 @@ static struct grub_partition_map grub_gpt_partition_map =
|
|||
GRUB_MOD_INIT(part_gpt)
|
||||
{
|
||||
grub_partition_map_register (&grub_gpt_partition_map);
|
||||
#ifdef GRUB_UTIL
|
||||
grub_gpt_partition_type_bios_boot.data1 =
|
||||
grub_cpu_to_le32 (grub_gpt_partition_type_bios_boot.data1);
|
||||
grub_gpt_partition_type_bios_boot.data2 =
|
||||
grub_cpu_to_le16 (grub_gpt_partition_type_bios_boot.data2);
|
||||
grub_gpt_partition_type_bios_boot.data3 =
|
||||
grub_cpu_to_le16 (grub_gpt_partition_type_bios_boot.data3);
|
||||
#endif
|
||||
}
|
||||
|
||||
GRUB_MOD_FINI(part_gpt)
|
||||
|
|
|
@ -36,7 +36,7 @@ typedef struct grub_gpt_part_type grub_gpt_part_type_t;
|
|||
}
|
||||
|
||||
#define GRUB_GPT_PARTITION_TYPE_BIOS_BOOT \
|
||||
{ grub_cpu_to_le32 (0x21686148), grub_cpu_to_le16 (0x6449), grub_cpu_to_le16 (0x6e6f), \
|
||||
{ 0x21686148, 0x6449, 0x6e6f, \
|
||||
{ 0x74, 0x4e, 0x65, 0x65, 0x64, 0x45, 0x46, 0x49 } \
|
||||
}
|
||||
|
||||
|
|
|
@ -485,11 +485,14 @@ compare_devices (const void *a, const void *b)
|
|||
{
|
||||
const struct device *left = (const struct device *) a;
|
||||
const struct device *right = (const struct device *) b;
|
||||
int ret;
|
||||
ret = strcmp (left->kernel, right->kernel);
|
||||
|
||||
if (left->kernel && right->kernel)
|
||||
{
|
||||
int ret = strcmp (left->kernel, right->kernel);
|
||||
if (ret)
|
||||
return ret;
|
||||
else
|
||||
}
|
||||
|
||||
return strcmp (left->stable, right->stable);
|
||||
}
|
||||
#endif /* __linux__ */
|
||||
|
@ -533,6 +536,10 @@ grub_util_iterate_devices (int NESTED_FUNC_ATTR (*hook) (const char *, int),
|
|||
necessary. */
|
||||
for (entry = readdir (dir); entry; entry = readdir (dir))
|
||||
{
|
||||
/* Skip current and parent directory entries. */
|
||||
if (strcmp (entry->d_name, ".") == 0 ||
|
||||
strcmp (entry->d_name, "..") == 0)
|
||||
continue;
|
||||
/* Skip partition entries. */
|
||||
if (strstr (entry->d_name, "-part"))
|
||||
continue;
|
||||
|
|
|
@ -205,7 +205,7 @@ do
|
|||
|
||||
--grub-mkrelpath)
|
||||
grub_mkrelpath="`argument "$option" "$@"`"; shift;;
|
||||
--grub-mkimage=*)
|
||||
--grub-mkrelpath=*)
|
||||
grub_mkrelpath="`echo "$option" | sed 's/--grub-mkrelpath=//'`" ;;
|
||||
|
||||
--grub-mkdevicemap)
|
||||
|
@ -473,7 +473,7 @@ fi
|
|||
# this command is allowed to fail (--target=fs already grants us that the
|
||||
# filesystem will be accessible).
|
||||
partmap_module=
|
||||
for x in "`"$grub_probe" --device-map="${device_map}" --target=partmap --device "${grub_device}" 2> /dev/null`"; do
|
||||
for x in `"$grub_probe" --device-map="${device_map}" --target=partmap --device "${grub_device}" 2> /dev/null`; do
|
||||
case "$x" in
|
||||
netbsd | openbsd)
|
||||
partmap_module="$partmap_module part_bsd";;
|
||||
|
|
Loading…
Reference in a new issue