Blob Blame History Raw
From 7d2fc73dad0e7000f7fbeb985bc6d80fbb0ea848 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Tue, 14 Apr 2015 14:34:10 -0400
Subject: [PATCH 32/41] Make the cases for 0cb78dab /actually work/, not just
 not crash.

Resolves: rhbz#1204353
Resolves: rhbz#1204888
Resolves: rhbz#1206943

Signed-off-by: Peter Jones <pjones@redhat.com>
---
 grubby.c              | 30 +++++++++++-----
 test.sh               |  3 ++
 test/grub.14          | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++
 test/results/add/g1.7 | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 218 insertions(+), 8 deletions(-)
 create mode 100644 test/grub.14
 create mode 100644 test/results/add/g1.7

diff --git a/grubby.c b/grubby.c
index f7209a9..e4358ad 100644
--- a/grubby.c
+++ b/grubby.c
@@ -217,6 +217,7 @@ struct configFileInfo grubConfigType = {
     .mbHyperFirst = 1,
     .mbInitRdIsModule = 1,
     .mbAllowExtraInitRds = 1,
+    .titlePosition = 1,
 };
 
 struct keywordTypes grub2Keywords[] = {
@@ -586,6 +587,7 @@ struct configFileInfo eliloConfigType = {
     .needsBootPrefix = 1,
     .argsInQuotes = 1,
     .mbConcatArgs = 1,
+    .titlePosition = 1,
 };
 
 struct configFileInfo liloConfigType = {
@@ -594,6 +596,7 @@ struct configFileInfo liloConfigType = {
     .entryStart = LT_KERNEL,
     .argsInQuotes = 1,
     .maxTitleLength = 15,
+    .titlePosition = 1,
 };
 
 struct configFileInfo yabootConfigType = {
@@ -604,6 +607,7 @@ struct configFileInfo yabootConfigType = {
     .argsInQuotes = 1,
     .maxTitleLength = 15,
     .mbAllowExtraInitRds = 1,
+    .titlePosition = 1,
 };
 
 struct configFileInfo siloConfigType = {
@@ -613,6 +617,7 @@ struct configFileInfo siloConfigType = {
     .needsBootPrefix = 1,
     .argsInQuotes = 1,
     .maxTitleLength = 15,
+    .titlePosition = 1,
 };
 
 struct configFileInfo ziplConfigType = {
@@ -632,6 +637,7 @@ struct configFileInfo extlinuxConfigType = {
     .maxTitleLength = 255,
     .mbAllowExtraInitRds = 1,
     .defaultIsUnquoted = 1,
+    .titlePosition = 1,
 };
 
 struct grubConfig {
@@ -820,12 +826,20 @@ static int isEntryStart(struct singleLine * line,
 }
 
 /* extract the title from within brackets (for zipl) */
-static char * extractTitle(struct singleLine * line) {
+static char * extractTitle(struct grubConfig *cfg, struct singleLine * line) {
     /* bracketed title... let's extract it */
     char * title = NULL;
+    if (cfg->cfi == &grub2ConfigType)
+	return grub2ExtractTitle(line);
     if (line->type == LT_TITLE) {
-	title = strdup(line->elements[0].item + 1);
-	*(title + strlen(title) - 1) = '\0';
+	char *tmp = line->elements[cfg->cfi->titlePosition].item;
+	if (cfg->cfi->titleBracketed) {
+	    tmp++;
+	    title = strdup(tmp);
+	    *(title + strlen(title) - 1) = '\0';
+	} else {
+	    title = strdup(tmp);
+	}
     } else if (line->type == LT_MENUENTRY)
 	title = strdup(line->elements[1].item);
     else
@@ -1433,7 +1447,7 @@ static struct grubConfig * readConfig(const char * inName,
                                 line->elements[1].item)) break;
                 } else if (line) {
                     if (!strcmp(defaultLine->elements[1].item, 
-                                extractTitle(line))) break;
+                                extractTitle(cfg, line))) break;
                 }
 		i++;
 		entry = NULL;
@@ -1484,7 +1498,7 @@ static void writeDefault(FILE * out, char * indent,
 	    if (!line)
 		line = getLineByType(LT_TITLE, entry->lines);
 	    if (line) {
-		title = extractTitle(line);
+		title = extractTitle(cfg, line);
 		if (title)
 		    cfg->cfi->setEnv(cfg->cfi, "saved_entry", title);
 	    }
@@ -1522,7 +1536,7 @@ static void writeDefault(FILE * out, char * indent,
             else if (line && (line->numElements == 1) && 
                      cfg->cfi->titleBracketed) {
 		fprintf(out, "%sdefault%s%s\n", indent, separator, 
-                        extractTitle(line));
+                        extractTitle(cfg, line));
             }
 	}
     }
@@ -3309,7 +3323,7 @@ int addMBInitrd(struct grubConfig * cfg, const char *newMBKernel,
 	    if (!line)
 		continue;
 
-	    linetitle = extractTitle(line);
+	    linetitle = extractTitle(cfg, line);
 	    if (!linetitle)
 		continue;
 	    if (strcmp(title, linetitle)) {
@@ -3363,7 +3377,7 @@ int updateInitrd(struct grubConfig * cfg, const char * image,
 	    if (!line)
 		continue;
 
-	    linetitle = extractTitle(line);
+	    linetitle = extractTitle(cfg, line);
 	    if (!linetitle)
 		continue;
 	    if (strcmp(title, linetitle)) {
diff --git a/test.sh b/test.sh
index fb13033..30115d1 100755
--- a/test.sh
+++ b/test.sh
@@ -269,6 +269,9 @@ grubTest grub.13 setdefaultindex/g.13.0 --set-default-index=0
 grubTest grub.13 setdefaultindex/g.13.1 --set-default-index=1
 grubTest grub.13 setdefaultindex/g.13.9 --set-default-index=9
 
+testing="GRUB add initrd"
+grubTest grub.14 add/g1.7 --boot-filesystem=/ --update-kernel=/vmlinuz-4.0.0-0.rc4.git1.4.fc23.x86_64 --initrd /initramfs-4.0.0-0.rc4.git1.4.fc23.x86_64.img '--args= LANG=en_US.UTF-8' '--title=Fedora (4.0.0-0.rc4.git1.4.fc23.x86_64) 23 (Rawhide)'
+
 testing="GRUB display default index"
 grubDisplayTest grub.1 defaultindex/0 --default-index
 grubDisplayTest grub.2 defaultindex/0 --default-index
diff --git a/test/grub.14 b/test/grub.14
new file mode 100644
index 0000000..5c0b9b3
--- /dev/null
+++ b/test/grub.14
@@ -0,0 +1,96 @@
+# grub.conf generated by anaconda
+#
+# Note that you do not have to rerun grub after making changes to this file
+# NOTICE:  You have a  partition.  This means that
+#          all kernel and initrd paths are relative to /, eg.
+#          root (hd0,0)
+#          kernel /vmlinuz-version ro root=/dev/d2/root
+#          initrd /initrd-version.img
+#boot=/dev/hda
+timeout=5
+splashimage=(hd0,0)/grub/splash.xpm.gz
+default=0
+hiddenmenu
+title Fedora (4.0.0-0.rc4.git1.4.fc23.x86_64) 23 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-4.0.0-0.rc4.git1.4.fc23.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+title Fedora (4.0.0-0.rc4.git0.1.fc23.x86_64) 23 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-4.0.0-0.rc4.git0.1.fc23.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-4.0.0-0.rc4.git0.1.fc23.x86_64.img
+title Fedora (4.0.0-0.rc1.git1.2.fc23.x86_64) 23 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-4.0.0-0.rc1.git1.2.fc23.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-4.0.0-0.rc1.git1.2.fc23.x86_64.img
+title Fedora (4.0.0-0.rc1.git0.1.fc23.x86_64) 23 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-4.0.0-0.rc1.git0.1.fc23.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-4.0.0-0.rc1.git0.1.fc23.x86_64.img
+title Fedora (3.20.0-0.rc0.git9.2.fc23.x86_64) 23 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.20.0-0.rc0.git9.2.fc23.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.20.0-0.rc0.git9.2.fc23.x86_64.img
+title Fedora (3.20.0-0.rc0.git6.2.fc23.x86_64) 23 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.20.0-0.rc0.git6.2.fc23.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.20.0-0.rc0.git6.2.fc23.x86_64.img
+title Fedora (3.19.0-1.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-1.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-1.fc22.x86_64.img
+title Fedora (3.19.0-0.rc7.git1.2.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-0.rc7.git1.2.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-0.rc7.git1.2.fc22.x86_64.img
+title Fedora (3.19.0-0.rc7.git0.1.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-0.rc7.git0.1.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-0.rc7.git0.1.fc22.x86_64.img
+title Fedora (3.19.0-0.rc6.git0.1.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-0.rc6.git0.1.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-0.rc6.git0.1.fc22.x86_64.img
+title Fedora (3.19.0-0.rc5.git0.1.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-0.rc5.git0.1.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-0.rc5.git0.1.fc22.x86_64.img
+title Fedora (3.19.0-0.rc4.git2.2.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-0.rc4.git2.2.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-0.rc4.git2.2.fc22.x86_64.img
+title Fedora (3.19.0-0.rc4.git0.1.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-0.rc4.git0.1.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-0.rc4.git0.1.fc22.x86_64.img
+title Fedora (3.19.0-0.rc3.git0.1.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-0.rc3.git0.1.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-0.rc3.git0.1.fc22.x86_64.img
+title Fedora (3.18.1-2.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.18.1-2.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.18.1-2.fc22.x86_64.img
+title Fedora (3.17.1-302.fc21.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.17.1-302.fc21.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.17.1-302.fc21.x86_64.img
+title Fedora 20 Rescue 4b741960432e833443a6bc004563501d (3.10.0-0.rc4.git0.1.fc20.x86_64)
+	root (hd0,0)
+	kernel /vmlinuz-0-rescue-4b741960432e833443a6bc004563501d ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-0-rescue-4b741960432e833443a6bc004563501d.img
+title Fedora 20 Rescue 4b741960432e833443a6bc004563501d (3.9.0-0.rc4.git0.1.fc20.x86_64)
+	root (hd0,0)
+	kernel /vmlinuz-0-rescue-4b741960432e833443a6bc004563501d ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-0-rescue-4b741960432e833443a6bc004563501d.img
+title Memtest86+ (4.20)
+	root (hd0,0)
+	kernel /elf-memtest86+-4.20
+title Fedora (2.6.29.5-191.fc11.x86_64)
+        root (hd0,0)
+	kernel /vmlinuz-2.6.29.5-191.fc11.x86_64 ro root=/dev/d2/rescue64
+	initrd /initrd-2.6.29.5-191.fc11.x86_64.img
+title install
+	kernel /f10vz
+	initrd /f10ird.img
+title gittest
+	kernel /gittest
diff --git a/test/results/add/g1.7 b/test/results/add/g1.7
new file mode 100644
index 0000000..dc77c0f
--- /dev/null
+++ b/test/results/add/g1.7
@@ -0,0 +1,97 @@
+# grub.conf generated by anaconda
+#
+# Note that you do not have to rerun grub after making changes to this file
+# NOTICE:  You have a  partition.  This means that
+#          all kernel and initrd paths are relative to /, eg.
+#          root (hd0,0)
+#          kernel /vmlinuz-version ro root=/dev/d2/root
+#          initrd /initrd-version.img
+#boot=/dev/hda
+timeout=5
+splashimage=(hd0,0)/grub/splash.xpm.gz
+default=0
+hiddenmenu
+title Fedora (4.0.0-0.rc4.git1.4.fc23.x86_64) 23 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-4.0.0-0.rc4.git1.4.fc23.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-4.0.0-0.rc4.git1.4.fc23.x86_64.img
+title Fedora (4.0.0-0.rc4.git0.1.fc23.x86_64) 23 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-4.0.0-0.rc4.git0.1.fc23.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-4.0.0-0.rc4.git0.1.fc23.x86_64.img
+title Fedora (4.0.0-0.rc1.git1.2.fc23.x86_64) 23 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-4.0.0-0.rc1.git1.2.fc23.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-4.0.0-0.rc1.git1.2.fc23.x86_64.img
+title Fedora (4.0.0-0.rc1.git0.1.fc23.x86_64) 23 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-4.0.0-0.rc1.git0.1.fc23.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-4.0.0-0.rc1.git0.1.fc23.x86_64.img
+title Fedora (3.20.0-0.rc0.git9.2.fc23.x86_64) 23 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.20.0-0.rc0.git9.2.fc23.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.20.0-0.rc0.git9.2.fc23.x86_64.img
+title Fedora (3.20.0-0.rc0.git6.2.fc23.x86_64) 23 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.20.0-0.rc0.git6.2.fc23.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.20.0-0.rc0.git6.2.fc23.x86_64.img
+title Fedora (3.19.0-1.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-1.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-1.fc22.x86_64.img
+title Fedora (3.19.0-0.rc7.git1.2.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-0.rc7.git1.2.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-0.rc7.git1.2.fc22.x86_64.img
+title Fedora (3.19.0-0.rc7.git0.1.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-0.rc7.git0.1.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-0.rc7.git0.1.fc22.x86_64.img
+title Fedora (3.19.0-0.rc6.git0.1.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-0.rc6.git0.1.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-0.rc6.git0.1.fc22.x86_64.img
+title Fedora (3.19.0-0.rc5.git0.1.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-0.rc5.git0.1.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-0.rc5.git0.1.fc22.x86_64.img
+title Fedora (3.19.0-0.rc4.git2.2.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-0.rc4.git2.2.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-0.rc4.git2.2.fc22.x86_64.img
+title Fedora (3.19.0-0.rc4.git0.1.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-0.rc4.git0.1.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-0.rc4.git0.1.fc22.x86_64.img
+title Fedora (3.19.0-0.rc3.git0.1.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.19.0-0.rc3.git0.1.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.19.0-0.rc3.git0.1.fc22.x86_64.img
+title Fedora (3.18.1-2.fc22.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.18.1-2.fc22.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.18.1-2.fc22.x86_64.img
+title Fedora (3.17.1-302.fc21.x86_64) 22 (Rawhide)
+	root (hd0,0)
+	kernel /vmlinuz-3.17.1-302.fc21.x86_64 ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-3.17.1-302.fc21.x86_64.img
+title Fedora 20 Rescue 4b741960432e833443a6bc004563501d (3.10.0-0.rc4.git0.1.fc20.x86_64)
+	root (hd0,0)
+	kernel /vmlinuz-0-rescue-4b741960432e833443a6bc004563501d ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-0-rescue-4b741960432e833443a6bc004563501d.img
+title Fedora 20 Rescue 4b741960432e833443a6bc004563501d (3.9.0-0.rc4.git0.1.fc20.x86_64)
+	root (hd0,0)
+	kernel /vmlinuz-0-rescue-4b741960432e833443a6bc004563501d ro root=/dev/sda1 SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us rd_plytheme=charge
+	initrd /initramfs-0-rescue-4b741960432e833443a6bc004563501d.img
+title Memtest86+ (4.20)
+	root (hd0,0)
+	kernel /elf-memtest86+-4.20
+title Fedora (2.6.29.5-191.fc11.x86_64)
+        root (hd0,0)
+	kernel /vmlinuz-2.6.29.5-191.fc11.x86_64 ro root=/dev/d2/rescue64
+	initrd /initrd-2.6.29.5-191.fc11.x86_64.img
+title install
+	kernel /f10vz
+	initrd /f10ird.img
+title gittest
+	kernel /gittest
-- 
2.4.3