Accepting request 212604 from home:arvidjaar:grub2-next

I think it is good time to update to 2.02 so it can get more testing.
Although internal changes are pretty extensive, externally it should be
pretty much the same. The main user visible changes are

 - autogen is not used anymore, so we can finally simplify patches
   and recreate files during RPM build. So generated files need not be
   patched and shipped any more.

 - GRUB_HIDDEN_TIMEOUT is deprecated, we should use GRUB_TIMEOUT_STYLE
   instead. This will need perl-Bootloader and YaST changes. Old config
   is still accpepted so nothing should be broken.

 - native pvgrub2 support for Xen PV guests.

 - ARM support (32 and 64 bit), although it has rough edges.

OBS-URL: https://build.opensuse.org/request/show/212604
OBS-URL: https://build.opensuse.org/package/show/Base:System/grub2?expand=0&rev=62
This commit is contained in:
Michael Chang 2014-01-06 03:50:43 +00:00 committed by Git OBS Bridge
parent 618ccb4258
commit 2764c99fe0
28 changed files with 296 additions and 89600 deletions

View File

@ -1,29 +0,0 @@
From fd0df6d098b1e6a4f60275c48a3ec88d15ba1fbb Mon Sep 17 00:00:00 2001
From: Colin Watson <cjwatson@ubuntu.com>
Date: Fri, 29 Nov 2013 12:19:36 +0000
Subject: [PATCH] Fix build with FreeType 2.5.1
* util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
<freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
* util/grub-gen-widthspec.c: Likewise.
* util/grub-mkfont.c: Likewise.
---
ChangeLog | 7 +++++++
util/grub-gen-asciih.c | 2 +-
util/grub-gen-widthspec.c | 2 +-
util/grub-mkfont.c | 2 +-
4 files changed, 10 insertions(+), 3 deletions(-)
Index: grub-2.00/util/grub-mkfont.c
===================================================================
--- grub-2.00.orig/util/grub-mkfont.c
+++ grub-2.00/util/grub-mkfont.c
@@ -39,7 +39,7 @@
#include FT_FREETYPE_H
#include FT_TRUETYPE_TAGS_H
#include FT_TRUETYPE_TABLES_H
-#include <freetype/ftsynth.h>
+#include FT_SYNTHESIS_H
#undef __FTERRORS_H__
#define FT_ERROR_START_LIST const char *ft_errmsgs[] = {

View File

@ -1,85 +0,0 @@
From: Jeff Mahoney <jeffm@suse.com>
Subject: grub2/btrfs: rename skip_default to follow_default
The skip_default code in find_path uses 1 to indicate that the default
should not be skipped, which is confusing. Let's rename that to
follow_default.
Signed-off-by: Jeff Mahoney <jeffm@suse.com>
---
grub-core/fs/btrfs.c | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
--- a/grub-core/fs/btrfs.c 2013-06-16 08:24:05.000000000 -0400
+++ b/grub-core/fs/btrfs.c 2013-07-29 09:26:07.421380716 -0400
@@ -1208,7 +1208,7 @@ find_path (struct grub_btrfs_data *data,
grub_size_t allocated = 0;
struct grub_btrfs_dir_item *direl = NULL;
struct grub_btrfs_key key_out;
- int skip_default;
+ int follow_default;
const char *ctoken;
grub_size_t ctokenlen;
char *path_alloc = NULL;
@@ -1220,14 +1220,14 @@ find_path (struct grub_btrfs_data *data,
key->object_id = data->sblock.root_dir_objectid;
key->type = GRUB_BTRFS_ITEM_TYPE_DIR_ITEM;
key->offset = 0;
- skip_default = 1;
+ follow_default = 1;
origpath = grub_strdup (path);
if (!origpath)
return grub_errno;
while (1)
{
- if (!skip_default)
+ if (!follow_default)
{
while (path[0] == '/')
path++;
@@ -1254,9 +1254,9 @@ find_path (struct grub_btrfs_data *data,
if (ctokenlen == 1 && ctoken[0] == '.')
{
- if (!skip_default)
+ if (!follow_default)
path = slash;
- skip_default = 0;
+ follow_default = 0;
continue;
}
if (ctokenlen == 2 && ctoken[0] == '.' && ctoken[1] == '.')
@@ -1287,9 +1287,9 @@ find_path (struct grub_btrfs_data *data,
*type = GRUB_BTRFS_DIR_ITEM_TYPE_DIRECTORY;
key->object_id = key_out.offset;
- if (!skip_default)
+ if (!follow_default)
path = slash;
- skip_default = 0;
+ follow_default = 0;
continue;
}
@@ -1359,9 +1359,9 @@ find_path (struct grub_btrfs_data *data,
return err;
}
- if (!skip_default)
+ if (!follow_default)
path = slash;
- skip_default = 0;
+ follow_default = 0;
if (cdirel->type == GRUB_BTRFS_DIR_ITEM_TYPE_SYMLINK)
{
struct grub_btrfs_inode inode;
@@ -1416,7 +1416,7 @@ find_path (struct grub_btrfs_data *data,
key->object_id = data->sblock.root_dir_objectid;
key->type = GRUB_BTRFS_ITEM_TYPE_DIR_ITEM;
key->offset = 0;
- skip_default = 1;
+ follow_default = 1;
}
continue;
}

View File

@ -21,19 +21,21 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
grub-core/fs/btrfs.c | 529 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 518 insertions(+), 11 deletions(-)
--- a/grub-core/fs/btrfs.c 2013-07-29 09:26:01.585376955 -0400
+++ b/grub-core/fs/btrfs.c 2013-07-29 09:26:02.513377553 -0400
@@ -28,6 +28,9 @@
#include <grub/deflate.h>
Index: grub-2.00/grub-core/fs/btrfs.c
===================================================================
--- grub-2.00.orig/grub-core/fs/btrfs.c
+++ grub-2.00/grub-core/fs/btrfs.c
@@ -29,6 +29,9 @@
#include <minilzo.h>
#include <grub/i18n.h>
#include <grub/btrfs.h>
+#include <grub/command.h>
+#include <grub/env.h>
+#include <grub/extcmd.h>
GRUB_MOD_LICENSE ("GPLv3+");
@@ -63,9 +66,11 @@ struct grub_btrfs_superblock
@@ -64,9 +67,11 @@ struct grub_btrfs_superblock
grub_uint64_t generation;
grub_uint64_t root_tree;
grub_uint64_t chunk_tree;
@ -47,33 +49,18 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
struct grub_btrfs_device this_device;
char label[0x100];
grub_uint8_t dummy4[0x100];
@@ -104,6 +109,7 @@ struct grub_btrfs_data
@@ -105,6 +110,7 @@ struct grub_btrfs_data
grub_uint64_t exttree;
grub_size_t extsize;
struct grub_btrfs_extent_data *extent;
+ grub_uint64_t fs_tree;
};
enum
@@ -113,6 +119,7 @@ enum
GRUB_BTRFS_ITEM_TYPE_DIR_ITEM = 0x54,
GRUB_BTRFS_ITEM_TYPE_EXTENT_ITEM = 0x6c,
GRUB_BTRFS_ITEM_TYPE_ROOT_ITEM = 0x84,
+ GRUB_BTRFS_ITEM_TYPE_ROOT_REF = 0x9c,
GRUB_BTRFS_ITEM_TYPE_DEVICE = 0xd8,
GRUB_BTRFS_ITEM_TYPE_CHUNK = 0xe4
};
@@ -195,6 +202,21 @@ struct grub_btrfs_root_item
grub_uint64_t inode;
struct grub_btrfs_chunk_item
@@ -171,6 +177,14 @@ struct grub_btrfs_leaf_descriptor
} *data;
};
+struct grub_btrfs_inode_ref
+{
+ grub_uint64_t index;
+ grub_uint16_t name_len;
+ const char name[0];
+} __attribute__ ((packed));
+
+struct grub_btrfs_root_ref
+{
+ grub_uint64_t dirid;
@ -85,7 +72,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
struct grub_btrfs_time
{
grub_int64_t sec;
@@ -239,6 +261,14 @@ struct grub_btrfs_extent_data
@@ -215,6 +229,14 @@ struct grub_btrfs_extent_data
#define GRUB_BTRFS_OBJECT_ID_CHUNK 0x100
@ -100,7 +87,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
static grub_disk_addr_t superblock_sectors[] = { 64 * 2, 64 * 1024 * 2,
256 * 1048576 * 2, 1048576ULL * 1048576ULL * 2
};
@@ -854,6 +884,62 @@ grub_btrfs_read_logical (struct grub_btr
@@ -830,6 +852,62 @@ grub_btrfs_read_logical (struct grub_btr
return GRUB_ERR_NONE;
}
@ -163,7 +150,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
static struct grub_btrfs_data *
grub_btrfs_mount (grub_device_t dev)
{
@@ -889,6 +975,13 @@ grub_btrfs_mount (grub_device_t dev)
@@ -865,6 +943,13 @@ grub_btrfs_mount (grub_device_t dev)
data->devices_attached[0].dev = dev;
data->devices_attached[0].id = data->sblock.this_device.device_id;
@ -177,7 +164,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
return data;
}
@@ -1197,6 +1290,91 @@ grub_btrfs_extent_read (struct grub_btrf
@@ -1216,6 +1301,91 @@ get_root (struct grub_btrfs_data *data,
}
static grub_err_t
@ -195,7 +182,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
+ char *p = grub_strdup (name);
+ grub_disk_addr_t elemaddr;
+ grub_size_t elemsize;
+ int alloc = grub_strlen(name) + 1;
+ grub_size_t alloc = grub_strlen(name) + 1;
+
+ err = lower_bound(data, &key, &key_out, fs_root,
+ &elemaddr, &elemsize, &desc, 0);
@ -224,28 +211,28 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
+ inode_ref = grub_malloc(elemsize + 1);
+ if (!inode_ref)
+ return grub_error(GRUB_ERR_OUT_OF_MEMORY,
+ "couldn't allocate memory for inode_ref (%d)\n");
+ "couldn't allocate memory for inode_ref (%"PRIuGRUB_SIZE")\n", elemsize);
+
+ err = grub_btrfs_read_logical(data, elemaddr, inode_ref, elemsize, 0);
+ if (err)
+ return grub_error(err, "read_logical caught %d\n", err);
+
+ alloc += inode_ref->name_len + 2;
+ alloc += inode_ref->n + 2;
+ new = grub_malloc(alloc);
+ if (!new)
+ return grub_error(GRUB_ERR_OUT_OF_MEMORY,
+ "couldn't allocate memory for name (%d)\n", alloc);
+ "couldn't allocate memory for name (%"PRIuGRUB_SIZE")\n", alloc);
+
+ grub_memcpy(new, inode_ref->name, inode_ref->name_len);
+ new[inode_ref->name_len] = 0;
+ grub_free(inode_ref);
+ grub_memcpy(new, inode_ref->name, inode_ref->n);
+ if (p)
+ {
+ grub_strcat(new, "/");
+ grub_strcat(new, p);
+ new[alloc - 1] = 0;
+ new[inode_ref->n] = '/';
+ grub_strcpy (new + inode_ref->n + 1, p);
+ grub_free(p);
+ }
+ else
+ new[inode_ref->n] = 0;
+ grub_free(inode_ref);
+
+ p = new;
+
@ -269,25 +256,63 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
find_path (struct grub_btrfs_data *data,
const char *path, struct grub_btrfs_key *key,
grub_uint64_t *tree, grub_uint8_t *type)
@@ -1222,6 +1400,17 @@ find_path (struct grub_btrfs_data *data,
key->offset = 0;
follow_default = 1;
@@ -1233,14 +1403,26 @@ find_path (struct grub_btrfs_data *data,
char *origpath = NULL;
unsigned symlinks_max = 32;
- err = get_root (data, key, tree, type);
- if (err)
- return err;
-
origpath = grub_strdup (path);
+
+ if (data->fs_tree)
+ {
+ *tree = data->fs_tree;
+
+ follow_default = 0; /* only the toplevel root has a special 'default' */
+
+ /* This is a tree root, so everything starts at objectid 256 */
+ key->object_id = grub_cpu_to_le64_compile_time (GRUB_BTRFS_OBJECT_ID_CHUNK);
+ }
+
if (!origpath)
return grub_errno;
@@ -1657,6 +1846,20 @@ grub_btrfs_read (grub_file_t file, char
+ if (data->fs_tree)
+ {
+ *type = GRUB_BTRFS_DIR_ITEM_TYPE_DIRECTORY;
+ *tree = data->fs_tree;
+ /* This is a tree root, so everything starts at objectid 256 */
+ key->object_id = grub_cpu_to_le64_compile_time (GRUB_BTRFS_OBJECT_ID_CHUNK);
+ key->type = GRUB_BTRFS_ITEM_TYPE_DIR_ITEM;
+ key->offset = 0;
+ }
+ else
+ {
+ err = get_root (data, key, tree, type);
+ if (err)
+ return err;
+ }
+
while (1)
{
while (path[0] == '/')
@@ -1413,9 +1595,21 @@ find_path (struct grub_btrfs_data *data,
path = path_alloc = tmp;
if (path[0] == '/')
{
- err = get_root (data, key, tree, type);
- if (err)
- return err;
+ if (data->fs_tree)
+ {
+ *type = GRUB_BTRFS_DIR_ITEM_TYPE_DIRECTORY;
+ *tree = data->fs_tree;
+ /* This is a tree root, so everything starts at objectid 256 */
+ key->object_id = grub_cpu_to_le64_compile_time (GRUB_BTRFS_OBJECT_ID_CHUNK);
+ key->type = GRUB_BTRFS_ITEM_TYPE_DIR_ITEM;
+ key->offset = 0;
+ }
+ else
+ {
+ err = get_root (data, key, tree, type);
+ if (err)
+ return err;
+ }
}
continue;
}
@@ -1656,6 +1850,20 @@ grub_btrfs_read (grub_file_t file, char
data->tree, file->offset, buf, len);
}
@ -308,7 +333,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
static grub_err_t
grub_btrfs_uuid (grub_device_t device, char **uuid)
{
@@ -1668,15 +1871,7 @@ grub_btrfs_uuid (grub_device_t device, c
@@ -1667,15 +1875,7 @@ grub_btrfs_uuid (grub_device_t device, c
if (!data)
return grub_errno;
@ -325,7 +350,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
grub_btrfs_unmount (data);
@@ -1733,6 +1928,242 @@ grub_btrfs_embed (grub_device_t device _
@@ -1732,6 +1932,242 @@ grub_btrfs_embed (grub_device_t device _
}
#endif
@ -568,7 +593,7 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
static struct grub_fs grub_btrfs_fs = {
.name = "btrfs",
.dir = grub_btrfs_dir,
@@ -1748,12 +2179,88 @@ static struct grub_fs grub_btrfs_fs = {
@@ -1747,12 +2183,88 @@ static struct grub_fs grub_btrfs_fs = {
#endif
};
@ -657,3 +682,15 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
}
+
+// vim: si et sw=2:
Index: grub-2.00/include/grub/btrfs.h
===================================================================
--- grub-2.00.orig/include/grub/btrfs.h
+++ grub-2.00/include/grub/btrfs.h
@@ -29,6 +29,7 @@ enum
GRUB_BTRFS_ITEM_TYPE_ROOT_ITEM = 0x84,
GRUB_BTRFS_ITEM_TYPE_ROOT_BACKREF = 0x90,
GRUB_BTRFS_ITEM_TYPE_DEVICE = 0xd8,
+ GRUB_BTRFS_ITEM_TYPE_ROOT_REF = 0x9c,
GRUB_BTRFS_ITEM_TYPE_CHUNK = 0xe4
};

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e50be331c1aab4bf45c2290e755089c0bb8909ca57b6a1c9da9301e298cbc732
size 5025068

3
grub-2.02~beta2.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f6c702b2a8ea58f27a2b02928bb77973cb5a827af08f63db38c471c0a01b418d
size 5798740

View File

@ -17,25 +17,25 @@ GRUB_CMDLINE_LINUX_RECOVERY.
util/grub.d/10_linux.in | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
index 516be86..f61796f 100644
--- a/util/grub-mkconfig.in
+++ b/util/grub-mkconfig.in
@@ -216,7 +216,8 @@ export GRUB_DEFAULT \
GRUB_INIT_TUNE \
GRUB_SAVEDEFAULT \
Index: grub-2.00/util/grub-mkconfig.in
===================================================================
--- grub-2.00.orig/util/grub-mkconfig.in
+++ grub-2.00/util/grub-mkconfig.in
@@ -217,7 +217,8 @@ export GRUB_DEFAULT \
GRUB_ENABLE_CRYPTODISK \
- GRUB_BADRAM
+ GRUB_BADRAM \
GRUB_BADRAM \
GRUB_OS_PROBER_SKIP_LIST \
- GRUB_DISABLE_SUBMENU
+ GRUB_DISABLE_SUBMENU \
+ GRUB_CMDLINE_LINUX_RECOVERY
if test "x${grub_cfg}" != "x"; then
rm -f "${grub_cfg}.new"
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
index d856481..e7a180e 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -243,7 +243,7 @@ while [ "x$list" != "x" ] ; do
Index: grub-2.00/util/grub.d/10_linux.in
===================================================================
--- grub-2.00.orig/util/grub.d/10_linux.in
+++ grub-2.00/util/grub.d/10_linux.in
@@ -244,7 +244,7 @@ while [ "x$list" != "x" ] ; do
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
linux_entry "${OS}" "${version}" recovery \
@ -44,6 +44,3 @@ index d856481..e7a180e 100644
fi
list=`echo $list | tr ' ' '\n' | grep -vx $linux | tr '\n' ' '`
--
1.7.3.4

View File

@ -1,50 +0,0 @@
From: Matthew Garrett <mjg@redhat.com>
Date: 2012-07-10 11:58:52 EDT
Subject: [PATCH] Add support for crappy cd craparino
References: fate#314485
Patch-Mainline: no
Signed-off-by: Michael Chang <mchang@suse.com>
Follow other code in this function and duplicate device path
before overwriting it.
Signed-off-by: Andrey Borzenkov <arvidjaar@gmail.com>
Index: grub-2.00/grub-core/disk/efi/efidisk.c
===================================================================
--- grub-2.00.orig/grub-core/disk/efi/efidisk.c
+++ grub-2.00/grub-core/disk/efi/efidisk.c
@@ -820,6 +820,31 @@ grub_efidisk_get_device_name (grub_efi_h
return dev_name;
}
+ else if (GRUB_EFI_DEVICE_PATH_TYPE (ldp) == GRUB_EFI_MEDIA_DEVICE_PATH_TYPE &&
+ (GRUB_EFI_DEVICE_PATH_SUBTYPE (ldp) == GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE))
+ {
+ grub_efi_device_path_t *dup_dp, *dup_ldp;
+
+ /* It is necessary to duplicate the device path so that GRUB
+ can overwrite it. */
+ dup_dp = duplicate_device_path (dp);
+ if (! dup_dp)
+ return 0;
+
+ dup_ldp = find_last_device_path (dup_dp);
+ dup_ldp->type = GRUB_EFI_END_DEVICE_PATH_TYPE;
+ dup_ldp->subtype = GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE;
+ dup_ldp->length[0] = 4;
+ dup_ldp->length[1] = 0;
+
+ if (!get_diskname_from_path (dup_dp, device_name))
+ {
+ grub_free (dup_dp);
+ return 0;
+ }
+ grub_free (dup_dp);
+ return grub_strdup (device_name);
+ }
else
{
/* This should be an entire disk. */

View File

@ -17,13 +17,13 @@ trigger the config updated prior to the xen package installation.
util/grub.d/20_linux_xen.in | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/util/grub.d/20_linux_xen.in b/util/grub.d/20_linux_xen.in
index fd103f1..6a7c1e6 100644
--- a/util/grub.d/20_linux_xen.in
+++ b/util/grub.d/20_linux_xen.in
@@ -171,6 +171,19 @@ file_is_not_sym () {
Index: grub-2.02~beta2/util/grub.d/20_linux_xen.in
===================================================================
--- grub-2.02~beta2.orig/util/grub.d/20_linux_xen.in
+++ grub-2.02~beta2/util/grub.d/20_linux_xen.in
@@ -170,6 +170,19 @@ file_is_not_sym () {
xen_list=`for i in /boot/xen*.gz; do
if grub_file_is_not_garbage "$i" && test ! -L "$i" ; then echo -n "$i " ; fi
if grub_file_is_not_garbage "$i" && file_is_not_sym "$i" && test ! -L "$i" ; then echo -n "$i " ; fi
done`
+
+# bnc#774666 - Grub2 does not offer a Xen entry after installing hypervisor and tools
@ -41,6 +41,3 @@ index fd103f1..6a7c1e6 100644
prepare_boot_cache=
boot_device_id=
--
1.7.3.4

View File

@ -1,92 +0,0 @@
From: Andrey Borzenkov <arvidjaar@gmail.com>
To: grub-devel@gnu.org
Subject: [PATCH] fix memory and descriptor leaks in grub_util_is_imsm
Descriptor leak caused warning from later vgs invocation. Fix memory
leak (buffer was not always freed) while on it.
Signed-off-by: Andrey Borzenkov <arvidjaar@gmail.com>
---
util/getroot.c | 29 +++++++++++++++--------------
1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/util/getroot.c b/util/getroot.c
index 2ad8a55..b30a0d8 100644
--- a/util/getroot.c
+++ b/util/getroot.c
@@ -1455,10 +1455,12 @@ out:
static int
grub_util_is_imsm (const char *os_dev)
{
- int try;
+ int retry;
+ int is_imsm = 0;
+ int container_seen = 0;
const char *dev = os_dev;
- for (try = 0; try < 2; try++)
+ do
{
char *argv[5];
int fd;
@@ -1467,6 +1469,8 @@ grub_util_is_imsm (const char *os_dev)
char *buf = NULL;
size_t len = 0;
+ retry = 0; /* We'll do one more pass if device is part of container */
+
/* execvp has inconvenient types, hence the casts. None of these
strings will actually be modified. */
argv[0] = (char *) "mdadm";
@@ -1499,7 +1503,8 @@ grub_util_is_imsm (const char *os_dev)
while (getline (&buf, &len, mdadm) > 0)
{
- if (strncmp (buf, "MD_CONTAINER=", sizeof ("MD_CONTAINER=") - 1) == 0)
+ if (strncmp (buf, "MD_CONTAINER=", sizeof ("MD_CONTAINER=") - 1) == 0
+ && !container_seen)
{
char *newdev, *ptr;
newdev = xstrdup (buf + sizeof ("MD_CONTAINER=") - 1);
@@ -1508,31 +1513,27 @@ grub_util_is_imsm (const char *os_dev)
ptr[1] = 0;
grub_util_info ("Container of %s is %s", dev, newdev);
dev = newdev;
- goto out;
+ container_seen = retry = 1;
+ break;
}
if (strncmp (buf, "MD_METADATA=imsm",
sizeof ("MD_METADATA=imsm") - 1) == 0)
{
- close (fd);
- waitpid (pid, NULL, 0);
+ is_imsm = 1;
grub_util_info ("%s is imsm", dev);
- if (dev != os_dev)
- free ((void *) dev);
- return 1;
+ break;
}
}
free (buf);
-
- return 0;
-
- out:
close (fd);
waitpid (pid, NULL, 0);
}
+ while (retry);
+
if (dev != os_dev)
free ((void *) dev);
- return 0;
+ return is_imsm;
}
#endif /* __linux__ */
--
tg: (e1a892d..) u/imsm_descriptor_leak (depends on: master)

View File

@ -14,15 +14,17 @@ Signed-off-by: Michael Chang <mchang@suse.com>
grub-core/gettext/gettext.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/grub-core/gettext/gettext.c b/grub-core/gettext/gettext.c
index 569f985..eb4bb5d 100644
--- a/grub-core/gettext/gettext.c
+++ b/grub-core/gettext/gettext.c
@@ -412,6 +412,14 @@ grub_gettext_init_ext (struct grub_gettext_context *ctx,
Index: grub-2.00/grub-core/gettext/gettext.c
===================================================================
--- grub-2.00.orig/grub-core/gettext/gettext.c
+++ grub-2.00/grub-core/gettext/gettext.c
@@ -424,9 +424,13 @@ grub_gettext_init_ext (struct grub_gette
grub_free (lang);
}
+
- if (locale[0] == 'e' && locale[1] == 'n'
- && (locale[2] == '\0' || locale[2] == '_'))
- grub_errno = err = GRUB_ERR_NONE;
+ /* If no translations are available, fall back to untranslated text. */
+ if (err == GRUB_ERR_FILE_NOT_FOUND)
+ {
@ -33,6 +35,3 @@ index 569f985..eb4bb5d 100644
return err;
}
--
1.7.3.4

View File

@ -20,11 +20,11 @@ This patch fixes above three issues.
util/grub.d/20_linux_xen.in | 6 ++++--
3 files changed, 19 insertions(+), 4 deletions(-)
Index: grub-2.00/util/grub-mkconfig_lib.in
Index: grub-2.02~beta2/util/grub-mkconfig_lib.in
===================================================================
--- grub-2.00.orig/util/grub-mkconfig_lib.in
+++ grub-2.00/util/grub-mkconfig_lib.in
@@ -235,6 +235,11 @@ version_test_gt ()
--- grub-2.02~beta2.orig/util/grub-mkconfig_lib.in
+++ grub-2.02~beta2/util/grub-mkconfig_lib.in
@@ -248,6 +248,11 @@ version_test_gt ()
*.old:*.old) ;;
*.old:*) version_test_gt_a="`echo -n "$version_test_gt_a" | sed -e 's/\.old$//'`" ; version_test_gt_cmp=gt ;;
*:*.old) version_test_gt_b="`echo -n "$version_test_gt_b" | sed -e 's/\.old$//'`" ; version_test_gt_cmp=ge ;;
@ -36,55 +36,11 @@ Index: grub-2.00/util/grub-mkconfig_lib.in
esac
version_test_numeric "$version_test_gt_a" "$version_test_gt_cmp" "$version_test_gt_b"
return "$?"
Index: grub-2.00/util/grub.d/10_linux.in
Index: grub-2.02~beta2/util/grub.d/20_linux_xen.in
===================================================================
--- grub-2.00.orig/util/grub.d/10_linux.in
+++ grub-2.00/util/grub.d/10_linux.in
@@ -150,15 +150,37 @@ EOF
EOF
}
+# bnc#757895 - Grub2 menu items incorrect when "Xen Virtual Machines Host Server" selected
+# check kernel's flavor to prevent xen kernel from booting natively without hypervisor
+# bnc#825528 - grub2-mkconfig doesn't find kernel in xen domU
+# check xen kernel in domU and process it
+is_not_xen_kernel_in_dom0 ()
+{
+ flavor=`echo $1 | sed -e "s,.*-,,g"`
+
+ if [ "x${flavor}" = "xxen" ] ; then
+ # Determining Virtual Machine Identities
+ if [ -e /proc/xen -a ! -e /proc/xen/xsd_port ]; then
+ # We're in DomU
+ return 0
+ else
+ # We're in Dom0 or No Xen hypervisor present at all
+ return 1
+ fi
+ fi
+
+ return 0
+}
+
machine=`uname -m`
case "x$machine" in
xi?86 | xx86_64)
list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* ; do
- if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
+ if grub_file_is_not_garbage "$i" && is_not_xen_kernel_in_dom0 "$i" ; then echo -n "$i " ; fi
done` ;;
*)
list=`for i in /boot/vmlinuz-* /boot/vmlinux-* /vmlinuz-* /vmlinux-* /boot/kernel-* ; do
- if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi
+ if grub_file_is_not_garbage "$i" && is_not_xen_kernel_in_dom0 "$i" ; then echo -n "$i " ; fi
done` ;;
esac
Index: grub-2.00/util/grub.d/20_linux_xen.in
===================================================================
--- grub-2.00.orig/util/grub.d/20_linux_xen.in
+++ grub-2.00/util/grub.d/20_linux_xen.in
@@ -171,8 +171,10 @@ file_is_not_sym () {
--- grub-2.02~beta2.orig/util/grub.d/20_linux_xen.in
+++ grub-2.02~beta2/util/grub.d/20_linux_xen.in
@@ -165,8 +165,10 @@ file_is_not_sym () {
esac
}
@ -93,7 +49,7 @@ Index: grub-2.00/util/grub.d/20_linux_xen.in
+# bnc#757895 - Grub2 menu items incorrect when "Xen Virtual Machines Host Server" selected
+# wildcard expasion with correct suffix (.gz) and exclude symlinks for not generating many duplicated menu entries
+xen_list=`for i in /boot/xen*.gz; do
+ if grub_file_is_not_garbage "$i" && test ! -L "$i" ; then echo -n "$i " ; fi
+ if grub_file_is_not_garbage "$i" && file_is_not_sym "$i" && test ! -L "$i" ; then echo -n "$i " ; fi
done`
prepare_boot_cache=
boot_device_id=

View File

@ -1,75 +0,0 @@
From: Andrey Borzenkov <arvidjaar@gmail.com>
To: grub-devel@gnu.org
Subject: [PATCH] fix parsing of LVM PV names for short names
Default format of vgs output is
- two spaces as standard prefix
- PV name left aligned to field width which is 10 characters
This means that if PV name has less than 10 chacaters it has some spaces at
the end.
Example:
linux-chxo:~ # vgs -o pv_name --noheadings | cat -E
/dev/md1 $
/dev/md101$
linux-chxo:~ #
There is no explicit option to turn off alignment; it is implicitly
disabled if one of --separator or --nameprefixes option is used.
--separator was added in 2007, --nameprefixes - in 2009. So let's use
--separator to extend range of versions we are compatible with. Note that
one or another must be used, current parsing is broken otherwise.
Signed-off-by: Andrey Borzenkov <arvidjaar@gmail.com>
---
util/getroot.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/util/getroot.c b/util/getroot.c
index 2ad8a55..3afcf96 100644
--- a/util/getroot.c
+++ b/util/getroot.c
@@ -1322,7 +1322,7 @@ grub_util_get_dev_abstraction (const char *os_dev)
static void
pull_lvm_by_command (const char *os_dev)
{
- char *argv[6];
+ char *argv[8];
int fd;
pid_t pid;
FILE *mdadm;
@@ -1351,12 +1351,17 @@ pull_lvm_by_command (const char *os_dev)
/* execvp has inconvenient types, hence the casts. None of these
strings will actually be modified. */
+ /* by default PV name is left aligned in 10 character field, meaning that
+ we do not know where name ends. Using dummy --separator disables
+ alignment. We have a single field, so separator itself is not output */
argv[0] = (char *) "vgs";
argv[1] = (char *) "--options";
argv[2] = (char *) "pv_name";
argv[3] = (char *) "--noheadings";
- argv[4] = vgname;
- argv[5] = NULL;
+ argv[4] = (char *) "--separator";
+ argv[5] = (char *) ":";
+ argv[6] = vgname;
+ argv[7] = NULL;
pid = exec_pipe (argv, &fd);
free (vgname);
@@ -1376,6 +1381,7 @@ pull_lvm_by_command (const char *os_dev)
while (getline (&buf, &len, mdadm) > 0)
{
char *ptr;
+ /* LVM adds two spaces as standard prefix */
for (ptr = buf; ptr < buf + 2 && *ptr == ' '; ptr++);
if (*ptr == '\0')
continue;
--
tg: (ebd40b6..) u/strip-pv-trailing-blanks (depends on: master)

View File

@ -1,74 +0,0 @@
From 7c8906e0f3827322469655bb013247f7ce60fcd9 Mon Sep 17 00:00:00 2001
From: Michael Chang <mchang@suse.com>
Date: Tue, 4 Dec 2012 15:24:43 +0800
Subject: [PATCH] Fix unquoted string in --class
References: bnc#788322
Patch-Mainline: no
If GRUB_DISTRIBUTOR contains special character such as '$', it would
lead to syntax error by the grub2-script-check even though user
correctly quote them in single quotes.
The cause is that grub2 scripts use not quote the strings from
GRUB_DISTRIBUTOR in --class options thus keywords interpreted by the
script parser. The fix is to add single quote to the string.
---
util/grub.d/10_hurd.in | 2 +-
util/grub.d/10_kfreebsd.in | 2 +-
util/grub.d/10_linux.in | 2 +-
util/grub.d/20_linux_xen.in | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
Index: grub-2.00/util/grub.d/10_hurd.in
===================================================================
--- grub-2.00.orig/util/grub.d/10_hurd.in
+++ grub-2.00/util/grub.d/10_hurd.in
@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; th
OS=GNU
else
OS="${GRUB_DISTRIBUTOR} GNU/Hurd"
- CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
+ CLASS="--class '$(echo -n "${GRUB_DISTRIBUTOR}" | sed -r 's/[^[:alnum:]]+/-/g; s/(^-|-$)//g' | tr 'A-Z' 'a-z')' ${CLASS}"
fi
at_least_one=false
Index: grub-2.00/util/grub.d/10_kfreebsd.in
===================================================================
--- grub-2.00.orig/util/grub.d/10_kfreebsd.in
+++ grub-2.00/util/grub.d/10_kfreebsd.in
@@ -30,7 +30,7 @@ CLASS="--class os"
case "${GRUB_DISTRIBUTOR}" in
Debian)
OS="${GRUB_DISTRIBUTOR} GNU/kFreeBSD"
- CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) --class gnu-kfreebsd --class gnu ${CLASS}"
+ CLASS="--class '$(echo -n "${GRUB_DISTRIBUTOR}" | sed -r 's/[^[:alnum:]]+/-/g; s/(^-|-$)//g' | tr 'A-Z' 'a-z')' --class gnu-kfreebsd --class gnu ${CLASS}"
;;
*)
OS="FreeBSD"
Index: grub-2.00/util/grub.d/10_linux.in
===================================================================
--- grub-2.00.orig/util/grub.d/10_linux.in
+++ grub-2.00/util/grub.d/10_linux.in
@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; th
OS=GNU/Linux
else
OS="${GRUB_DISTRIBUTOR}"
- CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
+ CLASS="--class '$(echo -n "${GRUB_DISTRIBUTOR}" | sed -r 's/[^[:alnum:]]+/-/g; s/(^-|-$)//g' | tr 'A-Z' 'a-z')' ${CLASS}"
fi
# loop-AES arranges things so that /dev/loop/X can be our root device, but
Index: grub-2.00/util/grub.d/20_linux_xen.in
===================================================================
--- grub-2.00.orig/util/grub.d/20_linux_xen.in
+++ grub-2.00/util/grub.d/20_linux_xen.in
@@ -32,7 +32,7 @@ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; th
OS=GNU/Linux
else
OS="${GRUB_DISTRIBUTOR} GNU/Linux"
- CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
+ CLASS="--class '$(echo -n "${GRUB_DISTRIBUTOR}" | sed -r 's/[^[:alnum:]]+/-/g; s/(^-|-$)//g' | tr 'A-Z' 'a-z')' ${CLASS}"
fi
# loop-AES arranges things so that /dev/loop/X can be our root device, but

View File

@ -1,146 +0,0 @@
From 4e42521d8c9232b6ee9eac7d8b4945a7479de781 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Fri, 22 Nov 2013 05:40:32 +0100
Subject: * grub-core/kern/x86_64/efi/callwrap.S: Fix stack
alignment. Previously we misaligned stack by 8 in startup.S and compensated
for it in callwrap.S. According to ABI docs (EFI and sysv amd64) right
behaviour is to align stack in startup.S and keep it aligned in callwrap.S.
startup.S part was committed few commits before. This takes care of
callwrap.S. Reported by: Gary Lin.
References: bnc#841426
Patch-Mainline: yes
Signed-off-by: Gary Ching-Pang Lin <glin@suse.com>
---
grub-core/kern/x86_64/efi/callwrap.S | 52 ++++++++++++++++++------------------
1 file changed, 26 insertions(+), 26 deletions(-)
diff --git a/grub-core/kern/x86_64/efi/callwrap.S b/grub-core/kern/x86_64/efi/callwrap.S
index 2df95dd..1337fd9 100644
--- a/grub-core/kern/x86_64/efi/callwrap.S
+++ b/grub-core/kern/x86_64/efi/callwrap.S
@@ -36,94 +36,94 @@
.text
FUNCTION(efi_wrap_0)
- subq $48, %rsp
+ subq $40, %rsp
call *%rdi
- addq $48, %rsp
+ addq $40, %rsp
ret
FUNCTION(efi_wrap_1)
- subq $48, %rsp
+ subq $40, %rsp
mov %rsi, %rcx
call *%rdi
- addq $48, %rsp
+ addq $40, %rsp
ret
FUNCTION(efi_wrap_2)
- subq $48, %rsp
+ subq $40, %rsp
mov %rsi, %rcx
call *%rdi
- addq $48, %rsp
+ addq $40, %rsp
ret
FUNCTION(efi_wrap_3)
- subq $48, %rsp
+ subq $40, %rsp
mov %rcx, %r8
mov %rsi, %rcx
call *%rdi
- addq $48, %rsp
+ addq $40, %rsp
ret
FUNCTION(efi_wrap_4)
- subq $48, %rsp
+ subq $40, %rsp
mov %r8, %r9
mov %rcx, %r8
mov %rsi, %rcx
call *%rdi
- addq $48, %rsp
+ addq $40, %rsp
ret
FUNCTION(efi_wrap_5)
- subq $48, %rsp
+ subq $40, %rsp
mov %r9, 32(%rsp)
mov %r8, %r9
mov %rcx, %r8
mov %rsi, %rcx
call *%rdi
- addq $48, %rsp
+ addq $40, %rsp
ret
FUNCTION(efi_wrap_6)
- subq $64, %rsp
- mov 64+8(%rsp), %rax
+ subq $56, %rsp
+ mov 56+8(%rsp), %rax
mov %rax, 40(%rsp)
mov %r9, 32(%rsp)
mov %r8, %r9
mov %rcx, %r8
mov %rsi, %rcx
call *%rdi
- addq $64, %rsp
+ addq $56, %rsp
ret
FUNCTION(efi_wrap_7)
- subq $96, %rsp
- mov 96+16(%rsp), %rax
+ subq $88, %rsp
+ mov 88+16(%rsp), %rax
mov %rax, 48(%rsp)
- mov 96+8(%rsp), %rax
+ mov 88+8(%rsp), %rax
mov %rax, 40(%rsp)
mov %r9, 32(%rsp)
mov %r8, %r9
mov %rcx, %r8
mov %rsi, %rcx
call *%rdi
- addq $96, %rsp
+ addq $88, %rsp
ret
FUNCTION(efi_wrap_10)
- subq $96, %rsp
- mov 96+40(%rsp), %rax
+ subq $88, %rsp
+ mov 88+40(%rsp), %rax
mov %rax, 72(%rsp)
- mov 96+32(%rsp), %rax
+ mov 88+32(%rsp), %rax
mov %rax, 64(%rsp)
- mov 96+24(%rsp), %rax
+ mov 88+24(%rsp), %rax
mov %rax, 56(%rsp)
- mov 96+16(%rsp), %rax
+ mov 88+16(%rsp), %rax
mov %rax, 48(%rsp)
- mov 96+8(%rsp), %rax
+ mov 88+8(%rsp), %rax
mov %rax, 40(%rsp)
mov %r9, 32(%rsp)
mov %r8, %r9
mov %rcx, %r8
mov %rsi, %rcx
call *%rdi
- addq $96, %rsp
+ addq $88, %rsp
ret
--
1.8.1.4

View File

@ -1,33 +0,0 @@
From 7960d3e1823bd3ea569109dcfe269447c3589fac Mon Sep 17 00:00:00 2001
From: Josh Triplett <josh@joshtriplett.org>
Date: Tue, 19 Nov 2013 14:31:40 +0100
Subject: * grub-core/kern/x86_64/efi/startup.S (_start): Align the
stack to a 16-byte boundary, as required by the x86-64 ABI, before calling
grub_main. In some cases, GCC emits code that assumes this alignment, which
crashes if not aligned. The EFI firmware is also entitled to assume that
stack alignment without checking.
References: bnc#841426
Patch-Mainline: yes
Signed-off-by: Gary Ching-Pang Lin <glin@suse.com>
---
grub-core/kern/x86_64/efi/startup.S | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/grub-core/kern/x86_64/efi/startup.S b/grub-core/kern/x86_64/efi/startup.S
index f86f019..9357e5c 100644
--- a/grub-core/kern/x86_64/efi/startup.S
+++ b/grub-core/kern/x86_64/efi/startup.S
@@ -30,6 +30,6 @@ _start:
movq %rcx, EXT_C(grub_efi_image_handle)(%rip)
movq %rdx, EXT_C(grub_efi_system_table)(%rip)
+ andq $~0xf, %rsp
call EXT_C(grub_main)
- ret
-
+ /* Doesn't return. */
--
1.8.1.4

View File

@ -1,45 +0,0 @@
From: Michael Chang <mchang@suse.com>
To be able to install grub on an extended partition, user, if they are
convinced it is a good idea, has to use --skip-fs-probe for grub-setup.
For convenience, let us support --skip-fs-probe directly in
grub-install and pass it to grub-setup internally.
Otherwise with such a setup:
Device Boot Start End Blocks Id System
/dev/sda1 2048 4208639 2103296 82 Linux swap / Solaris
/dev/sda2 * 4208640 213921791 104856576 f W95 Ext'd (LBA)
/dev/sda5 4210688 46153727 20971520 83 Linux
This fails:
$ grub2-install --force /dev/sda2
/usr/sbin/grub2-probe: error: cannot find a GRUB drive for /dev/sda2. Check your device.map.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
References: https://bugzilla.novell.com/show_bug.cgi?id=750897
---
Index: grub-1.99/util/grub-install.in
===================================================================
--- grub-1.99.orig/util/grub-install.in
+++ grub-1.99/util/grub-install.in
@@ -248,6 +248,9 @@ do
-f | --force)
setup_force="--force" ;;
+ -s | --skip-fs-probe)
+ setup_skip_fs_probe="--skip-fs-probe" ;;
+
-*)
gettext_printf "Unrecognized option \`%s'\n" "$option" 1>&2
usage
@@ -581,7 +584,7 @@ fi
# Perform the grub_modinfo_platform-dependent install
if [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = "i386-pc" ] || [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = "sparc64-ieee1275" ] ; then
# Now perform the installation.
- "$grub_setup" ${allow_floppy} ${setup_verbose} ${setup_force} --directory="${grubdir}/${grub_modinfo_target_cpu}-$grub_modinfo_platform" \
+ "$grub_setup" ${allow_floppy} ${setup_verbose} ${setup_force} ${setup_skip_fs_probe} --directory="${grubdir}/${grub_modinfo_target_cpu}-$grub_modinfo_platform" \
--device-map="${device_map}" "${install_device}" || exit 1
elif [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = "i386-ieee1275" ] || [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = "powerpc-ieee1275" ]; then

View File

@ -8,7 +8,7 @@ Index: grub-2.00/util/grub.d/10_linux.in
else
- OS="${GRUB_DISTRIBUTOR} GNU/Linux"
+ OS="${GRUB_DISTRIBUTOR}"
CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
fi
@@ -135,7 +135,7 @@ linux_entry ()

View File

@ -15,11 +15,11 @@ on the script level and not use grub2-probe for above reasons.
util/grub-mkconfig.in | 37 ++++++++++++++++++++++++++++++-------
1 files changed, 30 insertions(+), 7 deletions(-)
diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
index ca62e9f..d789fcc 100644
--- a/util/grub-mkconfig.in
+++ b/util/grub-mkconfig.in
@@ -128,18 +128,41 @@ else
Index: grub-2.02~beta2/util/grub-mkconfig.in
===================================================================
--- grub-2.02~beta2.orig/util/grub-mkconfig.in
+++ grub-2.02~beta2/util/grub-mkconfig.in
@@ -128,22 +128,42 @@ else
exit 1
fi
@ -32,7 +32,10 @@ index ca62e9f..d789fcc 100644
+ path=$5
+ fstype=$8
+ device=$9
+
-# Device containing our /boot partition. Usually the same as GRUB_DEVICE.
-GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
-GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_uuid 2> /dev/null`" || true
+ if [ "x${path}" = "x/" ] &&
+ [ "x${fstype}" = "xnfs" -o "x${fstype}" = "xnfs4" ] ; then
+ echo "$device"
@ -51,23 +54,22 @@ index ca62e9f..d789fcc 100644
+ # Device containing our userland. Typically used for root= parameter.
+ GRUB_DEVICE="`${grub_probe} --target=device /`"
+ GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true
+
+ # Filesystem for the device containing our userland. Used for stuff like
+ # choosing Hurd filesystem module.
+ GRUB_FS="`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2> /dev/null || echo unknown`"
+fi
# Device containing our /boot partition. Usually the same as GRUB_DEVICE.
GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_uuid 2> /dev/null`" || true
-# Filesystem for the device containing our userland. Used for stuff like
-# choosing Hurd filesystem module.
-GRUB_FS="`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2> /dev/null || echo unknown`"
-
-if [ x"$GRUB_FS" = xunknown ]; then
- GRUB_FS="$(stat -f --printf=%T / || echo unknown)"
+ if [ x"$GRUB_FS" = x ] || [ x"$GRUB_FS" = xunknown ]; then
+ GRUB_FS="$(stat -f --printf=%T / || echo unknown)"
+ fi
fi
+# Device containing our /boot partition. Usually the same as GRUB_DEVICE.
+GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
+GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_uuid 2> /dev/null`" || true
+
if test -f ${sysconfdir}/default/grub ; then
. ${sysconfdir}/default/grub
fi
--
1.7.3.4

View File

@ -15,11 +15,11 @@ Signed-off-by: Michael Chang <mchang@suse.com>
5 files changed, 415 insertions(+), 0 deletions(-)
create mode 100644 grub-core/loader/i386/efi/linux.c
Index: grub-2.00/grub-core/Makefile.core.def
Index: grub-2.02~beta1/grub-core/Makefile.core.def
===================================================================
--- grub-2.00.orig/grub-core/Makefile.core.def
+++ grub-2.00/grub-core/Makefile.core.def
@@ -1453,6 +1453,14 @@ module = {
--- grub-2.02~beta1.orig/grub-core/Makefile.core.def
+++ grub-2.02~beta1/grub-core/Makefile.core.def
@@ -1705,6 +1705,14 @@ module = {
};
module = {
@ -34,11 +34,11 @@ Index: grub-2.00/grub-core/Makefile.core.def
name = chain;
efi = loader/efi/chainloader.c;
i386_pc = loader/i386/pc/chainloader.c;
Index: grub-2.00/grub-core/kern/efi/mm.c
Index: grub-2.02~beta1/grub-core/kern/efi/mm.c
===================================================================
--- grub-2.00.orig/grub-core/kern/efi/mm.c
+++ grub-2.00/grub-core/kern/efi/mm.c
@@ -47,6 +47,38 @@ static grub_efi_uintn_t finish_desc_size
--- grub-2.02~beta1.orig/grub-core/kern/efi/mm.c
+++ grub-2.02~beta1/grub-core/kern/efi/mm.c
@@ -49,6 +49,38 @@ static grub_efi_uintn_t finish_desc_size
static grub_efi_uint32_t finish_desc_version;
int grub_efi_is_finished = 0;
@ -77,10 +77,10 @@ Index: grub-2.00/grub-core/kern/efi/mm.c
/* Allocate pages. Return the pointer to the first of allocated pages. */
void *
grub_efi_allocate_pages (grub_efi_physical_address_t address,
Index: grub-2.00/grub-core/loader/i386/efi/linux.c
Index: grub-2.02~beta1/grub-core/loader/i386/efi/linux.c
===================================================================
--- /dev/null
+++ grub-2.00/grub-core/loader/i386/efi/linux.c
+++ grub-2.02~beta1/grub-core/loader/i386/efi/linux.c
@@ -0,0 +1,371 @@
+/*
+ * GRUB -- GRand Unified Bootloader
@ -453,10 +453,10 @@ Index: grub-2.00/grub-core/loader/i386/efi/linux.c
+ grub_unregister_command (cmd_linux);
+ grub_unregister_command (cmd_initrd);
+}
Index: grub-2.00/include/grub/efi/efi.h
Index: grub-2.02~beta1/include/grub/efi/efi.h
===================================================================
--- grub-2.00.orig/include/grub/efi/efi.h
+++ grub-2.00/include/grub/efi/efi.h
--- grub-2.02~beta1.orig/include/grub/efi/efi.h
+++ grub-2.02~beta1/include/grub/efi/efi.h
@@ -40,6 +40,9 @@ void EXPORT_FUNC(grub_efi_stall) (grub_e
void *
EXPORT_FUNC(grub_efi_allocate_pages) (grub_efi_physical_address_t address,
@ -467,15 +467,15 @@ Index: grub-2.00/include/grub/efi/efi.h
void EXPORT_FUNC(grub_efi_free_pages) (grub_efi_physical_address_t address,
grub_efi_uintn_t pages);
int
Index: grub-2.00/include/grub/i386/linux.h
Index: grub-2.02~beta1/include/grub/i386/linux.h
===================================================================
--- grub-2.00.orig/include/grub/i386/linux.h
+++ grub-2.00/include/grub/i386/linux.h
--- grub-2.02~beta1.orig/include/grub/i386/linux.h
+++ grub-2.02~beta1/include/grub/i386/linux.h
@@ -139,6 +139,7 @@ struct linux_kernel_header
grub_uint64_t setup_data;
grub_uint64_t pref_address;
grub_uint32_t init_size;
+ grub_uint32_t handover_offset;
} __attribute__ ((packed));
} GRUB_PACKED;
/* Boot parameters for Linux based on 2.6.12. This is used by the setup

View File

@ -13,12 +13,12 @@ Signed-off-by: Michael Chang <mchang@suse.com>
include/grub/efi/efi.h | 1 +
3 files changed, 46 insertions(+)
Index: grub-2.00/grub-core/kern/dl.c
Index: grub-2.02~beta2/grub-core/kern/dl.c
===================================================================
--- grub-2.00.orig/grub-core/kern/dl.c
+++ grub-2.00/grub-core/kern/dl.c
@@ -42,6 +42,10 @@
#include <sys/mman.h>
--- grub-2.02~beta2.orig/grub-core/kern/dl.c
+++ grub-2.02~beta2/grub-core/kern/dl.c
@@ -38,6 +38,10 @@
#define GRUB_MODULES_MACHINE_READONLY
#endif
+#ifdef GRUB_MACHINE_EFI
@ -28,9 +28,9 @@ Index: grub-2.00/grub-core/kern/dl.c
#pragma GCC diagnostic ignored "-Wcast-align"
@@ -665,6 +669,19 @@ grub_dl_load_file (const char *filename)
void *core = 0;
grub_dl_t mod = 0;
@@ -682,6 +686,19 @@ grub_dl_load_file (const char *filename)
grub_boot_time ("Loading module %s", filename);
+#ifdef GRUB_MACHINE_EFI
+ if (grub_efi_secure_boot ())
@ -48,10 +48,10 @@ Index: grub-2.00/grub-core/kern/dl.c
file = grub_file_open (filename);
if (! file)
return 0;
Index: grub-2.00/grub-core/kern/efi/efi.c
Index: grub-2.02~beta2/grub-core/kern/efi/efi.c
===================================================================
--- grub-2.00.orig/grub-core/kern/efi/efi.c
+++ grub-2.00/grub-core/kern/efi/efi.c
--- grub-2.02~beta2.orig/grub-core/kern/efi/efi.c
+++ grub-2.02~beta2/grub-core/kern/efi/efi.c
@@ -259,6 +259,34 @@ grub_efi_get_variable (const char *var,
return NULL;
}
@ -87,10 +87,10 @@ Index: grub-2.00/grub-core/kern/efi/efi.c
#pragma GCC diagnostic ignored "-Wcast-align"
/* Search the mods section from the PE32/PE32+ image. This code uses
Index: grub-2.00/include/grub/efi/efi.h
Index: grub-2.02~beta2/include/grub/efi/efi.h
===================================================================
--- grub-2.00.orig/include/grub/efi/efi.h
+++ grub-2.00/include/grub/efi/efi.h
--- grub-2.02~beta2.orig/include/grub/efi/efi.h
+++ grub-2.02~beta2/include/grub/efi/efi.h
@@ -72,6 +72,7 @@ EXPORT_FUNC (grub_efi_set_variable) (con
const grub_efi_guid_t *guid,
void *data,

View File

@ -25,24 +25,24 @@ has shim exported protocols available.
util/grub.d/10_linux.in | 4 ++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
index d789fcc..6555944 100644
--- a/util/grub-mkconfig.in
+++ b/util/grub-mkconfig.in
@@ -244,7 +244,8 @@ export GRUB_DEFAULT \
GRUB_SAVEDEFAULT \
GRUB_ENABLE_CRYPTODISK \
Index: grub-2.00/util/grub-mkconfig.in
===================================================================
--- grub-2.00.orig/util/grub-mkconfig.in
+++ grub-2.00/util/grub-mkconfig.in
@@ -245,7 +245,8 @@ export GRUB_DEFAULT \
GRUB_BADRAM \
GRUB_OS_PROBER_SKIP_LIST \
GRUB_DISABLE_SUBMENU \
- GRUB_CMDLINE_LINUX_RECOVERY
+ GRUB_CMDLINE_LINUX_RECOVERY \
+ GRUB_USE_LINUXEFI
if test "x${grub_cfg}" != "x"; then
rm -f "${grub_cfg}.new"
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
index 807a0db..b2f65c0 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
Index: grub-2.00/util/grub.d/10_linux.in
===================================================================
--- grub-2.00.orig/util/grub.d/10_linux.in
+++ grub-2.00/util/grub.d/10_linux.in
@@ -133,7 +133,7 @@ linux_entry ()
printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
fi
@ -61,6 +61,3 @@ index 807a0db..b2f65c0 100644
sed "s/^/$submenu_indentation/" << EOF
echo '$message'
initrdefi ${rel_dirname}/${initrd}
--
1.7.3.4

View File

@ -1,3 +1,44 @@
-------------------------------------------------------------------
Fri Dec 27 16:36:40 UTC 2013 - arvidjaar@gmail.com
- update to grub-2.02 beta2
* drop upstream patches
- grub2-fix-unquoted-string-in-class.patch (different)
- grub2-cdpath.patch (modified)
- grub2-fix-parsing-of-short-LVM-PV-names.patch
- grub2-fix-descriptor-leak-in-grub_util_is_imsm.patch
- grub2-install-opt-skip-fs-probe.patch (file it patched no more exists,
functionality included upstream)
- grub2-fix-x86_64-efi-startup-stack-alignment.patch
- grub2-fix-x86_64-efi-callwrap-stack-alignment.patch
- 0001-Fix-build-with-FreeType-2.5.1.patch
* rediff
- grub2-linux.patch
- use-grub2-as-a-package-name.patch (do not patch generated configure)
- grub2-GRUB_CMDLINE_LINUX_RECOVERY-for-recovery-mode.patch
- grub2-fix-locale-en.mo.gz-not-found-error-message.patch (upstream added
explicit exclusion for en_* language only; I do not see reason to stop
with error in this case for any language).
- not-display-menu-when-boot-once.patch
- grub2-secureboot-provide-linuxefi-config.patch
- grub2-pass-corret-root-for-nfsroot.patch
- 0002-btrfs-add-ability-to-boot-from-subvolumes.patch
- grub2-fix-menu-in-xen-host-server.patch
- grub2-fix-Grub2-with-SUSE-Xen-package-install.patch
- grub2-secureboot-add-linuxefi.patch
- grub2-secureboot-no-insmod-on-sb.patch
- rename-grub-info-file-to-grub2.patch
* drop Makefile.util.am and Makefile.core.am, they are now generated
during build
* call ./autogen.sh again now when it does not need autogen anymore; drop
autoreconf call, it is called by autogen.sh
* drop 0001-btrfs-rename-skip_default-to-follow_default.patch - is not
needed anymore due to upstream changes
* package /usr/bin/grub2-file, /usr/bin/grub2-syslinux2cfg and
/usr/sbin/grub2-macbless
* use grub-install --no-bootsector instead of --grub-setup=/bin/true
in postinstall script
-------------------------------------------------------------------
Tue Dec 17 07:20:33 UTC 2013 - mchang@suse.com

View File

@ -86,7 +86,7 @@ BuildRequires: pesign-obs-integration
%define only_x86_64 %{nil}
%endif
Version: 2.00
Version: 2.02~beta2
Release: 0
Summary: Bootloader with support for Linux, Multiboot and more
License: GPL-3.0+
@ -102,8 +102,6 @@ Source4: grub2.rpmlintrc
Source5: translations-20130626.tar.xz
Source6: grub2-once
Source7: 20_memtest86+
Source8: Makefile.util.am
Source9: Makefile.core.am
Source10: openSUSE-UEFI-CA-Certificate.crt
Source11: SLES-UEFI-CA-Certificate.crt
Source1000: PATCH_POLICY
@ -111,7 +109,6 @@ Patch1: rename-grub-info-file-to-grub2.patch
Patch2: grub2-linux.patch
Patch3: use-grub2-as-a-package-name.patch
Patch6: grub2-iterate-and-hook-for-extended-partition.patch
Patch7: grub2-install-opt-skip-fs-probe.patch
Patch8: grub2-ppc-terminfo.patch
Patch9: grub2-GRUB_CMDLINE_LINUX_RECOVERY-for-recovery-mode.patch
Patch10: grub2-fix-error-terminal-gfxterm-isn-t-found.patch
@ -125,18 +122,10 @@ Patch21: grub2-secureboot-add-linuxefi.patch
Patch22: grub2-secureboot-use-linuxefi-on-uefi.patch
Patch23: grub2-secureboot-no-insmod-on-sb.patch
Patch24: grub2-secureboot-provide-linuxefi-config.patch
Patch28: grub2-fix-unquoted-string-in-class.patch
Patch29: grub2-secureboot-chainloader.patch
Patch30: grub2-cdpath.patch
Patch34: grub2-secureboot-use-linuxefi-on-uefi-in-os-prober.patch
Patch35: grub2-linguas.sh-no-rsync.patch
Patch36: grub2-fix-parsing-of-short-LVM-PV-names.patch
Patch37: grub2-fix-descriptor-leak-in-grub_util_is_imsm.patch
Patch38: grub2-fix-x86_64-efi-startup-stack-alignment.patch
Patch39: grub2-fix-x86_64-efi-callwrap-stack-alignment.patch
Patch40: 0001-Fix-build-with-FreeType-2.5.1.patch
# Btrfs snapshot booting related patches
Patch100: 0001-btrfs-rename-skip_default-to-follow_default.patch
Patch101: 0002-btrfs-add-ability-to-boot-from-subvolumes.patch
Patch102: 0003-cmdline-add-envvar-loader_cmdline_append.patch
Patch103: 0004-btrfs-export-subvolume-envvars.patch
@ -231,7 +220,6 @@ mv po/grub.pot po/%{name}.pot
%patch2 -p1
%patch3 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
@ -249,17 +237,9 @@ mv po/grub.pot po/%{name}.pot
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch37 -p1
%patch38 -p1
%patch39 -p1
%patch40 -p1
%patch100 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
@ -271,15 +251,14 @@ rm -f po/stamp-po
# README.openSUSE
cp %{SOURCE3} .
cp %{SOURCE8} .
cp %{SOURCE9} grub-core/.
mkdir build
%ifarch %{efi}
mkdir build-efi
%endif
%build
autoreconf -vi
# autogen calls autoreconf -vi
./autogen.sh
# Not yet:
%define common_conf_options TARGET_LDFLAGS=-static --program-transform-name=s,grub,%{name},
# This does NOT work on SLE11:
@ -470,7 +449,7 @@ if [ "x${LOADER_TYPE}" = "xgrub" ]; then
# Determine the partition with /boot
BOOT_PARTITION=$(df -h /boot |(read; awk '{print $1; exit}'))
# Generate core.img, but don't let it be installed in boot sector
%{name}-install --grub-setup=/bin/true $BOOT_PARTITION || true
%{name}-install --no-bootsector $BOOT_PARTITION || true
# Create a working grub2 config, otherwise that entry is un-bootable
/usr/sbin/grub2-mkconfig -o /boot/%{name}/grub.cfg
fi
@ -576,6 +555,7 @@ fi
%config %{_sysconfdir}/grub.d/??_*
%{_sbindir}/%{name}-bios-setup
%{_sbindir}/%{name}-install
%{_sbindir}/%{name}-macbless
%{_sbindir}/%{name}-mkconfig
%{_sbindir}/%{name}-once
%{_sbindir}/%{name}-ofpathname
@ -584,6 +564,7 @@ fi
%{_sbindir}/%{name}-set-default
%{_sbindir}/%{name}-sparc64-setup
%{_bindir}/%{name}-editenv
%{_bindir}/%{name}-file
%{_bindir}/%{name}-fstest
%{_bindir}/%{name}-glue-efi
%{_bindir}/%{name}-kbdcomp
@ -599,6 +580,7 @@ fi
%{_bindir}/%{name}-mount
%{_bindir}/%{name}-render-label
%{_bindir}/%{name}-script-check
%{_bindir}/%{name}-syslinux2cfg
%dir %{_libdir}/%{name}
%dir %{_datadir}/%{name}
%if 0%{?suse_version} >= 1140
@ -608,9 +590,11 @@ fi
%{_infodir}/grub-dev.info*
%{_infodir}/%{name}.info*
%{_mandir}/man1/%{name}-editenv.1.*
%{_mandir}/man1/%{name}-file.1.*
%{_mandir}/man1/%{name}-fstest.1.*
%{_mandir}/man1/%{name}-glue-efi.1.*
%{_mandir}/man1/%{name}-kbdcomp.1.*
%{_mandir}/man1/%{name}-macbless.1.*
%{_mandir}/man1/%{name}-menulst2cfg.1.*
%{_mandir}/man1/%{name}-mkfont.1.*
%{_mandir}/man1/%{name}-mkimage.1.*
@ -623,6 +607,7 @@ fi
%{_mandir}/man1/%{name}-mount.1.*
%{_mandir}/man1/%{name}-render-label.1.*
%{_mandir}/man1/%{name}-script-check.1.*
%{_mandir}/man1/%{name}-syslinux2cfg.1.*
%{_mandir}/man8/%{name}-bios-setup.8.*
%{_mandir}/man8/%{name}-install.8.*
%{_mandir}/man8/%{name}-mkconfig.8.*

View File

@ -14,32 +14,18 @@ user to make decision when decision has been made.
util/grub.d/00_header.in | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
index f495f85..d1c7916 100644
--- a/util/grub.d/00_header.in
+++ b/util/grub.d/00_header.in
@@ -280,13 +280,19 @@ make_timeout ()
verbose=" --verbose"
fi
cat << EOF
-if sleep$verbose --interruptible ${1} ; then
+if [ x\${boot_once} = xtrue ]; then
+ set timeout=0
+elif sleep$verbose --interruptible ${1} ; then
set timeout=${2}
fi
EOF
else
cat << EOF
-set timeout=${2}
+if [ x\${boot_once} = xtrue ]; then
+ set timeout=0
+else
+ set timeout=${2}
+fi
EOF
Index: grub-2.02~beta2/util/grub.d/00_header.in
===================================================================
--- grub-2.02~beta2.orig/util/grub.d/00_header.in
+++ grub-2.02~beta2/util/grub.d/00_header.in
@@ -304,7 +304,9 @@ make_timeout ()
style="menu"
fi
}
--
1.7.10.4
cat << EOF
-if [ x\$feature_timeout_style = xy ] ; then
+if [ x\${boot_once} = xtrue ]; then
+ set timeout=0
+elif [ x\$feature_timeout_style = xy ] ; then
set timeout_style=${style}
set timeout=${timeout}
EOF

View File

@ -12,10 +12,10 @@ files - Makefile.core.am and Makefile.util.am - it may be necessary to
manually rename it.
---
Index: grub-2.00/docs/Makefile.am
Index: grub-2.02~beta1/docs/Makefile.am
===================================================================
--- grub-2.00.orig/docs/Makefile.am
+++ grub-2.00/docs/Makefile.am
--- grub-2.02~beta1.orig/docs/Makefile.am
+++ grub-2.02~beta1/docs/Makefile.am
@@ -1,7 +1,7 @@
AUTOMAKE_OPTIONS = subdir-objects
@ -25,23 +25,23 @@ Index: grub-2.00/docs/Makefile.am
grub_TEXINFOS = fdl.texi
EXTRA_DIST = font_char_metrics.png font_char_metrics.txt
Index: grub-2.00/docs/Makefile.in
Index: grub-2.02~beta1/docs/Makefile.in
===================================================================
--- grub-2.00.orig/docs/Makefile.in
+++ grub-2.00/docs/Makefile.in
@@ -51,7 +51,7 @@ build_triplet = @build@
host_triplet = @host@
--- grub-2.02~beta1.orig/docs/Makefile.in
+++ grub-2.02~beta1/docs/Makefile.in
@@ -79,7 +79,7 @@ host_triplet = @host@
target_triplet = @target@
subdir = docs
-DIST_COMMON = $(grub_TEXINFOS) $(srcdir)/Makefile.am \
+DIST_COMMON = $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/stamp-1 $(srcdir)/stamp-vti \
$(srcdir)/version-dev.texi $(srcdir)/version.texi \
$(top_srcdir)/build-aux/mdate-sh \
@@ -108,14 +108,14 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
- $(grub_TEXINFOS) $(top_srcdir)/build-aux/mdate-sh \
+ $(top_srcdir)/build-aux/mdate-sh \
$(srcdir)/version.texi $(srcdir)/stamp-vti \
$(srcdir)/version-dev.texi $(srcdir)/stamp-1 \
$(top_srcdir)/build-aux/texinfo.tex mdate-sh texinfo.tex
@@ -184,14 +184,14 @@ AM_V_texidevnull = $(am__v_texidevnull_@
am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
am__v_texidevnull_0 = > /dev/null
am__v_texidevnull_1 =
-INFO_DEPS = $(srcdir)/grub.info $(srcdir)/grub-dev.info
+INFO_DEPS = $(srcdir)/grub2.info $(srcdir)/grub-dev.info
TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex
@ -59,7 +59,7 @@ Index: grub-2.00/docs/Makefile.in
TEXI2DVI = texi2dvi
TEXI2PDF = $(TEXI2DVI) --pdf --batch
MAKEINFOHTML = $(MAKEINFO) --html
@@ -810,7 +810,7 @@ top_srcdir = @top_srcdir@
@@ -1068,7 +1068,7 @@ top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = subdir-objects
# AM_MAKEINFOFLAGS = --no-split --no-validate
@ -68,9 +68,9 @@ Index: grub-2.00/docs/Makefile.in
grub_TEXINFOS = fdl.texi
EXTRA_DIST = font_char_metrics.png font_char_metrics.txt
all: all-am
@@ -893,14 +893,14 @@ $(am__aclocal_m4_deps):
rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \
exit 1; \
@@ -1149,14 +1149,14 @@ $(am__aclocal_m4_deps):
else \
rm -rf $(@:.html=.htp); exit 1; \
fi
-$(srcdir)/grub.info: grub.texi $(srcdir)/version.texi $(grub_TEXINFOS)
-grub.dvi: grub.texi $(srcdir)/version.texi $(grub_TEXINFOS)
@ -90,20 +90,12 @@ Index: grub-2.00/docs/Makefile.in
echo "@set UPDATED $$1 $$2 $$3"; \
echo "@set UPDATED-MONTH $$2 $$3"; \
echo "@set EDITION $(VERSION)"; \
@@ -1020,16 +1020,16 @@ dist-info: $(INFO_DEPS)
@@ -1276,12 +1276,12 @@ dist-info: $(INFO_DEPS)
done
mostlyclean-aminfo:
- -rm -rf grub.aux grub.cp grub.cps grub.fn grub.ky grub.log grub.pg grub.tmp \
- grub.toc grub.tp grub.vr grub-dev.aux grub-dev.cp \
- grub-dev.cps grub-dev.fn grub-dev.ky grub-dev.log \
- grub-dev.pg grub-dev.tmp grub-dev.toc grub-dev.tp \
- grub-dev.vr
+ -rm -rf grub2.aux grub2.cp grub2.cps grub2.fn grub2.ky grub2.log grub2.pg \
+ grub2.tmp grub2.toc grub2.tp grub2.vr grub-dev.aux \
+ grub-dev.cp grub-dev.cps grub-dev.fn grub-dev.ky \
+ grub-dev.log grub-dev.pg grub-dev.tmp grub-dev.toc \
+ grub-dev.tp grub-dev.vr
- -rm -rf grub.t2d grub.t2p grub-dev.t2d grub-dev.t2p
+ -rm -rf grub2.t2d grub2.t2p grub-dev.t2d grub-dev.t2p
clean-aminfo:
- -test -z "grub.dvi grub.pdf grub.ps grub.html grub-dev.dvi grub-dev.pdf \
@ -114,10 +106,10 @@ Index: grub-2.00/docs/Makefile.in
grub-dev.ps grub-dev.html
maintainer-clean-aminfo:
diff --git a/docs/grub.texi b/docs/grub2.texi
index 26944ac..fb7fb0e 100644
--- a/docs/grub.texi
+++ b/docs/grub.texi
Index: grub-2.02~beta1/docs/grub.texi
===================================================================
--- grub-2.02~beta1.orig/docs/grub.texi
+++ grub-2.02~beta1/docs/grub.texi
@@ -1,7 +1,7 @@
\input texinfo
@c -*-texinfo-*-

View File

@ -12,114 +12,16 @@ Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
configure.ac | 2 +-
2 files changed, 13 insertions(+), 13 deletions(-)
Index: grub-2.00/configure
Index: grub-2.02~beta2/configure.ac
===================================================================
--- grub-2.00.orig/configure
+++ grub-2.00/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for GRUB 2.00.
+# Generated by GNU Autoconf 2.69 for GRUB2 2.00.
#
# Report bugs to <bug-grub@gnu.org>.
#
@@ -578,10 +578,10 @@ MFLAGS=
MAKEFLAGS=
# Identity of this package.
-PACKAGE_NAME='GRUB'
-PACKAGE_TARNAME='grub'
+PACKAGE_NAME='GRUB2'
+PACKAGE_TARNAME='grub2'
PACKAGE_VERSION='2.00'
-PACKAGE_STRING='GRUB 2.00'
+PACKAGE_STRING='GRUB2 2.00'
PACKAGE_BUGREPORT='bug-grub@gnu.org'
PACKAGE_URL=''
@@ -1938,7 +1938,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GRUB 2.00 to adapt to many kinds of systems.
+\`configure' configures GRUB2 2.00 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1986,7 +1986,7 @@ Fine tuning of the installation director
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/grub]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/grub2]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
@@ -2009,7 +2009,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GRUB 2.00:";;
+ short | recursive ) echo "Configuration of GRUB2 2.00:";;
esac
cat <<\_ACEOF
@@ -2144,7 +2144,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GRUB configure 2.00
+GRUB2 configure 2.00
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2853,7 +2853,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GRUB $as_me 2.00, which was
+It was created by GRUB2 $as_me 2.00, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3839,7 +3839,7 @@ fi
# Define the identity of the package.
- PACKAGE='grub'
+ PACKAGE='grub2'
VERSION='2.00'
@@ -23470,7 +23470,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GRUB $as_me 2.00, which was
+This file was extended by GRUB2 $as_me 2.00, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -23540,7 +23540,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-GRUB config.status 2.00
+GRUB2 config.status 2.00
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
Index: grub-2.00/configure.ac
===================================================================
--- grub-2.00.orig/configure.ac
+++ grub-2.00/configure.ac
--- grub-2.02~beta2.orig/configure.ac
+++ grub-2.02~beta2/configure.ac
@@ -32,7 +32,7 @@ dnl type, so there is no conflict. Varia
dnl (such as TARGET_CC, TARGET_CFLAGS, etc.) are used for the target
dnl type.
-AC_INIT([GRUB],[2.00],[bug-grub@gnu.org])
+AC_INIT([GRUB2],[2.00],[bug-grub@gnu.org])
-AC_INIT([GRUB],[2.02~beta2],[bug-grub@gnu.org])
+AC_INIT([GRUB2],[2.02~beta2],[bug-grub@gnu.org])
AC_CONFIG_AUX_DIR([build-aux])