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
|
Fix cmdline argument quotes for setparams command of menuentry
|
||||||
definitions.
|
definitions.
|
||||||
|
@ -10,6 +10,94 @@
|
||||||
|
|
||||||
* include/grub/misc.h (grub_strchrsub): New function.
|
* 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>
|
2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/normal/menu_entry.c (print_up): Fix displacement of up
|
* grub-core/normal/menu_entry.c (print_up): Fix displacement of up
|
||||||
|
|
|
@ -607,7 +607,7 @@ program = {
|
||||||
ldadd = libgrubmods.a;
|
ldadd = libgrubmods.a;
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.a;
|
ldadd = grub-core/gnulib/libgnu.a;
|
||||||
ldadd = '$(LIBDEVMAPPER)';
|
ldadd = '$(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR)';
|
||||||
};
|
};
|
||||||
|
|
||||||
program = {
|
program = {
|
||||||
|
@ -620,5 +620,5 @@ program = {
|
||||||
ldadd = libgrubmods.a;
|
ldadd = libgrubmods.a;
|
||||||
ldadd = libgrubkern.a;
|
ldadd = libgrubkern.a;
|
||||||
ldadd = grub-core/gnulib/libgnu.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: gentrigtables.c
|
gentrigtables: gentrigtables.c
|
||||||
$(BUILD_CC) -o $@ -I$(top_srcdir)/include $(CPPFLAGS) -lm $<
|
$(BUILD_CC) -o $@ -I$(top_srcdir)/include $(CPPFLAGS) $< -lm
|
||||||
CLEANFILES += gentrigtables
|
CLEANFILES += gentrigtables
|
||||||
|
|
||||||
# trigtables.c
|
# trigtables.c
|
||||||
|
@ -237,9 +237,9 @@ command.lst: $(MARKER_FILES)
|
||||||
(for pp in $^; do \
|
(for pp in $^; do \
|
||||||
b=`basename $$pp .marker`; \
|
b=`basename $$pp .marker`; \
|
||||||
sed -n \
|
sed -n \
|
||||||
-e "/COMMAND_LIST_MARKER *( *\"/{s/.*( *\"\([^\"]*\)\".*/\1: $$b/;p;}" \
|
|
||||||
-e "/EXTCOMMAND_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 > $@
|
done) | sort -u > $@
|
||||||
platform_DATA += command.lst
|
platform_DATA += command.lst
|
||||||
CLEANFILES += command.lst
|
CLEANFILES += command.lst
|
||||||
|
|
|
@ -162,6 +162,7 @@ kernel = {
|
||||||
emu = disk/host.c;
|
emu = disk/host.c;
|
||||||
emu = gnulib/progname.c;
|
emu = gnulib/progname.c;
|
||||||
emu = gnulib/error.c;
|
emu = gnulib/error.c;
|
||||||
|
emu = kern/emu/cache.S;
|
||||||
emu = kern/emu/console.c;
|
emu = kern/emu/console.c;
|
||||||
emu = kern/emu/getroot.c;
|
emu = kern/emu/getroot.c;
|
||||||
emu = kern/emu/hostdisk.c;
|
emu = kern/emu/hostdisk.c;
|
||||||
|
@ -208,7 +209,6 @@ program = {
|
||||||
name = grub-emu-lite;
|
name = grub-emu-lite;
|
||||||
|
|
||||||
emu = kern/emu/lite.c;
|
emu = kern/emu/lite.c;
|
||||||
emu = kern/emu/cache.S;
|
|
||||||
emu_nodist = symlist.c;
|
emu_nodist = symlist.c;
|
||||||
|
|
||||||
ldadd = 'kernel.img$(EXEEXT)';
|
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';
|
mips_cppflags = '-I$(srcdir)/lib/posix_wrap -I$(srcdir)/lib/xzembed -DGRUB_EMBED_DECOMPRESSOR=1 -DGRUB_MACHINE_LINK_ADDR=0x80200000';
|
||||||
|
|
||||||
objcopyflags = '-O binary';
|
objcopyflags = '-O binary';
|
||||||
ldflags = '-lgcc -static-libgcc -Wl,-Ttext,0x80100000';
|
ldflags = '-static-libgcc -Wl,-Ttext,0x80100000';
|
||||||
|
ldadd = '-lgcc';
|
||||||
cflags = '-static-libgcc';
|
cflags = '-static-libgcc';
|
||||||
enable = mips;
|
enable = mips;
|
||||||
};
|
};
|
||||||
|
@ -313,7 +314,8 @@ image = {
|
||||||
mips_cppflags = '-DGRUB_EMBED_DECOMPRESSOR=1 -DGRUB_MACHINE_LINK_ADDR=0x80200000';
|
mips_cppflags = '-DGRUB_EMBED_DECOMPRESSOR=1 -DGRUB_MACHINE_LINK_ADDR=0x80200000';
|
||||||
|
|
||||||
objcopyflags = '-O binary';
|
objcopyflags = '-O binary';
|
||||||
ldflags = '-lgcc -static-libgcc -Wl,-Ttext,0x80100000';
|
ldflags = '-static-libgcc -Wl,-Ttext,0x80100000';
|
||||||
|
ldadd = '-lgcc';
|
||||||
cflags = '-static-libgcc';
|
cflags = '-static-libgcc';
|
||||||
enable = mips;
|
enable = mips;
|
||||||
};
|
};
|
||||||
|
|
|
@ -105,7 +105,7 @@ static grub_err_t
|
||||||
grub_mdraid_detect (grub_disk_t disk, struct grub_raid_array *array,
|
grub_mdraid_detect (grub_disk_t disk, struct grub_raid_array *array,
|
||||||
grub_disk_addr_t *start_sector)
|
grub_disk_addr_t *start_sector)
|
||||||
{
|
{
|
||||||
grub_disk_addr_t sector;
|
grub_disk_addr_t sector = 0;
|
||||||
grub_uint64_t size;
|
grub_uint64_t size;
|
||||||
struct grub_raid_super_1x sb;
|
struct grub_raid_super_1x sb;
|
||||||
grub_uint8_t minor_version;
|
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)
|
for (minor_version = 0; minor_version < 3; ++minor_version)
|
||||||
{
|
{
|
||||||
|
if (size == GRUB_DISK_SIZE_UNKNOWN && minor_version == 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
switch (minor_version)
|
switch (minor_version)
|
||||||
{
|
{
|
||||||
case 0:
|
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. */
|
/* The sector where the mdraid 0.90 superblock is stored, if available. */
|
||||||
size = grub_disk_get_size (disk);
|
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);
|
sector = NEW_SIZE_SECTORS (size);
|
||||||
|
|
||||||
if (grub_disk_read (disk, sector, 0, SB_BYTES, &sb))
|
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)
|
&data->sblock) != GRUB_ERR_NONE)
|
||||||
goto fail;
|
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");
|
grub_error (GRUB_ERR_BAD_FS, "not a Btrfs filesystem");
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
|
@ -655,7 +655,7 @@ grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)),
|
||||||
goto fail;
|
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,
|
/* These two are used (instead of cmd_line_ptr) by older versions of Linux,
|
||||||
and otherwise ignored. */
|
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;
|
static const grub_gpt_part_type_t grub_gpt_partition_type_empty = GRUB_GPT_PARTITION_TYPE_EMPTY;
|
||||||
|
|
||||||
#ifdef GRUB_UTIL
|
#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
|
#endif
|
||||||
|
|
||||||
/* 512 << 7 = 65536 byte sectors. */
|
/* 512 << 7 = 65536 byte sectors. */
|
||||||
|
@ -198,6 +198,14 @@ static struct grub_partition_map grub_gpt_partition_map =
|
||||||
GRUB_MOD_INIT(part_gpt)
|
GRUB_MOD_INIT(part_gpt)
|
||||||
{
|
{
|
||||||
grub_partition_map_register (&grub_gpt_partition_map);
|
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)
|
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 \
|
#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 } \
|
{ 0x74, 0x4e, 0x65, 0x65, 0x64, 0x45, 0x46, 0x49 } \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -485,12 +485,15 @@ compare_devices (const void *a, const void *b)
|
||||||
{
|
{
|
||||||
const struct device *left = (const struct device *) a;
|
const struct device *left = (const struct device *) a;
|
||||||
const struct device *right = (const struct device *) b;
|
const struct device *right = (const struct device *) b;
|
||||||
int ret;
|
|
||||||
ret = strcmp (left->kernel, right->kernel);
|
if (left->kernel && right->kernel)
|
||||||
if (ret)
|
{
|
||||||
return ret;
|
int ret = strcmp (left->kernel, right->kernel);
|
||||||
else
|
if (ret)
|
||||||
return strcmp (left->stable, right->stable);
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
return strcmp (left->stable, right->stable);
|
||||||
}
|
}
|
||||||
#endif /* __linux__ */
|
#endif /* __linux__ */
|
||||||
|
|
||||||
|
@ -533,6 +536,10 @@ grub_util_iterate_devices (int NESTED_FUNC_ATTR (*hook) (const char *, int),
|
||||||
necessary. */
|
necessary. */
|
||||||
for (entry = readdir (dir); entry; entry = readdir (dir))
|
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. */
|
/* Skip partition entries. */
|
||||||
if (strstr (entry->d_name, "-part"))
|
if (strstr (entry->d_name, "-part"))
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -205,7 +205,7 @@ do
|
||||||
|
|
||||||
--grub-mkrelpath)
|
--grub-mkrelpath)
|
||||||
grub_mkrelpath="`argument "$option" "$@"`"; shift;;
|
grub_mkrelpath="`argument "$option" "$@"`"; shift;;
|
||||||
--grub-mkimage=*)
|
--grub-mkrelpath=*)
|
||||||
grub_mkrelpath="`echo "$option" | sed 's/--grub-mkrelpath=//'`" ;;
|
grub_mkrelpath="`echo "$option" | sed 's/--grub-mkrelpath=//'`" ;;
|
||||||
|
|
||||||
--grub-mkdevicemap)
|
--grub-mkdevicemap)
|
||||||
|
@ -473,7 +473,7 @@ fi
|
||||||
# this command is allowed to fail (--target=fs already grants us that the
|
# this command is allowed to fail (--target=fs already grants us that the
|
||||||
# filesystem will be accessible).
|
# filesystem will be accessible).
|
||||||
partmap_module=
|
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
|
case "$x" in
|
||||||
netbsd | openbsd)
|
netbsd | openbsd)
|
||||||
partmap_module="$partmap_module part_bsd";;
|
partmap_module="$partmap_module part_bsd";;
|
||||||
|
|
Loading…
Reference in a new issue