Gentoo Archives: gentoo-commits

From: "Robin H. Johnson (robbat2)" <robbat2@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in src/patchsets/grub/0.97: 020_all_grub-0.97-i2o-raid.patch 021_all_grub-0.97-grub-special_device_names.patch 080_all_grub-0.97-geometry-26kernel.patch 500_all_grub-0.97-netboot-gcc4.patch 810_all_grub-0.97-ext3_256byte_inode.patch 820_all_grub-0.97-cvs-sync.patch 821_all_grub-0.97-grub-special_device_names.patch 822_all_grub-0.97-geometry-26kernel.patch ChangeLog README-DEBIAN-PATCHES
Date: Wed, 05 Nov 2008 22:28:00
Message-Id: E1Kxqqv-0007Jh-5w@stork.gentoo.org
1 robbat2 08/11/05 22:27:53
2
3 Modified: 810_all_grub-0.97-ext3_256byte_inode.patch
4 820_all_grub-0.97-cvs-sync.patch
5 README-DEBIAN-PATCHES
6 Added: 821_all_grub-0.97-grub-special_device_names.patch
7 822_all_grub-0.97-geometry-26kernel.patch ChangeLog
8 Removed: 020_all_grub-0.97-i2o-raid.patch
9 021_all_grub-0.97-grub-special_device_names.patch
10 080_all_grub-0.97-geometry-26kernel.patch
11 500_all_grub-0.97-netboot-gcc4.patch
12 Log:
13 Update Debian patches: cvs-sync, ext3_256byte_inode, geometry-26kernel. i2o-raid and netboot-gcc are now included in cvs-sync. Renumber grub-special_device_names and geometry-26kernel to apply still.
14
15 Revision Changes Path
16 1.2 src/patchsets/grub/0.97/810_all_grub-0.97-ext3_256byte_inode.patch
17
18 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/810_all_grub-0.97-ext3_256byte_inode.patch?rev=1.2&view=markup
19 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/810_all_grub-0.97-ext3_256byte_inode.patch?rev=1.2&content-type=text/plain
20 diff : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/810_all_grub-0.97-ext3_256byte_inode.patch?r1=1.1&r2=1.2
21
22 Index: 810_all_grub-0.97-ext3_256byte_inode.patch
23 ===================================================================
24 RCS file: /var/cvsroot/gentoo/src/patchsets/grub/0.97/810_all_grub-0.97-ext3_256byte_inode.patch,v
25 retrieving revision 1.1
26 retrieving revision 1.2
27 diff -p -w -b -B -u -u -r1.1 -r1.2
28 --- 810_all_grub-0.97-ext3_256byte_inode.patch 25 Mar 2008 06:11:53 -0000 1.1
29 +++ 810_all_grub-0.97-ext3_256byte_inode.patch 5 Nov 2008 22:27:53 -0000 1.2
30 @@ -1,11 +1,11 @@
31 -Debian-Patch: ext3_256byte_inode.diff
32 +Debian-Patch: ext3_256byte_inode.diff (From 0.97-47)
33
34 -Patch from Red Hat. See #463236, #463123.
35 +Patch from Red Hat. See #463236, #463123 (and #491076 for the reviewed version)
36
37 -diff -Nrup a/stage2/fsys_ext2fs.c b/stage2/fsys_ext2fs.c
38 ---- a/stage2/fsys_ext2fs.c 2004-08-08 20:19:18.000000000 +0200
39 -+++ b/stage2/fsys_ext2fs.c 2008-01-30 14:27:20.000000000 +0100
40 -@@ -79,7 +79,52 @@ struct ext2_super_block
41 +diff -ur grub-0.97/stage2/fsys_ext2fs.c grub-0.97.new/stage2/fsys_ext2fs.c
42 +--- grub-0.97/stage2/fsys_ext2fs.c 2008-07-23 01:18:18.000000000 +0200
43 ++++ grub-0.97.new/stage2/fsys_ext2fs.c 2008-07-25 14:33:29.000000000 +0200
44 +@@ -79,7 +79,52 @@
45 __u32 s_rev_level; /* Revision level */
46 __u16 s_def_resuid; /* Default uid for reserved blocks */
47 __u16 s_def_resgid; /* Default gid for reserved blocks */
48 @@ -59,17 +59,22 @@ diff -Nrup a/stage2/fsys_ext2fs.c b/stag
49 };
50
51 struct ext2_group_desc
52 -@@ -218,6 +263,9 @@ struct ext2_dir_entry
53 +@@ -218,6 +263,14 @@
54 #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32))
55 #define EXT2_ADDR_PER_BLOCK_BITS(s) (log2(EXT2_ADDR_PER_BLOCK(s)))
56
57 -+#define EXT2_INODE_SIZE(s) (SUPERBLOCK->s_inode_size)
58 ++#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */
59 ++#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */
60 ++#define EXT2_GOOD_OLD_INODE_SIZE 128
61 ++#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \
62 ++ EXT2_GOOD_OLD_INODE_SIZE : \
63 ++ (s)->s_inode_size)
64 +#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s))
65 +
66 /* linux/ext2_fs.h */
67 #define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10)
68 /* kind of from ext2/super.c */
69 -@@ -553,7 +601,7 @@ ext2fs_dir (char *dirname)
70 +@@ -553,7 +606,7 @@
71 gdp = GROUP_DESC;
72 ino_blk = gdp[desc].bg_inode_table +
73 (((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group))
74 @@ -78,7 +83,7 @@ diff -Nrup a/stage2/fsys_ext2fs.c b/stag
75 #ifdef E2DEBUG
76 printf ("inode table fsblock=%d\n", ino_blk);
77 #endif /* E2DEBUG */
78 -@@ -565,13 +613,12 @@ ext2fs_dir (char *dirname)
79 +@@ -565,13 +618,12 @@
80 /* reset indirect blocks! */
81 mapblock2 = mapblock1 = -1;
82
83
84
85
86 1.2 src/patchsets/grub/0.97/820_all_grub-0.97-cvs-sync.patch
87
88 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/820_all_grub-0.97-cvs-sync.patch?rev=1.2&view=markup
89 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/820_all_grub-0.97-cvs-sync.patch?rev=1.2&content-type=text/plain
90 diff : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/820_all_grub-0.97-cvs-sync.patch?r1=1.1&r2=1.2
91
92 Index: 820_all_grub-0.97-cvs-sync.patch
93 ===================================================================
94 RCS file: /var/cvsroot/gentoo/src/patchsets/grub/0.97/820_all_grub-0.97-cvs-sync.patch,v
95 retrieving revision 1.1
96 retrieving revision 1.2
97 diff -p -w -b -B -u -u -r1.1 -r1.2
98 --- 820_all_grub-0.97-cvs-sync.patch 4 Nov 2008 22:18:08 -0000 1.1
99 +++ 820_all_grub-0.97-cvs-sync.patch 5 Nov 2008 22:27:53 -0000 1.2
100 @@ -1,12 +1,80 @@
101 -Debian-Patch: cvs-sync.patch
102 +Debian-Patch: cvs-sync.patch (from 0.97-47)
103
104 -Slightly modified as we already have a seperate i2o patch.
105 -The lib/device.c section has been dropped.
106 -
107 -diff -Nur grub-0.97/ChangeLog cvs/ChangeLog
108 ---- grub-0.97/ChangeLog 2005-05-08 04:47:02.000000000 +0200
109 -+++ cvs/ChangeLog 2006-06-24 16:27:33.046480952 +0200
110 -@@ -1,3 +1,61 @@
111 +Index: ChangeLog
112 +===================================================================
113 +RCS file: /sources/grub/grub/ChangeLog,v
114 +retrieving revision 1.627
115 +retrieving revision 1.647
116 +diff -u -p -u -r1.627 -r1.647
117 +--- foo/ChangeLog 8 May 2005 02:51:51 -0000 1.627
118 ++++ foo/ChangeLog 20 May 2008 11:04:17 -0000 1.647
119 +@@ -1,3 +1,127 @@
120 ++2008-05-20 Robert Millan <rmh@×××××××.com>
121 ++
122 ++ * netboot/cs89x0.c: Fix license violation.
123 ++ * netboot/cs89x0.h: Likewise.
124 ++
125 ++2008-04-10 Pavel Roskin <proski@×××.org>
126 ++
127 ++ * configure.ac: Always use "_cv_" in cache variables for
128 ++ compatibility with Autoconf 2.62.
129 ++
130 ++2008-03-28 Robert Millan <rmh@×××××××.com>
131 ++
132 ++ Surpass 1 TiB disk addressing limit. Note: there are no plans to handle
133 ++ the 2 TiB disk limit in GRUB Legacy, since that would need considerable
134 ++ rework. If you have >2TiB disks, use GRUB 2 instead.
135 ++
136 ++ * grub/asmstub.c (biosdisk): Add unsigned qualifier to `sector'.
137 ++ * stage2/bios.c (biosdisk): Likewise.
138 ++ * stage2/disk_io.c (rawread, devread, rawwrite, devwrite): Likewise.
139 ++ * stage2/shared.h (rawread, devread, rawwrite, devwrite): Likewise.
140 ++ * lib/device.c (get_drive_geometry): Replace BLKGETSIZE with
141 ++ BLKGETSIZE64.
142 ++
143 ++2007-10-29 Pavel Roskin <proski@×××.org>
144 ++
145 ++ * configure.ac: Test if '--build-id=none' is supported by the
146 ++ linker and add it to LDFLAGS if possible. Build ID causes
147 ++ objcopy to generate huge binary files.
148 ++ * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
149 ++ linking, so that build ID doesn't break the test.
150 ++ * stage1/Makefile.am: Preserve LDFLAGS, use stage1_exec_LDFLAGS.
151 ++
152 ++2007-02-22 Pavel Roskin <proski@×××.org>
153 ++
154 ++ * stage2/iso9660.h: Remove unnecessary packed attributes.
155 ++
156 ++2007-02-22 Robert Millan <rmh@×××××××.com>
157 ++
158 ++ * util/mkbimage: Update my email address, and remove my name from
159 ++ some places where unnecessary credit is given.
160 ++
161 ++2006-09-10 Pavel Roskin <proski@×××.org>
162 ++
163 ++ * netboot/natsemi.c: Fix compile error with gcc 4.1.1. Cast
164 ++ cannot make a variable volatile - it should be declared as such.
165 ++ * netboot/sis900.c: Likewise.
166 ++
167 ++2006-09-08 Pavel Roskin <proski@×××.org>
168 ++
169 ++ * netboot/etherboot.h: Remove incorrect extern declarations of
170 ++ the variables later declared static. Move BOOTP_DATA_ADDR ...
171 ++ * netboot/main.c: ... here. Eliminate end_of_rfc1533 - it's
172 ++ write-only.
173 ++
174 ++2006-06-24 Yoshinori K. Okuji <okuji@×××××.org>
175 ++
176 ++ * docs/grub.texi: Changed the license term to the GNU Free
177 ++ Documentation License 1.2.
178 ++
179 ++ * docs/multiboot.texi: Reformatted to show the license term
180 ++ and the version number explicitly.
181 ++
182 ++ * docs/fdl.texi: New file.
183 ++
184 ++ * docs/Makefile.am (grub_TEXINFOS): Added fdl.texi.
185 ++
186 +2006-06-24 Robert Millan <robertmh@×××.org>
187 +
188 + * lib/device.c (write_to_partition): /dev/ataraid/ and /dev/rd/
189 @@ -68,37 +136,945 @@ diff -Nur grub-0.97/ChangeLog cvs/Change
190 2005-05-08 Yoshinori K. Okuji <okuji@×××××.org>
191
192 * configure.ac (AC_INIT): Upgraded to 0.97.
193 -diff -Nur grub-0.97/docs/multiboot.texi cvs/docs/multiboot.texi
194 ---- grub-0.97/docs/multiboot.texi 2003-07-09 13:45:36.000000000 +0200
195 -+++ cvs/docs/multiboot.texi 2006-04-16 19:55:49.000000000 +0200
196 -@@ -25,7 +25,7 @@
197 - @ifinfo
198 - Copyright @copyright{} 1995, 96 Bryan Ford <baford@@cs.utah.edu>
199 - Copyright @copyright{} 1995, 96 Erich Stefan Boleyn <erich@@uruk.org>
200 +Index: THANKS
201 +===================================================================
202 +RCS file: /sources/grub/grub/THANKS,v
203 +retrieving revision 1.100
204 +retrieving revision 1.101
205 +diff -u -p -u -r1.100 -r1.101
206 +--- foo/THANKS 8 May 2005 02:18:14 -0000 1.100
207 ++++ foo/THANKS 21 Mar 2006 20:51:58 -0000 1.101
208 +@@ -121,3 +121,4 @@ Vesa Jaaskelainen <jaaskela@tietomyrsky.
209 + Yedidyah Bar-David <didi@×××××××××××.il>
210 + Yury V. Umanets <umka@×××××××.com>
211 + Yuri Zaporogets <yuriz@×××.net>
212 ++Vitaly Fertman <vitaly@×××××××.com>
213 +Index: acinclude.m4
214 +===================================================================
215 +RCS file: /sources/grub/grub/acinclude.m4,v
216 +retrieving revision 1.21
217 +retrieving revision 1.22
218 +diff -u -p -u -r1.21 -r1.22
219 +--- foo/acinclude.m4 23 Apr 2004 13:39:01 -0000 1.21
220 ++++ foo/acinclude.m4 5 Nov 2007 01:29:46 -0000 1.22
221 +@@ -57,7 +57,7 @@ else
222 + fi
223 + grub_cv_prog_objcopy_absolute=yes
224 + for link_addr in 2000 8000 7C00; do
225 +- if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec]); then :
226 ++ if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} ${LDFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec]); then :
227 + else
228 + AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr])
229 + fi
230 +Index: configure.ac
231 +===================================================================
232 +RCS file: /sources/grub/grub/configure.ac,v
233 +retrieving revision 1.9
234 +retrieving revision 1.11
235 +diff -u -p -u -r1.9 -r1.11
236 +--- foo/configure.ac 8 May 2005 02:51:51 -0000 1.9
237 ++++ foo/configure.ac 10 Apr 2008 22:26:50 -0000 1.11
238 +@@ -86,13 +86,13 @@ if test "x$ac_cv_prog_gcc" = xyes; then
239 + fi
240 + STAGE1_CFLAGS="-O2"
241 + GRUB_CFLAGS="-O2"
242 +- AC_CACHE_CHECK([whether optimization for size works], size_flag, [
243 ++ AC_CACHE_CHECK([whether optimization for size works], grub_cv_cc_Os, [
244 + saved_CFLAGS=$CFLAGS
245 + CFLAGS="-Os -g"
246 +- AC_TRY_COMPILE(, , size_flag=yes, size_flag=no)
247 ++ AC_TRY_COMPILE(, , grub_cv_cc_Os=yes, grub_cv_cc_Os=no)
248 + CFLAGS=$saved_CFLAGS
249 + ])
250 +- if test "x$size_flag" = xyes; then
251 ++ if test "x$grub_cv_cc_Os" = xyes; then
252 + STAGE2_CFLAGS="-Os"
253 + else
254 + STAGE2_CFLAGS="-O2 -fno-strength-reduce -fno-unroll-loops"
255 +@@ -100,16 +100,16 @@ if test "x$ac_cv_prog_gcc" = xyes; then
256 + # OpenBSD has a GCC extension for protecting applications from
257 + # stack smashing attacks, but GRUB doesn't want this feature.
258 + AC_CACHE_CHECK([whether gcc has -fno-stack-protector],
259 +- no_stack_protector_flag, [
260 ++ grub_cv_cc_no_stack_protector, [
261 + saved_CFLAGS=$CFLAGS
262 + CFLAGS="-fno-stack-protector"
263 + AC_TRY_COMPILE(,
264 + ,
265 +- no_stack_protector_flag=yes,
266 +- no_stack_protector_flag=no)
267 ++ grub_cv_cc_no_stack_protector=yes,
268 ++ grub_cv_cc_no_stack_protector=no)
269 + CFLAGS=$saved_CFLAGS
270 + ])
271 +- if test "x$no_stack_protector_flag" = xyes; then
272 ++ if test "x$grub_cv_cc_no_stack_protector" = xyes; then
273 + STAGE2_CFLAGS="$STAGE2_CFLAGS -fno-stack-protector"
274 + fi
275 + fi
276 +@@ -123,33 +123,44 @@ AC_SUBST(GRUB_CFLAGS)
277 + CPPFLAGS="$CPPFLAGS -Wall -Wmissing-prototypes -Wunused -Wshadow"
278 + CPPFLAGS="$CPPFLAGS -Wpointer-arith"
279 +
280 +-AC_CACHE_CHECK([whether -Wundef works], undef_flag, [
281 ++AC_CACHE_CHECK([whether -Wundef works], grub_cv_cc_Wundef, [
282 + saved_CPPFLAGS="$CPPFLAGS"
283 + CPPFLAGS="-Wundef"
284 +- AC_TRY_COMPILE(, , undef_flag=yes, undef_flag=no)
285 ++ AC_TRY_COMPILE(, , grub_cv_cc_Wundef=yes, grub_cv_cc_Wundef=no)
286 + CPPFLAGS="$saved_CPPFLAGS"
287 + ])
288 +
289 + # The options `-falign-*' are supported by gcc 3.0 or later.
290 + # Probably it is sufficient to only check for -falign-loops.
291 +-AC_CACHE_CHECK([whether -falign-loops works], [falign_loop_flag], [
292 ++AC_CACHE_CHECK([whether -falign-loops works], [grub_cv_cc_falign_loop], [
293 + saved_CPPFLAGS="$CPPFLAGS"
294 + CPPFLAGS="-falign-loops=1"
295 +- AC_TRY_COMPILE(, , [falign_loop_flag=yes], [falign_loop_flag=no])
296 ++ AC_TRY_COMPILE(, , [grub_cv_cc_falign_loop=yes], [grub_cv_cc_falign_loop=no])
297 + CPPFLAGS="$saved_CPPFLAGS"
298 + ])
299 +
300 + # Force no alignment to save space.
301 +-if test "x$falign_loop_flag" = xyes; then
302 ++if test "x$grub_cv_cc_falign_loop" = xyes; then
303 + CPPFLAGS="$CPPFLAGS -falign-jumps=1 -falign-loops=1 -falign-functions=1"
304 + else
305 + CPPFLAGS="$CPPFLAGS -malign-jumps=1 -malign-loops=1 -malign-functions=1"
306 + fi
307 +
308 +-if test "x$undef_flag" = xyes; then
309 ++if test "x$grub_cv_cc_Wundef" = xyes; then
310 + CPPFLAGS="$CPPFLAGS -Wundef"
311 + fi
312 +
313 ++# Check if build ID can be disabled in the linker
314 ++AC_MSG_CHECKING([whether linker accepts `--build-id=none'])
315 ++save_LDFLAGS="$LDFLAGS"
316 ++LDFLAGS="$LDFLAGS -Wl,--build-id=none"
317 ++AC_TRY_LINK(, , build_id_flag=yes, build_id_flag=no)
318 ++AC_MSG_RESULT([$build_id_flag])
319 ++LDFLAGS="$save_LDFLAGS"
320 ++if test "x$build_id_flag" = xyes; then
321 ++ LDFLAGS="$LDFLAGS -Wl,--build-id=none"
322 ++fi
323 ++
324 + if test "x$with_binutils" != x; then
325 + dnl AC_PATH_TOOL(OBJCOPY, objcopy, , "$with_binutils:$PATH")
326 + AC_PATH_PROG(OBJCOPY, objcopy, , "$with_binutils:$PATH")
327 +Index: docs/Makefile.am
328 +===================================================================
329 +RCS file: /sources/grub/grub/docs/Makefile.am,v
330 +retrieving revision 1.25
331 +retrieving revision 1.26
332 +diff -u -p -u -r1.25 -r1.26
333 +--- foo/docs/Makefile.am 29 Nov 2002 20:39:23 -0000 1.25
334 ++++ foo/docs/Makefile.am 24 Jun 2006 14:40:02 -0000 1.26
335 +@@ -1,5 +1,5 @@
336 + info_TEXINFOS = grub.texi multiboot.texi
337 +-grub_TEXINFOS = internals.texi
338 ++grub_TEXINFOS = internals.texi fdl.texi
339 + EXAMPLES = boot.S kernel.c multiboot.h
340 + multiboot_TEXINFOS = boot.S.texi kernel.c.texi multiboot.h.texi
341 + man_MANS = grub.8 mbchk.1 grub-install.8 grub-md5-crypt.8 grub-terminfo.8
342 +Index: docs/fdl.texi
343 +===================================================================
344 +RCS file: docs/fdl.texi
345 +diff -N docs/fdl.texi
346 +--- foo//dev/null 1 Jan 1970 00:00:00 -0000
347 ++++ foo/docs/fdl.texi 24 Jun 2006 14:40:02 -0000 1.1
348 +@@ -0,0 +1,452 @@
349 ++
350 ++@node GNU Free Documentation License
351 ++@appendixsec GNU Free Documentation License
352 ++
353 ++@cindex FDL, GNU Free Documentation License
354 ++@center Version 1.2, November 2002
355 ++
356 ++@display
357 ++Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc.
358 ++51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
359 ++
360 ++Everyone is permitted to copy and distribute verbatim copies
361 ++of this license document, but changing it is not allowed.
362 ++@end display
363 ++
364 ++@enumerate 0
365 ++@item
366 ++PREAMBLE
367 ++
368 ++The purpose of this License is to make a manual, textbook, or other
369 ++functional and useful document @dfn{free} in the sense of freedom: to
370 ++assure everyone the effective freedom to copy and redistribute it,
371 ++with or without modifying it, either commercially or noncommercially.
372 ++Secondarily, this License preserves for the author and publisher a way
373 ++to get credit for their work, while not being considered responsible
374 ++for modifications made by others.
375 ++
376 ++This License is a kind of ``copyleft'', which means that derivative
377 ++works of the document must themselves be free in the same sense. It
378 ++complements the GNU General Public License, which is a copyleft
379 ++license designed for free software.
380 ++
381 ++We have designed this License in order to use it for manuals for free
382 ++software, because free software needs free documentation: a free
383 ++program should come with manuals providing the same freedoms that the
384 ++software does. But this License is not limited to software manuals;
385 ++it can be used for any textual work, regardless of subject matter or
386 ++whether it is published as a printed book. We recommend this License
387 ++principally for works whose purpose is instruction or reference.
388 ++
389 ++@item
390 ++APPLICABILITY AND DEFINITIONS
391 ++
392 ++This License applies to any manual or other work, in any medium, that
393 ++contains a notice placed by the copyright holder saying it can be
394 ++distributed under the terms of this License. Such a notice grants a
395 ++world-wide, royalty-free license, unlimited in duration, to use that
396 ++work under the conditions stated herein. The ``Document'', below,
397 ++refers to any such manual or work. Any member of the public is a
398 ++licensee, and is addressed as ``you''. You accept the license if you
399 ++copy, modify or distribute the work in a way requiring permission
400 ++under copyright law.
401 ++
402 ++A ``Modified Version'' of the Document means any work containing the
403 ++Document or a portion of it, either copied verbatim, or with
404 ++modifications and/or translated into another language.
405 ++
406 ++A ``Secondary Section'' is a named appendix or a front-matter section
407 ++of the Document that deals exclusively with the relationship of the
408 ++publishers or authors of the Document to the Document's overall
409 ++subject (or to related matters) and contains nothing that could fall
410 ++directly within that overall subject. (Thus, if the Document is in
411 ++part a textbook of mathematics, a Secondary Section may not explain
412 ++any mathematics.) The relationship could be a matter of historical
413 ++connection with the subject or with related matters, or of legal,
414 ++commercial, philosophical, ethical or political position regarding
415 ++them.
416 ++
417 ++The ``Invariant Sections'' are certain Secondary Sections whose titles
418 ++are designated, as being those of Invariant Sections, in the notice
419 ++that says that the Document is released under this License. If a
420 ++section does not fit the above definition of Secondary then it is not
421 ++allowed to be designated as Invariant. The Document may contain zero
422 ++Invariant Sections. If the Document does not identify any Invariant
423 ++Sections then there are none.
424 ++
425 ++The ``Cover Texts'' are certain short passages of text that are listed,
426 ++as Front-Cover Texts or Back-Cover Texts, in the notice that says that
427 ++the Document is released under this License. A Front-Cover Text may
428 ++be at most 5 words, and a Back-Cover Text may be at most 25 words.
429 ++
430 ++A ``Transparent'' copy of the Document means a machine-readable copy,
431 ++represented in a format whose specification is available to the
432 ++general public, that is suitable for revising the document
433 ++straightforwardly with generic text editors or (for images composed of
434 ++pixels) generic paint programs or (for drawings) some widely available
435 ++drawing editor, and that is suitable for input to text formatters or
436 ++for automatic translation to a variety of formats suitable for input
437 ++to text formatters. A copy made in an otherwise Transparent file
438 ++format whose markup, or absence of markup, has been arranged to thwart
439 ++or discourage subsequent modification by readers is not Transparent.
440 ++An image format is not Transparent if used for any substantial amount
441 ++of text. A copy that is not ``Transparent'' is called ``Opaque''.
442 ++
443 ++Examples of suitable formats for Transparent copies include plain
444 ++@sc{ascii} without markup, Texinfo input format, La@TeX{} input
445 ++format, @acronym{SGML} or @acronym{XML} using a publicly available
446 ++@acronym{DTD}, and standard-conforming simple @acronym{HTML},
447 ++PostScript or @acronym{PDF} designed for human modification. Examples
448 ++of transparent image formats include @acronym{PNG}, @acronym{XCF} and
449 ++@acronym{JPG}. Opaque formats include proprietary formats that can be
450 ++read and edited only by proprietary word processors, @acronym{SGML} or
451 ++@acronym{XML} for which the @acronym{DTD} and/or processing tools are
452 ++not generally available, and the machine-generated @acronym{HTML},
453 ++PostScript or @acronym{PDF} produced by some word processors for
454 ++output purposes only.
455 ++
456 ++The ``Title Page'' means, for a printed book, the title page itself,
457 ++plus such following pages as are needed to hold, legibly, the material
458 ++this License requires to appear in the title page. For works in
459 ++formats which do not have any title page as such, ``Title Page'' means
460 ++the text near the most prominent appearance of the work's title,
461 ++preceding the beginning of the body of the text.
462 ++
463 ++A section ``Entitled XYZ'' means a named subunit of the Document whose
464 ++title either is precisely XYZ or contains XYZ in parentheses following
465 ++text that translates XYZ in another language. (Here XYZ stands for a
466 ++specific section name mentioned below, such as ``Acknowledgements'',
467 ++``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title''
468 ++of such a section when you modify the Document means that it remains a
469 ++section ``Entitled XYZ'' according to this definition.
470 ++
471 ++The Document may include Warranty Disclaimers next to the notice which
472 ++states that this License applies to the Document. These Warranty
473 ++Disclaimers are considered to be included by reference in this
474 ++License, but only as regards disclaiming warranties: any other
475 ++implication that these Warranty Disclaimers may have is void and has
476 ++no effect on the meaning of this License.
477 ++
478 ++@item
479 ++VERBATIM COPYING
480 ++
481 ++You may copy and distribute the Document in any medium, either
482 ++commercially or noncommercially, provided that this License, the
483 ++copyright notices, and the license notice saying this License applies
484 ++to the Document are reproduced in all copies, and that you add no other
485 ++conditions whatsoever to those of this License. You may not use
486 ++technical measures to obstruct or control the reading or further
487 ++copying of the copies you make or distribute. However, you may accept
488 ++compensation in exchange for copies. If you distribute a large enough
489 ++number of copies you must also follow the conditions in section 3.
490 ++
491 ++You may also lend copies, under the same conditions stated above, and
492 ++you may publicly display copies.
493 ++
494 ++@item
495 ++COPYING IN QUANTITY
496 ++
497 ++If you publish printed copies (or copies in media that commonly have
498 ++printed covers) of the Document, numbering more than 100, and the
499 ++Document's license notice requires Cover Texts, you must enclose the
500 ++copies in covers that carry, clearly and legibly, all these Cover
501 ++Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
502 ++the back cover. Both covers must also clearly and legibly identify
503 ++you as the publisher of these copies. The front cover must present
504 ++the full title with all words of the title equally prominent and
505 ++visible. You may add other material on the covers in addition.
506 ++Copying with changes limited to the covers, as long as they preserve
507 ++the title of the Document and satisfy these conditions, can be treated
508 ++as verbatim copying in other respects.
509 ++
510 ++If the required texts for either cover are too voluminous to fit
511 ++legibly, you should put the first ones listed (as many as fit
512 ++reasonably) on the actual cover, and continue the rest onto adjacent
513 ++pages.
514 ++
515 ++If you publish or distribute Opaque copies of the Document numbering
516 ++more than 100, you must either include a machine-readable Transparent
517 ++copy along with each Opaque copy, or state in or with each Opaque copy
518 ++a computer-network location from which the general network-using
519 ++public has access to download using public-standard network protocols
520 ++a complete Transparent copy of the Document, free of added material.
521 ++If you use the latter option, you must take reasonably prudent steps,
522 ++when you begin distribution of Opaque copies in quantity, to ensure
523 ++that this Transparent copy will remain thus accessible at the stated
524 ++location until at least one year after the last time you distribute an
525 ++Opaque copy (directly or through your agents or retailers) of that
526 ++edition to the public.
527 ++
528 ++It is requested, but not required, that you contact the authors of the
529 ++Document well before redistributing any large number of copies, to give
530 ++them a chance to provide you with an updated version of the Document.
531 ++
532 ++@item
533 ++MODIFICATIONS
534 ++
535 ++You may copy and distribute a Modified Version of the Document under
536 ++the conditions of sections 2 and 3 above, provided that you release
537 ++the Modified Version under precisely this License, with the Modified
538 ++Version filling the role of the Document, thus licensing distribution
539 ++and modification of the Modified Version to whoever possesses a copy
540 ++of it. In addition, you must do these things in the Modified Version:
541 ++
542 ++@enumerate A
543 ++@item
544 ++Use in the Title Page (and on the covers, if any) a title distinct
545 ++from that of the Document, and from those of previous versions
546 ++(which should, if there were any, be listed in the History section
547 ++of the Document). You may use the same title as a previous version
548 ++if the original publisher of that version gives permission.
549 ++
550 ++@item
551 ++List on the Title Page, as authors, one or more persons or entities
552 ++responsible for authorship of the modifications in the Modified
553 ++Version, together with at least five of the principal authors of the
554 ++Document (all of its principal authors, if it has fewer than five),
555 ++unless they release you from this requirement.
556 ++
557 ++@item
558 ++State on the Title page the name of the publisher of the
559 ++Modified Version, as the publisher.
560 ++
561 ++@item
562 ++Preserve all the copyright notices of the Document.
563 ++
564 ++@item
565 ++Add an appropriate copyright notice for your modifications
566 ++adjacent to the other copyright notices.
567 ++
568 ++@item
569 ++Include, immediately after the copyright notices, a license notice
570 ++giving the public permission to use the Modified Version under the
571 ++terms of this License, in the form shown in the Addendum below.
572 ++
573 ++@item
574 ++Preserve in that license notice the full lists of Invariant Sections
575 ++and required Cover Texts given in the Document's license notice.
576 ++
577 ++@item
578 ++Include an unaltered copy of this License.
579 ++
580 ++@item
581 ++Preserve the section Entitled ``History'', Preserve its Title, and add
582 ++to it an item stating at least the title, year, new authors, and
583 ++publisher of the Modified Version as given on the Title Page. If
584 ++there is no section Entitled ``History'' in the Document, create one
585 ++stating the title, year, authors, and publisher of the Document as
586 ++given on its Title Page, then add an item describing the Modified
587 ++Version as stated in the previous sentence.
588 ++
589 ++@item
590 ++Preserve the network location, if any, given in the Document for
591 ++public access to a Transparent copy of the Document, and likewise
592 ++the network locations given in the Document for previous versions
593 ++it was based on. These may be placed in the ``History'' section.
594 ++You may omit a network location for a work that was published at
595 ++least four years before the Document itself, or if the original
596 ++publisher of the version it refers to gives permission.
597 ++
598 ++@item
599 ++For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
600 ++the Title of the section, and preserve in the section all the
601 ++substance and tone of each of the contributor acknowledgements and/or
602 ++dedications given therein.
603 ++
604 ++@item
605 ++Preserve all the Invariant Sections of the Document,
606 ++unaltered in their text and in their titles. Section numbers
607 ++or the equivalent are not considered part of the section titles.
608 ++
609 ++@item
610 ++Delete any section Entitled ``Endorsements''. Such a section
611 ++may not be included in the Modified Version.
612 ++
613 ++@item
614 ++Do not retitle any existing section to be Entitled ``Endorsements'' or
615 ++to conflict in title with any Invariant Section.
616 ++
617 ++@item
618 ++Preserve any Warranty Disclaimers.
619 ++@end enumerate
620 ++
621 ++If the Modified Version includes new front-matter sections or
622 ++appendices that qualify as Secondary Sections and contain no material
623 ++copied from the Document, you may at your option designate some or all
624 ++of these sections as invariant. To do this, add their titles to the
625 ++list of Invariant Sections in the Modified Version's license notice.
626 ++These titles must be distinct from any other section titles.
627 ++
628 ++You may add a section Entitled ``Endorsements'', provided it contains
629 ++nothing but endorsements of your Modified Version by various
630 ++parties---for example, statements of peer review or that the text has
631 ++been approved by an organization as the authoritative definition of a
632 ++standard.
633 ++
634 ++You may add a passage of up to five words as a Front-Cover Text, and a
635 ++passage of up to 25 words as a Back-Cover Text, to the end of the list
636 ++of Cover Texts in the Modified Version. Only one passage of
637 ++Front-Cover Text and one of Back-Cover Text may be added by (or
638 ++through arrangements made by) any one entity. If the Document already
639 ++includes a cover text for the same cover, previously added by you or
640 ++by arrangement made by the same entity you are acting on behalf of,
641 ++you may not add another; but you may replace the old one, on explicit
642 ++permission from the previous publisher that added the old one.
643 ++
644 ++The author(s) and publisher(s) of the Document do not by this License
645 ++give permission to use their names for publicity for or to assert or
646 ++imply endorsement of any Modified Version.
647 ++
648 ++@item
649 ++COMBINING DOCUMENTS
650 ++
651 ++You may combine the Document with other documents released under this
652 ++License, under the terms defined in section 4 above for modified
653 ++versions, provided that you include in the combination all of the
654 ++Invariant Sections of all of the original documents, unmodified, and
655 ++list them all as Invariant Sections of your combined work in its
656 ++license notice, and that you preserve all their Warranty Disclaimers.
657 ++
658 ++The combined work need only contain one copy of this License, and
659 ++multiple identical Invariant Sections may be replaced with a single
660 ++copy. If there are multiple Invariant Sections with the same name but
661 ++different contents, make the title of each such section unique by
662 ++adding at the end of it, in parentheses, the name of the original
663 ++author or publisher of that section if known, or else a unique number.
664 ++Make the same adjustment to the section titles in the list of
665 ++Invariant Sections in the license notice of the combined work.
666 ++
667 ++In the combination, you must combine any sections Entitled ``History''
668 ++in the various original documents, forming one section Entitled
669 ++``History''; likewise combine any sections Entitled ``Acknowledgements'',
670 ++and any sections Entitled ``Dedications''. You must delete all
671 ++sections Entitled ``Endorsements.''
672 ++
673 ++@item
674 ++COLLECTIONS OF DOCUMENTS
675 ++
676 ++You may make a collection consisting of the Document and other documents
677 ++released under this License, and replace the individual copies of this
678 ++License in the various documents with a single copy that is included in
679 ++the collection, provided that you follow the rules of this License for
680 ++verbatim copying of each of the documents in all other respects.
681 ++
682 ++You may extract a single document from such a collection, and distribute
683 ++it individually under this License, provided you insert a copy of this
684 ++License into the extracted document, and follow this License in all
685 ++other respects regarding verbatim copying of that document.
686 ++
687 ++@item
688 ++AGGREGATION WITH INDEPENDENT WORKS
689 ++
690 ++A compilation of the Document or its derivatives with other separate
691 ++and independent documents or works, in or on a volume of a storage or
692 ++distribution medium, is called an ``aggregate'' if the copyright
693 ++resulting from the compilation is not used to limit the legal rights
694 ++of the compilation's users beyond what the individual works permit.
695 ++When the Document is included in an aggregate, this License does not
696 ++apply to the other works in the aggregate which are not themselves
697 ++derivative works of the Document.
698 ++
699 ++If the Cover Text requirement of section 3 is applicable to these
700 ++copies of the Document, then if the Document is less than one half of
701 ++the entire aggregate, the Document's Cover Texts may be placed on
702 ++covers that bracket the Document within the aggregate, or the
703 ++electronic equivalent of covers if the Document is in electronic form.
704 ++Otherwise they must appear on printed covers that bracket the whole
705 ++aggregate.
706 ++
707 ++@item
708 ++TRANSLATION
709 ++
710 ++Translation is considered a kind of modification, so you may
711 ++distribute translations of the Document under the terms of section 4.
712 ++Replacing Invariant Sections with translations requires special
713 ++permission from their copyright holders, but you may include
714 ++translations of some or all Invariant Sections in addition to the
715 ++original versions of these Invariant Sections. You may include a
716 ++translation of this License, and all the license notices in the
717 ++Document, and any Warranty Disclaimers, provided that you also include
718 ++the original English version of this License and the original versions
719 ++of those notices and disclaimers. In case of a disagreement between
720 ++the translation and the original version of this License or a notice
721 ++or disclaimer, the original version will prevail.
722 ++
723 ++If a section in the Document is Entitled ``Acknowledgements'',
724 ++``Dedications'', or ``History'', the requirement (section 4) to Preserve
725 ++its Title (section 1) will typically require changing the actual
726 ++title.
727 ++
728 ++@item
729 ++TERMINATION
730 ++
731 ++You may not copy, modify, sublicense, or distribute the Document except
732 ++as expressly provided for under this License. Any other attempt to
733 ++copy, modify, sublicense or distribute the Document is void, and will
734 ++automatically terminate your rights under this License. However,
735 ++parties who have received copies, or rights, from you under this
736 ++License will not have their licenses terminated so long as such
737 ++parties remain in full compliance.
738 ++
739 ++@item
740 ++FUTURE REVISIONS OF THIS LICENSE
741 ++
742 ++The Free Software Foundation may publish new, revised versions
743 ++of the GNU Free Documentation License from time to time. Such new
744 ++versions will be similar in spirit to the present version, but may
745 ++differ in detail to address new problems or concerns. See
746 ++@uref{http://www.gnu.org/copyleft/}.
747 ++
748 ++Each version of the License is given a distinguishing version number.
749 ++If the Document specifies that a particular numbered version of this
750 ++License ``or any later version'' applies to it, you have the option of
751 ++following the terms and conditions either of that specified version or
752 ++of any later version that has been published (not as a draft) by the
753 ++Free Software Foundation. If the Document does not specify a version
754 ++number of this License, you may choose any version ever published (not
755 ++as a draft) by the Free Software Foundation.
756 ++@end enumerate
757 ++
758 ++@page
759 ++@appendixsubsec ADDENDUM: How to use this License for your documents
760 ++
761 ++To use this License in a document you have written, include a copy of
762 ++the License in the document and put the following copyright and
763 ++license notices just after the title page:
764 ++
765 ++@smallexample
766 ++@group
767 ++ Copyright (C) @var{year} @var{your name}.
768 ++ Permission is granted to copy, distribute and/or modify this document
769 ++ under the terms of the GNU Free Documentation License, Version 1.2
770 ++ or any later version published by the Free Software Foundation;
771 ++ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
772 ++ Texts. A copy of the license is included in the section entitled ``GNU
773 ++ Free Documentation License''.
774 ++@end group
775 ++@end smallexample
776 ++
777 ++If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
778 ++replace the ``with...Texts.'' line with this:
779 ++
780 ++@smallexample
781 ++@group
782 ++ with the Invariant Sections being @var{list their titles}, with
783 ++ the Front-Cover Texts being @var{list}, and with the Back-Cover Texts
784 ++ being @var{list}.
785 ++@end group
786 ++@end smallexample
787 ++
788 ++If you have Invariant Sections without Cover Texts, or some other
789 ++combination of the three, merge those two alternatives to suit the
790 ++situation.
791 ++
792 ++If your document contains nontrivial examples of program code, we
793 ++recommend releasing these examples in parallel under your choice of
794 ++free software license, such as the GNU General Public License,
795 ++to permit their use in free software.
796 ++
797 ++@c Local Variables:
798 ++@c ispell-local-pdict: "ispell-dict"
799 ++@c End:
800 ++
801 +Index: docs/grub-install.8
802 +===================================================================
803 +RCS file: /sources/grub/grub/docs/grub-install.8,v
804 +retrieving revision 1.52
805 +retrieving revision 1.53
806 +diff -u -p -u -r1.52 -r1.53
807 +--- foo/docs/grub-install.8 8 May 2005 02:51:52 -0000 1.52
808 ++++ foo/docs/grub-install.8 24 Jun 2006 14:40:02 -0000 1.53
809 +@@ -1,5 +1,5 @@
810 + .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.23.
811 +-.TH GRUB-INSTALL "8" "May 2005" "grub-install (GNU GRUB 0.97)" FSF
812 ++.TH GRUB-INSTALL "8" "June 2006" "grub-install (GNU GRUB 0.97)" FSF
813 + .SH NAME
814 + grub-install \- install GRUB on your drive
815 + .SH SYNOPSIS
816 +Index: docs/grub-md5-crypt.8
817 +===================================================================
818 +RCS file: /sources/grub/grub/docs/grub-md5-crypt.8,v
819 +retrieving revision 1.32
820 +retrieving revision 1.33
821 +diff -u -p -u -r1.32 -r1.33
822 +--- foo/docs/grub-md5-crypt.8 8 May 2005 02:51:52 -0000 1.32
823 ++++ foo/docs/grub-md5-crypt.8 24 Jun 2006 14:40:02 -0000 1.33
824 +@@ -1,5 +1,5 @@
825 + .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.23.
826 +-.TH GRUB-MD5-CRYPT "8" "May 2005" "grub-md5-crypt (GNU GRUB )" FSF
827 ++.TH GRUB-MD5-CRYPT "8" "June 2006" "grub-md5-crypt (GNU GRUB )" FSF
828 + .SH NAME
829 + grub-md5-crypt \- Encrypt a password in MD5 format
830 + .SH SYNOPSIS
831 +Index: docs/grub-terminfo.8
832 +===================================================================
833 +RCS file: /sources/grub/grub/docs/grub-terminfo.8,v
834 +retrieving revision 1.12
835 +retrieving revision 1.13
836 +diff -u -p -u -r1.12 -r1.13
837 +--- foo/docs/grub-terminfo.8 8 May 2005 02:51:52 -0000 1.12
838 ++++ foo/docs/grub-terminfo.8 24 Jun 2006 14:40:02 -0000 1.13
839 +@@ -1,5 +1,5 @@
840 + .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.23.
841 +-.TH GRUB-TERMINFO "8" "May 2005" "grub-terminfo (GNU GRUB 0.97)" FSF
842 ++.TH GRUB-TERMINFO "8" "June 2006" "grub-terminfo (GNU GRUB 0.97)" FSF
843 + .SH NAME
844 + grub-terminfo \- Generate a terminfo command from a terminfo name
845 + .SH SYNOPSIS
846 +Index: docs/grub.8
847 +===================================================================
848 +RCS file: /sources/grub/grub/docs/grub.8,v
849 +retrieving revision 1.65
850 +retrieving revision 1.67
851 +diff -u -p -u -r1.65 -r1.67
852 +--- foo/docs/grub.8 8 May 2005 02:51:52 -0000 1.65
853 ++++ foo/docs/grub.8 24 Jun 2006 14:40:02 -0000 1.67
854 +@@ -1,5 +1,5 @@
855 + .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.23.
856 +-.TH GRUB "8" "May 2005" "grub (GNU GRUB 0.97)" FSF
857 ++.TH GRUB "8" "June 2006" "grub (GNU GRUB 0.97)" FSF
858 + .SH NAME
859 + grub \- the grub shell
860 + .SH SYNOPSIS
861 +Index: docs/grub.texi
862 +===================================================================
863 +RCS file: /sources/grub/grub/docs/grub.texi,v
864 +retrieving revision 1.84
865 +retrieving revision 1.85
866 +diff -u -p -u -r1.84 -r1.85
867 +--- foo/docs/grub.texi 20 Sep 2004 21:55:00 -0000 1.84
868 ++++ foo/docs/grub.texi 24 Jun 2006 14:40:02 -0000 1.85
869 +@@ -2,22 +2,41 @@
870 + @c -*-texinfo-*-
871 + @c %**start of header
872 + @setfilename grub.info
873 +-@settitle GRUB Manual
874 +-@c %**end of header
875 +-
876 + @include version.texi
877 +-
878 ++@settitle GNU GRUB Manual @value{VERSION}
879 + @c Unify all our little indices for now.
880 + @syncodeindex fn cp
881 + @syncodeindex vr cp
882 + @syncodeindex ky cp
883 + @syncodeindex pg cp
884 + @syncodeindex tp cp
885 ++@c %**end of header
886 +
887 + @footnotestyle separate
888 + @paragraphindent 3
889 + @finalout
890 +
891 ++@copying
892 ++This manual is for GNU GRUB (version @value{VERSION},
893 ++@value{UPDATED}).
894 ++
895 ++Copyright @copyright{} 1999,2000,2001,2002,2004,2006 Free Software Foundation, Inc.
896 ++
897 ++@quotation
898 ++Permission is granted to copy, distribute and/or modify this document
899 ++under the terms of the GNU Free Documentation License, Version 1.2 or
900 ++any later version published by the Free Software Foundation; with no
901 ++Invariant Sections, with the Front-Cover Texts being ``A GNU Manual,''
902 ++and with the Back-Cover Texts as in (a) below. A copy of the
903 ++license is included in the section entitled ``GNU Free Documentation
904 ++License.''
905 ++
906 ++(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
907 ++this GNU Manual, like GNU software. Copies published by the Free
908 ++Software Foundation raise funds for GNU development.''
909 ++@end quotation
910 ++@end copying
911 ++
912 + @dircategory Kernel
913 + @direntry
914 + * GRUB: (grub). The GRand Unified Bootloader
915 +@@ -34,53 +53,16 @@
916 +
917 + @setchapternewpage odd
918 +
919 +-@ifinfo
920 +-Copyright @copyright{} 1999,2000,2001,2002,2004 Free Software Foundation, Inc.
921 +-
922 +-Permission is granted to make and distribute verbatim copies of
923 +-this manual provided the copyright notice and this permission notice
924 +-are preserved on all copies.
925 +-
926 +-@ignore
927 +-Permission is granted to process this file through TeX and print the
928 +-results, provided the printed document carries a copying permission
929 +-notice identical to this one except for the removal of this paragraph
930 +-(this paragraph not being relevant to the printed manual).
931 +-
932 +-@end ignore
933 +-
934 +-Permission is granted to copy and distribute modified versions of this
935 +-manual under the conditions for verbatim copying, provided also that
936 +-the entire resulting derived work is distributed under the terms of a
937 +-permission notice identical to this one.
938 +-
939 +-Permission is granted to copy and distribute translations of this manual
940 +-into another language, under the above conditions for modified versions.
941 +-@end ifinfo
942 +-
943 + @titlepage
944 + @sp 10
945 +-@title the GRUB manual
946 ++@title the GNU GRUB manual
947 + @subtitle The GRand Unified Bootloader, version @value{VERSION}, @value{UPDATED}.
948 + @author Gordon Matzigkeit
949 + @author Yoshinori K. Okuji
950 + @c The following two commands start the copyright page.
951 + @page
952 + @vskip 0pt plus 1filll
953 +-Copyright @copyright{} 1999,2000,2001,2002,2004 Free Software Foundation, Inc.
954 +-
955 +-Permission is granted to make and distribute verbatim copies of
956 +-this manual provided the copyright notice and this permission notice
957 +-are preserved on all copies.
958 +-Permission is granted to copy and distribute modified versions of this
959 +-manual under the conditions for verbatim copying, provided that the entire
960 +-resulting derived work is distributed under the terms of a permission
961 +-notice identical to this one.
962 +-
963 +-Permission is granted to copy and distribute translations of this manual
964 +-into another language, under the above conditions for modified versions,
965 +-except that this permission notice may be stated in a translation approved
966 +-by Free Software Foundation.
967 ++@insertcopying
968 + @end titlepage
969 +
970 + @c Output the table of contents at the beginning.
971 +@@ -91,12 +73,14 @@ by Free Software Foundation.
972 +
973 + @ifnottex
974 + @node Top
975 +-@top GRUB manual
976 ++@top GNU GRUB manual
977 +
978 + This is the documentation of GNU GRUB, the GRand Unified Bootloader,
979 + a flexible and powerful boot loader program for @sc{pc}s.
980 +
981 + This edition documents version @value{VERSION}.
982 ++
983 ++@insertcopying
984 + @end ifnottex
985 +
986 + @menu
987 +@@ -124,6 +108,7 @@ This edition documents version @value{VE
988 + * Reporting bugs:: Where you should send a bug report
989 + * Future:: Some future plans on GRUB
990 + * Internals:: Hacking GRUB
991 ++* Copying This Manual:: Copying This Manual
992 + * Index::
993 + @end menu
994 +
995 +@@ -3965,6 +3950,16 @@ homepage}.
996 + @include internals.texi
997 +
998 +
999 ++@node Copying This Manual
1000 ++@appendix Copying This Manual
1001 ++
1002 ++@menu
1003 ++* GNU Free Documentation License:: License for copying this manual.
1004 ++@end menu
1005 ++
1006 ++@include fdl.texi
1007 ++
1008 ++
1009 + @node Index
1010 + @unnumbered Index
1011 +
1012 +Index: docs/mbchk.1
1013 +===================================================================
1014 +RCS file: /sources/grub/grub/docs/mbchk.1,v
1015 +retrieving revision 1.53
1016 +retrieving revision 1.54
1017 +diff -u -p -u -r1.53 -r1.54
1018 +--- foo/docs/mbchk.1 8 May 2005 02:51:52 -0000 1.53
1019 ++++ foo/docs/mbchk.1 24 Jun 2006 14:40:02 -0000 1.54
1020 +@@ -1,5 +1,5 @@
1021 + .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.23.
1022 +-.TH MBCHK "1" "May 2005" "mbchk (GNU GRUB 0.97)" FSF
1023 ++.TH MBCHK "1" "June 2006" "mbchk (GNU GRUB 0.97)" FSF
1024 + .SH NAME
1025 + mbchk \- check the format of a Multiboot kernel
1026 + .SH SYNOPSIS
1027 +Index: docs/multiboot.texi
1028 +===================================================================
1029 +RCS file: /sources/grub/grub/docs/multiboot.texi,v
1030 +retrieving revision 1.18
1031 +retrieving revision 1.21
1032 +diff -u -p -u -r1.18 -r1.21
1033 +--- foo/docs/multiboot.texi 16 Jun 2002 03:12:58 -0000 1.18
1034 ++++ foo/docs/multiboot.texi 24 Jun 2006 14:40:02 -0000 1.21
1035 +@@ -1,32 +1,28 @@
1036 + \input texinfo @c -*-texinfo-*-
1037 +-@c -*-texinfo-*-
1038 + @c %**start of header
1039 + @setfilename multiboot.info
1040 +-@settitle Multiboot Specification
1041 +-@c %**end of header
1042 +-
1043 ++@set VERSION 0.6.95
1044 ++@settitle Multiboot Specification version @value{VERSION}
1045 + @c Unify all our little indices for now.
1046 + @syncodeindex fn cp
1047 + @syncodeindex vr cp
1048 + @syncodeindex ky cp
1049 + @syncodeindex pg cp
1050 + @syncodeindex tp cp
1051 ++@c %**end of header
1052 +
1053 + @footnotestyle separate
1054 + @paragraphindent 3
1055 + @finalout
1056 +
1057 ++@copying
1058 ++Copyright @copyright{} 1995,96 Bryan Ford <baford@@cs.utah.edu>
1059 +
1060 +-@dircategory Kernel
1061 +-@direntry
1062 +-* Multiboot Specification: (multiboot). Multiboot Specification.
1063 +-@end direntry
1064 ++Copyright @copyright{} 1995,96 Erich Stefan Boleyn <erich@@uruk.org>
1065 +
1066 +-@ifinfo
1067 +-Copyright @copyright{} 1995, 96 Bryan Ford <baford@@cs.utah.edu>
1068 +-Copyright @copyright{} 1995, 96 Erich Stefan Boleyn <erich@@uruk.org>
1069 -Copyright @copyright{} 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
1070 +Copyright @copyright{} 1999, 2000, 2001, 2002, 2005, 2006 Free Software Foundation, Inc.
1071
1072 ++@quotation
1073 Permission is granted to make and distribute verbatim copies of
1074 this manual provided the copyright notice and this permission notice
1075 -@@ -57,7 +57,7 @@
1076 + are preserved on all copies.
1077 +@@ -36,7 +32,6 @@ Permission is granted to process this fi
1078 + results, provided the printed document carries a copying permission
1079 + notice identical to this one except for the removal of this paragraph
1080 + (this paragraph not being relevant to the printed manual).
1081 +-
1082 + @end ignore
1083 +
1084 + Permission is granted to copy and distribute modified versions of this
1085 +@@ -45,31 +40,23 @@ the entire resulting derived work is dis
1086 + permission notice identical to this one.
1087 +
1088 + Permission is granted to copy and distribute translations of this manual
1089 +-into another language, under the above conditions for modified versions.
1090 +-@end ifinfo
1091 ++into another language, under the above conditions for modified
1092 ++versions.
1093 ++@end quotation
1094 ++@end copying
1095 ++
1096 ++@dircategory Kernel
1097 ++@direntry
1098 ++* Multiboot Specification: (multiboot). Multiboot Specification.
1099 ++@end direntry
1100 +
1101 + @titlepage
1102 + @sp 10
1103 +-@title The Multiboot Specification
1104 ++@title The Multiboot Specification version @value{VERSION}
1105 + @author Yoshinori K. Okuji, Bryan Ford, Erich Stefan Boleyn, Kunihiro Ishiguro
1106 + @page
1107 +-
1108 @vskip 0pt plus 1filll
1109 - Copyright @copyright{} 1995, 96 Bryan Ford <baford@@cs.utah.edu>
1110 - Copyright @copyright{} 1995, 96 Erich Stefan Boleyn <erich@@uruk.org>
1111 +-Copyright @copyright{} 1995, 96 Bryan Ford <baford@@cs.utah.edu>
1112 +-Copyright @copyright{} 1995, 96 Erich Stefan Boleyn <erich@@uruk.org>
1113 -Copyright @copyright{} 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
1114 -+Copyright @copyright{} 1999, 2000, 2001, 2002, 2005, 2006 Free Software Foundation, Inc.
1115 +-
1116 +-Permission is granted to make and distribute verbatim copies of
1117 +-this manual provided the copyright notice and this permission notice
1118 +-are preserved on all copies.
1119 +-
1120 +-Permission is granted to copy and distribute modified versions of this
1121 +-manual under the conditions for verbatim copying, provided also that
1122 +-the entire resulting derived work is distributed under the terms of a
1123 +-permission notice identical to this one.
1124 +-
1125 +-Permission is granted to copy and distribute translations of this manual
1126 +-into another language, under the above conditions for modified versions.
1127 ++@insertcopying
1128 + @end titlepage
1129
1130 - Permission is granted to make and distribute verbatim copies of
1131 - this manual provided the copyright notice and this permission notice
1132 -@@ -80,7 +80,7 @@
1133 + @finalout
1134 +@@ -80,7 +67,9 @@ into another language, under the above c
1135 @top Multiboot Specification
1136
1137 This file documents Multiboot Specification, the proposal for the boot
1138 -sequence standard. This edition documents version 0.6.93.
1139 -+sequence standard. This edition documents version 0.6.94.
1140 ++sequence standard. This edition documents version @value{VERSION}.
1141 ++
1142 ++@insertcopying
1143 @end ifnottex
1144
1145 @menu
1146 -@@ -426,7 +426,7 @@
1147 +@@ -426,7 +415,7 @@ mode table (@pxref{Boot information form
1148 kernel.
1149
1150 If bit 16 in the @samp{flags} word is set, then the fields at offsets
1151 @@ -107,7 +1083,7 @@ diff -Nur grub-0.97/docs/multiboot.texi
1152 them instead of the fields in the actual executable header to calculate
1153 where to load the OS image. This information does not need to be
1154 provided if the kernel image is in @sc{elf} format, but it @emph{must}
1155 -@@ -677,7 +677,7 @@
1156 +@@ -677,7 +666,7 @@ follows:
1157 @example
1158 @group
1159 +-------+-------+-------+-------+
1160 @@ -116,10 +1092,11 @@ diff -Nur grub-0.97/docs/multiboot.texi
1161 +-------+-------+-------+-------+
1162 @end group
1163 @end example
1164 -@@ -1199,6 +1199,13 @@
1165 +@@ -1197,6 +1186,17 @@ Rewritten, using more strict words.
1166 + @item
1167 + The maintainer changes to the GNU GRUB maintainer team
1168 @email{bug-grub@@gnu.org}, from Bryan Ford and Erich Stefan Boleyn.
1169 - @end itemize
1170 -
1171 ++
1172 +@item
1173 +The byte order of the @samp{boot_device} in Multiboot information is
1174 +reversed. This was a mistake.
1175 @@ -127,13 +1104,33 @@ diff -Nur grub-0.97/docs/multiboot.texi
1176 +@item
1177 +The offset of the address fields were wrong.
1178 +
1179 ++@item
1180 ++The format is adapted to a newer Texinfo, and the version number is
1181 ++specified more explicitly in the title.
1182 + @end itemize
1183 +
1184 @item 0.6
1185 - @itemize @bullet
1186 - @item
1187 -diff -Nur grub-0.97/grub/asmstub.c cvs/grub/asmstub.c
1188 ---- grub-0.97/grub/asmstub.c 2005-02-16 21:45:14.000000000 +0100
1189 -+++ cvs/grub/asmstub.c 2006-04-23 12:10:52.000000000 +0200
1190 -@@ -55,6 +55,10 @@
1191 +Index: docs/stamp-vti
1192 +===================================================================
1193 +RCS file: /sources/grub/grub/docs/stamp-vti,v
1194 +retrieving revision 1.47
1195 +retrieving revision 1.48
1196 +diff -u -p -u -r1.47 -r1.48
1197 +Index: docs/version.texi
1198 +===================================================================
1199 +RCS file: /sources/grub/grub/docs/version.texi,v
1200 +retrieving revision 1.47
1201 +retrieving revision 1.48
1202 +diff -u -p -u -r1.47 -r1.48
1203 +Index: grub/asmstub.c
1204 +===================================================================
1205 +RCS file: /sources/grub/grub/grub/asmstub.c,v
1206 +retrieving revision 1.84
1207 +retrieving revision 1.87
1208 +diff -u -p -u -r1.84 -r1.87
1209 +--- foo/grub/asmstub.c 16 Feb 2005 20:45:48 -0000 1.84
1210 ++++ foo/grub/asmstub.c 28 Mar 2008 13:22:28 -0000 1.87
1211 +@@ -55,6 +55,10 @@ int grub_stage2 (void);
1212 # endif /* ! BLKFLSBUF */
1213 #endif /* __linux__ */
1214
1215 @@ -144,7 +1141,7 @@ diff -Nur grub-0.97/grub/asmstub.c cvs/g
1216 /* We want to prevent any circularararity in our stubs, as well as
1217 libc name clashes. */
1218 #define WITHOUT_LIBC_STUBS 1
1219 -@@ -777,7 +781,39 @@
1220 +@@ -777,7 +781,39 @@ get_diskinfo (int drive, struct geometry
1221
1222 /* Open read/write, or read-only if that failed. */
1223 if (! read_only)
1224 @@ -185,10 +1182,24 @@ diff -Nur grub-0.97/grub/asmstub.c cvs/g
1225
1226 if (disks[drive].flags == -1)
1227 {
1228 -diff -Nur grub-0.97/grub/main.c cvs/grub/main.c
1229 ---- grub-0.97/grub/main.c 2003-07-09 13:45:36.000000000 +0200
1230 -+++ cvs/grub/main.c 2006-05-05 23:43:46.000000000 +0200
1231 -@@ -32,6 +32,7 @@
1232 +@@ -926,7 +962,7 @@ hex_dump (void *buf, size_t size)
1233 +
1234 + int
1235 + biosdisk (int subfunc, int drive, struct geometry *geometry,
1236 +- int sector, int nsec, int segment)
1237 ++ unsigned int sector, int nsec, int segment)
1238 + {
1239 + char *buf;
1240 + int fd = geometry->flags;
1241 +Index: grub/main.c
1242 +===================================================================
1243 +RCS file: /sources/grub/grub/grub/main.c,v
1244 +retrieving revision 1.23
1245 +retrieving revision 1.24
1246 +diff -u -p -u -r1.23 -r1.24
1247 +--- foo/grub/main.c 11 Jun 2002 16:36:54 -0000 1.23
1248 ++++ foo/grub/main.c 5 May 2006 21:43:46 -0000 1.24
1249 +@@ -32,6 +32,7 @@ int grub_stage2 (void);
1250 #define WITHOUT_LIBC_STUBS 1
1251 #include <shared.h>
1252 #include <term.h>
1253 @@ -196,7 +1207,7 @@ diff -Nur grub-0.97/grub/main.c cvs/grub
1254
1255 char *program_name = 0;
1256 int use_config_file = 1;
1257 -@@ -192,6 +193,12 @@
1258 +@@ -192,6 +193,12 @@ main (int argc, char **argv)
1259 perror ("strtoul");
1260 exit (1);
1261 }
1262 @@ -209,9 +1220,313 @@ diff -Nur grub-0.97/grub/main.c cvs/grub
1263 break;
1264
1265 case OPT_NO_CONFIG_FILE:
1266 -diff -Nur grub-0.97/stage2/boot.c cvs/stage2/boot.c
1267 ---- grub-0.97/stage2/boot.c 2004-03-30 13:44:08.000000000 +0200
1268 -+++ cvs/stage2/boot.c 2005-09-28 23:47:55.000000000 +0200
1269 +Index: lib/device.c
1270 +===================================================================
1271 +RCS file: /sources/grub/grub/lib/device.c,v
1272 +retrieving revision 1.26
1273 +retrieving revision 1.29
1274 +diff -u -p -u -r1.26 -r1.29
1275 +--- foo/lib/device.c 27 Mar 2005 23:20:09 -0000 1.26
1276 ++++ foo/lib/device.c 28 Mar 2008 13:22:28 -0000 1.29
1277 +@@ -69,9 +69,9 @@ struct hd_geometry
1278 + # ifndef CDROM_GET_CAPABILITY
1279 + # define CDROM_GET_CAPABILITY 0x5331 /* get capabilities */
1280 + # endif /* ! CDROM_GET_CAPABILITY */
1281 +-# ifndef BLKGETSIZE
1282 +-# define BLKGETSIZE _IO(0x12,96) /* return device size */
1283 +-# endif /* ! BLKGETSIZE */
1284 ++# ifndef BLKGETSIZE64
1285 ++# define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return device size */
1286 ++# endif /* ! BLKGETSIZE64 */
1287 + #endif /* __linux__ */
1288 +
1289 + /* Use __FreeBSD_kernel__ instead of __FreeBSD__ for compatibility with
1290 +@@ -152,19 +152,19 @@ get_drive_geometry (struct geometry *geo
1291 + /* Linux */
1292 + {
1293 + struct hd_geometry hdg;
1294 +- unsigned long nr;
1295 ++ unsigned long long nr;
1296 +
1297 + if (ioctl (fd, HDIO_GETGEO, &hdg))
1298 + goto fail;
1299 +
1300 +- if (ioctl (fd, BLKGETSIZE, &nr))
1301 ++ if (ioctl (fd, BLKGETSIZE64, &nr))
1302 + goto fail;
1303 +
1304 + /* Got the geometry, so save it. */
1305 + geom->cylinders = hdg.cylinders;
1306 + geom->heads = hdg.heads;
1307 + geom->sectors = hdg.sectors;
1308 +- geom->total_sectors = nr;
1309 ++ geom->total_sectors = nr / 512;
1310 +
1311 + goto success;
1312 + }
1313 +@@ -407,6 +407,12 @@ get_ataraid_disk_name (char *name, int u
1314 + {
1315 + sprintf (name, "/dev/ataraid/d%c", unit + '0');
1316 + }
1317 ++
1318 ++static void
1319 ++get_i2o_disk_name (char *name, char unit)
1320 ++{
1321 ++ sprintf (name, "/dev/i2o/hd%c", unit);
1322 ++}
1323 + #endif
1324 +
1325 + /* Check if DEVICE can be read. If an error occurs, return zero,
1326 +@@ -801,6 +807,29 @@ init_device_map (char ***map, const char
1327 + }
1328 + }
1329 + }
1330 ++
1331 ++ /* This is for I2O - we have /dev/i2o/hd<logical drive><partition> */
1332 ++ {
1333 ++ int unit;
1334 ++
1335 ++ for (unit = 'a'; unit < 'f'; unit++)
1336 ++ {
1337 ++ char name[24];
1338 ++
1339 ++ get_i2o_disk_name (name, unit);
1340 ++ if (check_device (name))
1341 ++ {
1342 ++ (*map)[num_hd + 0x80] = strdup (name);
1343 ++ assert ((*map)[num_hd + 0x80]);
1344 ++
1345 ++ /* If the device map file is opened, write the map. */
1346 ++ if (fp)
1347 ++ fprintf (fp, "(hd%d)\t%s\n", num_hd, name);
1348 ++
1349 ++ num_hd++;
1350 ++ }
1351 ++ }
1352 ++ }
1353 + #endif /* __linux__ */
1354 +
1355 + /* OK, close the device map file if opened. */
1356 +@@ -861,6 +890,12 @@ write_to_partition (char **map, int driv
1357 + if (strcmp (dev + strlen(dev) - 5, "/disc") == 0)
1358 + strcpy (dev + strlen(dev) - 5, "/part");
1359 + }
1360 ++ else
1361 ++ {
1362 ++ if ((strncmp (dev, "/dev/ataraid/", 13) == 0) ||
1363 ++ (strncmp (dev, "/dev/rd/", 8) == 0))
1364 ++ strcpy (dev + strlen(dev), "p");
1365 ++ }
1366 + sprintf (dev + strlen(dev), "%d", ((partition >> 16) & 0xFF) + 1);
1367 +
1368 + /* Open the partition. */
1369 +Index: netboot/cs89x0.c
1370 +===================================================================
1371 +RCS file: /sources/grub/grub/netboot/cs89x0.c,v
1372 +retrieving revision 1.5
1373 +retrieving revision 1.6
1374 +diff -u -p -u -r1.5 -r1.6
1375 +--- foo/netboot/cs89x0.c 2 Jan 2002 21:56:40 -0000 1.5
1376 ++++ foo/netboot/cs89x0.c 20 May 2008 11:04:18 -0000 1.6
1377 +@@ -1,3 +1,21 @@
1378 ++/**
1379 ++ Per an email message from Russ Nelson <nelson@××××××.com> on
1380 ++ 18 March 2008 this file is now licensed under GPL Version 2.
1381 ++
1382 ++ From: Russ Nelson <nelson@××××××.com>
1383 ++ Date: Tue, 18 Mar 2008 12:42:00 -0400
1384 ++ Subject: Re: [Etherboot-developers] cs89x0 driver in etherboot
1385 ++ -- quote from email
1386 ++ As copyright holder, if I say it doesn't conflict with the GPL,
1387 ++ then it doesn't conflict with the GPL.
1388 ++
1389 ++ However, there's no point in causing people's brains to overheat,
1390 ++ so yes, I grant permission for the code to be relicensed under the
1391 ++ GPLv2. Please make sure that this change in licensing makes its
1392 ++ way upstream. -russ
1393 ++ -- quote from email
1394 ++**/
1395 ++
1396 + /* cs89x0.c: A Crystal Semiconductor CS89[02]0 driver for etherboot. */
1397 + /*
1398 + Permission is granted to distribute the enclosed cs89x0.[ch] driver
1399 +Index: netboot/cs89x0.h
1400 +===================================================================
1401 +RCS file: /sources/grub/grub/netboot/cs89x0.h,v
1402 +retrieving revision 1.3
1403 +retrieving revision 1.4
1404 +diff -u -p -u -r1.3 -r1.4
1405 +--- foo/netboot/cs89x0.h 22 Apr 2000 01:17:09 -0000 1.3
1406 ++++ foo/netboot/cs89x0.h 20 May 2008 11:04:18 -0000 1.4
1407 +@@ -1,3 +1,21 @@
1408 ++/**
1409 ++ Per an email message from Russ Nelson <nelson@××××××.com> on
1410 ++ 18 March 2008 this file is now licensed under GPL Version 2.
1411 ++
1412 ++ From: Russ Nelson <nelson@××××××.com>
1413 ++ Date: Tue, 18 Mar 2008 12:42:00 -0400
1414 ++ Subject: Re: [Etherboot-developers] cs89x0 driver in etherboot
1415 ++ -- quote from email
1416 ++ As copyright holder, if I say it doesn't conflict with the GPL,
1417 ++ then it doesn't conflict with the GPL.
1418 ++
1419 ++ However, there's no point in causing people's brains to overheat,
1420 ++ so yes, I grant permission for the code to be relicensed under the
1421 ++ GPLv2. Please make sure that this change in licensing makes its
1422 ++ way upstream. -russ
1423 ++ -- quote from email
1424 ++**/
1425 ++
1426 + /* Copyright, 1988-1992, Russell Nelson, Crynwr Software
1427 +
1428 + This program is free software; you can redistribute it and/or modify
1429 +Index: netboot/etherboot.h
1430 +===================================================================
1431 +RCS file: /sources/grub/grub/netboot/etherboot.h,v
1432 +retrieving revision 1.12
1433 +retrieving revision 1.13
1434 +diff -u -p -u -r1.12 -r1.13
1435 +--- foo/netboot/etherboot.h 8 May 2002 07:12:29 -0000 1.12
1436 ++++ foo/netboot/etherboot.h 8 Sep 2006 12:56:22 -0000 1.13
1437 +@@ -531,9 +531,6 @@ extern int ip_abort;
1438 + extern int network_ready;
1439 + extern struct rom_info rom;
1440 + extern struct arptable_t arptable[MAX_ARP];
1441 +-extern struct bootpd_t bootp_data;
1442 +-#define BOOTP_DATA_ADDR (&bootp_data)
1443 +-extern unsigned char *end_of_rfc1533;
1444 +
1445 + /* config.c */
1446 + extern struct nic nic;
1447 +Index: netboot/main.c
1448 +===================================================================
1449 +RCS file: /sources/grub/grub/netboot/main.c,v
1450 +retrieving revision 1.16
1451 +retrieving revision 1.17
1452 +diff -u -p -u -r1.16 -r1.17
1453 +--- foo/netboot/main.c 20 May 2004 22:17:27 -0000 1.16
1454 ++++ foo/netboot/main.c 8 Sep 2006 12:56:22 -0000 1.17
1455 +@@ -56,7 +56,8 @@ static int vendorext_isvalid;
1456 + static unsigned long netmask;
1457 + static struct bootpd_t bootp_data;
1458 + static unsigned long xid;
1459 +-static unsigned char *end_of_rfc1533 = NULL;
1460 ++
1461 ++#define BOOTP_DATA_ADDR (&bootp_data)
1462 +
1463 + #ifndef NO_DHCP_SUPPORT
1464 + #endif /* NO_DHCP_SUPPORT */
1465 +@@ -967,7 +968,6 @@ decode_rfc1533 (unsigned char *p, int bl
1466 +
1467 + if (block == 0)
1468 + {
1469 +- end_of_rfc1533 = NULL;
1470 + vendorext_isvalid = 0;
1471 +
1472 + if (grub_memcmp (p, rfc1533_cookie, 4))
1473 +@@ -1021,7 +1021,7 @@ decode_rfc1533 (unsigned char *p, int bl
1474 + }
1475 + else if (c == RFC1533_END)
1476 + {
1477 +- end_of_rfc1533 = endp = p;
1478 ++ endp = p;
1479 + continue;
1480 + }
1481 + else if (c == RFC1533_NETMASK)
1482 +Index: netboot/natsemi.c
1483 +===================================================================
1484 +RCS file: /sources/grub/grub/netboot/natsemi.c,v
1485 +retrieving revision 1.1
1486 +retrieving revision 1.2
1487 +diff -u -p -u -r1.1 -r1.2
1488 +--- foo/netboot/natsemi.c 15 Jan 2002 10:32:22 -0000 1.1
1489 ++++ foo/netboot/natsemi.c 10 Sep 2006 07:26:10 -0000 1.2
1490 +@@ -608,7 +608,7 @@ natsemi_transmit(struct nic *nic,
1491 + const char *p) /* Packet */
1492 + {
1493 + u32 status, to, nstype;
1494 +- u32 tx_status;
1495 ++ volatile u32 tx_status;
1496 +
1497 + /* Stop the transmitter */
1498 + outl(TxOff, ioaddr + ChipCmd);
1499 +@@ -647,7 +647,7 @@ natsemi_transmit(struct nic *nic,
1500 +
1501 + to = currticks() + TX_TIMEOUT;
1502 +
1503 +- while ((((volatile u32) tx_status=txd.cmdsts) & OWN) && (currticks() < to))
1504 ++ while (((tx_status=txd.cmdsts) & OWN) && (currticks() < to))
1505 + /* wait */ ;
1506 +
1507 + if (currticks() >= to) {
1508 +Index: netboot/sis900.c
1509 +===================================================================
1510 +RCS file: /sources/grub/grub/netboot/sis900.c,v
1511 +retrieving revision 1.1
1512 +retrieving revision 1.2
1513 +diff -u -p -u -r1.1 -r1.2
1514 +--- foo/netboot/sis900.c 2 Jan 2002 21:56:40 -0000 1.1
1515 ++++ foo/netboot/sis900.c 10 Sep 2006 07:26:10 -0000 1.2
1516 +@@ -901,7 +901,7 @@ sis900_transmit(struct nic *nic,
1517 + const char *p) /* Packet */
1518 + {
1519 + u32 status, to, nstype;
1520 +- u32 tx_status;
1521 ++ volatile u32 tx_status;
1522 +
1523 + /* Stop the transmitter */
1524 + outl(TxDIS, ioaddr + cr);
1525 +@@ -940,7 +940,7 @@ sis900_transmit(struct nic *nic,
1526 +
1527 + to = currticks() + TX_TIMEOUT;
1528 +
1529 +- while ((((volatile u32) tx_status=txd.cmdsts) & OWN) && (currticks() < to))
1530 ++ while (((tx_status=txd.cmdsts) & OWN) && (currticks() < to))
1531 + /* wait */ ;
1532 +
1533 + if (currticks() >= to) {
1534 +Index: stage1/Makefile.am
1535 +===================================================================
1536 +RCS file: /sources/grub/grub/stage1/Makefile.am,v
1537 +retrieving revision 1.17
1538 +retrieving revision 1.18
1539 +diff -u -p -u -r1.17 -r1.18
1540 +--- foo/stage1/Makefile.am 24 Jun 2004 17:04:37 -0000 1.17
1541 ++++ foo/stage1/Makefile.am 5 Nov 2007 01:29:46 -0000 1.18
1542 +@@ -5,7 +5,7 @@ CLEANFILES = $(nodist_pkglib_DATA)
1543 +
1544 + # We can't use builtins or standard includes.
1545 + AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc
1546 +-LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00
1547 ++stage1_exec_LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00
1548 +
1549 + noinst_PROGRAMS = stage1.exec
1550 + stage1_exec_SOURCES = stage1.S stage1.h
1551 +Index: stage2/bios.c
1552 +===================================================================
1553 +RCS file: /sources/grub/grub/stage2/bios.c,v
1554 +retrieving revision 1.16
1555 +retrieving revision 1.17
1556 +diff -u -p -u -r1.16 -r1.17
1557 +--- foo/stage2/bios.c 27 Mar 2004 17:02:54 -0000 1.16
1558 ++++ foo/stage2/bios.c 28 Mar 2008 13:22:28 -0000 1.17
1559 +@@ -47,7 +47,7 @@ extern int get_diskinfo_floppy (int driv
1560 + return the error number. Otherwise, return 0. */
1561 + int
1562 + biosdisk (int read, int drive, struct geometry *geometry,
1563 +- int sector, int nsec, int segment)
1564 ++ unsigned int sector, int nsec, int segment)
1565 + {
1566 + int err;
1567 +
1568 +Index: stage2/boot.c
1569 +===================================================================
1570 +RCS file: /sources/grub/grub/stage2/boot.c,v
1571 +retrieving revision 1.46
1572 +retrieving revision 1.47
1573 +diff -u -p -u -r1.46 -r1.47
1574 +--- foo/stage2/boot.c 29 Mar 2004 14:54:30 -0000 1.46
1575 ++++ foo/stage2/boot.c 28 Sep 2005 21:47:55 -0000 1.47
1576 @@ -1,7 +1,7 @@
1577 /* boot.c - load and bootstrap a kernel */
1578 /*
1579 @@ -221,7 +1536,7 @@ diff -Nur grub-0.97/stage2/boot.c cvs/st
1580 *
1581 * This program is free software; you can redistribute it and/or modify
1582 * it under the terms of the GNU General Public License as published by
1583 -@@ -96,7 +96,7 @@
1584 +@@ -96,7 +96,7 @@ load_image (char *kernel, char *arg, ker
1585 lh = (struct linux_kernel_header *) buffer;
1586
1587 /* ELF loading supported if multiboot, FreeBSD and NetBSD. */
1588 @@ -230,10 +1545,15 @@ diff -Nur grub-0.97/stage2/boot.c cvs/st
1589 || pu.elf->e_ident[EI_OSABI] == ELFOSABI_FREEBSD
1590 || grub_strcmp (pu.elf->e_ident + EI_BRAND, "FreeBSD") == 0
1591 || suggested_type == KERNEL_TYPE_NETBSD)
1592 -diff -Nur grub-0.97/stage2/builtins.c cvs/stage2/builtins.c
1593 ---- grub-0.97/stage2/builtins.c 2005-02-15 22:58:23.000000000 +0100
1594 -+++ cvs/stage2/builtins.c 2006-03-21 21:51:58.000000000 +0100
1595 -@@ -3830,15 +3830,15 @@
1596 +Index: stage2/builtins.c
1597 +===================================================================
1598 +RCS file: /sources/grub/grub/stage2/builtins.c,v
1599 +retrieving revision 1.151
1600 +retrieving revision 1.152
1601 +diff -u -p -u -r1.151 -r1.152
1602 +--- foo/stage2/builtins.c 15 Feb 2005 22:05:07 -0000 1.151
1603 ++++ foo/stage2/builtins.c 21 Mar 2006 20:51:58 -0000 1.152
1604 +@@ -3830,15 +3830,15 @@ setup_func (char *arg, int flags)
1605 {
1606 char tmp[16];
1607 grub_sprintf (tmp, ",%d", (partition >> 16) & 0xFF);
1608 @@ -252,10 +1572,90 @@ diff -Nur grub-0.97/stage2/builtins.c cv
1609 }
1610
1611 int embed_stage1_5 (char *stage1_5, int drive, int partition)
1612 -diff -Nur grub-0.97/stage2/shared.h cvs/stage2/shared.h
1613 ---- grub-0.97/stage2/shared.h 2004-06-19 18:40:09.000000000 +0200
1614 -+++ cvs/stage2/shared.h 2006-05-02 22:46:24.000000000 +0200
1615 -@@ -499,7 +499,11 @@
1616 +Index: stage2/disk_io.c
1617 +===================================================================
1618 +RCS file: /sources/grub/grub/stage2/disk_io.c,v
1619 +retrieving revision 1.58
1620 +retrieving revision 1.59
1621 +diff -u -p -u -r1.58 -r1.59
1622 +--- foo/stage2/disk_io.c 23 May 2004 16:45:45 -0000 1.58
1623 ++++ foo/stage2/disk_io.c 28 Mar 2008 13:22:28 -0000 1.59
1624 +@@ -137,7 +137,7 @@ log2 (unsigned long word)
1625 + }
1626 +
1627 + int
1628 +-rawread (int drive, int sector, int byte_offset, int byte_len, char *buf)
1629 ++rawread (int drive, unsigned int sector, int byte_offset, int byte_len, char *buf)
1630 + {
1631 + int slen, sectors_per_vtrack;
1632 + int sector_size_bits = log2 (buf_geom.sector_size);
1633 +@@ -261,7 +261,7 @@ rawread (int drive, int sector, int byte
1634 + */
1635 + if (disk_read_func)
1636 + {
1637 +- int sector_num = sector;
1638 ++ unsigned int sector_num = sector;
1639 + int length = buf_geom.sector_size - byte_offset;
1640 + if (length > size)
1641 + length = size;
1642 +@@ -291,7 +291,7 @@ rawread (int drive, int sector, int byte
1643 +
1644 +
1645 + int
1646 +-devread (int sector, int byte_offset, int byte_len, char *buf)
1647 ++devread (unsigned int sector, int byte_offset, int byte_len, char *buf)
1648 + {
1649 + /*
1650 + * Check partition boundaries
1651 +@@ -330,7 +330,7 @@ devread (int sector, int byte_offset, in
1652 +
1653 + #ifndef STAGE1_5
1654 + int
1655 +-rawwrite (int drive, int sector, char *buf)
1656 ++rawwrite (int drive, unsigned int sector, char *buf)
1657 + {
1658 + if (sector == 0)
1659 + {
1660 +@@ -363,7 +363,7 @@ rawwrite (int drive, int sector, char *b
1661 + }
1662 +
1663 + int
1664 +-devwrite (int sector, int sector_count, char *buf)
1665 ++devwrite (unsigned int sector, int sector_count, char *buf)
1666 + {
1667 + #if defined(GRUB_UTIL) && defined(__linux__)
1668 + if (current_partition != 0xFFFFFF
1669 +Index: stage2/iso9660.h
1670 +===================================================================
1671 +RCS file: /sources/grub/grub/stage2/iso9660.h,v
1672 +retrieving revision 1.1
1673 +retrieving revision 1.2
1674 +diff -u -p -u -r1.1 -r1.2
1675 +--- foo/stage2/iso9660.h 27 Mar 2004 17:02:54 -0000 1.1
1676 ++++ foo/stage2/iso9660.h 22 Feb 2007 23:40:25 -0000 1.2
1677 +@@ -73,11 +73,11 @@ typedef union {
1678 +
1679 + typedef struct __iso_16bit {
1680 + u_int16_t l, b;
1681 +-} iso_16bit_t __attribute__ ((packed));
1682 ++} iso_16bit_t;
1683 +
1684 + typedef struct __iso_32bit {
1685 + u_int32_t l, b;
1686 +-} iso_32bit_t __attribute__ ((packed));
1687 ++} iso_32bit_t;
1688 +
1689 + typedef u_int8_t iso_date_t[7];
1690 +
1691 +Index: stage2/shared.h
1692 +===================================================================
1693 +RCS file: /sources/grub/grub/stage2/shared.h,v
1694 +retrieving revision 1.99
1695 +retrieving revision 1.101
1696 +diff -u -p -u -r1.99 -r1.101
1697 +--- foo/stage2/shared.h 20 Jun 2004 13:48:47 -0000 1.99
1698 ++++ foo/stage2/shared.h 28 Mar 2008 13:22:28 -0000 1.101
1699 +@@ -499,7 +499,11 @@ struct vbe_mode
1700 unsigned char linear_reserved_field_position;
1701 unsigned long max_pixel_clock;
1702
1703 @@ -268,10 +1668,39 @@ diff -Nur grub-0.97/stage2/shared.h cvs/
1704 } __attribute__ ((packed));
1705
1706
1707 -diff -Nur grub-0.97/stage2/stage2.c cvs/stage2/stage2.c
1708 ---- grub-0.97/stage2/stage2.c 2005-03-19 18:51:57.000000000 +0100
1709 -+++ cvs/stage2/stage2.c 2006-05-06 00:06:31.000000000 +0200
1710 -@@ -651,7 +651,10 @@
1711 +@@ -807,7 +811,7 @@ int checkkey (void);
1712 + /* Low-level disk I/O */
1713 + int get_diskinfo (int drive, struct geometry *geometry);
1714 + int biosdisk (int subfunc, int drive, struct geometry *geometry,
1715 +- int sector, int nsec, int segment);
1716 ++ unsigned int sector, int nsec, int segment);
1717 + void stop_floppy (void);
1718 +
1719 + /* Command-line interface functions. */
1720 +@@ -920,10 +924,10 @@ int gunzip_test_header (void);
1721 + int gunzip_read (char *buf, int len);
1722 + #endif /* NO_DECOMPRESSION */
1723 +
1724 +-int rawread (int drive, int sector, int byte_offset, int byte_len, char *buf);
1725 +-int devread (int sector, int byte_offset, int byte_len, char *buf);
1726 +-int rawwrite (int drive, int sector, char *buf);
1727 +-int devwrite (int sector, int sector_len, char *buf);
1728 ++int rawread (int drive, unsigned int sector, int byte_offset, int byte_len, char *buf);
1729 ++int devread (unsigned int sector, int byte_offset, int byte_len, char *buf);
1730 ++int rawwrite (int drive, unsigned int sector, char *buf);
1731 ++int devwrite (unsigned int sector, int sector_len, char *buf);
1732 +
1733 + /* Parse a device string and initialize the global parameters. */
1734 + char *set_device (char *device);
1735 +Index: stage2/stage2.c
1736 +===================================================================
1737 +RCS file: /sources/grub/grub/stage2/stage2.c,v
1738 +retrieving revision 1.46
1739 +retrieving revision 1.47
1740 +diff -u -p -u -r1.46 -r1.47
1741 +--- foo/stage2/stage2.c 19 Mar 2005 18:02:52 -0000 1.46
1742 ++++ foo/stage2/stage2.c 5 May 2006 22:06:31 -0000 1.47
1743 +@@ -651,7 +651,10 @@ restart:
1744 *(new_heap++) = 0;
1745
1746 if (config_entries)
1747 @@ -283,7 +1712,7 @@ diff -Nur grub-0.97/stage2/stage2.c cvs/
1748 else
1749 {
1750 cls ();
1751 -@@ -727,7 +730,8 @@
1752 +@@ -727,7 +730,8 @@ restart:
1753 cur_entry = get_entry (config_entries, first_entry + entryno, 1);
1754
1755 /* Set CURRENT_ENTRYNO for the command "savedefault". */
1756 @@ -293,18 +1722,21 @@ diff -Nur grub-0.97/stage2/stage2.c cvs/
1757
1758 if (run_script (cur_entry, heap))
1759 {
1760 -diff -Nur grub-0.97/THANKS cvs/THANKS
1761 ---- grub-0.97/THANKS 2005-05-08 04:17:43.000000000 +0200
1762 -+++ cvs/THANKS 2006-03-21 21:51:58.000000000 +0100
1763 -@@ -121,3 +121,4 @@
1764 - Yedidyah Bar-David <didi@×××××××××××.il>
1765 - Yury V. Umanets <umka@×××××××.com>
1766 - Yuri Zaporogets <yuriz@×××.net>
1767 -+Vitaly Fertman <vitaly@×××××××.com>
1768 -diff -Nur grub-0.97/util/grub-install.in cvs/util/grub-install.in
1769 ---- grub-0.97/util/grub-install.in 2004-07-24 20:57:31.000000000 +0200
1770 -+++ cvs/util/grub-install.in 2006-04-20 15:46:46.000000000 +0200
1771 -@@ -112,8 +112,8 @@
1772 +Index: util/.cvsignore
1773 +===================================================================
1774 +RCS file: /sources/grub/grub/util/.cvsignore,v
1775 +retrieving revision 1.2
1776 +retrieving revision 1.3
1777 +diff -u -p -u -r1.2 -r1.3
1778 +Index: util/grub-install.in
1779 +===================================================================
1780 +RCS file: /sources/grub/grub/util/grub-install.in,v
1781 +retrieving revision 1.48
1782 +retrieving revision 1.49
1783 +diff -u -p -u -r1.48 -r1.49
1784 +--- foo/util/grub-install.in 20 Jul 2004 19:30:24 -0000 1.48
1785 ++++ foo/util/grub-install.in 20 Apr 2006 13:46:46 -0000 1.49
1786 +@@ -112,8 +112,8 @@ convert () {
1787 tmp_disk=`echo "$1" | sed 's%\([sh]d[0-9]*\).*%\1%'`
1788 tmp_part=`echo "$1" | sed "s%$tmp_disk%%"` ;;
1789 freebsd* | kfreebsd*-gnu)
1790 @@ -315,3 +1747,55 @@ diff -Nur grub-0.97/util/grub-install.in
1791 tmp_part=`echo "$1" \
1792 | sed "s%.*/r\{0,1\}[saw]d[0-9]\(s[0-9]*[a-h]\)%\1%" \
1793 | sed "s%.*/r\{0,1\}da[0-9]\(s[0-9]*[a-h]\)%\1%"`
1794 +Index: util/mkbimage
1795 +===================================================================
1796 +RCS file: /sources/grub/grub/util/mkbimage,v
1797 +retrieving revision 1.19
1798 +retrieving revision 1.20
1799 +diff -u -p -u -r1.19 -r1.20
1800 +--- foo/util/mkbimage 21 Jul 2004 14:43:04 -0000 1.19
1801 ++++ foo/util/mkbimage 22 Feb 2007 16:01:03 -0000 1.20
1802 +@@ -1,7 +1,7 @@
1803 + #!/bin/sh
1804 + # MaKe a Bootable IMAGE --- 1.44, 2.88 and El Torito no-emulation mode
1805 + # C) 2001,2002,2003 Thierry Laronde <tlaronde@×××××××.org>
1806 +-# C) 2001,2002,2003 Robert Millan <robertmh@×××.org>
1807 ++# C) 2001,2002,2003 Robert Millan <rmh@×××××××.com>
1808 +
1809 +
1810 + # This program is free software; you can redistribute it and/or modify
1811 +@@ -19,7 +19,7 @@
1812 + # program's maintainer or write to: The Free Software Foundation,
1813 + # Inc.; 59 Temple Place, Suite 330; Boston, MA 02111-1307, USA.
1814 +
1815 +-# $Id: 820_all_grub-0.97-cvs-sync.patch,v 1.2 2008/11/05 22:27:53 robbat2 Exp $
1816 ++# $Id: 820_all_grub-0.97-cvs-sync.patch,v 1.2 2008/11/05 22:27:53 robbat2 Exp $
1817 +
1818 + # Global variables
1819 + tarfile=
1820 +@@ -58,7 +58,7 @@ stage2_os_name=
1821 +
1822 + # Name by which this script was invoked.
1823 + program=`echo "$0" | sed -e 's/[^\/]*\///g'`
1824 +-version_number='$Revision: 1.2 $'
1825 ++version_number='$Revision: 1.2 $'
1826 +
1827 + usage="
1828 + Usage: $program [-hVF] [-t TYPE] [-d DIRECTORY] [-s FS_TYPE] -f TAR_FILE
1829 +@@ -94,15 +94,13 @@ Options:
1830 + display Version information and exit
1831 +
1832 + Copyright (c) 2001,2002,2003 Thierry Laronde <tlaronde@×××××××.org>.
1833 +-Copyright (c) 2001,2002 Robert Millan <zeratul2@×××××××.es>.
1834 + GPLed."
1835 +
1836 + version="mkbimage $version_number
1837 +
1838 +-Written by Thierry Laronde and Robert Millan.
1839 ++Written by Thierry Laronde.
1840 +
1841 + Copyright (c) 2001,2002,2003 Thierry Laronde <tlaronde@×××××××.org>.
1842 +-Copyright (c) 2001,2002,2003 Robert Millan <zeratul2@×××××××.es>.
1843 +
1844 + This is free software under the GPL version 2 or later; see the source for
1845 + copying conditions. There is NO warranty, not even for MERCHANTABILITY or
1846
1847
1848
1849 1.3 src/patchsets/grub/0.97/README-DEBIAN-PATCHES
1850
1851 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/README-DEBIAN-PATCHES?rev=1.3&view=markup
1852 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/README-DEBIAN-PATCHES?rev=1.3&content-type=text/plain
1853 diff : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/README-DEBIAN-PATCHES?r1=1.2&r2=1.3
1854
1855 Index: README-DEBIAN-PATCHES
1856 ===================================================================
1857 RCS file: /var/cvsroot/gentoo/src/patchsets/grub/0.97/README-DEBIAN-PATCHES,v
1858 retrieving revision 1.2
1859 retrieving revision 1.3
1860 diff -p -w -b -B -u -u -r1.2 -r1.3
1861 --- README-DEBIAN-PATCHES 4 Nov 2008 22:18:08 -0000 1.2
1862 +++ README-DEBIAN-PATCHES 5 Nov 2008 22:27:53 -0000 1.3
1863 @@ -1,13 +1,17 @@
1864 Several of the patches here have been borrowed from the Debian patchset.
1865 Signed-off-by: Robin H. Johnson <robbat2@g.o>
1866
1867 -Date: Tue, 04 Nov 2008 21:48:28 +0000
1868 -Based-on: Debian patchset 0.97-31
1869 +Date: Wed, 05 Nov 2008 22:15:15 +0000
1870 +Based-on: Debian patchset 0.97-47
1871
1872 Included as of Gentoo 0.97-r7:
1873 ------------------------------
1874 -cvs-sync.patch
1875 +cvs-sync.patch (updated, now includes i2o-raid.patch, 500_all_grub-0.97-netboot-gcc4.patch)
1876 +ext3_256byte_inode (updated)
1877 +geometry-26kernel (updated)
1878 raid_cciss.diff
1879 +grub-install_xvd.diff
1880 +grub-xvd_drives.diff
1881
1882 Included as of Gentoo 0.97-r5:
1883 ------------------------------
1884 @@ -31,6 +35,7 @@ Not suitable for inclusion:
1885 find-grub-dir.diff
1886 fix_amd64_compile.diff
1887 graphics.diff
1888 +use_grub-probe_in_grub-install.diff (used for GRUB2 migration)
1889
1890 Potential for future inclusion:
1891 -------------------------------
1892
1893
1894
1895 1.1 src/patchsets/grub/0.97/821_all_grub-0.97-grub-special_device_names.patch
1896
1897 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/821_all_grub-0.97-grub-special_device_names.patch?rev=1.1&view=markup
1898 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/821_all_grub-0.97-grub-special_device_names.patch?rev=1.1&content-type=text/plain
1899
1900 Index: 821_all_grub-0.97-grub-special_device_names.patch
1901 ===================================================================
1902 Debian-Patch: grub-special_device_names.diff
1903
1904 --- trunk/lib/device.c.old 2006-06-24 17:36:59.248122032 +0200
1905 +++ trunk/lib/device.c 2006-06-24 17:38:52.999829144 +0200
1906 @@ -1115,6 +1115,8 @@
1907 else
1908 {
1909 if ((strncmp (dev, "/dev/ataraid/", 13) == 0) ||
1910 + (strncmp (dev, "/dev/ida/", 9) == 0) ||
1911 + (strncmp (dev, "/dev/cciss/", 11) == 0) ||
1912 (strncmp (dev, "/dev/rd/", 8) == 0))
1913 strcpy (dev + strlen(dev), "p");
1914 }
1915
1916
1917
1918 1.1 src/patchsets/grub/0.97/822_all_grub-0.97-geometry-26kernel.patch
1919
1920 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/822_all_grub-0.97-geometry-26kernel.patch?rev=1.1&view=markup
1921 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/822_all_grub-0.97-geometry-26kernel.patch?rev=1.1&content-type=text/plain
1922
1923 Index: 822_all_grub-0.97-geometry-26kernel.patch
1924 ===================================================================
1925 Debian-Patch: geometry-26kernel.diff (from 0.97-47)
1926
1927 Date: 2005-11-11
1928 Author: Otavio Salvador
1929 Comment: Stolen from Fedora grub package.
1930 Put geometry discover inside of grub code since kernel 2.6
1931 doesn't do that anymore.
1932
1933 diff -ur grub-0.97.old/lib/device.c grub-0.97/lib/device.c
1934 --- grub-0.97.old/lib/device.c 2008-05-20 14:05:52.000000000 +0200
1935 +++ grub-0.97/lib/device.c 2008-05-20 14:07:36.000000000 +0200
1936 @@ -131,6 +131,152 @@
1937 #include <shared.h>
1938 #include <device.h>
1939
1940 +#if defined(__linux__)
1941 +/* The 2.6 kernel has removed all of the geometry handling for IDE drives
1942 + * that did fixups for LBA, etc. This means that the geometry we get
1943 + * with the ioctl has a good chance of being wrong. So, we get to
1944 + * also know about partition tables and try to read what the geometry
1945 + * is there. *grumble* Very closely based on code from cfdisk
1946 + */
1947 +static void get_kernel_geometry(int fd, long long *cyl, int *heads, int *sectors) {
1948 + struct hd_geometry hdg;
1949 +
1950 + if (ioctl (fd, HDIO_GETGEO, &hdg))
1951 + return;
1952 +
1953 + *cyl = hdg.cylinders;
1954 + *heads = hdg.heads;
1955 + *sectors = hdg.sectors;
1956 +}
1957 +
1958 +struct partition {
1959 + unsigned char boot_ind; /* 0x80 - active */
1960 + unsigned char head; /* starting head */
1961 + unsigned char sector; /* starting sector */
1962 + unsigned char cyl; /* starting cylinder */
1963 + unsigned char sys_ind; /* What partition type */
1964 + unsigned char end_head; /* end head */
1965 + unsigned char end_sector; /* end sector */
1966 + unsigned char end_cyl; /* end cylinder */
1967 + unsigned char start4[4]; /* starting sector counting from 0 */
1968 + unsigned char size4[4]; /* nr of sectors in partition */
1969 +};
1970 +
1971 +#define ALIGNMENT 2
1972 +typedef union {
1973 + struct {
1974 + unsigned char align[ALIGNMENT];
1975 + unsigned char b[SECTOR_SIZE];
1976 + } c;
1977 + struct {
1978 + unsigned char align[ALIGNMENT];
1979 + unsigned char buffer[0x1BE];
1980 + struct partition part[4];
1981 + unsigned char magicflag[2];
1982 + } p;
1983 +} partition_table;
1984 +
1985 +#define PART_TABLE_FLAG0 0x55
1986 +#define PART_TABLE_FLAG1 0xAA
1987 +
1988 +static void
1989 +get_partition_table_geometry(partition_table *bufp, long long *cyl, int *heads,
1990 + int *sectors) {
1991 + struct partition *p;
1992 + int i,h,s,hh,ss;
1993 + int first = 1;
1994 + int bad = 0;
1995 +
1996 + if (bufp->p.magicflag[0] != PART_TABLE_FLAG0 ||
1997 + bufp->p.magicflag[1] != PART_TABLE_FLAG1) {
1998 + /* Matthew Wilcox: slightly friendlier version of
1999 + fatal(_("Bad signature on partition table"), 3);
2000 + */
2001 + fprintf(stderr, "Unknown partition table signature\n");
2002 + return;
2003 + }
2004 +
2005 + hh = ss = 0;
2006 + for (i=0; i<4; i++) {
2007 + p = &(bufp->p.part[i]);
2008 + if (p->sys_ind != 0) {
2009 + h = p->end_head + 1;
2010 + s = (p->end_sector & 077);
2011 + if (first) {
2012 + hh = h;
2013 + ss = s;
2014 + first = 0;
2015 + } else if (hh != h || ss != s)
2016 + bad = 1;
2017 + }
2018 + }
2019 +
2020 + if (!first && !bad) {
2021 + *heads = hh;
2022 + *sectors = ss;
2023 + }
2024 +}
2025 +
2026 +static long long my_lseek (unsigned int fd, long long offset,
2027 + unsigned int origin)
2028 +{
2029 +#if defined(__linux__) && (!defined(__GLIBC__) || \
2030 + ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1))))
2031 + /* Maybe libc doesn't have large file support. */
2032 + loff_t offset, result;
2033 + static int _llseek (uint filedes, ulong hi, ulong lo,
2034 + loff_t *res, uint wh);
2035 + _syscall5 (int, _llseek, uint, filedes, ulong, hi, ulong, lo,
2036 + loff_t *, res, uint, wh);
2037 +
2038 + if (_llseek (fd, offset >> 32, offset & 0xffffffff, &result, SEEK_SET) < 0)
2039 + return (long long) -1;
2040 + return result;
2041 +#else
2042 + return lseek(fd, offset, SEEK_SET);
2043 +#endif
2044 +}
2045 +
2046 +static void get_linux_geometry (int fd, struct geometry *geom) {
2047 + long long kern_cyl = 0; int kern_head = 0, kern_sectors = 0;
2048 + long long pt_cyl = 0; int pt_head = 0, pt_sectors = 0;
2049 + partition_table bufp;
2050 + char *buff, *buf_unaligned;
2051 +
2052 + buf_unaligned = malloc(sizeof(partition_table) + 4095);
2053 + buff = (char *) (((unsigned long)buf_unaligned + 4096 - 1) &
2054 + (~(4096-1)));
2055 +
2056 + get_kernel_geometry(fd, &kern_cyl, &kern_head, &kern_sectors);
2057 +
2058 + if (my_lseek (fd, 0*SECTOR_SIZE, SEEK_SET) < 0) {
2059 + fprintf(stderr, "Unable to seek");
2060 + }
2061 +
2062 + if (read(fd, buff, SECTOR_SIZE) == SECTOR_SIZE) {
2063 + memcpy(bufp.c.b, buff, SECTOR_SIZE);
2064 + get_partition_table_geometry(&bufp, &pt_cyl, &pt_head, &pt_sectors);
2065 + } else {
2066 + fprintf(stderr, "Unable to read partition table: %s\n", strerror(errno));
2067 + }
2068 +
2069 + if (pt_head && pt_sectors) {
2070 + int cyl_size;
2071 +
2072 + geom->heads = pt_head;
2073 + geom->sectors = pt_sectors;
2074 + cyl_size = pt_head * pt_sectors;
2075 + geom->cylinders = geom->total_sectors/cyl_size;
2076 + } else {
2077 + geom->heads = kern_head;
2078 + geom->sectors = kern_sectors;
2079 + geom->cylinders = kern_cyl;
2080 + }
2081 +
2082 + return;
2083 +}
2084 +#endif
2085 +
2086 /* Get the geometry of a drive DRIVE. */
2087 void
2088 get_drive_geometry (struct geometry *geom, char **map, int drive)
2089 @@ -151,19 +297,15 @@
2090 #if defined(__linux__)
2091 /* Linux */
2092 {
2093 - struct hd_geometry hdg;
2094 unsigned long long nr;
2095
2096 - if (ioctl (fd, HDIO_GETGEO, &hdg))
2097 - goto fail;
2098 -
2099 if (ioctl (fd, BLKGETSIZE64, &nr))
2100 goto fail;
2101
2102 /* Got the geometry, so save it. */
2103 - geom->cylinders = hdg.cylinders;
2104 - geom->heads = hdg.heads;
2105 - geom->sectors = hdg.sectors;
2106 + get_linux_geometry(fd, geom);
2107 + if (!geom->heads && !geom->cylinders && !geom->sectors)
2108 + goto fail;
2109 geom->total_sectors = nr / 512;
2110
2111 goto success;
2112 @@ -873,6 +1015,7 @@
2113 {
2114 char dev[PATH_MAX]; /* XXX */
2115 int fd;
2116 + off_t offset = (off_t) sector * (off_t) SECTOR_SIZE;
2117
2118 if ((partition & 0x00FF00) != 0x00FF00)
2119 {
2120 @@ -905,35 +1048,13 @@
2121 errnum = ERR_NO_PART;
2122 return 0;
2123 }
2124 -
2125 -#if defined(__linux__) && (!defined(__GLIBC__) || \
2126 - ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1))))
2127 - /* Maybe libc doesn't have large file support. */
2128 - {
2129 - loff_t offset, result;
2130 - static int _llseek (uint filedes, ulong hi, ulong lo,
2131 - loff_t *res, uint wh);
2132 - _syscall5 (int, _llseek, uint, filedes, ulong, hi, ulong, lo,
2133 - loff_t *, res, uint, wh);
2134
2135 - offset = (loff_t) sector * (loff_t) SECTOR_SIZE;
2136 - if (_llseek (fd, offset >> 32, offset & 0xffffffff, &result, SEEK_SET))
2137 - {
2138 - errnum = ERR_DEV_VALUES;
2139 - return 0;
2140 - }
2141 - }
2142 -#else
2143 - {
2144 - off_t offset = (off_t) sector * (off_t) SECTOR_SIZE;
2145
2146 - if (lseek (fd, offset, SEEK_SET) != offset)
2147 - {
2148 - errnum = ERR_DEV_VALUES;
2149 - return 0;
2150 - }
2151 - }
2152 -#endif
2153 + if (my_lseek(fd, offset, SEEK_SET) != offset)
2154 + {
2155 + errnum = ERR_DEV_VALUES;
2156 + return 0;
2157 + }
2158
2159 if (write (fd, buf, size * SECTOR_SIZE) != (size * SECTOR_SIZE))
2160 {
2161
2162
2163
2164 1.1 src/patchsets/grub/0.97/ChangeLog
2165
2166 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/ChangeLog?rev=1.1&view=markup
2167 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/grub/0.97/ChangeLog?rev=1.1&content-type=text/plain
2168
2169 Index: ChangeLog
2170 ===================================================================
2171 # ChangeLog for grub patchset
2172 # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
2173 # $Header: /var/cvsroot/gentoo/src/patchsets/grub/0.97/ChangeLog,v 1.1 2008/11/05 22:27:53 robbat2 Exp $
2174
2175 05 Nov 2008; Robin H. Johnson <robbat2@g.o>
2176 820_all_grub-0.97-cvs-sync.patch,
2177 810_all_grub-0.97-ext3_256byte_inode.patch,
2178 -080_all_grub-0.97-geometry-26kernel.patch,
2179 +822_all_grub-0.97-geometry-26kernel.patch,
2180 -021_all_grub-0.97-grub-special_device_names.patch,
2181 +821_all_grub-0.97-grub-special_device_names.patch,
2182 -020_all_grub-0.97-i2o-raid.patch, -500_all_grub-0.97-netboot-gcc4.patch,
2183 README-DEBIAN-PATCHES:
2184 Update Debian patches: cvs-sync, ext3_256byte_inode, geometry-26kernel.
2185 i2o-raid and netboot-gcc are now included in cvs-sync. Renumber
2186 grub-special_device_names and geometry-26kernel to apply still.