mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
The patch file 00cvs is an import of a new upstream version of grub1 from upstream CVS. Unfortunately, in the period covered by the update, upstream changed the documentation licence from a simple permissive licence, to the GNU "Free Documentation Licence" with Front and Back Cover Texts. The Debian Project is of the view that use the Front and Back Cover Texts feature of the GFDL makes the resulting document not Free Software, because of the mandatory redistribution of these immutable texts. (Personally, I agree.) This is awkward because Debian do not want to ship non-free content. So the Debian maintainers need to launder the upstream source code, to remove the troublesome files. This is an extra step when incorporating new upstream versions. It's particularly annoying for security response, which often involves rebasing onto a new upstream release. grub1 is obsolete and the last change to Xen's PV grub1 stubdom code was in 2016. Furthermore, the grub1 documentation is not built and installed by the Xen pv-grub stubdom Makefiles. Therefore, remove all docs changes from stubdom/grub.patches. This means that there are now no longer any GFDL-licenced grub docs in xen.git. There is no user impact, and Debian is helped. This change would complicate any attempts to update to a new version of upstream grub1, but it seems unlikely that such a thing will ever happen. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> CC: Doug Goldstein <cardoe@cardoe.com> CC: Juergen Gross <jgross@suse.com> CC: pkg-xen-devel@lists.alioth.debian.org Acked-by: George Dunlap <george.dunlap@citrix.com> Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
1023 lines
36 KiB
Plaintext
1023 lines
36 KiB
Plaintext
diff -uprN grub-0.97/acinclude.m4 grub/acinclude.m4
|
|
--- grub-0.97/acinclude.m4 2004-04-27 21:48:06.000000000 +0100
|
|
+++ grub/acinclude.m4 2007-11-05 01:29:46.000000000 +0000
|
|
@@ -57,7 +57,7 @@ else
|
|
fi
|
|
grub_cv_prog_objcopy_absolute=yes
|
|
for link_addr in 2000 8000 7C00; do
|
|
- if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec]); then :
|
|
+ if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} ${LDFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec]); then :
|
|
else
|
|
AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr])
|
|
fi
|
|
diff -uprN grub-0.97/ChangeLog grub/ChangeLog
|
|
--- grub-0.97/ChangeLog 2005-05-08 03:47:02.000000000 +0100
|
|
+++ grub/ChangeLog 2008-05-20 12:04:18.000000000 +0100
|
|
@@ -1,3 +1,127 @@
|
|
+2008-05-20 Robert Millan <rmh@aybabtu.com>
|
|
+
|
|
+ * netboot/cs89x0.c: Fix license violation.
|
|
+ * netboot/cs89x0.h: Likewise.
|
|
+
|
|
+2008-04-10 Pavel Roskin <proski@gnu.org>
|
|
+
|
|
+ * configure.ac: Always use "_cv_" in cache variables for
|
|
+ compatibility with Autoconf 2.62.
|
|
+
|
|
+2008-03-28 Robert Millan <rmh@aybabtu.com>
|
|
+
|
|
+ Surpass 1 TiB disk addressing limit. Note: there are no plans to handle
|
|
+ the 2 TiB disk limit in GRUB Legacy, since that would need considerable
|
|
+ rework. If you have >2TiB disks, use GRUB 2 instead.
|
|
+
|
|
+ * grub/asmstub.c (biosdisk): Add unsigned qualifier to `sector'.
|
|
+ * stage2/bios.c (biosdisk): Likewise.
|
|
+ * stage2/disk_io.c (rawread, devread, rawwrite, devwrite): Likewise.
|
|
+ * stage2/shared.h (rawread, devread, rawwrite, devwrite): Likewise.
|
|
+ * lib/device.c (get_drive_geometry): Replace BLKGETSIZE with
|
|
+ BLKGETSIZE64.
|
|
+
|
|
+2007-10-29 Pavel Roskin <proski@gnu.org>
|
|
+
|
|
+ * configure.ac: Test if '--build-id=none' is supported by the
|
|
+ linker and add it to LDFLAGS if possible. Build ID causes
|
|
+ objcopy to generate huge binary files.
|
|
+ * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
|
|
+ linking, so that build ID doesn't break the test.
|
|
+ * stage1/Makefile.am: Preserve LDFLAGS, use stage1_exec_LDFLAGS.
|
|
+
|
|
+2007-02-22 Pavel Roskin <proski@gnu.org>
|
|
+
|
|
+ * stage2/iso9660.h: Remove unnecessary packed attributes.
|
|
+
|
|
+2007-02-22 Robert Millan <rmh@aybabtu.com>
|
|
+
|
|
+ * util/mkbimage: Update my email address, and remove my name from
|
|
+ some places where unnecessary credit is given.
|
|
+
|
|
+2006-09-10 Pavel Roskin <proski@gnu.org>
|
|
+
|
|
+ * netboot/natsemi.c: Fix compile error with gcc 4.1.1. Cast
|
|
+ cannot make a variable volatile - it should be declared as such.
|
|
+ * netboot/sis900.c: Likewise.
|
|
+
|
|
+2006-09-08 Pavel Roskin <proski@gnu.org>
|
|
+
|
|
+ * netboot/etherboot.h: Remove incorrect extern declarations of
|
|
+ the variables later declared static. Move BOOTP_DATA_ADDR ...
|
|
+ * netboot/main.c: ... here. Eliminate end_of_rfc1533 - it's
|
|
+ write-only.
|
|
+
|
|
+2006-06-24 Yoshinori K. Okuji <okuji@enbug.org>
|
|
+
|
|
+ * docs/grub.texi: Changed the license term to the GNU Free
|
|
+ Documentation License 1.2.
|
|
+
|
|
+ * docs/multiboot.texi: Reformatted to show the license term
|
|
+ and the version number explicitly.
|
|
+
|
|
+ * docs/fdl.texi: New file.
|
|
+
|
|
+ * docs/Makefile.am (grub_TEXINFOS): Added fdl.texi.
|
|
+
|
|
+2006-06-24 Robert Millan <robertmh@gnu.org>
|
|
+
|
|
+ * lib/device.c (write_to_partition): /dev/ataraid/ and /dev/rd/
|
|
+ partitions have a "p" prefix. Add it.
|
|
+
|
|
+2006-06-24 Robert Millan <robertmh@gnu.org>
|
|
+
|
|
+ * lib/device.c (get_i2o_disk_name): New function.
|
|
+ (init_device_map) [__linux__]: Add support for I2O devices.
|
|
+
|
|
+2006-05-02 Pavel Roskin <proski@gnu.org>
|
|
+
|
|
+ * stage2/stage2.c (run_menu): Fix "savedefault" to save only top
|
|
+ level menu positions. Remember current position when calling a
|
|
+ submenu. Don't recalculate it when booting from a submenu.
|
|
+
|
|
+ * grub/main.c (main): Make sure the boot drive number doesn't
|
|
+ exceed 255.
|
|
+
|
|
+2006-05-02 Vesa Jaaskelainen <chaac@nic.fi>
|
|
+
|
|
+ * stage2/shared.h (vbe_mode): Back ported aligment fix from GRUB 2
|
|
+ to GRUB Legacy. Problem reported by Gerardo Richarte.
|
|
+
|
|
+2006-04-23 Robert Millan <robertmh@gnu.org>
|
|
+
|
|
+ * grub/asmstub.c (get_diskinfo): Optimize sysctl routine.
|
|
+
|
|
+2006-04-20 Robert Millan <robertmh@gnu.org>
|
|
+
|
|
+ Fixes for kernel of FreeBSD:
|
|
+ * grub/asmstub.c (get_diskinfo): Toggle "kern.geom.debugflags" sysctl
|
|
+ before opening a device for writing.
|
|
+ * util/grub-install.in: Devices don't have this "r" prefix anymore.
|
|
+
|
|
+2006-04-16 Yoshinori K. Okuji <okuji@enbug.org>
|
|
+
|
|
+ * docs/multiboot.texi: Correct the offset of address
|
|
+ fields. Reported by Jeroen Dekkers.
|
|
+
|
|
+2006-03-21 Yoshinori K. Okuji <okuji@enbug.org>
|
|
+
|
|
+ * stage2/builtins.c (setup_func): Specify the size of DEVICE to
|
|
+ grub_strncat instead of a strange number 256. Reported by Vitaly
|
|
+ Fertman <vitaly@namesys.com>.
|
|
+
|
|
+2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
|
|
+
|
|
+ * docs/multiboot.texi: Fix a bug in the byte order of
|
|
+ boot_device. I hope this won't affect any OS image.
|
|
+ Increased the version number to 0.6.94.
|
|
+
|
|
+2005-09-28 Yoshinori K. Okuji <okuji@enbug.org>
|
|
+
|
|
+ * stage2/boot.c (load_image): Even if an OS image is an ELF
|
|
+ object, use the a.out kludge if MULTIBOOT_AOUT_KLUDGE is
|
|
+ specified.
|
|
+
|
|
2005-05-08 Yoshinori K. Okuji <okuji@enbug.org>
|
|
|
|
* configure.ac (AC_INIT): Upgraded to 0.97.
|
|
diff -uprN grub-0.97/configure grub/configure
|
|
--- grub-0.97/configure 2005-05-08 03:48:12.000000000 +0100
|
|
+++ grub/configure 2007-11-05 01:29:46.000000000 +0000
|
|
@@ -3694,6 +3694,64 @@ if test "x$undef_flag" = xyes; then
|
|
CPPFLAGS="$CPPFLAGS -Wundef"
|
|
fi
|
|
|
|
+# Check if build ID can be disabled in the linker
|
|
+echo "$as_me:$LINENO: checking whether linker accepts \`--build-id=none'" >&5
|
|
+echo $ECHO_N "checking whether linker accepts \`--build-id=none'... $ECHO_C" >&6
|
|
+save_LDFLAGS="$LDFLAGS"
|
|
+LDFLAGS="$LDFLAGS -Wl,--build-id=none"
|
|
+cat >conftest.$ac_ext <<_ACEOF
|
|
+/* confdefs.h. */
|
|
+_ACEOF
|
|
+cat confdefs.h >>conftest.$ac_ext
|
|
+cat >>conftest.$ac_ext <<_ACEOF
|
|
+/* end confdefs.h. */
|
|
+
|
|
+int
|
|
+main ()
|
|
+{
|
|
+
|
|
+ ;
|
|
+ return 0;
|
|
+}
|
|
+_ACEOF
|
|
+rm -f conftest.$ac_objext conftest$ac_exeext
|
|
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
|
|
+ (eval $ac_link) 2>conftest.er1
|
|
+ ac_status=$?
|
|
+ grep -v '^ *+' conftest.er1 >conftest.err
|
|
+ rm -f conftest.er1
|
|
+ cat conftest.err >&5
|
|
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
+ (exit $ac_status); } &&
|
|
+ { ac_try='test -z "$ac_c_werror_flag"
|
|
+ || test ! -s conftest.err'
|
|
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
|
+ (eval $ac_try) 2>&5
|
|
+ ac_status=$?
|
|
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
+ (exit $ac_status); }; } &&
|
|
+ { ac_try='test -s conftest$ac_exeext'
|
|
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
|
+ (eval $ac_try) 2>&5
|
|
+ ac_status=$?
|
|
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
+ (exit $ac_status); }; }; then
|
|
+ build_id_flag=yes
|
|
+else
|
|
+ echo "$as_me: failed program was:" >&5
|
|
+sed 's/^/| /' conftest.$ac_ext >&5
|
|
+
|
|
+build_id_flag=no
|
|
+fi
|
|
+rm -f conftest.err conftest.$ac_objext \
|
|
+ conftest$ac_exeext conftest.$ac_ext
|
|
+echo "$as_me:$LINENO: result: $build_id_flag" >&5
|
|
+echo "${ECHO_T}$build_id_flag" >&6
|
|
+LDFLAGS="$save_LDFLAGS"
|
|
+if test "x$build_id_flag" = xyes; then
|
|
+ LDFLAGS="$LDFLAGS -Wl,--build-id=none"
|
|
+fi
|
|
+
|
|
if test "x$with_binutils" != x; then
|
|
# Extract the first word of "objcopy", so it can be a program name with args.
|
|
set dummy objcopy; ac_word=$2
|
|
@@ -3892,7 +3950,7 @@ echo "$as_me: error: ${CC-cc} cannot com
|
|
fi
|
|
grub_cv_prog_objcopy_absolute=yes
|
|
for link_addr in 2000 8000 7C00; do
|
|
- if { ac_try='${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec'
|
|
+ if { ac_try='${CC-cc} ${CFLAGS} ${LDFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec'
|
|
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
|
(eval $ac_try) 2>&5
|
|
ac_status=$?
|
|
diff -uprN grub-0.97/configure.ac grub/configure.ac
|
|
--- grub-0.97/configure.ac 2005-05-08 03:36:03.000000000 +0100
|
|
+++ grub/configure.ac 2008-04-10 23:26:50.000000000 +0100
|
|
@@ -86,13 +86,13 @@ if test "x$ac_cv_prog_gcc" = xyes; then
|
|
fi
|
|
STAGE1_CFLAGS="-O2"
|
|
GRUB_CFLAGS="-O2"
|
|
- AC_CACHE_CHECK([whether optimization for size works], size_flag, [
|
|
+ AC_CACHE_CHECK([whether optimization for size works], grub_cv_cc_Os, [
|
|
saved_CFLAGS=$CFLAGS
|
|
CFLAGS="-Os -g"
|
|
- AC_TRY_COMPILE(, , size_flag=yes, size_flag=no)
|
|
+ AC_TRY_COMPILE(, , grub_cv_cc_Os=yes, grub_cv_cc_Os=no)
|
|
CFLAGS=$saved_CFLAGS
|
|
])
|
|
- if test "x$size_flag" = xyes; then
|
|
+ if test "x$grub_cv_cc_Os" = xyes; then
|
|
STAGE2_CFLAGS="-Os"
|
|
else
|
|
STAGE2_CFLAGS="-O2 -fno-strength-reduce -fno-unroll-loops"
|
|
@@ -100,16 +100,16 @@ if test "x$ac_cv_prog_gcc" = xyes; then
|
|
# OpenBSD has a GCC extension for protecting applications from
|
|
# stack smashing attacks, but GRUB doesn't want this feature.
|
|
AC_CACHE_CHECK([whether gcc has -fno-stack-protector],
|
|
- no_stack_protector_flag, [
|
|
+ grub_cv_cc_no_stack_protector, [
|
|
saved_CFLAGS=$CFLAGS
|
|
CFLAGS="-fno-stack-protector"
|
|
AC_TRY_COMPILE(,
|
|
,
|
|
- no_stack_protector_flag=yes,
|
|
- no_stack_protector_flag=no)
|
|
+ grub_cv_cc_no_stack_protector=yes,
|
|
+ grub_cv_cc_no_stack_protector=no)
|
|
CFLAGS=$saved_CFLAGS
|
|
])
|
|
- if test "x$no_stack_protector_flag" = xyes; then
|
|
+ if test "x$grub_cv_cc_no_stack_protector" = xyes; then
|
|
STAGE2_CFLAGS="$STAGE2_CFLAGS -fno-stack-protector"
|
|
fi
|
|
fi
|
|
@@ -123,33 +123,44 @@ AC_SUBST(GRUB_CFLAGS)
|
|
CPPFLAGS="$CPPFLAGS -Wall -Wmissing-prototypes -Wunused -Wshadow"
|
|
CPPFLAGS="$CPPFLAGS -Wpointer-arith"
|
|
|
|
-AC_CACHE_CHECK([whether -Wundef works], undef_flag, [
|
|
+AC_CACHE_CHECK([whether -Wundef works], grub_cv_cc_Wundef, [
|
|
saved_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="-Wundef"
|
|
- AC_TRY_COMPILE(, , undef_flag=yes, undef_flag=no)
|
|
+ AC_TRY_COMPILE(, , grub_cv_cc_Wundef=yes, grub_cv_cc_Wundef=no)
|
|
CPPFLAGS="$saved_CPPFLAGS"
|
|
])
|
|
|
|
# The options `-falign-*' are supported by gcc 3.0 or later.
|
|
# Probably it is sufficient to only check for -falign-loops.
|
|
-AC_CACHE_CHECK([whether -falign-loops works], [falign_loop_flag], [
|
|
+AC_CACHE_CHECK([whether -falign-loops works], [grub_cv_cc_falign_loop], [
|
|
saved_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS="-falign-loops=1"
|
|
- AC_TRY_COMPILE(, , [falign_loop_flag=yes], [falign_loop_flag=no])
|
|
+ AC_TRY_COMPILE(, , [grub_cv_cc_falign_loop=yes], [grub_cv_cc_falign_loop=no])
|
|
CPPFLAGS="$saved_CPPFLAGS"
|
|
])
|
|
|
|
# Force no alignment to save space.
|
|
-if test "x$falign_loop_flag" = xyes; then
|
|
+if test "x$grub_cv_cc_falign_loop" = xyes; then
|
|
CPPFLAGS="$CPPFLAGS -falign-jumps=1 -falign-loops=1 -falign-functions=1"
|
|
else
|
|
CPPFLAGS="$CPPFLAGS -malign-jumps=1 -malign-loops=1 -malign-functions=1"
|
|
fi
|
|
|
|
-if test "x$undef_flag" = xyes; then
|
|
+if test "x$grub_cv_cc_Wundef" = xyes; then
|
|
CPPFLAGS="$CPPFLAGS -Wundef"
|
|
fi
|
|
|
|
+# Check if build ID can be disabled in the linker
|
|
+AC_MSG_CHECKING([whether linker accepts `--build-id=none'])
|
|
+save_LDFLAGS="$LDFLAGS"
|
|
+LDFLAGS="$LDFLAGS -Wl,--build-id=none"
|
|
+AC_TRY_LINK(, , build_id_flag=yes, build_id_flag=no)
|
|
+AC_MSG_RESULT([$build_id_flag])
|
|
+LDFLAGS="$save_LDFLAGS"
|
|
+if test "x$build_id_flag" = xyes; then
|
|
+ LDFLAGS="$LDFLAGS -Wl,--build-id=none"
|
|
+fi
|
|
+
|
|
if test "x$with_binutils" != x; then
|
|
dnl AC_PATH_TOOL(OBJCOPY, objcopy, , "$with_binutils:$PATH")
|
|
AC_PATH_PROG(OBJCOPY, objcopy, , "$with_binutils:$PATH")
|
|
diff -uprN grub-0.97/grub/asmstub.c grub/grub/asmstub.c
|
|
--- grub-0.97/grub/asmstub.c 2005-02-16 20:45:14.000000000 +0000
|
|
+++ grub/grub/asmstub.c 2008-03-28 13:22:28.000000000 +0000
|
|
@@ -55,6 +55,10 @@ int grub_stage2 (void);
|
|
# endif /* ! BLKFLSBUF */
|
|
#endif /* __linux__ */
|
|
|
|
+#if defined(__FreeBSD_kernel__) || defined(__FreeBSD__)
|
|
+# include <sys/sysctl.h>
|
|
+#endif
|
|
+
|
|
/* We want to prevent any circularararity in our stubs, as well as
|
|
libc name clashes. */
|
|
#define WITHOUT_LIBC_STUBS 1
|
|
@@ -777,7 +781,39 @@ get_diskinfo (int drive, struct geometry
|
|
|
|
/* Open read/write, or read-only if that failed. */
|
|
if (! read_only)
|
|
- disks[drive].flags = open (devname, O_RDWR);
|
|
+ {
|
|
+/* By default, kernel of FreeBSD does not allow overwriting MBR */
|
|
+#if defined(__FreeBSD_kernel__) || defined(__FreeBSD__)
|
|
+#define GEOM_SYSCTL "kern.geom.debugflags"
|
|
+ int old_flags, flags;
|
|
+ size_t sizeof_int = sizeof (int);
|
|
+
|
|
+ if (sysctlbyname (GEOM_SYSCTL, &old_flags, &sizeof_int, NULL, 0) != 0)
|
|
+ grub_printf ("failed to get " GEOM_SYSCTL "sysctl: %s\n", strerror (errno));
|
|
+
|
|
+ if ((old_flags & 0x10) == 0)
|
|
+ {
|
|
+ /* "allow foot shooting", see geom(4) */
|
|
+ flags = old_flags | 0x10;
|
|
+
|
|
+ if (sysctlbyname (GEOM_SYSCTL, NULL, NULL, &flags, sizeof (int)) != 0)
|
|
+ {
|
|
+ flags = old_flags;
|
|
+ grub_printf ("failed to set " GEOM_SYSCTL "sysctl: %s\n", strerror (errno));
|
|
+ }
|
|
+ }
|
|
+ else
|
|
+ flags = old_flags;
|
|
+#endif
|
|
+ disks[drive].flags = open (devname, O_RDWR);
|
|
+#if defined(__FreeBSD_kernel__) || defined(__FreeBSD__)
|
|
+ if (flags != old_flags)
|
|
+ {
|
|
+ if (sysctlbyname (GEOM_SYSCTL, NULL, NULL, &old_flags, sizeof (int)) != 0)
|
|
+ grub_printf ("failed to set " GEOM_SYSCTL "sysctl: %s\n", strerror (errno));
|
|
+ }
|
|
+#endif
|
|
+ }
|
|
|
|
if (disks[drive].flags == -1)
|
|
{
|
|
@@ -926,7 +962,7 @@ hex_dump (void *buf, size_t size)
|
|
|
|
int
|
|
biosdisk (int subfunc, int drive, struct geometry *geometry,
|
|
- int sector, int nsec, int segment)
|
|
+ unsigned int sector, int nsec, int segment)
|
|
{
|
|
char *buf;
|
|
int fd = geometry->flags;
|
|
diff -uprN grub-0.97/grub/main.c grub/grub/main.c
|
|
--- grub-0.97/grub/main.c 2003-07-09 12:45:36.000000000 +0100
|
|
+++ grub/grub/main.c 2006-05-05 22:43:46.000000000 +0100
|
|
@@ -32,6 +32,7 @@ int grub_stage2 (void);
|
|
#define WITHOUT_LIBC_STUBS 1
|
|
#include <shared.h>
|
|
#include <term.h>
|
|
+#include <device.h>
|
|
|
|
char *program_name = 0;
|
|
int use_config_file = 1;
|
|
@@ -192,6 +193,12 @@ main (int argc, char **argv)
|
|
perror ("strtoul");
|
|
exit (1);
|
|
}
|
|
+ if (boot_drive >= NUM_DISKS)
|
|
+ {
|
|
+ fprintf (stderr, "boot_drive should be from 0 to %d\n",
|
|
+ NUM_DISKS - 1);
|
|
+ exit (1);
|
|
+ }
|
|
break;
|
|
|
|
case OPT_NO_CONFIG_FILE:
|
|
diff -uprN grub-0.97/lib/device.c grub/lib/device.c
|
|
--- grub-0.97/lib/device.c 2005-03-28 00:14:25.000000000 +0100
|
|
+++ grub/lib/device.c 2008-03-28 13:22:28.000000000 +0000
|
|
@@ -69,9 +69,9 @@ struct hd_geometry
|
|
# ifndef CDROM_GET_CAPABILITY
|
|
# define CDROM_GET_CAPABILITY 0x5331 /* get capabilities */
|
|
# endif /* ! CDROM_GET_CAPABILITY */
|
|
-# ifndef BLKGETSIZE
|
|
-# define BLKGETSIZE _IO(0x12,96) /* return device size */
|
|
-# endif /* ! BLKGETSIZE */
|
|
+# ifndef BLKGETSIZE64
|
|
+# define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return device size */
|
|
+# endif /* ! BLKGETSIZE64 */
|
|
#endif /* __linux__ */
|
|
|
|
/* Use __FreeBSD_kernel__ instead of __FreeBSD__ for compatibility with
|
|
@@ -152,19 +152,19 @@ get_drive_geometry (struct geometry *geo
|
|
/* Linux */
|
|
{
|
|
struct hd_geometry hdg;
|
|
- unsigned long nr;
|
|
+ unsigned long long nr;
|
|
|
|
if (ioctl (fd, HDIO_GETGEO, &hdg))
|
|
goto fail;
|
|
|
|
- if (ioctl (fd, BLKGETSIZE, &nr))
|
|
+ if (ioctl (fd, BLKGETSIZE64, &nr))
|
|
goto fail;
|
|
|
|
/* Got the geometry, so save it. */
|
|
geom->cylinders = hdg.cylinders;
|
|
geom->heads = hdg.heads;
|
|
geom->sectors = hdg.sectors;
|
|
- geom->total_sectors = nr;
|
|
+ geom->total_sectors = nr / 512;
|
|
|
|
goto success;
|
|
}
|
|
@@ -407,6 +407,12 @@ get_ataraid_disk_name (char *name, int u
|
|
{
|
|
sprintf (name, "/dev/ataraid/d%c", unit + '0');
|
|
}
|
|
+
|
|
+static void
|
|
+get_i2o_disk_name (char *name, char unit)
|
|
+{
|
|
+ sprintf (name, "/dev/i2o/hd%c", unit);
|
|
+}
|
|
#endif
|
|
|
|
/* Check if DEVICE can be read. If an error occurs, return zero,
|
|
@@ -801,6 +807,29 @@ init_device_map (char ***map, const char
|
|
}
|
|
}
|
|
}
|
|
+
|
|
+ /* This is for I2O - we have /dev/i2o/hd<logical drive><partition> */
|
|
+ {
|
|
+ int unit;
|
|
+
|
|
+ for (unit = 'a'; unit < 'f'; unit++)
|
|
+ {
|
|
+ char name[24];
|
|
+
|
|
+ get_i2o_disk_name (name, unit);
|
|
+ if (check_device (name))
|
|
+ {
|
|
+ (*map)[num_hd + 0x80] = strdup (name);
|
|
+ assert ((*map)[num_hd + 0x80]);
|
|
+
|
|
+ /* If the device map file is opened, write the map. */
|
|
+ if (fp)
|
|
+ fprintf (fp, "(hd%d)\t%s\n", num_hd, name);
|
|
+
|
|
+ num_hd++;
|
|
+ }
|
|
+ }
|
|
+ }
|
|
#endif /* __linux__ */
|
|
|
|
/* OK, close the device map file if opened. */
|
|
@@ -861,6 +890,12 @@ write_to_partition (char **map, int driv
|
|
if (strcmp (dev + strlen(dev) - 5, "/disc") == 0)
|
|
strcpy (dev + strlen(dev) - 5, "/part");
|
|
}
|
|
+ else
|
|
+ {
|
|
+ if ((strncmp (dev, "/dev/ataraid/", 13) == 0) ||
|
|
+ (strncmp (dev, "/dev/rd/", 8) == 0))
|
|
+ strcpy (dev + strlen(dev), "p");
|
|
+ }
|
|
sprintf (dev + strlen(dev), "%d", ((partition >> 16) & 0xFF) + 1);
|
|
|
|
/* Open the partition. */
|
|
diff -uprN grub-0.97/netboot/3c509.c grub/netboot/3c509.c
|
|
--- grub-0.97/netboot/3c509.c 2003-07-09 12:45:37.000000000 +0100
|
|
+++ grub/netboot/3c509.c 2002-01-02 21:56:40.000000000 +0000
|
|
@@ -18,7 +18,7 @@ Author: Martin Renters.
|
|
|
|
3c509 support added by Serge Babkin (babkin@hq.icb.chel.su)
|
|
|
|
-$Id: 3c509.c,v 1.4 2002/01/02 21:56:40 okuji Exp $
|
|
+$Id: 3c509.c 609 2002-01-02 21:56:40Z okuji $
|
|
|
|
***************************************************************************/
|
|
|
|
diff -uprN grub-0.97/netboot/cs89x0.c grub/netboot/cs89x0.c
|
|
--- grub-0.97/netboot/cs89x0.c 2003-07-09 12:45:37.000000000 +0100
|
|
+++ grub/netboot/cs89x0.c 2008-05-20 12:04:18.000000000 +0100
|
|
@@ -1,3 +1,21 @@
|
|
+/**
|
|
+ Per an email message from Russ Nelson <nelson@crynwr.com> on
|
|
+ 18 March 2008 this file is now licensed under GPL Version 2.
|
|
+
|
|
+ From: Russ Nelson <nelson@crynwr.com>
|
|
+ Date: Tue, 18 Mar 2008 12:42:00 -0400
|
|
+ Subject: Re: [Etherboot-developers] cs89x0 driver in etherboot
|
|
+ -- quote from email
|
|
+ As copyright holder, if I say it doesn't conflict with the GPL,
|
|
+ then it doesn't conflict with the GPL.
|
|
+
|
|
+ However, there's no point in causing people's brains to overheat,
|
|
+ so yes, I grant permission for the code to be relicensed under the
|
|
+ GPLv2. Please make sure that this change in licensing makes its
|
|
+ way upstream. -russ
|
|
+ -- quote from email
|
|
+**/
|
|
+
|
|
/* cs89x0.c: A Crystal Semiconductor CS89[02]0 driver for etherboot. */
|
|
/*
|
|
Permission is granted to distribute the enclosed cs89x0.[ch] driver
|
|
diff -uprN grub-0.97/netboot/cs89x0.h grub/netboot/cs89x0.h
|
|
--- grub-0.97/netboot/cs89x0.h 2003-07-09 12:45:37.000000000 +0100
|
|
+++ grub/netboot/cs89x0.h 2008-05-20 12:04:18.000000000 +0100
|
|
@@ -1,3 +1,21 @@
|
|
+/**
|
|
+ Per an email message from Russ Nelson <nelson@crynwr.com> on
|
|
+ 18 March 2008 this file is now licensed under GPL Version 2.
|
|
+
|
|
+ From: Russ Nelson <nelson@crynwr.com>
|
|
+ Date: Tue, 18 Mar 2008 12:42:00 -0400
|
|
+ Subject: Re: [Etherboot-developers] cs89x0 driver in etherboot
|
|
+ -- quote from email
|
|
+ As copyright holder, if I say it doesn't conflict with the GPL,
|
|
+ then it doesn't conflict with the GPL.
|
|
+
|
|
+ However, there's no point in causing people's brains to overheat,
|
|
+ so yes, I grant permission for the code to be relicensed under the
|
|
+ GPLv2. Please make sure that this change in licensing makes its
|
|
+ way upstream. -russ
|
|
+ -- quote from email
|
|
+**/
|
|
+
|
|
/* Copyright, 1988-1992, Russell Nelson, Crynwr Software
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
diff -uprN grub-0.97/netboot/etherboot.h grub/netboot/etherboot.h
|
|
--- grub-0.97/netboot/etherboot.h 2003-07-09 12:45:37.000000000 +0100
|
|
+++ grub/netboot/etherboot.h 2006-09-08 13:56:22.000000000 +0100
|
|
@@ -531,9 +531,6 @@ extern int ip_abort;
|
|
extern int network_ready;
|
|
extern struct rom_info rom;
|
|
extern struct arptable_t arptable[MAX_ARP];
|
|
-extern struct bootpd_t bootp_data;
|
|
-#define BOOTP_DATA_ADDR (&bootp_data)
|
|
-extern unsigned char *end_of_rfc1533;
|
|
|
|
/* config.c */
|
|
extern struct nic nic;
|
|
diff -uprN grub-0.97/netboot/main.c grub/netboot/main.c
|
|
--- grub-0.97/netboot/main.c 2004-05-20 23:19:33.000000000 +0100
|
|
+++ grub/netboot/main.c 2006-09-08 13:56:22.000000000 +0100
|
|
@@ -56,7 +56,8 @@ static int vendorext_isvalid;
|
|
static unsigned long netmask;
|
|
static struct bootpd_t bootp_data;
|
|
static unsigned long xid;
|
|
-static unsigned char *end_of_rfc1533 = NULL;
|
|
+
|
|
+#define BOOTP_DATA_ADDR (&bootp_data)
|
|
|
|
#ifndef NO_DHCP_SUPPORT
|
|
#endif /* NO_DHCP_SUPPORT */
|
|
@@ -967,7 +968,6 @@ decode_rfc1533 (unsigned char *p, int bl
|
|
|
|
if (block == 0)
|
|
{
|
|
- end_of_rfc1533 = NULL;
|
|
vendorext_isvalid = 0;
|
|
|
|
if (grub_memcmp (p, rfc1533_cookie, 4))
|
|
@@ -1021,7 +1021,7 @@ decode_rfc1533 (unsigned char *p, int bl
|
|
}
|
|
else if (c == RFC1533_END)
|
|
{
|
|
- end_of_rfc1533 = endp = p;
|
|
+ endp = p;
|
|
continue;
|
|
}
|
|
else if (c == RFC1533_NETMASK)
|
|
diff -uprN grub-0.97/netboot/natsemi.c grub/netboot/natsemi.c
|
|
--- grub-0.97/netboot/natsemi.c 2003-07-09 12:45:38.000000000 +0100
|
|
+++ grub/netboot/natsemi.c 2006-09-10 08:26:10.000000000 +0100
|
|
@@ -608,7 +608,7 @@ natsemi_transmit(struct nic *nic,
|
|
const char *p) /* Packet */
|
|
{
|
|
u32 status, to, nstype;
|
|
- u32 tx_status;
|
|
+ volatile u32 tx_status;
|
|
|
|
/* Stop the transmitter */
|
|
outl(TxOff, ioaddr + ChipCmd);
|
|
@@ -647,7 +647,7 @@ natsemi_transmit(struct nic *nic,
|
|
|
|
to = currticks() + TX_TIMEOUT;
|
|
|
|
- while ((((volatile u32) tx_status=txd.cmdsts) & OWN) && (currticks() < to))
|
|
+ while (((tx_status=txd.cmdsts) & OWN) && (currticks() < to))
|
|
/* wait */ ;
|
|
|
|
if (currticks() >= to) {
|
|
diff -uprN grub-0.97/netboot/sis900.c grub/netboot/sis900.c
|
|
--- grub-0.97/netboot/sis900.c 2003-07-09 12:45:38.000000000 +0100
|
|
+++ grub/netboot/sis900.c 2006-09-10 08:26:10.000000000 +0100
|
|
@@ -901,7 +901,7 @@ sis900_transmit(struct nic *nic,
|
|
const char *p) /* Packet */
|
|
{
|
|
u32 status, to, nstype;
|
|
- u32 tx_status;
|
|
+ volatile u32 tx_status;
|
|
|
|
/* Stop the transmitter */
|
|
outl(TxDIS, ioaddr + cr);
|
|
@@ -940,7 +940,7 @@ sis900_transmit(struct nic *nic,
|
|
|
|
to = currticks() + TX_TIMEOUT;
|
|
|
|
- while ((((volatile u32) tx_status=txd.cmdsts) & OWN) && (currticks() < to))
|
|
+ while (((tx_status=txd.cmdsts) & OWN) && (currticks() < to))
|
|
/* wait */ ;
|
|
|
|
if (currticks() >= to) {
|
|
diff -uprN grub-0.97/netboot/sk_g16.c grub/netboot/sk_g16.c
|
|
--- grub-0.97/netboot/sk_g16.c 2003-07-09 12:45:38.000000000 +0100
|
|
+++ grub/netboot/sk_g16.c 2002-01-02 21:56:40.000000000 +0000
|
|
@@ -13,12 +13,12 @@ Changes to make it work with Etherboot b
|
|
*
|
|
* Module : sk_g16.c
|
|
*
|
|
- * Version : $Revision: 1.4 $
|
|
+ * Version : $Revision: 609 $
|
|
*
|
|
* Author : Patrick J.D. Weichmann
|
|
*
|
|
* Date Created : 94/05/26
|
|
- * Last Updated : $Date: 2002/01/02 21:56:40 $
|
|
+ * Last Updated : $Date: 2002-01-02 21:56:40 +0000 (mer 02 jan 2002) $
|
|
*
|
|
* Description : Schneider & Koch G16 Ethernet Device Driver for
|
|
* Linux Kernel >= 1.1.22
|
|
diff -uprN grub-0.97/netboot/sk_g16.h grub/netboot/sk_g16.h
|
|
--- grub-0.97/netboot/sk_g16.h 2003-07-09 12:45:38.000000000 +0100
|
|
+++ grub/netboot/sk_g16.h 2000-07-29 20:22:54.000000000 +0100
|
|
@@ -4,7 +4,7 @@
|
|
* of the GNU Public License, incorporated herein by reference.
|
|
*
|
|
* Module : sk_g16.h
|
|
- * Version : $Revision: 1.3 $
|
|
+ * Version : $Revision: 388 $
|
|
*
|
|
* Author : M.Hipp (mhipp@student.uni-tuebingen.de)
|
|
* changes by : Patrick J.D. Weichmann
|
|
@@ -15,8 +15,8 @@
|
|
* the am7990 (LANCE) chip used for writing a
|
|
* network device driver which uses this chip
|
|
*
|
|
- * $Log: sk_g16.h,v $
|
|
- * Revision 1.3 2000/07/29 19:22:54 okuji
|
|
+ * $Log$
|
|
+ * Revision 1.3 2000-07-29 19:22:54 okuji
|
|
* update the network support to etherboot-4.6.4.
|
|
*
|
|
-*/
|
|
diff -uprN grub-0.97/stage1/Makefile.am grub/stage1/Makefile.am
|
|
--- grub-0.97/stage1/Makefile.am 2004-07-16 12:44:56.000000000 +0100
|
|
+++ grub/stage1/Makefile.am 2007-11-05 01:29:46.000000000 +0000
|
|
@@ -5,7 +5,7 @@ CLEANFILES = $(nodist_pkglib_DATA)
|
|
|
|
# We can't use builtins or standard includes.
|
|
AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc
|
|
-LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00
|
|
+stage1_exec_LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00
|
|
|
|
noinst_PROGRAMS = stage1.exec
|
|
stage1_exec_SOURCES = stage1.S stage1.h
|
|
diff -uprN grub-0.97/stage1/Makefile.in grub/stage1/Makefile.in
|
|
--- grub-0.97/stage1/Makefile.in 2005-05-08 03:42:36.000000000 +0100
|
|
+++ grub/stage1/Makefile.in 2007-11-05 01:29:46.000000000 +0000
|
|
@@ -110,7 +110,7 @@ INSTALL_DATA = @INSTALL_DATA@
|
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
|
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
|
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
|
-LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00
|
|
+LDFLAGS = @LDFLAGS@
|
|
LIBOBJS = @LIBOBJS@
|
|
LIBS = @LIBS@
|
|
LTLIBOBJS = @LTLIBOBJS@
|
|
@@ -188,6 +188,7 @@ CLEANFILES = $(nodist_pkglib_DATA)
|
|
|
|
# We can't use builtins or standard includes.
|
|
AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc
|
|
+stage1_exec_LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00
|
|
stage1_exec_SOURCES = stage1.S stage1.h
|
|
SUFFIXES = .exec
|
|
all: all-am
|
|
diff -uprN grub-0.97/stage2/bios.c grub/stage2/bios.c
|
|
--- grub-0.97/stage2/bios.c 2004-03-27 16:34:04.000000000 +0000
|
|
+++ grub/stage2/bios.c 2008-03-28 13:22:28.000000000 +0000
|
|
@@ -47,7 +47,7 @@ extern int get_diskinfo_floppy (int driv
|
|
return the error number. Otherwise, return 0. */
|
|
int
|
|
biosdisk (int read, int drive, struct geometry *geometry,
|
|
- int sector, int nsec, int segment)
|
|
+ unsigned int sector, int nsec, int segment)
|
|
{
|
|
int err;
|
|
|
|
diff -uprN grub-0.97/stage2/boot.c grub/stage2/boot.c
|
|
--- grub-0.97/stage2/boot.c 2004-03-30 12:44:08.000000000 +0100
|
|
+++ grub/stage2/boot.c 2005-09-28 22:47:55.000000000 +0100
|
|
@@ -1,7 +1,7 @@
|
|
/* boot.c - load and bootstrap a kernel */
|
|
/*
|
|
* GRUB -- GRand Unified Bootloader
|
|
- * Copyright (C) 1999,2000,2001,2002,2003,2004 Free Software Foundation, Inc.
|
|
+ * Copyright (C) 1999,2000,2001,2002,2003,2004,2005 Free Software Foundation, Inc.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
@@ -96,7 +96,7 @@ load_image (char *kernel, char *arg, ker
|
|
lh = (struct linux_kernel_header *) buffer;
|
|
|
|
/* ELF loading supported if multiboot, FreeBSD and NetBSD. */
|
|
- if ((type == KERNEL_TYPE_MULTIBOOT
|
|
+ if (((type == KERNEL_TYPE_MULTIBOOT && ! (flags & MULTIBOOT_AOUT_KLUDGE))
|
|
|| pu.elf->e_ident[EI_OSABI] == ELFOSABI_FREEBSD
|
|
|| grub_strcmp (pu.elf->e_ident + EI_BRAND, "FreeBSD") == 0
|
|
|| suggested_type == KERNEL_TYPE_NETBSD)
|
|
diff -uprN grub-0.97/stage2/builtins.c grub/stage2/builtins.c
|
|
--- grub-0.97/stage2/builtins.c 2005-02-15 21:58:23.000000000 +0000
|
|
+++ grub/stage2/builtins.c 2006-03-21 20:51:58.000000000 +0000
|
|
@@ -3830,15 +3830,15 @@ setup_func (char *arg, int flags)
|
|
{
|
|
char tmp[16];
|
|
grub_sprintf (tmp, ",%d", (partition >> 16) & 0xFF);
|
|
- grub_strncat (device, tmp, 256);
|
|
+ grub_strncat (device, tmp, sizeof (device));
|
|
}
|
|
if ((partition & 0x00FF00) != 0x00FF00)
|
|
{
|
|
char tmp[16];
|
|
grub_sprintf (tmp, ",%c", 'a' + ((partition >> 8) & 0xFF));
|
|
- grub_strncat (device, tmp, 256);
|
|
+ grub_strncat (device, tmp, sizeof (device));
|
|
}
|
|
- grub_strncat (device, ")", 256);
|
|
+ grub_strncat (device, ")", sizeof (device));
|
|
}
|
|
|
|
int embed_stage1_5 (char *stage1_5, int drive, int partition)
|
|
diff -uprN grub-0.97/stage2/disk_io.c grub/stage2/disk_io.c
|
|
--- grub-0.97/stage2/disk_io.c 2004-05-23 17:35:24.000000000 +0100
|
|
+++ grub/stage2/disk_io.c 2008-03-28 13:22:28.000000000 +0000
|
|
@@ -137,7 +137,7 @@ log2 (unsigned long word)
|
|
}
|
|
|
|
int
|
|
-rawread (int drive, int sector, int byte_offset, int byte_len, char *buf)
|
|
+rawread (int drive, unsigned int sector, int byte_offset, int byte_len, char *buf)
|
|
{
|
|
int slen, sectors_per_vtrack;
|
|
int sector_size_bits = log2 (buf_geom.sector_size);
|
|
@@ -261,7 +261,7 @@ rawread (int drive, int sector, int byte
|
|
*/
|
|
if (disk_read_func)
|
|
{
|
|
- int sector_num = sector;
|
|
+ unsigned int sector_num = sector;
|
|
int length = buf_geom.sector_size - byte_offset;
|
|
if (length > size)
|
|
length = size;
|
|
@@ -291,7 +291,7 @@ rawread (int drive, int sector, int byte
|
|
|
|
|
|
int
|
|
-devread (int sector, int byte_offset, int byte_len, char *buf)
|
|
+devread (unsigned int sector, int byte_offset, int byte_len, char *buf)
|
|
{
|
|
/*
|
|
* Check partition boundaries
|
|
@@ -330,7 +330,7 @@ devread (int sector, int byte_offset, in
|
|
|
|
#ifndef STAGE1_5
|
|
int
|
|
-rawwrite (int drive, int sector, char *buf)
|
|
+rawwrite (int drive, unsigned int sector, char *buf)
|
|
{
|
|
if (sector == 0)
|
|
{
|
|
@@ -363,7 +363,7 @@ rawwrite (int drive, int sector, char *b
|
|
}
|
|
|
|
int
|
|
-devwrite (int sector, int sector_count, char *buf)
|
|
+devwrite (unsigned int sector, int sector_count, char *buf)
|
|
{
|
|
#if defined(GRUB_UTIL) && defined(__linux__)
|
|
if (current_partition != 0xFFFFFF
|
|
diff -uprN grub-0.97/stage2/fsys_ffs.c grub/stage2/fsys_ffs.c
|
|
--- grub-0.97/stage2/fsys_ffs.c 2003-07-09 12:45:52.000000000 +0100
|
|
+++ grub/stage2/fsys_ffs.c 2001-11-12 06:57:29.000000000 +0000
|
|
@@ -50,7 +50,7 @@
|
|
* the rights to redistribute these changes.
|
|
*
|
|
* from: Mach, Revision 2.2 92/04/04 11:35:49 rpd
|
|
- * $Id: fsys_ffs.c,v 1.10 2001/11/12 06:57:29 okuji Exp $
|
|
+ * $Id: fsys_ffs.c 594 2001-11-12 06:57:29Z okuji $
|
|
*/
|
|
|
|
#ifdef FSYS_FFS
|
|
diff -uprN grub-0.97/stage2/fsys_ufs2.c grub/stage2/fsys_ufs2.c
|
|
--- grub-0.97/stage2/fsys_ufs2.c 2004-06-19 13:17:52.000000000 +0100
|
|
+++ grub/stage2/fsys_ufs2.c 2004-06-19 13:17:52.000000000 +0100
|
|
@@ -51,7 +51,7 @@
|
|
* the rights to redistribute these changes.
|
|
*
|
|
* from: Mach, Revision 2.2 92/04/04 11:35:49 rpd
|
|
- * $Id: fsys_ufs2.c,v 1.2 2004/06/19 12:17:52 okuji Exp $
|
|
+ * $Id: fsys_ufs2.c 841 2004-06-19 12:17:52Z okuji $
|
|
*/
|
|
|
|
#ifdef FSYS_UFS2
|
|
diff -uprN grub-0.97/stage2/imgact_aout.h grub/stage2/imgact_aout.h
|
|
--- grub-0.97/stage2/imgact_aout.h 2003-07-09 12:45:53.000000000 +0100
|
|
+++ grub/stage2/imgact_aout.h 1999-06-24 01:03:29.000000000 +0100
|
|
@@ -32,7 +32,7 @@
|
|
* SUCH DAMAGE.
|
|
*
|
|
* from: @(#)exec.h 8.1 (Berkeley) 6/11/93
|
|
- * $Id: imgact_aout.h,v 1.1 1999/06/24 00:03:22 okuji Exp $
|
|
+ * $Id: imgact_aout.h 98 1999-06-24 00:03:29Z okuji $
|
|
*/
|
|
/*
|
|
* 11/23/95 - Kludge to get "ntohl" null macro added. -- ESB
|
|
diff -uprN grub-0.97/stage2/iso9660.h grub/stage2/iso9660.h
|
|
--- grub-0.97/stage2/iso9660.h 2004-03-27 16:02:38.000000000 +0000
|
|
+++ grub/stage2/iso9660.h 2007-02-22 23:40:25.000000000 +0000
|
|
@@ -73,11 +73,11 @@ typedef union {
|
|
|
|
typedef struct __iso_16bit {
|
|
u_int16_t l, b;
|
|
-} iso_16bit_t __attribute__ ((packed));
|
|
+} iso_16bit_t;
|
|
|
|
typedef struct __iso_32bit {
|
|
u_int32_t l, b;
|
|
-} iso_32bit_t __attribute__ ((packed));
|
|
+} iso_32bit_t;
|
|
|
|
typedef u_int8_t iso_date_t[7];
|
|
|
|
diff -uprN grub-0.97/stage2/shared.h grub/stage2/shared.h
|
|
--- grub-0.97/stage2/shared.h 2004-06-19 17:40:09.000000000 +0100
|
|
+++ grub/stage2/shared.h 2008-03-28 13:22:28.000000000 +0000
|
|
@@ -499,7 +499,11 @@ struct vbe_mode
|
|
unsigned char linear_reserved_field_position;
|
|
unsigned long max_pixel_clock;
|
|
|
|
- unsigned char reserved3[189];
|
|
+ /* Reserved field to make structure to be 256 bytes long, VESA BIOS
|
|
+ Extension 3.0 Specification says to reserve 189 bytes here but
|
|
+ that doesn't make structure to be 256 bytes. So additional one is
|
|
+ added here. */
|
|
+ unsigned char reserved3[189 + 1];
|
|
} __attribute__ ((packed));
|
|
|
|
|
|
@@ -807,7 +811,7 @@ int checkkey (void);
|
|
/* Low-level disk I/O */
|
|
int get_diskinfo (int drive, struct geometry *geometry);
|
|
int biosdisk (int subfunc, int drive, struct geometry *geometry,
|
|
- int sector, int nsec, int segment);
|
|
+ unsigned int sector, int nsec, int segment);
|
|
void stop_floppy (void);
|
|
|
|
/* Command-line interface functions. */
|
|
@@ -920,10 +924,10 @@ int gunzip_test_header (void);
|
|
int gunzip_read (char *buf, int len);
|
|
#endif /* NO_DECOMPRESSION */
|
|
|
|
-int rawread (int drive, int sector, int byte_offset, int byte_len, char *buf);
|
|
-int devread (int sector, int byte_offset, int byte_len, char *buf);
|
|
-int rawwrite (int drive, int sector, char *buf);
|
|
-int devwrite (int sector, int sector_len, char *buf);
|
|
+int rawread (int drive, unsigned int sector, int byte_offset, int byte_len, char *buf);
|
|
+int devread (unsigned int sector, int byte_offset, int byte_len, char *buf);
|
|
+int rawwrite (int drive, unsigned int sector, char *buf);
|
|
+int devwrite (unsigned int sector, int sector_len, char *buf);
|
|
|
|
/* Parse a device string and initialize the global parameters. */
|
|
char *set_device (char *device);
|
|
diff -uprN grub-0.97/stage2/stage2.c grub/stage2/stage2.c
|
|
--- grub-0.97/stage2/stage2.c 2005-03-19 17:51:57.000000000 +0000
|
|
+++ grub/stage2/stage2.c 2006-05-05 23:06:31.000000000 +0100
|
|
@@ -651,7 +651,10 @@ restart:
|
|
*(new_heap++) = 0;
|
|
|
|
if (config_entries)
|
|
- run_menu (heap, NULL, new_num_entries, new_heap, 0);
|
|
+ {
|
|
+ current_entryno = first_entry + entryno;
|
|
+ run_menu (heap, NULL, new_num_entries, new_heap, 0);
|
|
+ }
|
|
else
|
|
{
|
|
cls ();
|
|
@@ -727,7 +730,8 @@ restart:
|
|
cur_entry = get_entry (config_entries, first_entry + entryno, 1);
|
|
|
|
/* Set CURRENT_ENTRYNO for the command "savedefault". */
|
|
- current_entryno = first_entry + entryno;
|
|
+ if (config_entries)
|
|
+ current_entryno = first_entry + entryno;
|
|
|
|
if (run_script (cur_entry, heap))
|
|
{
|
|
diff -uprN grub-0.97/stage2/tparm.c grub/stage2/tparm.c
|
|
--- grub-0.97/stage2/tparm.c 2003-07-09 12:45:53.000000000 +0100
|
|
+++ grub/stage2/tparm.c 2002-11-29 20:39:24.000000000 +0000
|
|
@@ -63,7 +63,7 @@ typedef char grub_bool;
|
|
#define MAX_FORMAT_LEN 256
|
|
#define max(a,b) ((a) > (b) ? (a) : (b))
|
|
|
|
-//MODULE_ID("$Id: tparm.c,v 1.1 2002/11/29 20:39:24 okuji Exp $")
|
|
+//MODULE_ID("$Id: tparm.c 708 2002-11-29 20:39:24Z okuji $")
|
|
|
|
/*
|
|
* char *
|
|
diff -uprN grub-0.97/stamp-h.in grub/stamp-h.in
|
|
--- grub-0.97/stamp-h.in 1970-01-01 01:00:00.000000000 +0100
|
|
+++ grub/stamp-h.in 1999-09-13 14:32:31.000000000 +0100
|
|
@@ -0,0 +1 @@
|
|
+timestamp
|
|
diff -uprN grub-0.97/THANKS grub/THANKS
|
|
--- grub-0.97/THANKS 2005-05-08 03:17:43.000000000 +0100
|
|
+++ grub/THANKS 2006-03-21 20:51:58.000000000 +0000
|
|
@@ -121,3 +121,4 @@ Vesa Jaaskelainen <jaaskela@tietomyrsky.
|
|
Yedidyah Bar-David <didi@post.tau.ac.il>
|
|
Yury V. Umanets <umka@namesys.com>
|
|
Yuri Zaporogets <yuriz@ukr.net>
|
|
+Vitaly Fertman <vitaly@namesys.com>
|
|
diff -uprN grub-0.97/util/grub-install.in grub/util/grub-install.in
|
|
--- grub-0.97/util/grub-install.in 2004-07-24 19:57:31.000000000 +0100
|
|
+++ grub/util/grub-install.in 2006-04-20 14:46:46.000000000 +0100
|
|
@@ -112,8 +112,8 @@ convert () {
|
|
tmp_disk=`echo "$1" | sed 's%\([sh]d[0-9]*\).*%\1%'`
|
|
tmp_part=`echo "$1" | sed "s%$tmp_disk%%"` ;;
|
|
freebsd* | kfreebsd*-gnu)
|
|
- tmp_disk=`echo "$1" | sed 's%r\{0,1\}\([saw]d[0-9]*\).*$%r\1%' \
|
|
- | sed 's%r\{0,1\}\(da[0-9]*\).*$%r\1%'`
|
|
+ tmp_disk=`echo "$1" | sed 's%r\{0,1\}\([saw]d[0-9]*\).*$%\1%' \
|
|
+ | sed 's%r\{0,1\}\(da[0-9]*\).*$%\1%'`
|
|
tmp_part=`echo "$1" \
|
|
| sed "s%.*/r\{0,1\}[saw]d[0-9]\(s[0-9]*[a-h]\)%\1%" \
|
|
| sed "s%.*/r\{0,1\}da[0-9]\(s[0-9]*[a-h]\)%\1%"`
|
|
diff -uprN grub-0.97/util/mkbimage grub/util/mkbimage
|
|
--- grub-0.97/util/mkbimage 2004-07-24 19:57:31.000000000 +0100
|
|
+++ grub/util/mkbimage 2007-02-22 16:01:03.000000000 +0000
|
|
@@ -1,7 +1,7 @@
|
|
#!/bin/sh
|
|
# MaKe a Bootable IMAGE --- 1.44, 2.88 and El Torito no-emulation mode
|
|
# C) 2001,2002,2003 Thierry Laronde <tlaronde@polynum.org>
|
|
-# C) 2001,2002,2003 Robert Millan <robertmh@gnu.org>
|
|
+# C) 2001,2002,2003 Robert Millan <rmh@aybabtu.com>
|
|
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -19,7 +19,7 @@
|
|
# program's maintainer or write to: The Free Software Foundation,
|
|
# Inc.; 59 Temple Place, Suite 330; Boston, MA 02111-1307, USA.
|
|
|
|
-# $Id: mkbimage,v 1.19 2004/07/21 14:43:04 robertmh Exp $
|
|
+# $Id: mkbimage 1233 2007-02-22 16:01:03Z robertmh $
|
|
|
|
# Global variables
|
|
tarfile=
|
|
@@ -58,7 +58,7 @@ stage2_os_name=
|
|
|
|
# Name by which this script was invoked.
|
|
program=`echo "$0" | sed -e 's/[^\/]*\///g'`
|
|
-version_number='$Revision: 1.19 $'
|
|
+version_number='$Revision: 1233 $'
|
|
|
|
usage="
|
|
Usage: $program [-hVF] [-t TYPE] [-d DIRECTORY] [-s FS_TYPE] -f TAR_FILE
|
|
@@ -94,15 +94,13 @@ Options:
|
|
display Version information and exit
|
|
|
|
Copyright (c) 2001,2002,2003 Thierry Laronde <tlaronde@polynum.org>.
|
|
-Copyright (c) 2001,2002 Robert Millan <zeratul2@wanadoo.es>.
|
|
GPLed."
|
|
|
|
version="mkbimage $version_number
|
|
|
|
-Written by Thierry Laronde and Robert Millan.
|
|
+Written by Thierry Laronde.
|
|
|
|
Copyright (c) 2001,2002,2003 Thierry Laronde <tlaronde@polynum.org>.
|
|
-Copyright (c) 2001,2002,2003 Robert Millan <zeratul2@wanadoo.es>.
|
|
|
|
This is free software under the GPL version 2 or later; see the source for
|
|
copying conditions. There is NO warranty, not even for MERCHANTABILITY or
|