1diff -uprN grub-0.97/acinclude.m4 grub/acinclude.m4 2--- grub-0.97/acinclude.m4 2004-04-27 21:48:06.000000000 +0100 3+++ grub/acinclude.m4 2007-11-05 01:29:46.000000000 +0000 4@@ -57,7 +57,7 @@ else 5 fi 6 grub_cv_prog_objcopy_absolute=yes 7 for link_addr in 2000 8000 7C00; do 8- if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec]); then : 9+ if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} ${LDFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec]); then : 10 else 11 AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr]) 12 fi 13diff -uprN grub-0.97/ChangeLog grub/ChangeLog 14--- grub-0.97/ChangeLog 2005-05-08 03:47:02.000000000 +0100 15+++ grub/ChangeLog 2008-05-20 12:04:18.000000000 +0100 16@@ -1,3 +1,127 @@ 17+2008-05-20 Robert Millan <rmh@aybabtu.com> 18+ 19+ * netboot/cs89x0.c: Fix license violation. 20+ * netboot/cs89x0.h: Likewise. 21+ 22+2008-04-10 Pavel Roskin <proski@gnu.org> 23+ 24+ * configure.ac: Always use "_cv_" in cache variables for 25+ compatibility with Autoconf 2.62. 26+ 27+2008-03-28 Robert Millan <rmh@aybabtu.com> 28+ 29+ Surpass 1 TiB disk addressing limit. Note: there are no plans to handle 30+ the 2 TiB disk limit in GRUB Legacy, since that would need considerable 31+ rework. If you have >2TiB disks, use GRUB 2 instead. 32+ 33+ * grub/asmstub.c (biosdisk): Add unsigned qualifier to `sector'. 34+ * stage2/bios.c (biosdisk): Likewise. 35+ * stage2/disk_io.c (rawread, devread, rawwrite, devwrite): Likewise. 36+ * stage2/shared.h (rawread, devread, rawwrite, devwrite): Likewise. 37+ * lib/device.c (get_drive_geometry): Replace BLKGETSIZE with 38+ BLKGETSIZE64. 39+ 40+2007-10-29 Pavel Roskin <proski@gnu.org> 41+ 42+ * configure.ac: Test if '--build-id=none' is supported by the 43+ linker and add it to LDFLAGS if possible. Build ID causes 44+ objcopy to generate huge binary files. 45+ * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when 46+ linking, so that build ID doesn't break the test. 47+ * stage1/Makefile.am: Preserve LDFLAGS, use stage1_exec_LDFLAGS. 48+ 49+2007-02-22 Pavel Roskin <proski@gnu.org> 50+ 51+ * stage2/iso9660.h: Remove unnecessary packed attributes. 52+ 53+2007-02-22 Robert Millan <rmh@aybabtu.com> 54+ 55+ * util/mkbimage: Update my email address, and remove my name from 56+ some places where unnecessary credit is given. 57+ 58+2006-09-10 Pavel Roskin <proski@gnu.org> 59+ 60+ * netboot/natsemi.c: Fix compile error with gcc 4.1.1. Cast 61+ cannot make a variable volatile - it should be declared as such. 62+ * netboot/sis900.c: Likewise. 63+ 64+2006-09-08 Pavel Roskin <proski@gnu.org> 65+ 66+ * netboot/etherboot.h: Remove incorrect extern declarations of 67+ the variables later declared static. Move BOOTP_DATA_ADDR ... 68+ * netboot/main.c: ... here. Eliminate end_of_rfc1533 - it's 69+ write-only. 70+ 71+2006-06-24 Yoshinori K. Okuji <okuji@enbug.org> 72+ 73+ * docs/grub.texi: Changed the license term to the GNU Free 74+ Documentation License 1.2. 75+ 76+ * docs/multiboot.texi: Reformatted to show the license term 77+ and the version number explicitly. 78+ 79+ * docs/fdl.texi: New file. 80+ 81+ * docs/Makefile.am (grub_TEXINFOS): Added fdl.texi. 82+ 83+2006-06-24 Robert Millan <robertmh@gnu.org> 84+ 85+ * lib/device.c (write_to_partition): /dev/ataraid/ and /dev/rd/ 86+ partitions have a "p" prefix. Add it. 87+ 88+2006-06-24 Robert Millan <robertmh@gnu.org> 89+ 90+ * lib/device.c (get_i2o_disk_name): New function. 91+ (init_device_map) [__linux__]: Add support for I2O devices. 92+ 93+2006-05-02 Pavel Roskin <proski@gnu.org> 94+ 95+ * stage2/stage2.c (run_menu): Fix "savedefault" to save only top 96+ level menu positions. Remember current position when calling a 97+ submenu. Don't recalculate it when booting from a submenu. 98+ 99+ * grub/main.c (main): Make sure the boot drive number doesn't 100+ exceed 255. 101+ 102+2006-05-02 Vesa Jaaskelainen <chaac@nic.fi> 103+ 104+ * stage2/shared.h (vbe_mode): Back ported aligment fix from GRUB 2 105+ to GRUB Legacy. Problem reported by Gerardo Richarte. 106+ 107+2006-04-23 Robert Millan <robertmh@gnu.org> 108+ 109+ * grub/asmstub.c (get_diskinfo): Optimize sysctl routine. 110+ 111+2006-04-20 Robert Millan <robertmh@gnu.org> 112+ 113+ Fixes for kernel of FreeBSD: 114+ * grub/asmstub.c (get_diskinfo): Toggle "kern.geom.debugflags" sysctl 115+ before opening a device for writing. 116+ * util/grub-install.in: Devices don't have this "r" prefix anymore. 117+ 118+2006-04-16 Yoshinori K. Okuji <okuji@enbug.org> 119+ 120+ * docs/multiboot.texi: Correct the offset of address 121+ fields. Reported by Jeroen Dekkers. 122+ 123+2006-03-21 Yoshinori K. Okuji <okuji@enbug.org> 124+ 125+ * stage2/builtins.c (setup_func): Specify the size of DEVICE to 126+ grub_strncat instead of a strange number 256. Reported by Vitaly 127+ Fertman <vitaly@namesys.com>. 128+ 129+2005-09-29 Yoshinori K. Okuji <okuji@enbug.org> 130+ 131+ * docs/multiboot.texi: Fix a bug in the byte order of 132+ boot_device. I hope this won't affect any OS image. 133+ Increased the version number to 0.6.94. 134+ 135+2005-09-28 Yoshinori K. Okuji <okuji@enbug.org> 136+ 137+ * stage2/boot.c (load_image): Even if an OS image is an ELF 138+ object, use the a.out kludge if MULTIBOOT_AOUT_KLUDGE is 139+ specified. 140+ 141 2005-05-08 Yoshinori K. Okuji <okuji@enbug.org> 142 143 * configure.ac (AC_INIT): Upgraded to 0.97. 144diff -uprN grub-0.97/configure grub/configure 145--- grub-0.97/configure 2005-05-08 03:48:12.000000000 +0100 146+++ grub/configure 2007-11-05 01:29:46.000000000 +0000 147@@ -3694,6 +3694,64 @@ if test "x$undef_flag" = xyes; then 148 CPPFLAGS="$CPPFLAGS -Wundef" 149 fi 150 151+# Check if build ID can be disabled in the linker 152+echo "$as_me:$LINENO: checking whether linker accepts \`--build-id=none'" >&5 153+echo $ECHO_N "checking whether linker accepts \`--build-id=none'... $ECHO_C" >&6 154+save_LDFLAGS="$LDFLAGS" 155+LDFLAGS="$LDFLAGS -Wl,--build-id=none" 156+cat >conftest.$ac_ext <<_ACEOF 157+/* confdefs.h. */ 158+_ACEOF 159+cat confdefs.h >>conftest.$ac_ext 160+cat >>conftest.$ac_ext <<_ACEOF 161+/* end confdefs.h. */ 162+ 163+int 164+main () 165+{ 166+ 167+ ; 168+ return 0; 169+} 170+_ACEOF 171+rm -f conftest.$ac_objext conftest$ac_exeext 172+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 173+ (eval $ac_link) 2>conftest.er1 174+ ac_status=$? 175+ grep -v '^ *+' conftest.er1 >conftest.err 176+ rm -f conftest.er1 177+ cat conftest.err >&5 178+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 179+ (exit $ac_status); } && 180+ { ac_try='test -z "$ac_c_werror_flag" 181+ || test ! -s conftest.err' 182+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 183+ (eval $ac_try) 2>&5 184+ ac_status=$? 185+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 186+ (exit $ac_status); }; } && 187+ { ac_try='test -s conftest$ac_exeext' 188+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 189+ (eval $ac_try) 2>&5 190+ ac_status=$? 191+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 192+ (exit $ac_status); }; }; then 193+ build_id_flag=yes 194+else 195+ echo "$as_me: failed program was:" >&5 196+sed 's/^/| /' conftest.$ac_ext >&5 197+ 198+build_id_flag=no 199+fi 200+rm -f conftest.err conftest.$ac_objext \ 201+ conftest$ac_exeext conftest.$ac_ext 202+echo "$as_me:$LINENO: result: $build_id_flag" >&5 203+echo "${ECHO_T}$build_id_flag" >&6 204+LDFLAGS="$save_LDFLAGS" 205+if test "x$build_id_flag" = xyes; then 206+ LDFLAGS="$LDFLAGS -Wl,--build-id=none" 207+fi 208+ 209 if test "x$with_binutils" != x; then 210 # Extract the first word of "objcopy", so it can be a program name with args. 211 set dummy objcopy; ac_word=$2 212@@ -3892,7 +3950,7 @@ echo "$as_me: error: ${CC-cc} cannot com 213 fi 214 grub_cv_prog_objcopy_absolute=yes 215 for link_addr in 2000 8000 7C00; do 216- if { ac_try='${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec' 217+ if { ac_try='${CC-cc} ${CFLAGS} ${LDFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec' 218 { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 219 (eval $ac_try) 2>&5 220 ac_status=$? 221diff -uprN grub-0.97/configure.ac grub/configure.ac 222--- grub-0.97/configure.ac 2005-05-08 03:36:03.000000000 +0100 223+++ grub/configure.ac 2008-04-10 23:26:50.000000000 +0100 224@@ -86,13 +86,13 @@ if test "x$ac_cv_prog_gcc" = xyes; then 225 fi 226 STAGE1_CFLAGS="-O2" 227 GRUB_CFLAGS="-O2" 228- AC_CACHE_CHECK([whether optimization for size works], size_flag, [ 229+ AC_CACHE_CHECK([whether optimization for size works], grub_cv_cc_Os, [ 230 saved_CFLAGS=$CFLAGS 231 CFLAGS="-Os -g" 232- AC_TRY_COMPILE(, , size_flag=yes, size_flag=no) 233+ AC_TRY_COMPILE(, , grub_cv_cc_Os=yes, grub_cv_cc_Os=no) 234 CFLAGS=$saved_CFLAGS 235 ]) 236- if test "x$size_flag" = xyes; then 237+ if test "x$grub_cv_cc_Os" = xyes; then 238 STAGE2_CFLAGS="-Os" 239 else 240 STAGE2_CFLAGS="-O2 -fno-strength-reduce -fno-unroll-loops" 241@@ -100,16 +100,16 @@ if test "x$ac_cv_prog_gcc" = xyes; then 242 # OpenBSD has a GCC extension for protecting applications from 243 # stack smashing attacks, but GRUB doesn't want this feature. 244 AC_CACHE_CHECK([whether gcc has -fno-stack-protector], 245- no_stack_protector_flag, [ 246+ grub_cv_cc_no_stack_protector, [ 247 saved_CFLAGS=$CFLAGS 248 CFLAGS="-fno-stack-protector" 249 AC_TRY_COMPILE(, 250 , 251- no_stack_protector_flag=yes, 252- no_stack_protector_flag=no) 253+ grub_cv_cc_no_stack_protector=yes, 254+ grub_cv_cc_no_stack_protector=no) 255 CFLAGS=$saved_CFLAGS 256 ]) 257- if test "x$no_stack_protector_flag" = xyes; then 258+ if test "x$grub_cv_cc_no_stack_protector" = xyes; then 259 STAGE2_CFLAGS="$STAGE2_CFLAGS -fno-stack-protector" 260 fi 261 fi 262@@ -123,33 +123,44 @@ AC_SUBST(GRUB_CFLAGS) 263 CPPFLAGS="$CPPFLAGS -Wall -Wmissing-prototypes -Wunused -Wshadow" 264 CPPFLAGS="$CPPFLAGS -Wpointer-arith" 265 266-AC_CACHE_CHECK([whether -Wundef works], undef_flag, [ 267+AC_CACHE_CHECK([whether -Wundef works], grub_cv_cc_Wundef, [ 268 saved_CPPFLAGS="$CPPFLAGS" 269 CPPFLAGS="-Wundef" 270- AC_TRY_COMPILE(, , undef_flag=yes, undef_flag=no) 271+ AC_TRY_COMPILE(, , grub_cv_cc_Wundef=yes, grub_cv_cc_Wundef=no) 272 CPPFLAGS="$saved_CPPFLAGS" 273 ]) 274 275 # The options `-falign-*' are supported by gcc 3.0 or later. 276 # Probably it is sufficient to only check for -falign-loops. 277-AC_CACHE_CHECK([whether -falign-loops works], [falign_loop_flag], [ 278+AC_CACHE_CHECK([whether -falign-loops works], [grub_cv_cc_falign_loop], [ 279 saved_CPPFLAGS="$CPPFLAGS" 280 CPPFLAGS="-falign-loops=1" 281- AC_TRY_COMPILE(, , [falign_loop_flag=yes], [falign_loop_flag=no]) 282+ AC_TRY_COMPILE(, , [grub_cv_cc_falign_loop=yes], [grub_cv_cc_falign_loop=no]) 283 CPPFLAGS="$saved_CPPFLAGS" 284 ]) 285 286 # Force no alignment to save space. 287-if test "x$falign_loop_flag" = xyes; then 288+if test "x$grub_cv_cc_falign_loop" = xyes; then 289 CPPFLAGS="$CPPFLAGS -falign-jumps=1 -falign-loops=1 -falign-functions=1" 290 else 291 CPPFLAGS="$CPPFLAGS -malign-jumps=1 -malign-loops=1 -malign-functions=1" 292 fi 293 294-if test "x$undef_flag" = xyes; then 295+if test "x$grub_cv_cc_Wundef" = xyes; then 296 CPPFLAGS="$CPPFLAGS -Wundef" 297 fi 298 299+# Check if build ID can be disabled in the linker 300+AC_MSG_CHECKING([whether linker accepts `--build-id=none']) 301+save_LDFLAGS="$LDFLAGS" 302+LDFLAGS="$LDFLAGS -Wl,--build-id=none" 303+AC_TRY_LINK(, , build_id_flag=yes, build_id_flag=no) 304+AC_MSG_RESULT([$build_id_flag]) 305+LDFLAGS="$save_LDFLAGS" 306+if test "x$build_id_flag" = xyes; then 307+ LDFLAGS="$LDFLAGS -Wl,--build-id=none" 308+fi 309+ 310 if test "x$with_binutils" != x; then 311 dnl AC_PATH_TOOL(OBJCOPY, objcopy, , "$with_binutils:$PATH") 312 AC_PATH_PROG(OBJCOPY, objcopy, , "$with_binutils:$PATH") 313diff -uprN grub-0.97/grub/asmstub.c grub/grub/asmstub.c 314--- grub-0.97/grub/asmstub.c 2005-02-16 20:45:14.000000000 +0000 315+++ grub/grub/asmstub.c 2008-03-28 13:22:28.000000000 +0000 316@@ -55,6 +55,10 @@ int grub_stage2 (void); 317 # endif /* ! BLKFLSBUF */ 318 #endif /* __linux__ */ 319 320+#if defined(__FreeBSD_kernel__) || defined(__FreeBSD__) 321+# include <sys/sysctl.h> 322+#endif 323+ 324 /* We want to prevent any circularararity in our stubs, as well as 325 libc name clashes. */ 326 #define WITHOUT_LIBC_STUBS 1 327@@ -777,7 +781,39 @@ get_diskinfo (int drive, struct geometry 328 329 /* Open read/write, or read-only if that failed. */ 330 if (! read_only) 331- disks[drive].flags = open (devname, O_RDWR); 332+ { 333+/* By default, kernel of FreeBSD does not allow overwriting MBR */ 334+#if defined(__FreeBSD_kernel__) || defined(__FreeBSD__) 335+#define GEOM_SYSCTL "kern.geom.debugflags" 336+ int old_flags, flags; 337+ size_t sizeof_int = sizeof (int); 338+ 339+ if (sysctlbyname (GEOM_SYSCTL, &old_flags, &sizeof_int, NULL, 0) != 0) 340+ grub_printf ("failed to get " GEOM_SYSCTL "sysctl: %s\n", strerror (errno)); 341+ 342+ if ((old_flags & 0x10) == 0) 343+ { 344+ /* "allow foot shooting", see geom(4) */ 345+ flags = old_flags | 0x10; 346+ 347+ if (sysctlbyname (GEOM_SYSCTL, NULL, NULL, &flags, sizeof (int)) != 0) 348+ { 349+ flags = old_flags; 350+ grub_printf ("failed to set " GEOM_SYSCTL "sysctl: %s\n", strerror (errno)); 351+ } 352+ } 353+ else 354+ flags = old_flags; 355+#endif 356+ disks[drive].flags = open (devname, O_RDWR); 357+#if defined(__FreeBSD_kernel__) || defined(__FreeBSD__) 358+ if (flags != old_flags) 359+ { 360+ if (sysctlbyname (GEOM_SYSCTL, NULL, NULL, &old_flags, sizeof (int)) != 0) 361+ grub_printf ("failed to set " GEOM_SYSCTL "sysctl: %s\n", strerror (errno)); 362+ } 363+#endif 364+ } 365 366 if (disks[drive].flags == -1) 367 { 368@@ -926,7 +962,7 @@ hex_dump (void *buf, size_t size) 369 370 int 371 biosdisk (int subfunc, int drive, struct geometry *geometry, 372- int sector, int nsec, int segment) 373+ unsigned int sector, int nsec, int segment) 374 { 375 char *buf; 376 int fd = geometry->flags; 377diff -uprN grub-0.97/grub/main.c grub/grub/main.c 378--- grub-0.97/grub/main.c 2003-07-09 12:45:36.000000000 +0100 379+++ grub/grub/main.c 2006-05-05 22:43:46.000000000 +0100 380@@ -32,6 +32,7 @@ int grub_stage2 (void); 381 #define WITHOUT_LIBC_STUBS 1 382 #include <shared.h> 383 #include <term.h> 384+#include <device.h> 385 386 char *program_name = 0; 387 int use_config_file = 1; 388@@ -192,6 +193,12 @@ main (int argc, char **argv) 389 perror ("strtoul"); 390 exit (1); 391 } 392+ if (boot_drive >= NUM_DISKS) 393+ { 394+ fprintf (stderr, "boot_drive should be from 0 to %d\n", 395+ NUM_DISKS - 1); 396+ exit (1); 397+ } 398 break; 399 400 case OPT_NO_CONFIG_FILE: 401diff -uprN grub-0.97/lib/device.c grub/lib/device.c 402--- grub-0.97/lib/device.c 2005-03-28 00:14:25.000000000 +0100 403+++ grub/lib/device.c 2008-03-28 13:22:28.000000000 +0000 404@@ -69,9 +69,9 @@ struct hd_geometry 405 # ifndef CDROM_GET_CAPABILITY 406 # define CDROM_GET_CAPABILITY 0x5331 /* get capabilities */ 407 # endif /* ! CDROM_GET_CAPABILITY */ 408-# ifndef BLKGETSIZE 409-# define BLKGETSIZE _IO(0x12,96) /* return device size */ 410-# endif /* ! BLKGETSIZE */ 411+# ifndef BLKGETSIZE64 412+# define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return device size */ 413+# endif /* ! BLKGETSIZE64 */ 414 #endif /* __linux__ */ 415 416 /* Use __FreeBSD_kernel__ instead of __FreeBSD__ for compatibility with 417@@ -152,19 +152,19 @@ get_drive_geometry (struct geometry *geo 418 /* Linux */ 419 { 420 struct hd_geometry hdg; 421- unsigned long nr; 422+ unsigned long long nr; 423 424 if (ioctl (fd, HDIO_GETGEO, &hdg)) 425 goto fail; 426 427- if (ioctl (fd, BLKGETSIZE, &nr)) 428+ if (ioctl (fd, BLKGETSIZE64, &nr)) 429 goto fail; 430 431 /* Got the geometry, so save it. */ 432 geom->cylinders = hdg.cylinders; 433 geom->heads = hdg.heads; 434 geom->sectors = hdg.sectors; 435- geom->total_sectors = nr; 436+ geom->total_sectors = nr / 512; 437 438 goto success; 439 } 440@@ -407,6 +407,12 @@ get_ataraid_disk_name (char *name, int u 441 { 442 sprintf (name, "/dev/ataraid/d%c", unit + '0'); 443 } 444+ 445+static void 446+get_i2o_disk_name (char *name, char unit) 447+{ 448+ sprintf (name, "/dev/i2o/hd%c", unit); 449+} 450 #endif 451 452 /* Check if DEVICE can be read. If an error occurs, return zero, 453@@ -801,6 +807,29 @@ init_device_map (char ***map, const char 454 } 455 } 456 } 457+ 458+ /* This is for I2O - we have /dev/i2o/hd<logical drive><partition> */ 459+ { 460+ int unit; 461+ 462+ for (unit = 'a'; unit < 'f'; unit++) 463+ { 464+ char name[24]; 465+ 466+ get_i2o_disk_name (name, unit); 467+ if (check_device (name)) 468+ { 469+ (*map)[num_hd + 0x80] = strdup (name); 470+ assert ((*map)[num_hd + 0x80]); 471+ 472+ /* If the device map file is opened, write the map. */ 473+ if (fp) 474+ fprintf (fp, "(hd%d)\t%s\n", num_hd, name); 475+ 476+ num_hd++; 477+ } 478+ } 479+ } 480 #endif /* __linux__ */ 481 482 /* OK, close the device map file if opened. */ 483@@ -861,6 +890,12 @@ write_to_partition (char **map, int driv 484 if (strcmp (dev + strlen(dev) - 5, "/disc") == 0) 485 strcpy (dev + strlen(dev) - 5, "/part"); 486 } 487+ else 488+ { 489+ if ((strncmp (dev, "/dev/ataraid/", 13) == 0) || 490+ (strncmp (dev, "/dev/rd/", 8) == 0)) 491+ strcpy (dev + strlen(dev), "p"); 492+ } 493 sprintf (dev + strlen(dev), "%d", ((partition >> 16) & 0xFF) + 1); 494 495 /* Open the partition. */ 496diff -uprN grub-0.97/netboot/3c509.c grub/netboot/3c509.c 497--- grub-0.97/netboot/3c509.c 2003-07-09 12:45:37.000000000 +0100 498+++ grub/netboot/3c509.c 2002-01-02 21:56:40.000000000 +0000 499@@ -18,7 +18,7 @@ Author: Martin Renters. 500 501 3c509 support added by Serge Babkin (babkin@hq.icb.chel.su) 502 503-$Id: 3c509.c,v 1.4 2002/01/02 21:56:40 okuji Exp $ 504+$Id: 3c509.c 609 2002-01-02 21:56:40Z okuji $ 505 506 ***************************************************************************/ 507 508diff -uprN grub-0.97/netboot/cs89x0.c grub/netboot/cs89x0.c 509--- grub-0.97/netboot/cs89x0.c 2003-07-09 12:45:37.000000000 +0100 510+++ grub/netboot/cs89x0.c 2008-05-20 12:04:18.000000000 +0100 511@@ -1,3 +1,21 @@ 512+/** 513+ Per an email message from Russ Nelson <nelson@crynwr.com> on 514+ 18 March 2008 this file is now licensed under GPL Version 2. 515+ 516+ From: Russ Nelson <nelson@crynwr.com> 517+ Date: Tue, 18 Mar 2008 12:42:00 -0400 518+ Subject: Re: [Etherboot-developers] cs89x0 driver in etherboot 519+ -- quote from email 520+ As copyright holder, if I say it doesn't conflict with the GPL, 521+ then it doesn't conflict with the GPL. 522+ 523+ However, there's no point in causing people's brains to overheat, 524+ so yes, I grant permission for the code to be relicensed under the 525+ GPLv2. Please make sure that this change in licensing makes its 526+ way upstream. -russ 527+ -- quote from email 528+**/ 529+ 530 /* cs89x0.c: A Crystal Semiconductor CS89[02]0 driver for etherboot. */ 531 /* 532 Permission is granted to distribute the enclosed cs89x0.[ch] driver 533diff -uprN grub-0.97/netboot/cs89x0.h grub/netboot/cs89x0.h 534--- grub-0.97/netboot/cs89x0.h 2003-07-09 12:45:37.000000000 +0100 535+++ grub/netboot/cs89x0.h 2008-05-20 12:04:18.000000000 +0100 536@@ -1,3 +1,21 @@ 537+/** 538+ Per an email message from Russ Nelson <nelson@crynwr.com> on 539+ 18 March 2008 this file is now licensed under GPL Version 2. 540+ 541+ From: Russ Nelson <nelson@crynwr.com> 542+ Date: Tue, 18 Mar 2008 12:42:00 -0400 543+ Subject: Re: [Etherboot-developers] cs89x0 driver in etherboot 544+ -- quote from email 545+ As copyright holder, if I say it doesn't conflict with the GPL, 546+ then it doesn't conflict with the GPL. 547+ 548+ However, there's no point in causing people's brains to overheat, 549+ so yes, I grant permission for the code to be relicensed under the 550+ GPLv2. Please make sure that this change in licensing makes its 551+ way upstream. -russ 552+ -- quote from email 553+**/ 554+ 555 /* Copyright, 1988-1992, Russell Nelson, Crynwr Software 556 557 This program is free software; you can redistribute it and/or modify 558diff -uprN grub-0.97/netboot/etherboot.h grub/netboot/etherboot.h 559--- grub-0.97/netboot/etherboot.h 2003-07-09 12:45:37.000000000 +0100 560+++ grub/netboot/etherboot.h 2006-09-08 13:56:22.000000000 +0100 561@@ -531,9 +531,6 @@ extern int ip_abort; 562 extern int network_ready; 563 extern struct rom_info rom; 564 extern struct arptable_t arptable[MAX_ARP]; 565-extern struct bootpd_t bootp_data; 566-#define BOOTP_DATA_ADDR (&bootp_data) 567-extern unsigned char *end_of_rfc1533; 568 569 /* config.c */ 570 extern struct nic nic; 571diff -uprN grub-0.97/netboot/main.c grub/netboot/main.c 572--- grub-0.97/netboot/main.c 2004-05-20 23:19:33.000000000 +0100 573+++ grub/netboot/main.c 2006-09-08 13:56:22.000000000 +0100 574@@ -56,7 +56,8 @@ static int vendorext_isvalid; 575 static unsigned long netmask; 576 static struct bootpd_t bootp_data; 577 static unsigned long xid; 578-static unsigned char *end_of_rfc1533 = NULL; 579+ 580+#define BOOTP_DATA_ADDR (&bootp_data) 581 582 #ifndef NO_DHCP_SUPPORT 583 #endif /* NO_DHCP_SUPPORT */ 584@@ -967,7 +968,6 @@ decode_rfc1533 (unsigned char *p, int bl 585 586 if (block == 0) 587 { 588- end_of_rfc1533 = NULL; 589 vendorext_isvalid = 0; 590 591 if (grub_memcmp (p, rfc1533_cookie, 4)) 592@@ -1021,7 +1021,7 @@ decode_rfc1533 (unsigned char *p, int bl 593 } 594 else if (c == RFC1533_END) 595 { 596- end_of_rfc1533 = endp = p; 597+ endp = p; 598 continue; 599 } 600 else if (c == RFC1533_NETMASK) 601diff -uprN grub-0.97/netboot/natsemi.c grub/netboot/natsemi.c 602--- grub-0.97/netboot/natsemi.c 2003-07-09 12:45:38.000000000 +0100 603+++ grub/netboot/natsemi.c 2006-09-10 08:26:10.000000000 +0100 604@@ -608,7 +608,7 @@ natsemi_transmit(struct nic *nic, 605 const char *p) /* Packet */ 606 { 607 u32 status, to, nstype; 608- u32 tx_status; 609+ volatile u32 tx_status; 610 611 /* Stop the transmitter */ 612 outl(TxOff, ioaddr + ChipCmd); 613@@ -647,7 +647,7 @@ natsemi_transmit(struct nic *nic, 614 615 to = currticks() + TX_TIMEOUT; 616 617- while ((((volatile u32) tx_status=txd.cmdsts) & OWN) && (currticks() < to)) 618+ while (((tx_status=txd.cmdsts) & OWN) && (currticks() < to)) 619 /* wait */ ; 620 621 if (currticks() >= to) { 622diff -uprN grub-0.97/netboot/sis900.c grub/netboot/sis900.c 623--- grub-0.97/netboot/sis900.c 2003-07-09 12:45:38.000000000 +0100 624+++ grub/netboot/sis900.c 2006-09-10 08:26:10.000000000 +0100 625@@ -901,7 +901,7 @@ sis900_transmit(struct nic *nic, 626 const char *p) /* Packet */ 627 { 628 u32 status, to, nstype; 629- u32 tx_status; 630+ volatile u32 tx_status; 631 632 /* Stop the transmitter */ 633 outl(TxDIS, ioaddr + cr); 634@@ -940,7 +940,7 @@ sis900_transmit(struct nic *nic, 635 636 to = currticks() + TX_TIMEOUT; 637 638- while ((((volatile u32) tx_status=txd.cmdsts) & OWN) && (currticks() < to)) 639+ while (((tx_status=txd.cmdsts) & OWN) && (currticks() < to)) 640 /* wait */ ; 641 642 if (currticks() >= to) { 643diff -uprN grub-0.97/netboot/sk_g16.c grub/netboot/sk_g16.c 644--- grub-0.97/netboot/sk_g16.c 2003-07-09 12:45:38.000000000 +0100 645+++ grub/netboot/sk_g16.c 2002-01-02 21:56:40.000000000 +0000 646@@ -13,12 +13,12 @@ Changes to make it work with Etherboot b 647 * 648 * Module : sk_g16.c 649 * 650- * Version : $Revision: 1.4 $ 651+ * Version : $Revision: 609 $ 652 * 653 * Author : Patrick J.D. Weichmann 654 * 655 * Date Created : 94/05/26 656- * Last Updated : $Date: 2002/01/02 21:56:40 $ 657+ * Last Updated : $Date: 2002-01-02 21:56:40 +0000 (mer 02 jan 2002) $ 658 * 659 * Description : Schneider & Koch G16 Ethernet Device Driver for 660 * Linux Kernel >= 1.1.22 661diff -uprN grub-0.97/netboot/sk_g16.h grub/netboot/sk_g16.h 662--- grub-0.97/netboot/sk_g16.h 2003-07-09 12:45:38.000000000 +0100 663+++ grub/netboot/sk_g16.h 2000-07-29 20:22:54.000000000 +0100 664@@ -4,7 +4,7 @@ 665 * of the GNU Public License, incorporated herein by reference. 666 * 667 * Module : sk_g16.h 668- * Version : $Revision: 1.3 $ 669+ * Version : $Revision: 388 $ 670 * 671 * Author : M.Hipp (mhipp@student.uni-tuebingen.de) 672 * changes by : Patrick J.D. Weichmann 673@@ -15,8 +15,8 @@ 674 * the am7990 (LANCE) chip used for writing a 675 * network device driver which uses this chip 676 * 677- * $Log: sk_g16.h,v $ 678- * Revision 1.3 2000/07/29 19:22:54 okuji 679+ * $Log$ 680+ * Revision 1.3 2000-07-29 19:22:54 okuji 681 * update the network support to etherboot-4.6.4. 682 * 683 -*/ 684diff -uprN grub-0.97/stage1/Makefile.am grub/stage1/Makefile.am 685--- grub-0.97/stage1/Makefile.am 2004-07-16 12:44:56.000000000 +0100 686+++ grub/stage1/Makefile.am 2007-11-05 01:29:46.000000000 +0000 687@@ -5,7 +5,7 @@ CLEANFILES = $(nodist_pkglib_DATA) 688 689 # We can't use builtins or standard includes. 690 AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc 691-LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00 692+stage1_exec_LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00 693 694 noinst_PROGRAMS = stage1.exec 695 stage1_exec_SOURCES = stage1.S stage1.h 696diff -uprN grub-0.97/stage1/Makefile.in grub/stage1/Makefile.in 697--- grub-0.97/stage1/Makefile.in 2005-05-08 03:42:36.000000000 +0100 698+++ grub/stage1/Makefile.in 2007-11-05 01:29:46.000000000 +0000 699@@ -110,7 +110,7 @@ INSTALL_DATA = @INSTALL_DATA@ 700 INSTALL_PROGRAM = @INSTALL_PROGRAM@ 701 INSTALL_SCRIPT = @INSTALL_SCRIPT@ 702 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ 703-LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00 704+LDFLAGS = @LDFLAGS@ 705 LIBOBJS = @LIBOBJS@ 706 LIBS = @LIBS@ 707 LTLIBOBJS = @LTLIBOBJS@ 708@@ -188,6 +188,7 @@ CLEANFILES = $(nodist_pkglib_DATA) 709 710 # We can't use builtins or standard includes. 711 AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc 712+stage1_exec_LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00 713 stage1_exec_SOURCES = stage1.S stage1.h 714 SUFFIXES = .exec 715 all: all-am 716diff -uprN grub-0.97/stage2/bios.c grub/stage2/bios.c 717--- grub-0.97/stage2/bios.c 2004-03-27 16:34:04.000000000 +0000 718+++ grub/stage2/bios.c 2008-03-28 13:22:28.000000000 +0000 719@@ -47,7 +47,7 @@ extern int get_diskinfo_floppy (int driv 720 return the error number. Otherwise, return 0. */ 721 int 722 biosdisk (int read, int drive, struct geometry *geometry, 723- int sector, int nsec, int segment) 724+ unsigned int sector, int nsec, int segment) 725 { 726 int err; 727 728diff -uprN grub-0.97/stage2/boot.c grub/stage2/boot.c 729--- grub-0.97/stage2/boot.c 2004-03-30 12:44:08.000000000 +0100 730+++ grub/stage2/boot.c 2005-09-28 22:47:55.000000000 +0100 731@@ -1,7 +1,7 @@ 732 /* boot.c - load and bootstrap a kernel */ 733 /* 734 * GRUB -- GRand Unified Bootloader 735- * Copyright (C) 1999,2000,2001,2002,2003,2004 Free Software Foundation, Inc. 736+ * Copyright (C) 1999,2000,2001,2002,2003,2004,2005 Free Software Foundation, Inc. 737 * 738 * This program is free software; you can redistribute it and/or modify 739 * it under the terms of the GNU General Public License as published by 740@@ -96,7 +96,7 @@ load_image (char *kernel, char *arg, ker 741 lh = (struct linux_kernel_header *) buffer; 742 743 /* ELF loading supported if multiboot, FreeBSD and NetBSD. */ 744- if ((type == KERNEL_TYPE_MULTIBOOT 745+ if (((type == KERNEL_TYPE_MULTIBOOT && ! (flags & MULTIBOOT_AOUT_KLUDGE)) 746 || pu.elf->e_ident[EI_OSABI] == ELFOSABI_FREEBSD 747 || grub_strcmp (pu.elf->e_ident + EI_BRAND, "FreeBSD") == 0 748 || suggested_type == KERNEL_TYPE_NETBSD) 749diff -uprN grub-0.97/stage2/builtins.c grub/stage2/builtins.c 750--- grub-0.97/stage2/builtins.c 2005-02-15 21:58:23.000000000 +0000 751+++ grub/stage2/builtins.c 2006-03-21 20:51:58.000000000 +0000 752@@ -3830,15 +3830,15 @@ setup_func (char *arg, int flags) 753 { 754 char tmp[16]; 755 grub_sprintf (tmp, ",%d", (partition >> 16) & 0xFF); 756- grub_strncat (device, tmp, 256); 757+ grub_strncat (device, tmp, sizeof (device)); 758 } 759 if ((partition & 0x00FF00) != 0x00FF00) 760 { 761 char tmp[16]; 762 grub_sprintf (tmp, ",%c", 'a' + ((partition >> 8) & 0xFF)); 763- grub_strncat (device, tmp, 256); 764+ grub_strncat (device, tmp, sizeof (device)); 765 } 766- grub_strncat (device, ")", 256); 767+ grub_strncat (device, ")", sizeof (device)); 768 } 769 770 int embed_stage1_5 (char *stage1_5, int drive, int partition) 771diff -uprN grub-0.97/stage2/disk_io.c grub/stage2/disk_io.c 772--- grub-0.97/stage2/disk_io.c 2004-05-23 17:35:24.000000000 +0100 773+++ grub/stage2/disk_io.c 2008-03-28 13:22:28.000000000 +0000 774@@ -137,7 +137,7 @@ log2 (unsigned long word) 775 } 776 777 int 778-rawread (int drive, int sector, int byte_offset, int byte_len, char *buf) 779+rawread (int drive, unsigned int sector, int byte_offset, int byte_len, char *buf) 780 { 781 int slen, sectors_per_vtrack; 782 int sector_size_bits = log2 (buf_geom.sector_size); 783@@ -261,7 +261,7 @@ rawread (int drive, int sector, int byte 784 */ 785 if (disk_read_func) 786 { 787- int sector_num = sector; 788+ unsigned int sector_num = sector; 789 int length = buf_geom.sector_size - byte_offset; 790 if (length > size) 791 length = size; 792@@ -291,7 +291,7 @@ rawread (int drive, int sector, int byte 793 794 795 int 796-devread (int sector, int byte_offset, int byte_len, char *buf) 797+devread (unsigned int sector, int byte_offset, int byte_len, char *buf) 798 { 799 /* 800 * Check partition boundaries 801@@ -330,7 +330,7 @@ devread (int sector, int byte_offset, in 802 803 #ifndef STAGE1_5 804 int 805-rawwrite (int drive, int sector, char *buf) 806+rawwrite (int drive, unsigned int sector, char *buf) 807 { 808 if (sector == 0) 809 { 810@@ -363,7 +363,7 @@ rawwrite (int drive, int sector, char *b 811 } 812 813 int 814-devwrite (int sector, int sector_count, char *buf) 815+devwrite (unsigned int sector, int sector_count, char *buf) 816 { 817 #if defined(GRUB_UTIL) && defined(__linux__) 818 if (current_partition != 0xFFFFFF 819diff -uprN grub-0.97/stage2/fsys_ffs.c grub/stage2/fsys_ffs.c 820--- grub-0.97/stage2/fsys_ffs.c 2003-07-09 12:45:52.000000000 +0100 821+++ grub/stage2/fsys_ffs.c 2001-11-12 06:57:29.000000000 +0000 822@@ -50,7 +50,7 @@ 823 * the rights to redistribute these changes. 824 * 825 * from: Mach, Revision 2.2 92/04/04 11:35:49 rpd 826- * $Id: fsys_ffs.c,v 1.10 2001/11/12 06:57:29 okuji Exp $ 827+ * $Id: fsys_ffs.c 594 2001-11-12 06:57:29Z okuji $ 828 */ 829 830 #ifdef FSYS_FFS 831diff -uprN grub-0.97/stage2/fsys_ufs2.c grub/stage2/fsys_ufs2.c 832--- grub-0.97/stage2/fsys_ufs2.c 2004-06-19 13:17:52.000000000 +0100 833+++ grub/stage2/fsys_ufs2.c 2004-06-19 13:17:52.000000000 +0100 834@@ -51,7 +51,7 @@ 835 * the rights to redistribute these changes. 836 * 837 * from: Mach, Revision 2.2 92/04/04 11:35:49 rpd 838- * $Id: fsys_ufs2.c,v 1.2 2004/06/19 12:17:52 okuji Exp $ 839+ * $Id: fsys_ufs2.c 841 2004-06-19 12:17:52Z okuji $ 840 */ 841 842 #ifdef FSYS_UFS2 843diff -uprN grub-0.97/stage2/imgact_aout.h grub/stage2/imgact_aout.h 844--- grub-0.97/stage2/imgact_aout.h 2003-07-09 12:45:53.000000000 +0100 845+++ grub/stage2/imgact_aout.h 1999-06-24 01:03:29.000000000 +0100 846@@ -32,7 +32,7 @@ 847 * SUCH DAMAGE. 848 * 849 * from: @(#)exec.h 8.1 (Berkeley) 6/11/93 850- * $Id: imgact_aout.h,v 1.1 1999/06/24 00:03:22 okuji Exp $ 851+ * $Id: imgact_aout.h 98 1999-06-24 00:03:29Z okuji $ 852 */ 853 /* 854 * 11/23/95 - Kludge to get "ntohl" null macro added. -- ESB 855diff -uprN grub-0.97/stage2/iso9660.h grub/stage2/iso9660.h 856--- grub-0.97/stage2/iso9660.h 2004-03-27 16:02:38.000000000 +0000 857+++ grub/stage2/iso9660.h 2007-02-22 23:40:25.000000000 +0000 858@@ -73,11 +73,11 @@ typedef union { 859 860 typedef struct __iso_16bit { 861 u_int16_t l, b; 862-} iso_16bit_t __attribute__ ((packed)); 863+} iso_16bit_t; 864 865 typedef struct __iso_32bit { 866 u_int32_t l, b; 867-} iso_32bit_t __attribute__ ((packed)); 868+} iso_32bit_t; 869 870 typedef u_int8_t iso_date_t[7]; 871 872diff -uprN grub-0.97/stage2/shared.h grub/stage2/shared.h 873--- grub-0.97/stage2/shared.h 2004-06-19 17:40:09.000000000 +0100 874+++ grub/stage2/shared.h 2008-03-28 13:22:28.000000000 +0000 875@@ -499,7 +499,11 @@ struct vbe_mode 876 unsigned char linear_reserved_field_position; 877 unsigned long max_pixel_clock; 878 879- unsigned char reserved3[189]; 880+ /* Reserved field to make structure to be 256 bytes long, VESA BIOS 881+ Extension 3.0 Specification says to reserve 189 bytes here but 882+ that doesn't make structure to be 256 bytes. So additional one is 883+ added here. */ 884+ unsigned char reserved3[189 + 1]; 885 } __attribute__ ((packed)); 886 887 888@@ -807,7 +811,7 @@ int checkkey (void); 889 /* Low-level disk I/O */ 890 int get_diskinfo (int drive, struct geometry *geometry); 891 int biosdisk (int subfunc, int drive, struct geometry *geometry, 892- int sector, int nsec, int segment); 893+ unsigned int sector, int nsec, int segment); 894 void stop_floppy (void); 895 896 /* Command-line interface functions. */ 897@@ -920,10 +924,10 @@ int gunzip_test_header (void); 898 int gunzip_read (char *buf, int len); 899 #endif /* NO_DECOMPRESSION */ 900 901-int rawread (int drive, int sector, int byte_offset, int byte_len, char *buf); 902-int devread (int sector, int byte_offset, int byte_len, char *buf); 903-int rawwrite (int drive, int sector, char *buf); 904-int devwrite (int sector, int sector_len, char *buf); 905+int rawread (int drive, unsigned int sector, int byte_offset, int byte_len, char *buf); 906+int devread (unsigned int sector, int byte_offset, int byte_len, char *buf); 907+int rawwrite (int drive, unsigned int sector, char *buf); 908+int devwrite (unsigned int sector, int sector_len, char *buf); 909 910 /* Parse a device string and initialize the global parameters. */ 911 char *set_device (char *device); 912diff -uprN grub-0.97/stage2/stage2.c grub/stage2/stage2.c 913--- grub-0.97/stage2/stage2.c 2005-03-19 17:51:57.000000000 +0000 914+++ grub/stage2/stage2.c 2006-05-05 23:06:31.000000000 +0100 915@@ -651,7 +651,10 @@ restart: 916 *(new_heap++) = 0; 917 918 if (config_entries) 919- run_menu (heap, NULL, new_num_entries, new_heap, 0); 920+ { 921+ current_entryno = first_entry + entryno; 922+ run_menu (heap, NULL, new_num_entries, new_heap, 0); 923+ } 924 else 925 { 926 cls (); 927@@ -727,7 +730,8 @@ restart: 928 cur_entry = get_entry (config_entries, first_entry + entryno, 1); 929 930 /* Set CURRENT_ENTRYNO for the command "savedefault". */ 931- current_entryno = first_entry + entryno; 932+ if (config_entries) 933+ current_entryno = first_entry + entryno; 934 935 if (run_script (cur_entry, heap)) 936 { 937diff -uprN grub-0.97/stage2/tparm.c grub/stage2/tparm.c 938--- grub-0.97/stage2/tparm.c 2003-07-09 12:45:53.000000000 +0100 939+++ grub/stage2/tparm.c 2002-11-29 20:39:24.000000000 +0000 940@@ -63,7 +63,7 @@ typedef char grub_bool; 941 #define MAX_FORMAT_LEN 256 942 #define max(a,b) ((a) > (b) ? (a) : (b)) 943 944-//MODULE_ID("$Id: tparm.c,v 1.1 2002/11/29 20:39:24 okuji Exp $") 945+//MODULE_ID("$Id: tparm.c 708 2002-11-29 20:39:24Z okuji $") 946 947 /* 948 * char * 949diff -uprN grub-0.97/stamp-h.in grub/stamp-h.in 950--- grub-0.97/stamp-h.in 1970-01-01 01:00:00.000000000 +0100 951+++ grub/stamp-h.in 1999-09-13 14:32:31.000000000 +0100 952@@ -0,0 +1 @@ 953+timestamp 954diff -uprN grub-0.97/THANKS grub/THANKS 955--- grub-0.97/THANKS 2005-05-08 03:17:43.000000000 +0100 956+++ grub/THANKS 2006-03-21 20:51:58.000000000 +0000 957@@ -121,3 +121,4 @@ Vesa Jaaskelainen <jaaskela@tietomyrsky. 958 Yedidyah Bar-David <didi@post.tau.ac.il> 959 Yury V. Umanets <umka@namesys.com> 960 Yuri Zaporogets <yuriz@ukr.net> 961+Vitaly Fertman <vitaly@namesys.com> 962diff -uprN grub-0.97/util/grub-install.in grub/util/grub-install.in 963--- grub-0.97/util/grub-install.in 2004-07-24 19:57:31.000000000 +0100 964+++ grub/util/grub-install.in 2006-04-20 14:46:46.000000000 +0100 965@@ -112,8 +112,8 @@ convert () { 966 tmp_disk=`echo "$1" | sed 's%\([sh]d[0-9]*\).*%\1%'` 967 tmp_part=`echo "$1" | sed "s%$tmp_disk%%"` ;; 968 freebsd* | kfreebsd*-gnu) 969- tmp_disk=`echo "$1" | sed 's%r\{0,1\}\([saw]d[0-9]*\).*$%r\1%' \ 970- | sed 's%r\{0,1\}\(da[0-9]*\).*$%r\1%'` 971+ tmp_disk=`echo "$1" | sed 's%r\{0,1\}\([saw]d[0-9]*\).*$%\1%' \ 972+ | sed 's%r\{0,1\}\(da[0-9]*\).*$%\1%'` 973 tmp_part=`echo "$1" \ 974 | sed "s%.*/r\{0,1\}[saw]d[0-9]\(s[0-9]*[a-h]\)%\1%" \ 975 | sed "s%.*/r\{0,1\}da[0-9]\(s[0-9]*[a-h]\)%\1%"` 976diff -uprN grub-0.97/util/mkbimage grub/util/mkbimage 977--- grub-0.97/util/mkbimage 2004-07-24 19:57:31.000000000 +0100 978+++ grub/util/mkbimage 2007-02-22 16:01:03.000000000 +0000 979@@ -1,7 +1,7 @@ 980 #!/bin/sh 981 # MaKe a Bootable IMAGE --- 1.44, 2.88 and El Torito no-emulation mode 982 # C) 2001,2002,2003 Thierry Laronde <tlaronde@polynum.org> 983-# C) 2001,2002,2003 Robert Millan <robertmh@gnu.org> 984+# C) 2001,2002,2003 Robert Millan <rmh@aybabtu.com> 985 986 987 # This program is free software; you can redistribute it and/or modify 988@@ -19,7 +19,7 @@ 989 # program's maintainer or write to: The Free Software Foundation, 990 # Inc.; 59 Temple Place, Suite 330; Boston, MA 02111-1307, USA. 991 992-# $Id: mkbimage,v 1.19 2004/07/21 14:43:04 robertmh Exp $ 993+# $Id: mkbimage 1233 2007-02-22 16:01:03Z robertmh $ 994 995 # Global variables 996 tarfile= 997@@ -58,7 +58,7 @@ stage2_os_name= 998 999 # Name by which this script was invoked. 1000 program=`echo "$0" | sed -e 's/[^\/]*\///g'` 1001-version_number='$Revision: 1.19 $' 1002+version_number='$Revision: 1233 $' 1003 1004 usage=" 1005 Usage: $program [-hVF] [-t TYPE] [-d DIRECTORY] [-s FS_TYPE] -f TAR_FILE 1006@@ -94,15 +94,13 @@ Options: 1007 display Version information and exit 1008 1009 Copyright (c) 2001,2002,2003 Thierry Laronde <tlaronde@polynum.org>. 1010-Copyright (c) 2001,2002 Robert Millan <zeratul2@wanadoo.es>. 1011 GPLed." 1012 1013 version="mkbimage $version_number 1014 1015-Written by Thierry Laronde and Robert Millan. 1016+Written by Thierry Laronde. 1017 1018 Copyright (c) 2001,2002,2003 Thierry Laronde <tlaronde@polynum.org>. 1019-Copyright (c) 2001,2002,2003 Robert Millan <zeratul2@wanadoo.es>. 1020 1021 This is free software under the GPL version 2 or later; see the source for 1022 copying conditions. There is NO warranty, not even for MERCHANTABILITY or 1023