rpms/grub/devel grub-fedora-9.patch, 1.2, 1.3 grub.spec, 1.63, 1.64 grub-support-256byte-inode.patch, 1.1, NONE
Peter Jones (pjones)
fedora-extras-commits at redhat.com
Wed Feb 27 16:08:29 UTC 2008
- Previous message (by thread): rpms/avahi/OLPC-2 avahi-no-publish-workstation.patch, NONE, 1.1 avahi.spec, 1.90, 1.91
- Next message (by thread): rpms/komparator/devel .cvsignore, 1.3, 1.4 komparator.spec, 1.4, 1.5 sources, 1.3, 1.4
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: pjones
Update of /cvs/extras/rpms/grub/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv24701
Modified Files:
grub-fedora-9.patch grub.spec
Removed Files:
grub-support-256byte-inode.patch
Log Message:
Update to newest git head and add EFI support on i386
grub-fedora-9.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.2 -r 1.3 grub-fedora-9.patch
Index: grub-fedora-9.patch
===================================================================
RCS file: /cvs/extras/rpms/grub/devel/grub-fedora-9.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- grub-fedora-9.patch 5 Nov 2007 22:07:36 -0000 1.2
+++ grub-fedora-9.patch 27 Feb 2008 16:08:23 -0000 1.3
@@ -1213,7 +1213,7 @@
# _AM_PROG_TAR(FORMAT)
# --------------------
diff --git a/config.h.in b/config.h.in
-index 68d7c8c..46f6b70 100644
+index 68d7c8c..e2128e4 100644
--- a/config.h.in
+++ b/config.h.in
@@ -1,4 +1,4 @@
@@ -1222,6 +1222,16 @@
/* Define if an absolute indirect call/jump must NOT be prefixed with `*' */
#undef ABSOLUTE_WITHOUT_ASTERISK
+@@ -96,6 +96,9 @@
+ /* Define to the version of this package. */
+ #undef PACKAGE_VERSION
+
++/* Define if you run on EFI platform. */
++#undef PLATFORM_EFI
++
+ /* Define if there is user specified preset menu string */
+ #undef PRESET_MENU_STRING
+
diff --git a/configure b/configure
deleted file mode 100755
index 537ab89..0000000
@@ -9545,10 +9555,10 @@
-AC_OUTPUT
diff --git a/configure.in b/configure.in
new file mode 100644
-index 0000000..42e0132
+index 0000000..62209dc
--- /dev/null
+++ b/configure.in
-@@ -0,0 +1,739 @@
+@@ -0,0 +1,757 @@
+dnl Configure script for GRUB.
+dnl Copyright 1999,2000,2001,2002,2003,2004,2005 Free Software Foundation, Inc.
+
@@ -9599,6 +9609,7 @@
+# Sanity check.
+case "$host_cpu"-"$platform" in
+ i386-pc) ;;
++ i386-efi) ;;
+ x86_64-pc) ;;
+ x86_64-efi) ;;
+ *) AC_MSG_ERROR([unsupported machine type "$host_cpu"-"$platform"]) ;;
@@ -9613,6 +9624,20 @@
+ AC_SUBST(EFI_ARCH)
+fi
+
++gnuefi_path=/usr/lib/gnuefi
++gnuefi_crt0=${gnuefi_path}/crt0-efi-${EFI_ARCH}.o
++if ! test -f $gnuefi_crt0 ; then
++ gnuefi_crt0=crt0-efi.o
++fi
++GNUEFI_CRT0=${gnuefi_crt0}
++AC_SUBST(GNUEFI_CRT0)
++gnuefi_lds=${gnuefi_path}/elf_${EFI_ARCH}_efi.lds
++if ! test -f $gnuefi_lds ; then
++ gnuefi_lds=${EFI_ARCH}/elf_efi.lds
++fi
++GNUEFI_LDS=${gnuefi_lds}
++AC_SUBST(GNUEFI_LDS)
++
+AC_SUBST(platform)
+AM_CONDITIONAL(PLATFORM_EFI, test "x$platform" = xefi)
+
@@ -9709,7 +9734,10 @@
+fi
+STAGE2_CFLAGS="$STAGE2_CFLAGS -isystem `$CC -print-file-name=include`"
+
-+LOADER_LDFLAGS="-Wl,--build-id=none"
++LIBGCC=$(gcc $CFLAGS -static-libgcc -print-libgcc-file-name)
++AC_SUBST(LIBGCC)
++
++LOADER_LDFLAGS="-Wl,--build-id=none ${LIBGCC}"
+AC_SUBST(LOADER_LDFLAGS)
+
+if test "x$platform" = xefi; then
@@ -11400,12 +11428,13 @@
@set VERSION 0.97
diff --git a/efi/Makefile.am b/efi/Makefile.am
new file mode 100644
-index 0000000..36e32bf
+index 0000000..d28df9f
--- /dev/null
+++ b/efi/Makefile.am
-@@ -0,0 +1,75 @@
+@@ -0,0 +1,78 @@
+
+pkglibdir = $(libdir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
++pkgdatadir = $(datadir)/$(PACKAGE)/$(host_cpu)-$(host_vendor)
+
+if PLATFORM_EFI
+
@@ -11434,10 +11463,11 @@
+endif
+
+GRUBEFI_FORMAT = efi-app-$(EFI_ARCH)
-+GRUBSO_LD_SCRIPT = $(EFI_ARCH)/elf_efi.lds
++GRUBSO_LD_SCRIPT = @GNUEFI_LDS@
+GRUBSO_LD_FLAGS = -T $(GRUBSO_LD_SCRIPT) -nostdlib -shared -Bsymbolic
-+GRUBSO_OBJS = crt0-efi.o reloc.o efimain.o
-+GRUBSO_LIBS = $(top_srcdir)/stage2/libstage2.a libgrubefi.a
++
++GRUBSO_OBJS = reloc.o efimain.o @GNUEFI_CRT0@
++GRUBSO_LIBS = $(top_srcdir)/stage2/libstage2.a libgrubefi.a @LIBGCC@
+
+if NETBOOT_SUPPORT
+GRUBSO_LIBS += $(top_srcdir)/netboot/libdrivers.a
@@ -11474,8 +11504,9 @@
+
+noinst_LIBRARIES = libgrubefi.a
+libgrubefi_a_SOURCES = $(EFI_ARCH)/callwrap.S eficore.c efimm.c efimisc.c \
-+ $(EFI_ARCH)/setjmp.S eficon.c efidisk.c efigraph.c font_8x16.c \
-+ efiserial.c $(EFI_ARCH)/loader/linux.c efichainloader.c
++ $(EFI_ARCH)/setjmp.S eficon.c efidisk.c graphics.c efigraph.c efiuga.c \
++ font_8x16.c efiserial.c $(EFI_ARCH)/loader/linux.c efichainloader.c \
++ xpm.c
+libgrubefi_a_CFLAGS = $(RELOC_FLAGS) -nostdinc
+
+endif
@@ -12689,10 +12720,10 @@
+}
diff --git a/efi/efidisk.c b/efi/efidisk.c
new file mode 100644
-index 0000000..d436b89
+index 0000000..bc9d3bd
--- /dev/null
+++ b/efi/efidisk.c
-@@ -0,0 +1,636 @@
+@@ -0,0 +1,629 @@
+/*
+ * GRUB -- GRand Unified Bootloader
+ * Copyright (C) 2006 Free Software Foundation, Inc.
@@ -12975,17 +13006,14 @@
+ {
+ if (m->read_only && m->block_size > SECTOR_SIZE)
+ {
-+ grub_printf ("adding a cd by guessing\n");
+ add_device (&cd_devices, d);
+ } else
+ {
-+ grub_printf ("adding a hd by guessing\n");
+ add_device (&hd_devices, d);
+ }
+ }
+ if (GRUB_EFI_DEVICE_PATH_TYPE(dp) == GRUB_EFI_ACPI_DEVICE_PATH_TYPE)
+ {
-+ grub_printf ("adding a floppy by guessing\n");
+ add_device (&fd_devices, d);
+ }
+ }
@@ -13045,10 +13073,6 @@
+ bio = d->block_io;
+ sector_size = d->block_io->media->block_size;
+
-+ grub_dprintf ("efidisk",
-+ "reading 0x%x sectors at the sector 0x%x from ??\n",
-+ (unsigned) size, (unsigned int) sector);
-+
+ status = Call_Service_5 (dio->read ,
+ dio, bio->media->media_id,
+ sector * sector_size,
@@ -13331,16 +13355,14 @@
+}
diff --git a/efi/efigraph.c b/efi/efigraph.c
new file mode 100644
-index 0000000..8ab215f
+index 0000000..e424621
--- /dev/null
+++ b/efi/efigraph.c
-@@ -0,0 +1,754 @@
-+/* efigraph.c - graphics mode support for GRUB/EFI */
-+/* Implemented as a terminal type by Jeremy Katz <katzj at redhat.com> based
-+ * on a patch by Paulo César Pereira de Andrade <pcpa at conectiva.com.br>
-+ */
+@@ -0,0 +1,1078 @@
++/* efigraph.c - EFI "graphics output" support for GRUB/EFI */
+/*
+ * GRUB -- GRand Unified Bootloader
++ * Copyright 2007 Red Hat, Inc.
+ * Copyright (C) 2007 Intel Corp.
+ * Copyright (C) 2001,2002 Red Hat, Inc.
+ * Portions copyright (C) 2000 Conectiva, Inc.
@@ -13370,6 +13392,9 @@
+#include <shared.h>
+#include <graphics.h>
+
++#include "graphics.h"
++#include "xpm.h"
[...6964 lines suppressed...]
++ if (is_long == 0) {
++ uint_arg = va_arg(args, unsigned int);
++ format_ascii(buf, uint_arg, 0, 0);
++ } else if (is_long == 1) {
++ ulong_arg = va_arg(args, unsigned long);
++ format_ascii(buf, ulong_arg, 0, 0);
++ } else {
++ ulonglong_arg = va_arg(args, unsigned long long);
++ format_ascii(buf, ulonglong_arg, 0, 0);
++ }
++ write_str(&str, buf, &count);
++ restart = 1;
++ continue;
++ case 'P':
++ is_cap = 1;
++ case 'p':
++ ulong_arg = va_arg(args, unsigned long);
++ format_ascii(buf, ulong_arg, 1, is_cap);
++ write_str(&str, is_cap ? "0X" : "0x", &count);
++ write_str(&str, buf, &count);
++ restart = 1;
++ continue;
++ case 'X':
++ is_cap = 1;
++ case 'x':
++ if (is_long == 0) {
++ uint_arg = va_arg(args, unsigned int);
++ format_ascii(buf, uint_arg, 1, is_cap);
++ } else if (is_long == 1) {
++ ulong_arg = va_arg(args, unsigned long);
++ format_ascii(buf, ulong_arg, 1, is_cap);
++ } else {
++ ulonglong_arg = va_arg(args, unsigned long long);
++ format_ascii(buf, ulonglong_arg, 1, is_cap);
++ }
++ write_str(&str, buf, &count);
++ restart = 1;
++ continue;
++ default:
++ buf[pos++] = c;
++ buf[pos] = '\0';
++ write_str(&str, buf, &count);
++ restart = 1;
++ continue;
++ }
++ } while ((c = *fmt++));
++
++ if (str)
++ *str = '\0';
++ return count;
++}
- while (*ptr)
- *bp++ = *(ptr++); /* putchar(*(ptr++)); */
- break;
-+ return count;
-+}
-
-- case 'c': *bp++ = (*(dataptr++))&0xff;
-- /* putchar((*(dataptr++))&0xff); */
-- break;
+void
+grub_printf (char *fmt, ...)
+{
+ va_list ap;
-- case 's':
-- ptr = (char *) (*(dataptr++));
+- case 'c': *bp++ = (*(dataptr++))&0xff;
+- /* putchar((*(dataptr++))&0xff); */
+- break;
+ va_start (ap, fmt);
+ grub_vsprintf (0, fmt, ap);
+ va_end (ap);
+}
-- while ((c = *ptr++) != 0)
-- *bp++ = c; /* putchar(c); */
-- break;
-- }
-- }
+- case 's':
+- ptr = (char *) (*(dataptr++));
+#ifndef STAGE1_5
+int
+grub_sprintf (char *str, const char *fmt, ...)
+{
+ va_list ap;
+ int ret;
-+
+
+- while ((c = *ptr++) != 0)
+- *bp++ = c; /* putchar(c); */
+- break;
+- }
+- }
+ va_start (ap, fmt);
+ ret = grub_vsprintf (str, fmt, ap);
+ va_end (ap);
@@ -33205,7 +37794,7 @@
}
-@@ -1046,13 +1089,15 @@ grub_putchar (int c)
+@@ -1046,13 +1208,15 @@ grub_putchar (int c)
the following grub_printf call will print newlines. */
count_lines = -1;
@@ -33222,7 +37811,7 @@
do
{
-@@ -1090,7 +1135,7 @@ void
+@@ -1090,7 +1254,7 @@ void
cls (void)
{
/* If the terminal is dumb, there is no way to clean the terminal. */
@@ -33231,7 +37820,7 @@
grub_putchar ('\n');
else
current_term->cls ();
-@@ -1174,39 +1219,41 @@ grub_strlen (const char *str)
+@@ -1174,39 +1338,41 @@ grub_strlen (const char *str)
}
#endif /* ! STAGE1_5 */
@@ -33294,7 +37883,7 @@
if ((addr < RAW_ADDR (0x1000))
|| (addr < RAW_ADDR (0x100000)
&& RAW_ADDR (mbi.mem_lower * 1024) < (addr + len))
-@@ -1215,12 +1262,23 @@ memcheck (int addr, int len)
+@@ -1215,12 +1381,23 @@ memcheck (int addr, int len)
errnum = ERR_WONT_FIT;
return ! errnum;
@@ -33319,7 +37908,7 @@
{
/* This assembly code is stolen from
linux-2.2.2/include/asm-i386/string.h. This is not very fast
-@@ -1258,7 +1316,7 @@ grub_memset (void *start, int c, int len)
+@@ -1258,7 +1435,7 @@ grub_memset (void *start, int c, int len)
{
char *p = start;
@@ -33656,7 +38245,7 @@
#define BLK_BLKLIST_INC_VAL 8
#endif /* NO_BLOCK_FILES */
diff --git a/stage2/fsys_ext2fs.c b/stage2/fsys_ext2fs.c
-index 560048f..571ba87 100644
+index 560048f..1c07035 100644
--- a/stage2/fsys_ext2fs.c
+++ b/stage2/fsys_ext2fs.c
@@ -79,7 +79,52 @@ struct ext2_super_block
@@ -33781,13 +38370,16 @@
{
return 0;
}
-@@ -566,12 +614,10 @@ ext2fs_dir (char *dirname)
+@@ -565,13 +613,12 @@ ext2fs_dir (char *dirname)
+ /* reset indirect blocks! */
mapblock2 = mapblock1 = -1;
- raw_inode = INODE +
+- raw_inode = INODE +
- ((current_ino - 1)
- & (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode) - 1));
-+ ((current_ino - 1) & (EXT2_INODES_PER_BLOCK (SUPERBLOCK) - 1));
++ raw_inode = (struct ext2_inode *)((char *)INODE +
++ ((current_ino - 1) & (EXT2_INODES_PER_BLOCK (SUPERBLOCK) - 1)) *
++ EXT2_INODE_SIZE (SUPERBLOCK));
#ifdef E2DEBUG
printf ("ipb=%d, sizeof(inode)=%d\n",
- (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)),
@@ -33797,7 +38389,7 @@
printf ("offset into inode table block=%d\n", (int) raw_inode - (int) INODE);
for (i = (unsigned char *) INODE; i <= (unsigned char *) raw_inode;
diff --git a/stage2/fsys_fat.c b/stage2/fsys_fat.c
-index f40e658..eccd3dd 100644
+index f40e658..70a4614 100644
--- a/stage2/fsys_fat.c
+++ b/stage2/fsys_fat.c
@@ -54,8 +54,8 @@ struct fat_superblock
@@ -33811,7 +38403,16 @@
{
__asm__ ("bsfl %1,%0"
: "=r" (word)
-@@ -84,9 +84,9 @@ fat_mount (void)
+@@ -71,6 +71,8 @@ fat_mount (void)
+
+ /* Check partition type for harddisk */
+ if (((current_drive & 0x80) || (current_slice != 0))
++ && (current_slice != PC_SLICE_TYPE_EXT2FS)
++ && (current_slice != PC_SLICE_TYPE_LINUX_RAID)
+ && ! IS_PC_SLICE_TYPE_FAT (current_slice)
+ && (! IS_PC_SLICE_TYPE_BSD_WITH_FS (current_slice, FS_MSDOS)))
+ return 0;
+@@ -84,9 +86,9 @@ fat_mount (void)
if (bpb.sects_per_clust == 0)
return 0;
Index: grub.spec
===================================================================
RCS file: /cvs/extras/rpms/grub/devel/grub.spec,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -r1.63 -r1.64
--- grub.spec 19 Feb 2008 19:41:13 -0000 1.63
+++ grub.spec 27 Feb 2008 16:08:23 -0000 1.64
@@ -1,6 +1,6 @@
Name: grub
Version: 0.97
-Release: 22%{?dist}
+Release: 23%{?dist}
Summary: GRUB - the Grand Unified Boot Loader.
Group: System Environment/Base
License: GPLv2+
@@ -17,7 +17,6 @@
URL: http://www.gnu.org/software/%{name}/
Source0: ftp://alpha.gnu.org/gnu/%{name}/%{name}-%{version}.tar.gz
Patch0: grub-fedora-9.patch
-Patch1: grub-support-256byte-inode.patch
%description
GRUB (Grand Unified Boot Loader) is an experimental boot loader
@@ -28,7 +27,6 @@
%prep
%setup -q
%patch0 -p1 -b .fedora-9
-%patch1 -p1 -b .256byte-inode
%build
autoreconf
@@ -39,18 +37,16 @@
CFLAGS="$CFLAGS -Wno-pointer-sign"
fi
export CFLAGS
-%ifarch x86_64
%configure --sbindir=/sbin --disable-auto-linux-mem-opt --datarootdir=%{_datadir} --with-platform=efi
make
rm -fr $RPM_BUILD_ROOT
%makeinstall sbindir=${RPM_BUILD_ROOT}/sbin
-mv ${RPM_BUILD_ROOT}/sbin/grub ${RPM_BUILD_ROOT}/sbin/grub-efi
+#mv ${RPM_BUILD_ROOT}/sbin/grub ${RPM_BUILD_ROOT}/sbin/grub-efi
make clean
autoreconf
autoconf
CFLAGS="$CFLAGS -static"
export CFLAGS
-%endif
%configure --sbindir=/sbin --disable-auto-linux-mem-opt --datarootdir=%{_datadir}
make
@@ -88,11 +84,12 @@
%{_infodir}/multiboot*
%{_mandir}/man*/*
%{_datadir}/grub
-%ifarch x86_64
-/sbin/grub-efi
-%endif
+#/sbin/grub-efi
%changelog
+* Wed Feb 27 2008 Peter Jones <pjones at redhat.com> - 0.97-23
+- Enable EFI on i386, update to newest git head.
+
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng at fedoraproject.org> - 0.97-22
- Autorebuild for GCC 4.3
--- grub-support-256byte-inode.patch DELETED ---
- Previous message (by thread): rpms/avahi/OLPC-2 avahi-no-publish-workstation.patch, NONE, 1.1 avahi.spec, 1.90, 1.91
- Next message (by thread): rpms/komparator/devel .cvsignore, 1.3, 1.4 komparator.spec, 1.4, 1.5 sources, 1.3, 1.4
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list