~smartboyhw/wubi/bug-1080090-new

« back to all changes in this revision

Viewing changes to src/grub4dos/.svn/text-base/ChangeLog.svn-base

  • Committer: Howard Chan
  • Date: 2012-11-20 10:16:05 UTC
  • Revision ID: smartboyhw@gmail.com-20121120101605-qfmjfsdynpzg9an9
Added images

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
2005-05-11
2
 
 
3
 
        From Tinybit  <tinybit@163.net>:
4
 
        For splashimage support:
5
 
        * configure.ac: splashimage
6
 
 
7
 
        * stage2/asm.S: splashimage
8
 
 
9
 
        * stage2/builtins.c: splashimage
10
 
 
11
 
        * stage2/char_io.c: splashimage
12
 
 
13
 
        * stage2/graphics.c: (new file) splashimage
14
 
 
15
 
        * stage2/graphics.h: (new file) splashimage
16
 
 
17
 
        * stage2/Makefile.am: splashimage
18
 
 
19
 
        * stage2/shared.h: splashimage
20
 
 
21
 
        * stage2/stage2.c: splashimage
22
 
 
23
 
        * stage2/term.h: splashimage
24
 
 
25
 
        From Tinybit  <tinybit@163.net>:
26
 
        For disk drive emulation:
27
 
        * stage2/asm.S (int13_handler, etc): floppy and harddisk emulation
28
 
 
29
 
        * grub/asmstub.c: floppy and harddisk emulation
30
 
 
31
 
        * stage2/builtins.c: floppy and harddisk emulation
32
 
 
33
 
        * stage2/common.c: floppy and harddisk emulation
34
 
 
35
 
        * stage2/disk_io.c: floppy and harddisk emulation
36
 
 
37
 
        * stage2/shared.h: floppy and harddisk emulation
38
 
 
39
 
        From Gandalf  <f22_storm@163.com>:
40
 
        NTFS support
41
 
 
42
 
        From Chris Semler  <csemler@mail.com>:
43
 
 
44
 
        * stage2/builtins.c (find_func): added an option --set-root
45
 
        (fallback_func): enable the use as a menu item.
46
 
        (commandline_func): New function
47
 
 
48
 
        * stage2/cmdline.c (enter_cmdline): changed arg for commandline_func
49
 
        to use HEAP.
50
 
        (run_script): changed arg for commandline_func to use HEAP.
51
 
 
52
 
        * stage2/stage2.c (cmain): changed arg for commandline_func to use
53
 
        CMDLINE.
54
 
 
55
 
        * preset_menu.lst: New file
56
 
 
57
 
        * preset_menu_os_setup.lst: New file
58
 
 
59
 
        From Tinybit  <tinybit@163.net>:
60
 
        For booting via DOS/NTLDR:
61
 
        * stage2/Makefile.am: added items for GRLDR, GRUB.EXE and GRUB4LIN
62
 
 
63
 
        * stage2/grldrstart.S: (new file) startup code for GRLDR(boot via NT)
64
 
 
65
 
        * stage2/dosstart.S: (new file) startup code for GRUB.EXE(boot via DOS)
66
 
 
67
 
        * stage2/bootlacestart.S: (new file) startup code for BOOTLACE.COM
68
 
 
69
 
        * stage2/edd.S: (new file) for being included by dosstart.S
70
 
 
71
 
        * stage2/video.S: (new file) for being included by dosstart.S
72
 
 
73
 
        * stage2/asm: (new dir) contains header files for dosstart.S
74
 
 
75
 
        * stage2/linux: (new dir) contains header files for dosstart.S
76
 
 
77
 
2005-05-08  Yoshinori K. Okuji  <okuji@enbug.org>
78
 
 
79
 
        * configure.ac (AC_INIT): Upgraded to 0.97.
80
 
 
81
 
        * compile: Copied from Automake 1.9.4.
82
 
        * config.guess: Likewise.
83
 
        * config.sub: Likewise.
84
 
        * depcomp: Likewise.
85
 
        * install-sh: Likewise.
86
 
        * missing: Likewise.
87
 
        * mkinstalldirs: Likewise.
88
 
        * mdate-sh: Likewise.
89
 
        * docs/texinfo.tex: Likewise.
90
 
 
91
 
2005-05-08  Yoshinori K. Okuji  <okuji@enbug.org>
92
 
 
93
 
        * stage2/fsys_xfs.c (next_dentry): Use arrays of arrays instead of
94
 
        arrays of pointers for USUAL, to avoid read-only strings. Reported
95
 
        by Sven Wegener <swegener@gentoo.org>.
96
 
 
97
 
2005-03-28  Yoshinori K. Okuji  <okuji@enbug.org>
98
 
 
99
 
        * lib/device.c (get_drive_geometry): Use ST.ST_SIZE instead of
100
 
        ST.ST_BLOCKS to get the total number of sectors, because st_blocks
101
 
        is not the same if it is a sparse file.
102
 
 
103
 
2005-03-19  Yoshinori K. Okuji  <okuji@enbug.org>
104
 
 
105
 
        * stage2/stage2.c (cmain): Initialize DEFAULT_FILE to an empty
106
 
        string. Reported by NATORI Shin <natori@adm.s.u-tokyo.ac.jp>.
107
 
 
108
 
2005-03-15  Yoshinori K. Okuji  <okuji@enbug.org>
109
 
 
110
 
        * stage2/fsys_fat.c (fat_mount): Ignore the 3rd bit of a media
111
 
        descriptor, because some BIOSes overwrite this value, according
112
 
        to the storage mode (e.g. USB Floppy or USB HDD).
113
 
 
114
 
2005-02-16  Yoshinori K. Okuji  <okuji@enbug.org>
115
 
 
116
 
        * grub/asmstub.c (grub_stage2): Remove the attribute `volatile'
117
 
        from doit. I hope this change is safe for all compilers.
118
 
 
119
 
2005-02-15  Yoshinori K. Okuji  <okuji@enbug.org>
120
 
 
121
 
        * stage2/builtins.c (install_func): If DEST_DRIVE is a hard
122
 
        disk, enable the workaround in Stage 1 by replacing the jmp
123
 
        with double nop's.
124
 
 
125
 
        * stage1/stage1.h (STAGE1_BOOT_DRIVE_CHECK): New macro.
126
 
        (STAGE1_BOOT_DRIVE_MASK): Removed.
127
 
 
128
 
        * stage1/stage1.S (boot_drive_check): New label. This implements
129
 
        a different workaround for buggy BIOSes which don't pass boot
130
 
        drive correctly. This is effective for BIOSes which pass a value
131
 
        without the seventh bit (0x80).
132
 
        (boot_drive_mask): Removed.
133
 
 
134
 
2005-02-03  Yoshinori K. Okuji  <okuji@enbug.org>
135
 
 
136
 
        * grub/asmstub.c (console_current_color): Make it global as
137
 
        declared.
138
 
        (grub_stage2): Tweak the declaration and the definition of the
139
 
        nested function doit.
140
 
 
141
 
2005-02-02  Yoshinori K. Okuji  <okuji@enbug.org>
142
 
 
143
 
        * stage2/smp-imps.h (imps_any_new_apics): Removed.
144
 
        (imps_enabled): Likewise.
145
 
        (imps_lapic_addr): Likewise.
146
 
        (imps_num_cpus): Likewise.
147
 
        (imps_cpu_apic_map): Likewise.
148
 
        (imps_apic_cpu_map): Likewise.
149
 
 
150
 
        * stage2/Makefile.am (libgrub_a_CFLAGS): Remove
151
 
        -fwritable-strings. Not required for the grub shell actually.
152
 
 
153
 
        * grub/Makefile.am (AM_CFLAGS): Likewise.
154
 
 
155
 
2005-02-01  Yoshinori K. Okuji  <okuji@enbug.org>
156
 
 
157
 
        * grub/asmstub.c (grub_stage2): Use auto instead of static for
158
 
        nested functions.
159
 
 
160
 
        * stage2/char_io.c (memcheck) [GRUB_UTIL]: Likewise.
161
 
 
162
 
        * stage2/builtins.c (blocklist_func): Likewise.
163
 
        (color_func): Likewise.
164
 
        (install_func): Likewise.
165
 
        (setkey_func): Likewise.
166
 
 
167
 
        * lib/device.c (read_device_map): Likewise.
168
 
 
169
 
2005-01-30  Yoshinori K. Okuji  <okuji@enbug.org>
170
 
 
171
 
        * configure.ac (AC_INIT): Upgraded to 0.96.
172
 
 
173
 
2004-10-11 Jason Thomas <jason@staff.pnc.com.au>
174
 
 
175
 
        Patch from Stefanus Du Toit  <sjdutoit@uwaterloo.ca>
176
 
        * docs/kernel.c.texi (cmain): Incremement mod by one, instead of
177
 
        sizeof(module_t), since it's already a pointer of type module_t.
178
 
        * docs/kernel.c (cmain): Do the same.
179
 
 
180
 
2004-09-20  Yoshinori K. Okuji  <okuji@enbug.org>
181
 
 
182
 
        * docs/internals.texi (Internals): Changed to an appendix.
183
 
 
184
 
        * docs/grub.texi (@setchapternewpage): Changed to odd from off.
185
 
        (@contents): Moved to the beginning.
186
 
        (Future): Changed to an appendix.
187
 
 
188
 
2004-08-17  Yoshinori K. Okuji  <okuji@enbug.org>
189
 
 
190
 
        * stage2/cmdline.c (run_script): Fix a reversed conditional.
191
 
        Reported by Alban Crequy <alban.crequy@apinc.org>.
192
 
 
193
 
2004-08-07  Jason Thomas  <jason@staff.pnc.com.au>
194
 
        
195
 
        From Michael Hohnbaum <hohnbaum@us.ibm.com>:
196
 
        * stage2/fsys_ext2fs.c (ext2fs_read): Handle sparse files.
197
 
 
198
 
2004-07-24  Yoshinori K. Okuji  <okuji@enbug.org>
199
 
 
200
 
        * stage2/stage2.c (cmain): Terminate DEFAULT_FILE with NUL
201
 
        correctly. Reported by Alban Crequy <alban.crequy@apinc.org>.
202
 
 
203
 
2004-07-21  Robert Millan  <robertmh@gnu.org>
204
 
 
205
 
        Patch from David Weinehall <tao@debian.org>
206
 
        * util/mkbimage: Fix XSI-isms (for supporting POSIX-only shells).
207
 
 
208
 
2004-07-20  Robert Millan  <robertmh@gnu.org>
209
 
 
210
 
        * util/grub-install.in: Detect GNU/k*BSD systems as well.
211
 
 
212
 
2004-07-16  Yoshinori K. Okuji  <okuji@enbug.org>
213
 
 
214
 
        * util/grub-install.in (convert): Fix the sed statement for
215
 
        Linux. The expression was ambigious in some cases.
216
 
 
217
 
2004-06-29  Robert Millan  <robertmh@gnu.org>
218
 
 
219
 
        * util/grub-set-default.in: Fix minor syntax error (non-escaped
220
 
        characters).
221
 
 
222
 
2004-06-24  Robert Millan  <robertmh@gnu.org>
223
 
 
224
 
        Fixes for FHS compliance. (/usr/share is for arch-independant data)
225
 
        * stage1/Makefile.am: Move stage files to pkglibdir.
226
 
        * stage2/Makefile.am: Likewise.
227
 
        * docs/grub.texi: s,/usr/share,/usr/lib,g.
228
 
        * util/grub-image.in: Look for stage files in pkglibdir.
229
 
        * util/grub-install.in: Likewise.
230
 
 
231
 
        * util/grub-install.in: Improve usage message.
232
 
 
233
 
2004-06-20  Yoshinori K. Okuji  <okuji@enbug.org>
234
 
 
235
 
        This is a big change on saving a default entry. This change
236
 
        makes it possible to set up a quite robust system using GRUB.
237
 
        Now we do not use the second sector of Stage 2 to store an
238
 
        entry number but use the file /boot/grub/default. This file
239
 
        must be generated by grub-set-default, although this file is
240
 
        plain-text.
241
 
        
242
 
        * util/grub-set-default.in: New file.
243
 
        
244
 
        * util/grub-install.in (grub_set_default): New variable.
245
 
        Use /grub instead of /boot/grub on OpenBSD as well as NetBSD.
246
 
        Run grub-set-default to make a default file.
247
 
 
248
 
        * util/Makefile.am (sbin_SCRIPTS): Added grub-set-default.
249
 
 
250
 
        * stage2/stage2.c (run_menu): Change the fallback handling to
251
 
        support multiple fallback entries.
252
 
        (cmain): Likewise. Also, get a saved entry from a default file
253
 
        if possible, before reading a config file.
254
 
 
255
 
        * stage2/shared.h (DEFAULT_FILE_BUF): New macro.
256
 
        (DEFAULT_FILE_BUFLEN): Likewise.
257
 
        (CMDLINE_BUF): Set to DEFAULT_FILE_BUF + DEFAULT_FILE_BUFLEN.
258
 
        (MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - MENU_BUF.
259
 
        (fallback_entry): Removed.
260
 
        (fallback_entries): Declared.
261
 
        (fallback_entryno): Likewise.
262
 
        (MAX_FALLBACK_ENTRIES): New macro.
263
 
 
264
 
        * stage2/cmdline.c (run_script): Use FALLBACK_ENTRYNO instead of
265
 
        FALLBACK_ENTRY.
266
 
 
267
 
        * stage2/builtins.c (fallback_entry): Removed.
268
 
        (fallback_entryno): New variable.
269
 
        (fallback_entries): Likewise.
270
 
        (init_config): Initialize FALLBACK_ENTRYNO and FALLBACK_ENTRIES.
271
 
        (fallback_func): Rewritten completely.
272
 
        (savedefault_func): Likewise.
273
 
 
274
 
        * docs/grub.texi (grub-set-default): New direntry.
275
 
        (Installation): Describe grub-set-default for manual
276
 
        installations.
277
 
        (Making your system robust): New section.
278
 
        (Booting once-only): New subsection.
279
 
        (Booting fallback systems): Likewise.
280
 
        (fallback): Describe multiple fallback entries.
281
 
        (savedefault): Describe an optional argument.
282
 
        (Invoking grub-set-default): New chapter.
283
 
        (Future): Replaced with a description about GRUB 2.
284
 
 
285
 
        * configure.ac (AC_CONFIG_FILES): Added util/grub-set-default.
286
 
 
287
 
2004-06-19  Yoshinori K. Okuji  <okuji@enbug.org>
288
 
 
289
 
        * stage2/ufs2.h (int8_t): Renamed to ...
290
 
        (grub_uint8_t): ... this.
291
 
        (int16_t): Renamed to ...
292
 
        (grub_int16_t): ... this.
293
 
        (int32_t): Renamed to ...
294
 
        (grub_int32_t): ... this.
295
 
        (int64_t): Renamed to ...
296
 
        (grub_int64_t): ... this.
297
 
        (uint8_t): Renamed to ...
298
 
        (grub_uint8_t): ... this.
299
 
        (uint16_t): Renamed to ...
300
 
        (grub_uint16_t): ... this.
301
 
        (uint32_t): Renamed to ...
302
 
        (grub_uint32_t): ... this.
303
 
        (uint64_t): Renamed to ...
304
 
        (grub_uint64_t): ... this.
305
 
        (u_char): Renamed to ...
306
 
        (grub_u_char): ... this.
307
 
        (u_int): Renamed to ...
308
 
        (grub_u_int): ... this.
309
 
        (u_int8_t): Renamed to ...
310
 
        (grub_u_int8_t): ... this.
311
 
        (u_int16_t): Renamed to ...
312
 
        (grub_u_int16_t): ... this.
313
 
        (u_int32_t): Renamed to ...
314
 
        (grub_u_int32_t): ... this.
315
 
        (u_int64_t): Renamed to ...
316
 
        (grub_u_int64_t): ... this.
317
 
        (ino_t): Renamed to ...
318
 
        (grub_ino_t): ... this.
319
 
        All callers are changed.
320
 
 
321
 
2004-06-14  Jeroen Dekkers  <jeroen@dekkers.cx>
322
 
 
323
 
        * stage2/ufs2.h (__uint8_t): Remove.
324
 
        (__uint16_t): Likewise.
325
 
        (__uint32_t): Likewise.
326
 
        (__uint64_t): Likewise.
327
 
        (ino_t): Typedef to uint32_t.
328
 
 
329
 
2004-06-13  Yoshinori K. Okuji  <okuji@enbug.org>
330
 
 
331
 
        * stage2/Makefile.am (noinst_HEADERS): Added ufs2.h.
332
 
        
333
 
2004-06-13  Yoshinori K. Okuji  <okuji@enbug.org>
334
 
 
335
 
        * configure.ac (AC_INIT): Upgraded to 0.95.
336
 
 
337
 
2004-05-23  Yoshinori K. Okuji  <okuji@enbug.org>
338
 
 
339
 
        * stage2/char_io.c (grub_isspace): Use a switch sentense instead
340
 
        of an if sentense, because that reduces the size.
341
 
 
342
 
        * lib/device.c (read_device_map): Change the max number of DRIVE
343
 
        to 127 from 8. This was too strict.
344
 
 
345
 
        * stage2/asm.S (stop_floppy): Call pusha and popa outside the
346
 
        block of real mode code. Reported by Guillem Jover
347
 
        <guillem@debian.org>.
348
 
 
349
 
2004-05-20  Damian Ivereigh  <damian@cisco.com>
350
 
 
351
 
        * netboot/main.c: Fixed bootp only code so that options
352
 
        work properly. This fix is obvious when compared with the
353
 
        DHCP code.
354
 
 
355
 
2004-05-17  Pavel Roskin  <proski@gnu.org>
356
 
 
357
 
        * stage2/char_io.c (safe_parse_maxint): Disable for stage 1.5.
358
 
        (grub_tolower): Disable for stage 1.5 except fat_stage1_5.
359
 
        (grub_memcmp): Disable for stage 1.5 except iso9660_stage1_5.
360
 
 
361
 
2004-05-14  Yoshinori K. Okuji  <okuji@enbug.org>
362
 
 
363
 
        From Sergey Matveychuk <sem@ciam.ru>:
364
 
        * stage2/size_test: Added a check for ufs2_stage1_5.
365
 
 
366
 
        * stage2/shared.h (STAGE2_ID_UFS2_STAGE1_5): New macro.
367
 
        [FSYS_UFS2] (STAGE2_ID): Set to STAGE2_ID_UFS2_STAGE1_5.
368
 
 
369
 
        * stage2/filesys.h (FSYS_UFS2_NUM): New macro.
370
 
        [FSYS_UFS2] (ufs2_mount): New prototype.
371
 
        [FSYS_UFS2] (ufs2_read): Likewise.
372
 
        [FSYS_UFS2] (ufs2_dir): Likewise.
373
 
        [FSYS_UFS2] (ufs2_embed): Likewise.
374
 
        (NUM_FSYS): Added FSYS_UFS2_NUM.
375
 
 
376
 
        * stage2/disk_io.c (fsys_table): Added an ufs2 entry.
377
 
 
378
 
        * stage2/builtins.c (setup_func): Added ufs2 into the
379
 
        STAGE1_5_MAP.
380
 
 
381
 
        * stage2/Makefile.am (libgrub_a_SOURCES): Added fsys_ufs2.c.
382
 
        (libgrub_a_CFLAGS): Added -DFSYS_UFS2=1.
383
 
        (pkgdata_DATA): Added ufs2_stage1_5.
384
 
        (noinst_PROGRAMS): Added ufs2_stage1_5.exec.
385
 
        (ufs2_stage1_5_exec_SOURCES): New variable.
386
 
        (ufs2_stage1_5_exec_CFLAGS): Likewise.
387
 
        (ufs2_stage1_5_exec_CCASFLAGS): Likewise.
388
 
        (ufs2_stage1_5_exec_LDFLAGS): Likewise.
389
 
 
390
 
        * grub/Makefile.am (AM_CPPFLAGS): Added -DFSYS_ISO9660=1,
391
 
        -DFSYS_JFS=1, -DFSYS_REISERFS=1, -DFSYS_UFS2=1, -DFSYS_VSTAFS=1,
392
 
        -DFSYS_XFS=1, and -DUSE_MD5_PASSWORDS=1.
393
 
 
394
 
        * configure.ac (--disable-ufs2): New option.
395
 
 
396
 
        * stage2/fsys_ufs2.c: New file.
397
 
        * stage2/ufs2.h: Likewise.
398
 
 
399
 
2004-05-10  Robert Millan  <robertmh@gnu.org>
400
 
 
401
 
        * lib/device.c: Mangle __FreeBSD_* macro usage to support
402
 
        kFreeBSD-based non-FreeBSD systems (i.e. GNU/kFreeBSD).
403
 
 
404
 
        Implement runtime detection of version of kFreeBSD. Now if
405
 
        we build against kFreeBSD 5.x headers the GRUB shell will work on
406
 
        both 4.x and 5.x.
407
 
 
408
 
        Replace `u_int_t' types with portable `unsigned int' and old
409
 
        reference to `geometry' structure to new `geom' one.
410
 
 
411
 
        * docs/menu.lst: Split GNU/kFreeBSD and GNU/kNetBSD as separate
412
 
        options than FreeBSD and NetBSD, respectively. There are minor
413
 
        differences now (different paths).
414
 
 
415
 
2004-05-03  Pavel Roskin  <proski@gnu.org>
416
 
 
417
 
        * stage2/char_io.c (convert_to_ascii): Remove "%b" support.
418
 
        It's non-standard and is not used anymore.
419
 
        (grub_printf): Likewise.
420
 
 
421
 
2004-04-29  Robert Millan  <robertmh@gnu.org>
422
 
 
423
 
        From Yann Dirson  <dirson@debian.org>:
424
 
        * util/mkbimage: Misc syntax fixes.
425
 
 
426
 
2004-04-29  Jeroen Dekkers  <jeroen@dekkers.cx>
427
 
 
428
 
        * stage2/char_io.c (grub_memcmp): Define for stage1.5 too.
429
 
 
430
 
        * stage2/fsys_iso9660.c (iso9660_mount): Use memcmp() instead of
431
 
        __builtin_memcmp().
432
 
        (iso9660_dir): Likewise.
433
 
 
434
 
2004-04-26  Christian Jones  <chjones@aleph0.com>
435
 
 
436
 
        * docs/grub.texi (Making a GRUB bootable CD-ROM): minor edits,
437
 
        including a few compatibility notes and a change to
438
 
        -boot-load-size 4 for the mkisofs command.
439
 
 
440
 
2004-04-22  Jeroen Dekkers  <jeroen@dekkers.cx>
441
 
 
442
 
        * Makefile.am (AUTOMAKE_OPTIONS): Add "gnu".
443
 
        * configure.ac: Update to work with automake 1.8, quote all
444
 
        AC_DEFUN's correctly and provide descriptions for AC_DEFINE's.
445
 
        * acinclude.m4: Likewise.
446
 
        * acconfig.h: Removed.
447
 
        
448
 
        * stage1/Makefile.am (.exec): Use suffix rules instead of pattern
449
 
        rules.
450
 
        * stage2/Makefile.am (.exec): Likewise.
451
 
 
452
 
2004-04-18  Yoshinori K. Okuji  <okuji@enbug.org>
453
 
 
454
 
        * docs/grub.texi (Making a GRUB bootable CD-ROM): New section.
455
 
 
456
 
        * stage2/disk_io.c (set_device): Use CH instead of *DEVICE to
457
 
        test the first character of DEVICE, because DEVICE is
458
 
        incremented.
459
 
        Reported by Bernhard Treutwein.
460
 
 
461
 
2004-04-15  Yoshinori K. Okuji  <okuji@enbug.org>
462
 
 
463
 
        * netboot/fsys_tftp.c (buf_fill): Cast 1 to unsigned short
464
 
        explicitly so that the constant doesn't extend unsigned short
465
 
        to int automatically.
466
 
        Reported by Eduard Guzovsky <eguzovsk@enterasys.com>.
467
 
 
468
 
        * docs/grub.texi (Invoking grub-md5-crypt): Fixed the chapter
469
 
        name.
470
 
        Reported by Martin Pool <mbp@sourcefrog.net>.
471
 
 
472
 
2004-04-04  Yoshinori K. Okuji  <okuji@enbug.org>
473
 
 
474
 
        * configure.ac (STAGE2_CFLAGS): Check if -fno-stack-protector is
475
 
        supported by GCC. If yes, added the option. This is necessary
476
 
        for OpenBSD, because the stack protector defines additional
477
 
        symbols. Reported by uc.sheda <uc.sheda@laposte.net>.
478
 
 
479
 
2004-03-28  Pavel Roskin  <proski@gnu.org>
480
 
 
481
 
        * stage2/boot.c: Imply --no-mem-option for Linux kernels with
482
 
        protocol version 2.03 and above (Linux 2.4.18 and newer).
483
 
 
484
 
2004-03-27  Yoshinori K. Okuji  <okuji@enbug.org>
485
 
 
486
 
        * stage2/char_io.c [!GRUB_UTIL] (memcpy): New function. It is
487
 
        defined as an alias of grub_memmove. This is copied from GRUB 2.
488
 
 
489
 
        * stage2/disk_io.c (print_completions): Simplified conditionals
490
 
        to make it easier to edit the file with Emacs.
491
 
        Added support for (cd).
492
 
        (set_device): Likewise.
493
 
 
494
 
        * stage2/common.c (init_bios_info): Check if BOOT_DRIVE is a
495
 
        CDROM drive. If it is true, set CDROM_DRIVE to BOOT_DRIVE.
496
 
        (cdrom_drive): New variable.
497
 
 
498
 
        From Leonid Lisovskiy <lly@pisem.net>:
499
 
        * stage2/start_eltorito.S: New file.
500
 
 
501
 
        * stage2/stage2.c (run_menu): Use GRUB_INVALID_DRIVE instead of
502
 
        0xFF.
503
 
 
504
 
        * stage2/shared.h (STAGE2_ID_ISO9660_STAGE1_5): New macro.
505
 
        [FSYS_ISO9660] (STAGE2_ID): Set to STAGE2_ID_ISO9660_STAGE1_5.
506
 
        (struct geometry): Added a new member ``sector_size''.
507
 
        (BIOSDISK_FLAG_CDROM): New macro.
508
 
        (cdrom_drive): Declared.
509
 
 
510
 
        * stage2/fsys_iso9660.c: New file.
511
 
        * stage2/iso9660.h: Likewise.
512
 
 
513
 
        * stage2/filesys.h (FSYS_ISO9660_NUM): New macro.
514
 
        [FSYS_ISO9660] (iso9660_mount): Declared.
515
 
        [FSYS_ISO9660] (iso9660_read): Likewise.
516
 
        [FSYS_ISO9660] (iso9660_dir): Likewise.
517
 
        (NUM_FSYS): Added FSYS_ISO9660_NUM.
518
 
 
519
 
        * stage2/disk_io.c (fsys_table) [FSYS_ISO9660]: Added iso9660.
520
 
        (current_drive): Use GRUB_INVALID_DRIVE.
521
 
        (log2): New function.
522
 
        (rawread): Use BUF_GEOM.SECTOR_SIZE instead of SECTOR_SIZE.
523
 
        Change the type of BUFADDR from int to char *.
524
 
        Use a virtual track to make sure that one track fits in the
525
 
        buffer.
526
 
        (sane_partition): Allow CURRENT_DRIVE to be CDROM_DRIVE, because
527
 
        a bios drive for a CD-ROM is often assigned to greater than
528
 
        0x88.
529
 
        (set_device): Use GRUB_INVALID_DRIVE instead of 0xFF.
530
 
        (setup_part): Likewise.
531
 
 
532
 
        * stage2/cmdline.c (init_cmdline): Use GRUB_INVALID_DRIVE.
533
 
 
534
 
        * stage2/builtins.c (install_func): Use GRUB_INVALID_DRIVE.
535
 
        (setup_func): Added iso9660_stage1_5.
536
 
 
537
 
        * stage2/bios.c (biosdisk): Don't fall back to the CHS mode
538
 
        if the drive is a CDROM.
539
 
        (get_cdinfo): New function.
540
 
        (get_diskinfo): Call get_cdinfo if the drive is greater than or
541
 
        equal to 0x88 or the drive supports LBA.
542
 
        Set the sector size to SECTOR_SIZE if it is not a CD-ROM.
543
 
 
544
 
        * stage2/asm.S (biosdisk_int13_extensions): Take a word
545
 
        argument AX instead of a byte argument AH.
546
 
        (get_diskinfo_int13_extensions): Removed.
547
 
 
548
 
        * stage2/Makefile.am (noinst_HEADERS): Added iso9660.h.
549
 
        (libgrub_a_SOURCES): Added fsys_iso9660.c.
550
 
        (libgrub_a_CFLAGS): Added -DFSYS_ISO9660=1.
551
 
        (pkgdata_DATA): Added iso9660_stage1_5 and stage2_eltorito.
552
 
        (noinst_PROGRAMS): Added iso9660_stage1_5.exec and
553
 
        start_eltorito.exec.
554
 
        (noinst_DATA): Added start_eltorito.
555
 
        (pre_stage2_exec_SOURCES): Added fsys_iso9660.c.
556
 
        (START_ELTORITO_LINK): New variable.
557
 
        (start_eltorito_exec_SOURCES): Likewise.
558
 
        (start_eltorito_exec_CCASFLAGS): Likewise.
559
 
        (start_eltorito_exec_LDFLAGS): Likewise.
560
 
        (start_eltorito_exec-start.$(OBJEXT)): New dependency.
561
 
        (stage2_eltorito): New target.
562
 
        (iso9660_stage1_5_exec_SOURCES): New variable.
563
 
        (iso9660_stage1_5_exec_CFLAGS): Likewise.
564
 
        (iso9660_stage1_5_exec_CCASFLAGS): Likewise.
565
 
        (iso9660_stage1_5_exec_LDFLAGS): Likewise.
566
 
 
567
 
        * stage1/stage1.h (GRUB_INVALID_DRIVE): New macro.
568
 
 
569
 
        * stage1/stage1.S (boot_drive): Use the macro GRUB_INVALID_DRIVE.
570
 
        (real_start): Likewise.
571
 
 
572
 
        * lib/device.c (get_drive_geometry): Set GEOM->SECTOR_SIZE to
573
 
        SECTOR_SIZE by default.
574
 
 
575
 
        * configure.ac (--disable-iso9660): New option.
576
 
 
577
 
2004-03-13  Yoshinori K. Okuji  <okuji@enbug.org>
578
 
        
579
 
        From Daniele Zelante <zeldan@email.it>:
580
 
        * stage2/asm.S (stop_floppy): Use INT 13, AH=00h to stop the
581
 
        floppy controller instead of a direct I/O.
582
 
 
583
 
2004-03-12  Yoshinori K. Okuji  <okuji@enbug.org>
584
 
 
585
 
        * stage2/serial.c (serial_putchar): Handle the character code
586
 
        127 as a backspace. Reported by Florian Engelhardt
587
 
        <f.engelhardt@gmx.net>.
588
 
 
589
 
2004-03-12  Yoshinori K. Okuji  <okuji@enbug.org>
590
 
 
591
 
        From Boji Tony Kannanthanam <boji.t.kannanthanam@intel.com>:
592
 
        * util/grub-install.in (convert): Add support for ATARAID
593
 
        device names.
594
 
        * lib/device.c (get_ataraid_disk_name) [__linux__]: New
595
 
        function.
596
 
        (init_device_map) [__linux__]: Probe ATARAID disks.
597
 
 
598
 
        * stage2/size_test (check): Don't use the local statement any
599
 
        longer. It was unneeded actually. Reported by Paul Jarc.
600
 
 
601
 
2004-03-12  Yoshinori K. Okuji  <okuji@enbug.org>
602
 
        
603
 
        From Sergey Matveychuk <sem@ciam.ru>:
604
 
        * lib/device.c (get_drive_geometry): Do not open the same device
605
 
        more than once unnecessarily.
606
 
        (get_drive_geometry) [__FreeBSD_version >= 500040]: Use new
607
 
        ioctl methods.
608
 
        (get_floppy_disk_name) [__FreeBSD__ >= 4]: Use /dev/fd%d rather
609
 
        than /dev/rfd%d.
610
 
        (get_ide_disk_name) [__FreeBSD__ >= 4]: Use /dev/ad%d rather
611
 
        than /dev/rad%d.
612
 
        (get_scsi_disk_name) [__FreeBSD__ >= 4]: Use /dev/da%d rather
613
 
        than /dev/rda%d.
614
 
        * grub/asmstub.c (get_diskinfo): Check if ERRNO is EPERM as
615
 
        well.
616
 
 
617
 
2004-02-28  Jeroen Dekkers  <jeroen@dekkers.cx>
618
 
 
619
 
        * docs/grub.texi (partnew): Change @var{to} to @var{len}.
620
 
 
621
 
2004-02-18  Yoshinori K. Okuji  <okuji@enbug.org>
622
 
 
623
 
        From Yury V. Umanets <umka@namesys.com>:
624
 
        * stage2/fsys_reiserfs.c (REISER3FS_SUPER_MAGIC_STRING): New
625
 
        macro.
626
 
        (reiserfs_mount): Added checks for ReiserFS 3.
627
 
        (reiserfs_embed): Likewise.
628
 
 
629
 
2004-01-25  Yoshinori K. Okuji  <okuji@enbug.org>
630
 
 
631
 
        * docs/grub.texi (Obtaining and Building GRUB): Instead of
632
 
        describing how to use the anoncvs method, specify the URL of
633
 
        the description page on Savannah.
634
 
        Reported by Bernhard Treutwein.
635
 
 
636
 
2004-01-18  Yoshinori K. Okuji  <okuji@enbug.org>
637
 
 
638
 
        From Thomas Schwinge <kischde@gmx.net>:
639
 
        * grub/Makefile.am (AM_CPPFLAGS): New variable.
640
 
        (AM_CFLAGS): Removed all cpp flags.
641
 
 
642
 
        * stage2/xfs.h (__int8_t): Renamed to ...
643
 
        (xfs_int8_t): ... this.
644
 
        (__uint8_t): Renamed to ...
645
 
        (xfs_uint8_t): ... this.
646
 
        (__int16_t): Renamed to ...
647
 
        (xfs_int16_t): ... this.
648
 
        (__uint16_t): Renamed to ...
649
 
        (xfs_uint16_t): ... this.
650
 
        (__int32_t): Renamed to ...
651
 
        (xfs_int32_t): ... this.
652
 
        (__uint32_t): Renamed to ...
653
 
        (xfs_uint32_t): ... this.
654
 
        (__int64_t): Renamed to ...
655
 
        (xfs_int64_t): ... this.
656
 
        (__uint64_t): Renamed to ...
657
 
        (xfs_uint64_t): ... this.
658
 
        All callers are changed.x
659
 
 
660
 
        From Egmont Koblinger <egmont@uhulinux.hu>:
661
 
        * util/grub-install.in: Support an install devices in GRUB's
662
 
        notation without parentheses.
663
 
 
664
 
        * docs/grub.texi (Installing GRUB using grub-install): Added an
665
 
        example of using grub-install without parentheses.
666
 
 
667
 
2004-01-18  Yoshinori K. Okuji  <okuji@enbug.org>
668
 
        
669
 
        * util/grub-install.in: Use the first word of GRUB_SHELL when
670
 
        checking if the grub shell is present. This is necessary to
671
 
        support options to the grub shell (e.g. grub --read-only).
672
 
 
673
 
        From Eric Kvaalen <E_Kvaalen.Arnesen@noos.fr>:
674
 
        * docs/grub.texi: Many bug fixes.
675
 
 
676
 
2004-01-17  Yoshinori K. Okuji  <okuji@enbug.org>
677
 
 
678
 
        * lib/device.c [__linux__] (MAJOR): Support 32 bit and 64 bit
679
 
        dev_t. This code is stolen from glibc.
680
 
        Suggested by Shen Feng <shen@nanjing-fnst.com>.
681
 
 
682
 
2004-01-11  Yoshinori K. Okuji  <okuji@enbug.org>
683
 
 
684
 
        * stage2/terminfo.c (ti_set_term): Use a pointer to struct
685
 
        terminfo instead to avoid GCC's bug, which inserts a reference
686
 
        to memcpy implicitly.
687
 
        (ti_get_term): Likewise.
688
 
        All callers are fixed.
689
 
 
690
 
        * stage2/terminfo.h (ti_set_term): Updated.
691
 
        (ti_get_term): Likewise.
692
 
 
693
 
        * stage2/shared.h (struct linux_kernel_header): New member,
694
 
        initrd_max_address. Defined in the boot protocol 2.03 or higher.
695
 
 
696
 
        * stage2/boot.c (load_initrd): If the boot protocol is greater
697
 
        than or equal to 2.03, use the field ``initrd_max_address''
698
 
        instead of LINUX_INITRD_MAX_ADDRESS.
699
 
 
700
 
2003-12-30  Yoshinori K. Okuji  <okuji@enbug.org>
701
 
 
702
 
        * stage2/fsys_ext2fs.c (ext2_is_fast_symlink): New function.
703
 
        (ext2fs_dir): Use ext2_is_fast_symlink to check if the current
704
 
        inode is a fast or slow symlink. This change was required
705
 
        because Linux now uses acl seriously (i.e. incompatibility).
706
 
        Reported by Chris PeBenito <pebenito@gentoo.org> and Seemant
707
 
        Kulleen <seemant@gentoo.org>
708
 
 
709
 
2003-11-30  Yoshinori K. Okuji  <okuji@enbug.org>
710
 
 
711
 
        * lib/device.c (read_device_map) (sho_warning): New internal
712
 
        function.
713
 
        (read_device_map): If DRIVE is greater than 8, emit a warning
714
 
        and ignore the drive, rather than exiting abnormally.
715
 
        Reported by Greg Newby <newby@arsc.edu>.
716
 
 
717
 
2003-10-19  Yoshinori K. Okuji  <okuji@enbug.org>
718
 
 
719
 
        Migrated to newer autotools. Also, don't install mkbimage
720
 
        because its name is too general and it does not conform to the
721
 
        GNU Coding Standards in some points.
722
 
        
723
 
        * util/Makefile.am (EXTRA_DIST): New variable.
724
 
        (sbin_SCRIPTS): Removed mkbimage.
725
 
        (noinst_SCRIPTS): Added mkbimage.
726
 
 
727
 
        * stage1/Makefile.am (AM_ASFLAGS): Renamed to ...
728
 
        (AM_CCASFLAGS): ... this.
729
 
 
730
 
        * stage2/Makefile.am (pre_stage2_exec_ASFLAGS): Renamed to ...
731
 
        (pre_stage2_exec_CCASFLAGS): ... this.
732
 
        (start_exec_ASFLAGS): Renamed to ...
733
 
        (start_exec_CCASFLAGS): ... this.
734
 
        (e2fs_stage1_5_exec_ASFLAGS): Renamed to ...
735
 
        (e2fs_stage1_5_exec_CCASFLAGS): ... this.
736
 
        (fat_stage1_5_exec_ASFLAGS): Renamed to ...
737
 
        (fat_stage1_5_exec_CCASFLAGS): ... this.
738
 
        (ffs_stage1_5_exec_ASFLAGS): Renamed to ...
739
 
        (ffs_stage1_5_exec_CCASFLAGS): ... this.
740
 
        (minix_stage1_5_exec_ASFLAGS): Renamed to ...
741
 
        (minix_stage1_5_exec_CCASFLAGS): ... this.
742
 
        (reiserfs_stage1_5_exec_ASFLAGS): Renamed to ...
743
 
        (reiserfs_stage1_5_exec_CCASFLAGS): ... this.
744
 
        (vstafs_stage1_5_exec_ASFLAGS): Renamed to ...
745
 
        (vstafs_stage1_5_exec_CCASFLAGS): ... this.
746
 
        (jfs_stage1_5_exec_ASFLAGS): Renamed to ...
747
 
        (jfs_stage1_5_exec_CCASFLAGS): ... this.
748
 
        (xfs_stage1_5_exec_ASFLAGS): Renamed to ...
749
 
        (xfs_stage1_5_exec_CCASFLAGS): ... this.
750
 
        (diskless_exec_ASFLAGS): Renamed to ...
751
 
        (diskless_exec_CCASFLAGS): ... this.
752
 
        (nbloader_exec_ASFLAGS): Renamed to ...
753
 
        (nbloader_exec_CCASFLAGS): ... this.
754
 
        (pxeloader_exec_ASFLAGS): Renamed to ...
755
 
        (pxeloader_exec_CCASFLAGS): ... this.
756
 
 
757
 
        * configure.in: Removed.
758
 
        * configure.ac: New file. Mostly derived from configure.in.
759
 
        
760
 
2003-10-19  Yoshinori OKUJI  <okuji@enbug.org>
761
 
 
762
 
        From KB Sriram <mail_kb@yahoo.com>:
763
 
        * stage2/disk_io.c (set_device) [SUPPORT_NETBOOT]: Added support
764
 
        for a completion of a network device.
765
 
        (print_completions): Likewise.
766
 
 
767
 
2003-10-10  Robert Millan  <robertmh@gnu.org>
768
 
 
769
 
        * config.guess: Update from official source (CVS).
770
 
        * config.sub: Likewise.
771
 
 
772
 
2003-09-18  Robert Millan  <robertmh@gnu.org>
773
 
 
774
 
        * docs/texinfo.tex: Update from ftp.gnu.org.
775
 
 
776
 
2003-09-05  KB Sriram  <mail_kb@yahoo.com>
777
 
 
778
 
        * stage2/fsys_fat.c: Fix missdetection of ext2fs as fatfs.
779
 
 
780
 
2003-09-05  Robert Millan  <robertmh@gnu.org>
781
 
 
782
 
        * docs/menu.lst (GNU/Linux): Add commented initrd command, which
783
 
        is consistent with documentation.
784
 
 
785
 
2003-09-01  Robert Millan  <robertmh@gnu.org>
786
 
 
787
 
        * docs/menu.lst: Add NetBSD, OpenBSD, GNU/KFreeBSD and
788
 
        GNU/KNetBSD.
789
 
 
790
 
2003-08-13  Jason Thomas  <jason@intology.com.au>
791
 
 
792
 
        * util/grub-install.in (resolve_symlink): New function to
793
 
        resolve symlinks.
794
 
        (find_device): Moved symlink code to new function.
795
 
        Before we convert the install_device we attempt to resolve it if
796
 
        its a symlink using the new function.
797
 
        * util/mbchk.c (check_multiboot): The sense of an error message
798
 
        was inverted.
799
 
        Reported by Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>.
800
 
 
801
 
2003-08-12  Jochen Hoenicke  <jochen@gnu.org>
802
 
 
803
 
        * stage2/fsys_reiserfs.c (read_tree_node): Fixed a typo; only
804
 
        matters for very large fs when tree doesn't fit in cache.
805
 
        (IH_KEY_OFFSET): Don't check for INFO->version.  There are
806
 
        actually old version file systems that use new version items.
807
 
        (IH_KEY_ISTYPE): Likewise.
808
 
        (reiserfs_dir): Likewise.
809
 
 
810
 
2003-08-09  Thierry Laronde  <tlaronde@polynum.org>
811
 
 
812
 
        * util/mkbimage: New File. `mkbimage' depends on GRUB and
813
 
        existed elsewhere. It is now part of GRUB so that people can
814
 
        fix/contribute.
815
 
        * util/Makefile.am (sbin_SCRIPTS): Added script `mkbimage'
816
 
 
817
 
2003-08-01  Jason Thomas  <jason@intology.com.au>
818
 
 
819
 
        * util/grub-install.in: support --no-floppy
820
 
        This allow users to specify the --no-floppy option which
821
 
        is passed onto the grub shell, so it does not probe the floppy
822
 
        drive. 
823
 
        Patch from kesha@diedas.soften.ktu.lt
824
 
 
825
 
2003-06-17  Jochen Hoenicke  <jochen@gnu.org>
826
 
 
827
 
        * stage2/fsys_reiserfs.c (reiserfs_mount): Clear the node cache.
828
 
        This fixes a problem where files from other partitions appear at
829
 
        the wrong partition.  Problem reported by Johan Regin.
830
 
 
831
 
2003-05-04  Yoshinori K. Okuji  <okuji@enbug.org>
832
 
 
833
 
        * docs/grub.texi (partnew): Fixed the inconsistency between the
834
 
        implementation and the documentation. The last argument is the
835
 
        length instead of the ending address.
836
 
        Reported by Daniel Farrell <s2108287@student.rmit.edu.au>.
837
 
 
838
 
2003-03-19  Yoshinori K. Okuji  <okuji@enbug.org>
839
 
 
840
 
        From Adam Lackorzynski <adam@os.inf.tu-dresden.de>:
841
 
        * stage2/shared.h (KEY_NPAGE): Changed to 0x5100.
842
 
        (KEY_PPAGE): Changed to 0x4900.
843
 
 
844
 
2003-03-19  Yoshinori K. Okuji  <okuji@enbug.org>
845
 
 
846
 
        * stage2/boot.c (load_image): Check if DATA_LEN plus SECTOR_SIZE
847
 
        is less than or equal to MULTIBOOT_SEARCH, instead of if
848
 
        DATA_LEN is less than or equal to MULTIBOOT_SEARCH.
849
 
        Reported by Neelkanth Natu <neelnatu@yahoo.com>.
850
 
 
851
 
2003-03-10  Yoshinori K. Okuji  <okuji@enbug.org>
852
 
 
853
 
        From Andrew Walrond <andrew@walrond.org>:
854
 
        * stage2/fsys_reiserfs.c (struct reiserfs_journal_header):
855
 
        Remove an unnecessary ``long''.
856
 
 
857
 
2003-03-10  Yoshinori K. Okuji  <okuji@enbug.org>
858
 
 
859
 
        From Tilmann Bubeck:
860
 
        * stage2/builtins.c [SUPPORT_SERIAL] (terminfo_func): Unescape
861
 
        arguments before copying them, and escape sequences before
862
 
        printing them.
863
 
        * stage2/terminfo.h (TERMINFO_LEN): Changed to 40.
864
 
 
865
 
2003-02-20  Yoshinori K. Okuji  <okuji@enbug.org>
866
 
 
867
 
        * util/grub-install.in (find_device): Fix the sed script.
868
 
 
869
 
2003-02-17  Yoshinori K. Okuji  <okuji@enbug.org>
870
 
 
871
 
        * lib/device.c (check_device): If DEVICE is empty, just return
872
 
        1.
873
 
        (get_scsi_disk_name) [__QNXNTO__]: Make NAME empty, because SCSI
874
 
        disks are detected as IDE disks on QNX RTP.
875
 
 
876
 
        From Taketo Kabe <kabe@sra-tohoku.co.jp>:
877
 
        * lib/device.c (get_ide_disk_name) [__QNXNTO__]: Set NAME to
878
 
        "/dev/hdX".
879
 
        (get_floppy_disk_name) [__QNXNTO__]: Set NAME to "/dev/fdX".
880
 
        * stage2/mb_info.h (struct AddrRangeDesc): Specified with the
881
 
        attribute packed.
882
 
        * stage2/shared.h (struct mmar_desc): Likewise.
883
 
 
884
 
2003-01-29  Yoshinori K. Okuji  <okuji@enbug.org>
885
 
 
886
 
        From Ilguiz Latypov:
887
 
        * configure.in: Fix a syntax error in a sed script.
888
 
        * stage2/bios.c (get_diskinfo): PhoenixBIOS 4.0 Revision 6.0 
889
 
        for ZF Micro might understand the greater buffer size for the
890
 
        "get drive parameters" int 0x13 call in its own way.  
891
 
        Supposedly the BIOS assumes even bigger space is available and
892
 
        thus corrupts the stack.  This is why we specify the exactly 
893
 
        necessary size of 0x42 bytes.
894
 
 
895
 
2003-01-25  Yoshinori K. Okuji  <okuji@enbug.org>
896
 
 
897
 
        From Steven Dick <ssd.gnu@mmae.ucf.edu>:
898
 
        * stage2/pc_slice.h (PC_SLICE_TYPE_DELL_UTIL): New macro.
899
 
        (IS_PC_SLICE_TYPE_FAT): Recognize PC_SLIDE_TYPE_DELL_UTIL as
900
 
        well.
901
 
 
902
 
2003-01-25  Yoshinori K. Okuji  <okuji@enbug.org>
903
 
 
904
 
        From Karsten Scheibler <karsten.scheibler@student.uni-halle.de>:
905
 
        * stage2/terminfo.c (term): Don't use a C99-style initializer.
906
 
 
907
 
2003-01-16  Yoshinori K. Okuji  <okuji@enbug.org>
908
 
 
909
 
        From H.J. Lu <hjl@gnu.org>:
910
 
        * stage2/disk_io.c (part_start): Use unsigned long to support
911
 
        large disks.
912
 
        (part_length): Likewise.
913
 
        * stage2/shared.h (part_start): Likewise.
914
 
        (part_length): Likewise.
915
 
 
916
 
2003-01-05  Yoshinori K. Okuji  <okuji@enbug.org>
917
 
 
918
 
        * configure.in (CFLAGS): When the default CFLAGS is used,
919
 
        eliminate -O2 and -g from CFLAGS, because Autoconf may
920
 
        automatically set CFLAGS to them.
921
 
 
922
 
2003-01-02  Yoshinori K. Okuji  <okuji@enbug.org>
923
 
 
924
 
        From Jeremy Katz:
925
 
        * configure.in: Support building on x86_64 with gcc -m32.
926
 
 
927
 
2003-01-02  Yoshinori K. Okuji  <okuji@enbug.org>
928
 
 
929
 
        From Jeremy Katz:
930
 
        * stage2/fsys_ext2fs.c (ext2fs_dir): Initialize STR_CHK to shut
931
 
        up GCC.
932
 
        * stage2/fsys_minix.c (minix_dir): Likewise.
933
 
 
934
 
2002-12-21  Yoshinori K. Okuji  <okuji@enbug.org>
935
 
 
936
 
        * stage2/asm.S (gateA20): First, try a BIOS call (INT 15H,
937
 
        AX=2400/2401). Use the keyboard controller, only if that failed.
938
 
 
939
 
2002-12-11  Yoshinori K. Okuji  <okuji@enbug.org>
940
 
 
941
 
        Add a workaround for buggy BIOSes which don't pass boot drive
942
 
        correctly. The idea is that GRUB forces the fixed disk flag
943
 
        when booted from a hard disk. When BIOS loads GRUB directly,
944
 
        the boot drive must be either of 0x00 and 0x80, so this should
945
 
        work, if those BIOSes always pass zero to %dl. AFAIK, this
946
 
        assumption is always correct.
947
 
 
948
 
        * stage2/builtins.c (install_func): Store the fixed disk flag of
949
 
        the destination drive in BOOT_DRIVE_MASK in Stage 1.
950
 
 
951
 
        * stage1/stage1.h (STAGE1_BOOT_DRIVE_MASK): New macro.
952
 
 
953
 
        * stage1/stage1.S (boot_drive_mask): New variable. It is or'ed
954
 
        to %dl.
955
 
 
956
 
2002-12-09  Yoshinori K. Okuji  <okuji@enbug.org>
957
 
 
958
 
        * stage2/char_io.c (init_page): Change the software name from
959
 
        "GRUB" to "GNU GRUB". This was inaccurate. Reported by Ciaran
960
 
        O'Riordan <coriordan@compsoc.com>.
961
 
 
962
 
2002-12-04  Yoshinori K. Okuji  <okuji@enbug.org>
963
 
 
964
 
        * stage2/builtins.c (embed_func): When checking if the disk can
965
 
        store Stage 1.5, check every partition, if it isn't empty.
966
 
 
967
 
2002-12-04  Yoshinori K. Okuji  <okuji@enbug.org>
968
 
 
969
 
        * stage2/stage2.c (print_entry): Put a right arrow, if the entry
970
 
        is longer than 71 characters. Reported by Pavel Roskin.
971
 
 
972
 
2002-12-04  Yoshinori K. Okuji  <okuji@enbug.org>
973
 
 
974
 
        * stage2/disk_io.c (set_device): If '(n' is given, add 'd' into
975
 
        DEVICE. Reported by Pavel Roskin.
976
 
 
977
 
2002-12-03  Yoshinori K. Okuji  <okuji@enbug.org>
978
 
 
979
 
        Change the terminal structure a bit, to turn the cursor state
980
 
        explicitly. Suggested by Pavel Roskin.
981
 
        
982
 
        * stage2/term.h (struct term_entry): Remove the member
983
 
        `nocursor' and add `setcursor'.
984
 
        [!STAGE1_5] (console_setcursor): New prototype.
985
 
        [SUPPORT_HERCULES] (hercules_setcursor): Likewise.
986
 
        [!STAGE1_5] (console_nocursor): Removed.
987
 
        [SUPPORT_HERCULES] (hercules_nocursor): Likewise.
988
 
 
989
 
        * stage2/stage2.c (run_menu): Call setcursor instead of
990
 
        nocursor.
991
 
        Call setcursor with 1 before starting a boot entry.
992
 
 
993
 
        * stage2/shared.h (nocursor): Removed.
994
 
        (setcursor): New prototype.
995
 
 
996
 
        * stage2/hercules.c (herc_cursor_state): New variable.
997
 
        (herc_turn_cursor): Removed.
998
 
        (hercules_nocursor): Likewise.
999
 
        (hercules_setcursor): New function.
1000
 
 
1001
 
        * stage2/char_io.c (get_cmdline): Turn on the cursor at the
1002
 
        beginning, and restore it before returning.
1003
 
        (nocursor): Removed.
1004
 
        (setcursor): New function.
1005
 
 
1006
 
        * stage2/asm.S (console_cursor_state): New variable.
1007
 
        (console_cursor_shape): Likewise.
1008
 
        (console_setcursor): New function.
1009
 
        (console_nocursor): Removed.
1010
 
 
1011
 
        * grub/asmstub.c (console_setcursor): New function.
1012
 
        (hercules_setcursor): Likewise.
1013
 
        (console_nocursor): Removed.
1014
 
        (hercules_nocursor): Likewise.
1015
 
 
1016
 
2002-12-03  Yoshinori K. Okuji  <okuji@enbug.org>
1017
 
 
1018
 
        * docs/grub.texi (terminfo): Fix a misleading English sentence.
1019
 
        Reported by Pavel Roskin.
1020
 
        * stage2/builtins.c (builtin_terminfo): Likewise.
1021
 
 
1022
 
2002-12-01  Yoshinori K. Okuji  <okuji@enbug.org>
1023
 
 
1024
 
        From Alexander Langer <alex@big.endian.de>:
1025
 
        * stage2/freebsd.h (RB_GDB): New macro.
1026
 
        (RB_MUTE): Likewise.
1027
 
        (RB_MULTIPLE): Likewise.
1028
 
 
1029
 
        * stage2/boot.c (bsd_boot): Set the bits of RB_MULTIPLE, RB_GDB
1030
 
        and RB_MUTE when "-D", "-g" and "-m" are specified,
1031
 
        respectively.
1032
 
 
1033
 
2002-12-01  Yoshinori K. Okuji  <okuji@enbug.org>
1034
 
 
1035
 
        * docs/grub.texi (Reporting bugs): Specify the project page of
1036
 
        the BTS instead of the BTS itself.
1037
 
 
1038
 
2002-11-30  Yoshinori K. Okuji  <okuji@enbug.org>
1039
 
 
1040
 
        * docs/Makefile.am (man_MANS): Added grub-terminfo.8.
1041
 
        ($(srcdir)/grub_terminfo.8): New target.
1042
 
        * utils/grub-terminfo.in: New file.
1043
 
        * util/Makefile.am (sbin_SCRIPTS): Added grub-terminfo.
1044
 
        * configure.in (AC_OUTPUT): Added util/grub-terminfo.
1045
 
 
1046
 
        * docs/grub.texi (terminfo): New subsection.
1047
 
        (Invoking grub-terminfo): New chapter.
1048
 
 
1049
 
        From Tilmann Bubeck <t.bubeck@reinform.de>:
1050
 
        * stage2/Makefile.am (noinst_HEADERS): Added terminfo.h and
1051
 
        tparm.h.
1052
 
        (libgrub_a_SOURCES): Added terminfo.c and tparm.c.
1053
 
        (pre_stage2_exe_SOURCES): Likewise.
1054
 
        * stage2/terminfo.c: New file.
1055
 
        * stage2/terminfo.h: Likewise.
1056
 
        * stage2/tparm.c: Likewise.
1057
 
        * stage2/tparm.h: Likewise.
1058
 
        * stage2/stage2.c (get_line_from_config): Fix handling of
1059
 
        backslashes.
1060
 
        * stage2/char_io.c (grub_putstr): New function.
1061
 
        (grub_printf): Use grub_putstr.
1062
 
        (substring): Add const into both arguments.
1063
 
        * stage2/builtins.c [SUPPORT_SERIAL]: Include terminfo.h.
1064
 
        [SUPPORT_SERIAL] (terminfo_func): New function.
1065
 
        [SUPPORT_SERIAL] (builtin_terminfo): New variable.
1066
 
         (builtin_table) [SUPPORT_SERIAL]: Added a pointer to
1067
 
        BUILTIN_TERMINFO.
1068
 
        * stage2/serial.c (serial_gotoxy): Use ti_cursor_address.
1069
 
        (serial_cls): Use ti_clear_screen.
1070
 
        (serial_highlight): use ti_enter_standout_mode and
1071
 
        ti_exit_standout_mode.
1072
 
 
1073
 
2002-11-30  Yoshinori K. Okuji  <okuji@enbug.org>
1074
 
 
1075
 
        * stage2/disk_io.c (rawread): Make sure that SECTOR is valid.
1076
 
        If not, set ERRNUM to ERR_GEOM and return zero. This check is
1077
 
        critical when a partition table is corrupted.
1078
 
 
1079
 
2002-11-28  Yoshinori K. Okuji  <okuji@enbug.org>
1080
 
 
1081
 
        * stage2/asm.S (console_cls): Write spaces to the entire screen
1082
 
        instead of getting/setting the video mode, because this flickers
1083
 
        the screen and is quite annoying, if using a LCD.
1084
 
 
1085
 
2002-11-15  Yoshinori K. Okuji  <okuji@enbug.org>
1086
 
 
1087
 
        * docs/grub.texi (QNX): New subsection. Reported by
1088
 
        Marian-Nicolae V. ION <marian_ion@noos.fr>.
1089
 
 
1090
 
2002-10-28  Yoshinori K. Okuji  <okuji@enbug.org>
1091
 
 
1092
 
        * grub/asmstub.c (console_translate_key): Deal with KEY_PPAGE
1093
 
        and KEY_NPAGE.
1094
 
        * stage2/serial.c (serial_translate_key_sequence): Added two new
1095
 
        codes for Page Up and Page Down.
1096
 
        * stage2/asm.S (translation_table): Added entries for KEY_PPAGE
1097
 
        and KEY_NPAGE.
1098
 
        * stage2/stage2.c (run_menu): Deal with Page Up and Page Down.
1099
 
        Also recognize the right key for the selection of a boot entry.
1100
 
        Suggested by Adam Lackorzynski <adam@os.inf.tu-dresden.de>.
1101
 
 
1102
 
2002-10-10  Jason Thomas  <jason@topic.com.au>
1103
 
 
1104
 
        * stage2/builtins.c (setup_func): Added missing space to --force-lba
1105
 
        option. Reported by Kenneth Crudup <kenny@panix.com>
1106
 
 
1107
 
2002-10-06  Yoshinori K. Okuji  <okuji@enbug.org>
1108
 
 
1109
 
        * stage2/asm.S (gateA20): Output a dummy command (0xff), as a
1110
 
        workaround for USB keyboard hanging problem. Suggested by
1111
 
        Hidetoshi Nishimaki <nishimaki@mxs.nes.nec.co.jp>.
1112
 
 
1113
 
2002-10-06  Yoshinori K. Okuji  <okuji@enbug.org>
1114
 
 
1115
 
        * configure.in (falign_loop_flag): New variable. Set to if GCC
1116
 
        supports `-falign-*'. If true, use `-falign-jumps',
1117
 
        `-falign-loops' and `-falign-functions' instead of
1118
 
        `-malign-jumps', `-malign-loops' and `-malign-functions',
1119
 
        because `-malign-*' are obsolete in GCC 3.x. Reported by Jeremy
1120
 
        Katz.
1121
 
 
1122
 
2002-09-13  Yoshinori K. Okuji  <okuji@enbug.org>
1123
 
 
1124
 
        * stage2/serial.c (fill_input_buf): Take a new argument NOWAIT.
1125
 
        If NOWAIT is true, don't loop.
1126
 
        All callers are changed.
1127
 
 
1128
 
2002-09-08  Yoshinori K. Okuji  <okuji@enbug.org>
1129
 
 
1130
 
        * configure.in (--disable-serial): Fix a typo in the
1131
 
        description.
1132
 
 
1133
 
2002-08-20  Jason Thomas <jason@topic.com.au>
1134
 
 
1135
 
        Changed highlight state code for hercules, console and serial.
1136
 
        The state was 0 - normal or 1 - highlight.
1137
 
        The state is now defined using an enum called color_state.
1138
 
 
1139
 
        * stage2/term.h (color_state): New enum.
1140
 
        (COLOR_STATE_STANDARD): Standard color to use when not using
1141
 
        user defined.
1142
 
        (COLOR_STATE_NORMAL): User defined normal color.
1143
 
        (COLOR_STATE_HIGHLIGHT): User defined highlight color.
1144
 
        (console_highlight): Renamed to console_setcolorstate.
1145
 
        (serial_highlight): Renamed to serial_setcolorstate.
1146
 
        (hercules_highlight): Renamed to hercules_setcolorstate.
1147
 
        * stage2/hercules.c (herc_highlight_state): Removed.
1148
 
        (herc_standard_color): New variable.
1149
 
        (herc_color_state): Likewise.
1150
 
        (herc_highlight): Renamed to herc_setcolorstate.
1151
 
        (herc_setcolorstate): Added switch to handle new states.
1152
 
        * stage2/console.c (console_highlight_state): Removed.
1153
 
        (console_standard_color): New variable.
1154
 
        (console_color_state): Likewise.
1155
 
        (console_highlight): Renamed to console_setcolorstate.
1156
 
        (console_setcolorstate): Added switch to handle new states.
1157
 
        * stage2/serial.c (serial_highlight): Renamed to
1158
 
        serial_setcolorstate.
1159
 
        (serial_setcolorstate): Adjusted 'if' to suit new states.
1160
 
        * grub/asmstub.c (console_highlight): Renamed to
1161
 
        console_setcolorstate.
1162
 
        (console_setcolorstate): Adjusted 'if' to suit new states.
1163
 
        * stage2/stage2.c (print_entry): Set color states using new
1164
 
        states.
1165
 
        (print_border): Likewise.
1166
 
        * stage2/stage2.c (run_menu): Reverse if (!) to if () for
1167
 
        uniformitty.
1168
 
 
1169
 
2002-07-12  Yoshinori K. Okuji  <okuji@enbug.org>
1170
 
 
1171
 
        * stage2/boot.c (load_image): Rewrite the Linux booting support
1172
 
        radically. Now it should work even on a machine having, say,
1173
 
        only 128KB, theoretically. Of course, GRUB itself doesn't work
1174
 
        on such a system, though.
1175
 
        (load_initrd): Initialize LH based on CUR_ADDR, because the
1176
 
        location becomes dynamic.
1177
 
        * stage2/shared.h (LINUX_MAX_SETUP_SECTS): Set to 64.
1178
 
        (LINUX_HEAP_END_OFFSET): Set to (0x9000 - 0x200).
1179
 
        (LINUX_STAGING_AREA): Removed.
1180
 
        (LINUX_SETUP): Likewise.
1181
 
        (LINUX_KERNEL): Likewise.
1182
 
        (LINUX_KERNEL_MAXLEN): Likewise.
1183
 
        (LINUX_SETUP_SEG): Likewise.
1184
 
        (LINUX_INIT_SEG): Likewise.
1185
 
        (LINUX_SETUP_STACK): Set to 0x9000.
1186
 
        (LINUX_BZIMAGE_ADDR): New macro.
1187
 
        (LINUX_ZIMAGE_ADDR): Likewise.
1188
 
        (LINUX_OLD_REAL_MODE_ADDR): Likewise.
1189
 
        (CL_MY_LOCATION): Removed.
1190
 
        (CL_MY_END_ADDR): Likewise.
1191
 
        (CL_BASE_ADDR): Likewise.
1192
 
        (CL_MAGIC): Renamed to ...
1193
 
        (LINUX_CL_MAGIC): ... this.
1194
 
        (LINUX_CL_OFFSET): New macro.
1195
 
        (LINUX_CL_END_OFFSET): Likewise.
1196
 
        (LINUX_SETUP_MOVE_SIZE): Likewise.
1197
 
        (struct linux_kernel_header): Change the type of the member
1198
 
        "cmd_line_ptr" to char *.
1199
 
        (linux_data_tmp_addr): Declared.
1200
 
        (linux_data_real_addr): Likewise.
1201
 
        * stage2/asm.S [!STAGE1_5] (linux_data_tmp_addr): New variable.
1202
 
        [!STAGE1_5] (linux_data_real_addr): Likewise.
1203
 
        [!STAGE1_5] (big_linux_boot): Copy the real mode part from
1204
 
        LINUX_DATA_TMP_ADDR to LINUX_DATA_REAL_ADDR.
1205
 
        * grub/asmstub.c (linux_data_tmp_addr): New variable.
1206
 
        (linux_data_real_addr): Likewise.
1207
 
 
1208
 
2002-07-09  Yoshinori K. Okuji  <okuji@enbug.org>
1209
 
        
1210
 
        From Mark Kettenis <kettenis@chello.nl>:
1211
 
        * stage2/boot.c (load_image): Recognize newer FreeBSD kernels.
1212
 
        * stage2/i386-elf.h (EI_OSABI): New macro.
1213
 
        (EI_ABIVERSION): Likewise.
1214
 
        (ELFOSABI_FREEBSD): Likewise.
1215
 
        (EI_PAD): Set to 9.
1216
 
 
1217
 
2002-07-06  Yoshinori K. Okuji  <okuji@enbug.org>
1218
 
 
1219
 
        * stage2/shared.h (boot_part_offset): Removed.
1220
 
        
1221
 
        * stage2/disk_io.c (set_bootdev): Copy the partition information
1222
 
        here. Now this function can call rawread, so it can fail.
1223
 
        (boot_part_offset): Removed.
1224
 
 
1225
 
        * stage2/builtins.c (boot_func): Don't copy the partition
1226
 
        information here.
1227
 
        (real_root_func): Check ERRNUM after calling set_bootdev.
1228
 
 
1229
 
2002-07-04  Yoshinori K. Okuji  <okuji@enbug.org>
1230
 
 
1231
 
        * docs/grub.texi (Reporting bugs): Use the group name (i.e.
1232
 
        grub) instead of the group id (i.e. 68) for the URL of the BTS.
1233
 
 
1234
 
2002-07-03  Yoshinori K. Okuji  <okuji@enbug.org>
1235
 
 
1236
 
        * stage2/serial.c [!GRUB_UTIL] (inb): Added a delay into this
1237
 
        function itself.
1238
 
        [!GRUB_UTIL] (outb): Likewise.
1239
 
        [!GRUB_UTIL] (serial_hw_put): Increase the timeout value, and
1240
 
        don't call serial_hw_delay explicitly any longer.
1241
 
        (fill_input_buf): Increase the maximum number of retries, reset
1242
 
        the counter to zero after getting a valid character, and don't
1243
 
        call serial_hw_delay explicitly any longer.
1244
 
 
1245
 
2002-07-03  Yoshinori K. Okuji  <okuji@enbug.org>
1246
 
 
1247
 
        * stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed a typo.
1248
 
        Reported by Ilguiz Latypov.
1249
 
 
1250
 
2002-07-01  Yoshinori K. Okuji <okuji@enbug.org>
1251
 
 
1252
 
        * Makefile.am (AUTOMAKE_OPTIONS): New variable. Specify the
1253
 
        required Automake version explicitly.
1254
 
        
1255
 
2002-06-30  Yoshinori K. Okuji <okuji@enbug.org>
1256
 
 
1257
 
        * stage2/builtins.c [SUPPORT_SERIAL || SUPPORT_HERCULES]
1258
 
        (terminal_func): Set CURRENT_TERM to each of selected terminals
1259
 
        before calling grub_printf, and restore CURRENT_TERM after it.
1260
 
        Reported by Ilguiz Latypov.
1261
 
        Prepend a carriage return to the prompting message, because it
1262
 
        is ugly that the same messages fulfill the whole screen.
1263
 
 
1264
 
2002-06-30  Yoshinori K. Okuji  <okuji@enbug.org>
1265
 
 
1266
 
        * stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed the
1267
 
        conditional statement. Reported by Ilguiz Latypov.
1268
 
        
1269
 
2002-06-24  Yoshinori K. Okuji  <okuji@enbug.org>
1270
 
 
1271
 
        * MAINTENANCE: New file.
1272
 
        
1273
 
2002-06-15  Yoshinori K. Okuji  <okuji@enbug.org>
1274
 
 
1275
 
        * stage2/disk_io.c [SUPPORT_NETBOOT] (GRUB): Defined.
1276
 
        [SUPPORT_NETBOOT]: Include etherboot.h.
1277
 
        [!STAGE1_5] (print_completions) [SUPPORT_NETBOOT]: When
1278
 
        completing a disk name, if NETWORK_READY is true, add "nd" as a
1279
 
        completion.
1280
 
        
1281
 
2002-06-15  Yoshinori K. Okuji  <okuji@enbug.org>
1282
 
 
1283
 
        * stage2/fsys_xfs.c (le32): Don't use bswap, but use xchgb and
1284
 
        roll, because 386 doesn't have bswap. Reported by Frode Vatvedt
1285
 
        Fjeld <frodef@acm.org>.
1286
 
        
1287
 
2002-06-12  Yoshinori K. Okuji  <okuji@enbug.org>
1288
 
 
1289
 
        * netboot/main.c (ifconfig): If GW is specified, clear out the
1290
 
        ARP entry for the gateway. If SVR is specified, clear out the
1291
 
        ARP entry for the server. Reported by Uwe Dannowski
1292
 
        <ud3@ira.uka.de>.
1293
 
        
1294
 
2002-06-12  Yoshinori K. Okuji  <okuji@enbug.org>
1295
 
 
1296
 
        * util/grub-md5-crypt.in: Prompt to retype a password, and check
1297
 
        if the passwords matches. Suggested by Matt Perry
1298
 
        <matt@primefactor.com>.
1299
 
        Also, don't use Perl any longer, because *BSD's sh and GNU
1300
 
        support ``read -r'', and GRUB doesn't support any other
1301
 
        operating system anyway.
1302
 
        
1303
 
2002-06-12  Yoshinori K. Okuji  <okuji@enbug.org>
1304
 
 
1305
 
        The terminal handling code is rewritten radically.
1306
 
        
1307
 
        * stage2/console.c: New file.
1308
 
        * stage2/term.h: Likewise.
1309
 
        
1310
 
        * stage2/Makefile.am (noinst_HEADERS): Added term.h.
1311
 
        (libgrub_a_SOURCES): Added serial.c.
1312
 
        (pre_stage2_exec_SOURCES): Added console.c.
1313
 
 
1314
 
        * stage2/asm.S (console_putchar): Rewritten from scratch.
1315
 
        [!STAGE1_5] (translation_table): New variable.
1316
 
        [!STAGE1_5] (translate_keycode): New function.
1317
 
        [!STAGE1_5] (console_getkey): Call translate_keycode.
1318
 
        [!STAGE1_5] (console_checkkey): Likewise.
1319
 
        [!STAGE1_5] (nocursor): Renamed to ...
1320
 
        [!STAGE1_5] (console_nocursor): ... this.
1321
 
        [!STAGE1_5] (console_set_attrib): Removed.
1322
 
 
1323
 
        * stage2/builtins.c: Include term.h.
1324
 
        (terminal): Removed.
1325
 
        (normal_color): Likewise.
1326
 
        (highlight_color): Likewise.
1327
 
        (cat_func): Display a question mark when a non-printable
1328
 
        character was read.
1329
 
        (terminal_func): Rewritten almost from scratch.
1330
 
 
1331
 
        * stage2/char_io.c: Include term.h.
1332
 
        [!STAGE1_5] (auto_fill): Removed.
1333
 
        [!STAGE1_5] (term_table): New variable.
1334
 
        [!STAGE1_5] (current_term): Likewise.
1335
 
        [!STAGE1_5] (real_get_cmdline): New function. The code was
1336
 
        stolen from the previous version of get_cmdline.
1337
 
        [!STAGE1_5] (get_cmdline): Rewritten from scratch.
1338
 
        [!STAGE1_5] (translate_keycode): Removed.
1339
 
        [!STAGE1_5] (getkey): Rewritten from scratch.
1340
 
        [!STAGE1_5] (checkkey): Likewise.
1341
 
        (grub_putchar): Likewise.
1342
 
        [!STAGE1_5] (gotoxy): Likewise.
1343
 
        [!STAGE1_5] (getxy): Likewise.
1344
 
        [!STAGE1_5] (cls): Likewise.
1345
 
        [!STAGE1_5] (nocursor): New function.
1346
 
        [SUPPORT_SERIAL] (serial_getxy): Removed.
1347
 
        [SUPPORT_SERIAL] (serial_gotoxy): Likewise.
1348
 
        [SUPPORT_SERIAL] (serial_cls): Likewise.
1349
 
        [SUPPORT_SERIAL] (serial_getxy): Likewise.
1350
 
        [!STAGE1_5] (set_attrib): Likewise.
1351
 
 
1352
 
        * stage2/cmdline.c (init_cmdline): Set COUNT_LINES to -1.
1353
 
 
1354
 
        * stage2/common.c [!STAGE1_5] (err_list): Removed
1355
 
        ERR_NEED_SERIAL and added ERR_DEV_NEED_INIT.
1356
 
 
1357
 
        * stage2/hercules.c: Rewritten almost from scratch.
1358
 
        * stage2/hercules.h (herc_putchar): Removed.
1359
 
        (herc_cls): Likewise.
1360
 
        (herc_getxy): Likewise.
1361
 
        (herc_gotoxy): Likewise.
1362
 
        (herc_set_attrib): Likewise.
1363
 
 
1364
 
        * stage2/serial.c: Rewritten almost from scratch.
1365
 
        * stage2/serial.h: Likewise.
1366
 
 
1367
 
        * stage2/shared.h [GRUB_UTIL] (DISP_UL): Set to the same value
1368
 
        as VGA's.
1369
 
        [GRUB_UTIL] (DISP_UR): Likewise.
1370
 
        [GRUB_UTIL] (DISP_LL): Likewise.
1371
 
        [GRUB_UTIL] (DISP_LR): Likewise.
1372
 
        [GRUB_UTIL] (DISP_HORIZ): Likewise.
1373
 
        [GRUB_UTIL] (DISP_VERT): Likewise.
1374
 
        [GRUB_UTIL] (DISP_LEFT): Likewise.
1375
 
        [GRUB_UTIL] (DISP_RIGHT): Likewise.
1376
 
        [GRUB_UTIL] (DISP_UP): Likewise.
1377
 
        [GRUB_UTIL] (DISP_DOWN): Likewise.
1378
 
        (grub_error_t): Removed ERR_NEED_SERIAL.
1379
 
        Added ERR_DEV_NEED_INIT.
1380
 
        (normal_color): Removed.
1381
 
        (highlight_color): Likewise.
1382
 
        (console_cls): Removed, because this is declared in term.h.
1383
 
        (console_getxy): Likewise.
1384
 
        (console_gotoxy): Likewise.
1385
 
        (console_putchar): Likewise.
1386
 
        (console_getkey): Likewise.
1387
 
        (console_checkkey): Likewise.
1388
 
        (console_set_attrib): Removed.
1389
 
        (set_attrib): Likewise.
1390
 
        [GRUB_UTIL] (nocursor): Declared.
1391
 
        (auto_fill): Removed.
1392
 
        (terminal): Likewise.
1393
 
        (TERMINAL_CONSOLE): Likewise.
1394
 
        (TERMINAL_SERIAL): Likewise.
1395
 
        (TERMINAL_HERCULES): Likewise.
1396
 
        (TERMINAL_DUMB): Likewise.
1397
 
        (translate_keycode): Likewise.
1398
 
 
1399
 
        * stage2/stage2.c: Include term.h.
1400
 
        (print_entry): Rewritten from scratch.
1401
 
        (print_entries): Likewise.
1402
 
        (print_border): Likewise.
1403
 
        (set_line): Removed.
1404
 
        (set_line_normal): Likewise.
1405
 
        (set_line_highlight): Likewise.
1406
 
        
1407
 
        * grub/Makefile.am (AM_CFLAGS): Added -DSUPPORT_HERCULES=1.
1408
 
        
1409
 
        * grub/asmstub.c: Don't include hercules.h. Include term.h.
1410
 
        (console_current_color): New variable.
1411
 
        (console_translate_key): New function.
1412
 
        (console_checkkey): Rewritten from scratch.
1413
 
        (console_getkey): Likewise.
1414
 
        (console_putchar): Likewise.
1415
 
        (console_set_attrib): Removed.
1416
 
        (console_highlight): New function.
1417
 
        (console_setcolor): Likewise.
1418
 
        (console_nocursor): Likewise.
1419
 
        (serial_getkey): Removed.
1420
 
        (serial_checkkey): Likewise.
1421
 
        (serial_putchar): Likewise.
1422
 
        (serial_exists): Likewise.
1423
 
        (serial_get_port): Likewise.
1424
 
        (serial_init): Likewise.
1425
 
        (serial_hw_fetch): New function.
1426
 
        (serial_hw_put): Likewise.
1427
 
        (serial_hw_delay): Likewise.
1428
 
        (serial_hw_get_port): Likewise.
1429
 
        (serial_hw_init): Likewise.
1430
 
        (set_serial_device): Renamed to ...
1431
 
        (serial_set_device): ... this.
1432
 
        (herc_putchar): Renamed to ...
1433
 
        (hercules_putchar): ... this.
1434
 
        (herc_cls): Renamed to ...
1435
 
        (hercules_cls): ... this.
1436
 
        (herc_getxy): Renamed to ...
1437
 
        (hercules_getxy): ... this.
1438
 
        (herc_gotoxy): Renamed to ...
1439
 
        (hercules_gotoxy): ... this.
1440
 
        (hercules_highlight): New function.
1441
 
        (hercules_setcolor): Likewise.
1442
 
        (hercules_nocursor): Likewise.
1443
 
        (herc_set_attrib): Removed.
1444
 
 
1445
 
        * grub/main.c: Include term.h.
1446
 
        (main): If USE_CURSES is false, set CURRENT_TERM->FLAGS to
1447
 
        TERM_NO_EDIT | TERM_DUMB. TERMINAL is not used any longer.
1448
 
        
1449
 
2002-06-01  Yoshinori K. Okuji  <okuji@enbug.org>
1450
 
 
1451
 
        * docs/grub.texi (FAQ): Removed. See the GNU GRUB FAQ on the web
1452
 
        instead.
1453
 
        
1454
 
2002-05-31  Yoshinori K. Okuji  <okuji@enbug.org>
1455
 
 
1456
 
        * docs/grub.texi (Reporting bugs): Recommend using the BTS on
1457
 
        Savannah rather than the list bug-grub.
1458
 
        
1459
 
2002-05-25  Yoshinori K. Okuji  <okuji@enbug.org>
1460
 
 
1461
 
        * stage2/builtins.c (boot_func): Load the boot partition
1462
 
        information, only if the address of the boot partition entry is
1463
 
        set appropriately.
1464
 
        (real_root_func): If ATTEMPT_MOUNT is false, call open_partition
1465
 
        and if successful, call set_bootdev, to set the offset of the
1466
 
        boot partition and the address of the boot paetition entry.
1467
 
        IF ATTEMPT_MOUNT is false, don't set BOOTDEV. The BSD evil hack
1468
 
        is useless with the command "rootnoverify" anyway.
1469
 
        * stage2/disk_io.c (boot_part_addr): Initialized with zero
1470
 
        explicitly, to emphasize that it is invalid.
1471
 
        
1472
 
2002-05-24  Yoshinori K. Okuji  <okuji@enbug.org>
1473
 
 
1474
 
        * stage2/builtins.c (real_root_func): New function.
1475
 
        (root_func): Just call real_root_func.
1476
 
        (rootnoverify_func): Likewise.
1477
 
        
1478
 
2002-05-23  Yoshinori K. Okuji  <okuji@enbug.org>
1479
 
 
1480
 
        * configure.in (AM_INIT_AUTOMAKE): Changed the version number to
1481
 
        0.93.
1482
 
        
1483
 
2002-05-23  Yoshinori K. Okuji  <okuji@enbug.org>
1484
 
 
1485
 
        Define the behavior of the boot loader when the load end address
1486
 
        and the bss end address are zero in the Multiboot Specification,
1487
 
        and add the support into GRUB. I've modified a patch from Yuri
1488
 
        Zaporogets <yuriz@ukr.net>.
1489
 
        
1490
 
        * stage2/boot.c (load_image): In the case of Multiboot a.out
1491
 
        kludge, set the load end address to the load address plus the
1492
 
        size of the OS image file, if it is zero. Similarly, set the bss
1493
 
        end address to the load end address, if it is zero.
1494
 
        
1495
 
        * util/mbchk.c (check_multiboot): Don't check if the load
1496
 
        address is greater than or equal to the load end address, if the
1497
 
        load end address is zero. Don't check if the load end address is
1498
 
        greater than the bss end address, if the bss end address is
1499
 
        zero. And, don't check if the load end address is less than or
1500
 
        equal to the entry address, if the load end address is zero.
1501
 
        
1502
 
        * docs/multiboot.texi (The address fields of Multiboot header):
1503
 
        Added descriptions about the behavior of the boot loader when
1504
 
        LOAD_END_ADDR is zero and BSS_END_ADDR is zero.
1505
 
        
1506
 
2002-05-22  Yoshinori K. Okuji  <okuji@enbug.org>
1507
 
 
1508
 
        * stage2/builtins.c (boot_func): If DEBUG is true, print
1509
 
        BOOT_DRIVE and BOOT_PART_OFFSET.
1510
 
        Don't set ERRNUM after rawread failed, because rawread should
1511
 
        set ERRNUM itself.
1512
 
        
1513
 
2002-05-20  Yoshinori K. Okuji  <okuji@enbug.org>
1514
 
 
1515
 
        * lib/device.c (read_device_map): Show an error message and exit
1516
 
        abnormally, if MAP[DRIVE] has already been filled.
1517
 
        * util/grub-install.in: If there is any dulicated entry, print
1518
 
        an error message and exit abnormally.
1519
 
        
1520
 
2002-05-20  Yoshinori K. Okuji  <okuji@enbug.org>
1521
 
 
1522
 
        * lib/device.c: Don't include linux/hdreg.h, linux/major.h,
1523
 
        or linux/kdev_t.h.
1524
 
        [__linux__] (HDIO_GETGEO): Defined.
1525
 
        [__linux__] (hd_geometry): Likewise.
1526
 
        [__linux__] (FLOPPY_MAJOR): Likewise.
1527
 
        [__linux__] (MINORBITS): Likewise.
1528
 
        [__linux__] (MAJOR): Likewise.
1529
 
        
1530
 
2002-05-08  Yoshinori K. Okuji  <okuji@enbug.org>
1531
 
 
1532
 
        * netboot/fsys_tftp.c (tftp_read): Don't call buf_fill unless
1533
 
        SIZE is positive.
1534
 
        
1535
 
2002-05-08  Yoshinori K. Okuji  <okuji@enbug.org>
1536
 
 
1537
 
        * netboot/etherboot.h (ETH_MAX_MTU): Because some DHCP/BOOTP
1538
 
        servers don't treat the maximum length the same as Etherboot,
1539
 
        subtract the size of an IP header and that of an UDP header.
1540
 
        
1541
 
2002-04-30  Yoshinori K. Okuji  <okuji@enbug.org>
1542
 
 
1543
 
        From Jean-Jacques Michel <jjmichel@linbox.com>:
1544
 
        * stage2/boot.c (load_image): For Linux, check if DATA_LEN is
1545
 
        greater than MULTIBOOT_SEARCH. If that's true, read the rest
1546
 
        after copying data already read in BUFFER.
1547
 
        
1548
 
2002-04-30  Yoshinori K. Okuji  <okuji@enbug.org>
1549
 
 
1550
 
        * stage2/boot.c (load_image): For Linux, don't check if the
1551
 
        length of protected mode code is greater than or equal to the
1552
 
        expected length minus 16. Instead, just check if no error
1553
 
        occurred. That was problematic, because memdisk has no protected
1554
 
        mode code. Also, I don't see what the magic number 16 was for.
1555
 
        
1556
 
2002-04-29  Yoshinori K. Okuji  <okuji@enbug.org>
1557
 
 
1558
 
        * stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Added a
1559
 
        new option ``--silent''. This suppresses messages, if specified.
1560
 
        
1561
 
2002-04-29  Yoshinori K. Okuji  <okuji@enbug.org>
1562
 
 
1563
 
        * config.guess: New upstream version.
1564
 
        * config.sub: Likewise.
1565
 
        
1566
 
2002-04-20  Yoshinori K. Okuji  <okuji@enbug.org>
1567
 
 
1568
 
        * netboot/config.c (PCI_NIC) [INCLUDE_DAVICOM]: Fix typos.
1569
 
        Reported by Julien Perrot <julien.perrot@iie.cnam.fr>.
1570
 
        
1571
 
2002-04-17  Yoshinori K. Okuji  <okuji@enbug.org>
1572
 
 
1573
 
        * stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Set
1574
 
        COUNT_LINES to -1, to disable the pager.
1575
 
        
1576
 
2002-04-16  Yoshinori K. Okuji  <okuji@enbug.org>
1577
 
 
1578
 
        * docs/grub.texi (Obtaining and Building GRUB): Update the link
1579
 
        to the binutils site.
1580
 
 
1581
 
2002-04-06  Pavel Roskin  <proski@gnu.org>
1582
 
 
1583
 
        * util/grub-install.in: Fix hardcoded /dev/hda1.
1584
 
 
1585
 
2002-04-06  Yoshinori K. Okuji  <okuji@enbug.org>
1586
 
 
1587
 
        * stage2/builtins.c [GRUB_UTIL] (dump_func): New function.
1588
 
        [GRUB_UTIL] (builtin_dump): New variable.
1589
 
        (builtin_table) [GRUB_UTIL]: Added a pointer to BUILTIN_DUMP.
1590
 
        * util/grub-install.in: Make sure that GRUB reads the same
1591
 
        images as the host operating system by comparing the result of
1592
 
        running the command "dump" with the contents of the OS file.
1593
 
        
1594
 
2002-04-04  Yoshinori K. Okuji  <okuji@enbug.org>
1595
 
 
1596
 
        * stage2/builtins.c (setup_func): Don't embed a drive number, if
1597
 
        unnecessary.
1598
 
        
1599
 
2002-03-29  Yoshinori K. Okuji  <okuji@enbug.org>
1600
 
 
1601
 
        * docs/grub.texi (General commands): Added ``pager'' into the
1602
 
        menu.
1603
 
        (pager): New subsection.
1604
 
        (terminal): Added a description about the option
1605
 
        ``--lines=LINES''.
1606
 
 
1607
 
        * configure.in (AC_INIT_AUTOMAKE): Set the version number to
1608
 
        0.92.
1609
 
        
1610
 
2002-03-26  Yoshinori K. Okuji  <okuji@enbug.org>
1611
 
 
1612
 
        * netboot/eepro100.c (eepro100_probe): Increase the delay at the
1613
 
        initialization.
1614
 
        
1615
 
2002-03-26  Yoshinori K. Okuji  <okuji@enbug.org>
1616
 
 
1617
 
        * stage2/boot.c (linux_mem_size): New variable.
1618
 
        (load_image): Check a mem= option and set LINUX_MEM_SIZE to the
1619
 
        specified memory size, if any. Otherwise, to zero. When an
1620
 
        overflow is detected, use LINUX_INITRD_MAX_ADDRESS instead.
1621
 
        (load_initrd): If LINUX_MEM_SIZE is non-zero, use it instead of
1622
 
        the actual memory size.
1623
 
        * stage2/char_io.c (safe_parse_maxint): Use ERR_NUMBER_OVERFLOW
1624
 
        instead of ERR_NUMBER_PARSING, when an overflow occurs.
1625
 
        * stage2/common.c [!STAGE1_5] (err_list): Added
1626
 
        ERR_NUMBER_OVERFLOW.
1627
 
        * stage2/shared.h (ERR_NUMBER_OVERFLOW): New constant.
1628
 
        
1629
 
2002-03-24  Yoshinori K. Okuji  <okuji@enbug.org>
1630
 
 
1631
 
        * stage2/stage2.c (run_menu): Call cls outside the loop to run
1632
 
        scripts.
1633
 
        * stage2/cmdline.c (run_script): Prompt a user's intervention,
1634
 
        only when FALLBACK_ENTRY is negative.
1635
 
        
1636
 
2002-02-11  Pavel Roskin  <proski@gnu.org>
1637
 
 
1638
 
        * util/grub-install.in (find_device): New function - find block
1639
 
        device for given file or directory.  Resolve symlinks to fix
1640
 
        problem on Linux with devfs and old device names in /etc/fstab.
1641
 
        Use find_device() for root_device, bootdir_device and
1642
 
        grubdir_device.
1643
 
 
1644
 
2002-02-08  Yoshinori K. Okuji  <okuji@enbug.org>
1645
 
 
1646
 
        * grub/main.c (OPT_NO_PAGER): New macro.
1647
 
        (longopts): Added an entry for "--no-pager".
1648
 
        (usage): Added a description about "--no-pager".
1649
 
        (main): In case of OPT_NO_PAGER, set USE_PAGER to zero. The same
1650
 
        thing is done with OPT_BATCH, because the pager is just harmful
1651
 
        in batch mode.
1652
 
        
1653
 
2002-02-08  Yoshinori K. Okuji  <okuji@enbug.org>
1654
 
 
1655
 
        * stage2/builtins.c (help_func): Show all the commands runnable
1656
 
        with the command-line interface, if "--all" is specified.
1657
 
        
1658
 
2002-02-08  Yoshinori K. Okuji  <okuji@enbug.org>
1659
 
 
1660
 
        An internal pager is implemented.
1661
 
        
1662
 
        * stage2/builtins.c (pager_func): New function.
1663
 
        (builtin_pager): New variable.
1664
 
        (terminal_func): New option, "--lines=LINES" is added. If this
1665
 
        option is specified, set MAX_LINES to the value. Otherwise, set
1666
 
        MAX_LINES to 24.
1667
 
        (vbeprobe_func): Remove the pager code specific to this
1668
 
        function.
1669
 
        (builtin_table): Added a pointer to BUILTIN_PAGER.
1670
 
        * stage2/char_io.c (max_lines) [!STAGE1_5]: New variable.
1671
 
        (count_lines) [!STAGE1_5]: Likewise.
1672
 
        (use_pager) [!STAGE1_5]: Likewise.
1673
 
        (grub_putchar) [!STAGE1_5]: if C is a newline and COUNT_LINES is
1674
 
        not -1, count up the number of lines. If it exceeds the maximum
1675
 
        number of lines minus 2, show a message and wait for input of
1676
 
        return key. "minus 2" is to reserve space for the message
1677
 
        printed by this internal pager.
1678
 
        * stage2/cmdline.c (enter_cmdline): If USE_PAGER is true, set
1679
 
        COUNT_LINES to zero, before running a command, and reset
1680
 
        COUNT_LINES to -1 after that.
1681
 
        * stage2/shared.h (max_lines) [!STAGE1_5]: Declared.
1682
 
        (count_lines) [!STAGE1_5]: Likewise.
1683
 
        (use_pager) [!STAGE1_5]: Likewise.
1684
 
        
1685
 
2002-02-08  Yoshinori K. Okuji  <okuji@enbug.org>
1686
 
 
1687
 
        * stage2/fsys_jfs.c (jfs_read) [STAGE1_5]: Set and reset
1688
 
        DISK_READ_FUNC even in Stage 1.5.
1689
 
        * stage2/fsys_xfs.c (xfs_read) [STAGE1_5]: Likewise.
1690
 
 
1691
 
        * stage2/stage1_5.c (saved_sector): Initialized with -1.
1692
 
        (cmain): Check if SAVED_SECTOR was set appropriately after
1693
 
        reading the second sector of Stage 2. If SAVED_SECTOR is not
1694
 
        set (i.e. it is equal to -1), print an error and stop.
1695
 
        
1696
 
2002-02-05  Yoshinori K. Okuji  <okuji@enbug.org>
1697
 
 
1698
 
        * stage2/builtins.c (setup_func): Add a VSTa fs entry into
1699
 
        STAGE1_5_MAP.
1700
 
        
1701
 
2002-02-05  Yoshinori K. Okuji  <okuji@enbug.org>
1702
 
 
1703
 
        * stage2/shared.h (BUILTIN_HELP_LIST): New macro. Used for
1704
 
        commands whose help messages are listed when no argument is
1705
 
        specified to the command "help".
1706
 
        * stage2/builtins.c (builtin_blocklist): Added the attribute
1707
 
        BUILTIN_HELP_LIST.
1708
 
        (builtin_boot): Likewise.
1709
 
        (builtin_bootp): Likewise.
1710
 
        (builtin_cat): Likewise.
1711
 
        (builtin_chainloader): Likewise.
1712
 
        (builtin_color): Likewise.
1713
 
        (builtin_configfile): Likewise.
1714
 
        (builtin_device): Likewise.
1715
 
        (builtin_dhcp): Likewise.
1716
 
        (builtin_displayapm): Likewise.
1717
 
        (builtin_displaymem): Likewise.
1718
 
        (builtin_find): Likewise.
1719
 
        (builtin_geometry): Likewise.
1720
 
        (builtin_halt): Likewise.
1721
 
        (builtin_help): Likewise.
1722
 
        (builtin_hide): Likewise.
1723
 
        (builtin_ifconfig): Likewise.
1724
 
        (builtin_initrd): Likewise.
1725
 
        (builtin_kernel): Likewise.
1726
 
        (builtin_makeactive): Likewise.
1727
 
        (builtin_map): Likewise.
1728
 
        (builtin_md5crypt): Likewise.
1729
 
        (builtin_module): Likewise.
1730
 
        (builtin_modulenounzip): Likewise.
1731
 
        (builtin_partnew): Likewise.
1732
 
        (builtin_parttype): Likewise.
1733
 
        (builtin_quit): Likewise.
1734
 
        (builtin_rarp): Likewise.
1735
 
        (builtin_reboot): Likewise.
1736
 
        (builtin_root): Likewise.
1737
 
        (builtin_rootnoverify): Likewise.
1738
 
        (builtin_serial): Likewise.
1739
 
        (builtin_setkey): Likewise.
1740
 
        (builtin_setup): Likewise.
1741
 
        (builtin_terminal): Likewise.
1742
 
        (builtin_testvbe): Likewise.
1743
 
        (builtin_tftpserver): Likewise.
1744
 
        (builtin_unhide): Likewise.
1745
 
        (builtin_uppermem): Likewise.
1746
 
        (builtin_vbeprobe): Likewise.
1747
 
 
1748
 
        (help_func): When no argument is specified, if the last entry
1749
 
        was at the left column, print an extra newline.
1750
 
        
1751
 
2002-02-05  Yoshinori K. Okuji  <okuji@enbug.org>
1752
 
 
1753
 
        * stage2/shared.h (BUILTIN_HIDDEN): Renamed to ...
1754
 
        (BUILTIN_NO_ECHO): ... this. The old name was too difficult to
1755
 
        see _what_ was hidden.
1756
 
        
1757
 
2002-02-05  Yoshinori K. Okuji  <okuji@enbug.org>
1758
 
 
1759
 
        * netboot/misc.c (twiddle): Go back to the bar progress, copied
1760
 
        from etherboot-5.0.5/src/misc.c. Execute the code only if DEBUG
1761
 
        is true.
1762
 
        
1763
 
2002-02-05  Yoshinori K. Okuji  <okuji@enbug.org>
1764
 
 
1765
 
        * stage2/builtins.c (displaymem_func): Use hex digits to display
1766
 
        for consistency.
1767
 
        
1768
 
2002-02-04  Jason Thomas  <jason@topic.com.ah>
1769
 
 
1770
 
        From Denis Kitzman  <dkitzman@blue.weeg.uiowa.edu>:
1771
 
        * stage2/Makefile.am (libgrub_a_CFLAGS): Fixed a typo.
1772
 
        FSYS_XFS, USE_MD5_PASSWORDS, SUPPORT_SERIAL, and
1773
 
        SUPPORT_HERCULES did not get defined.
1774
 
 
1775
 
2002-01-20  Yoshinori K. Okuji  <okuji@gnu.org>
1776
 
 
1777
 
        * util/grub-image.in: Check stage2 instead of stage2.c to
1778
 
        determine where the script is invoked, because srcdir may not
1779
 
        be used for the compilation.
1780
 
        
1781
 
2002-01-20  Yoshinori K. Okuji  <okuji@gnu.org>
1782
 
 
1783
 
        * grub/asmstub.c (console_putchar): When not using curses,
1784
 
        ignore a carriage return, because a newline in Unix is only a
1785
 
        line feed.
1786
 
        
1787
 
2002-01-18  Klaus Reichl  <Klaus.Reichl@alcatel.at>
1788
 
 
1789
 
        * stage2/fsys_minix.c (minix_dir): Fixed bug getting filenames
1790
 
        with MAXNAMELEN right.
1791
 
 
1792
 
        * stage2/char_io.c (get_cmdline, cl_refresh): If TERMINAL_DUMB
1793
 
        section is always 0.
1794
 
        Line is only cleared if !TERMINAL_DUMB.
1795
 
 
1796
 
        * grub/main.c (use_curses): Initialize to 0 if !HAVE_LIBCURSES
1797
 
        (main): Check for curses use and set terminal to dumb if we
1798
 
        don't use it (helps for --batch and variants of non-curses
1799
 
        setup).
1800
 
 
1801
 
2002-01-15  Yoshinori K. Okuji  <okuji@gnu.org>
1802
 
 
1803
 
        * configure.in (AM_INIT_AUTOMAKE): The version number is
1804
 
        upgraded to 0.91.
1805
 
        
1806
 
2002-01-15  Yoshinori K. Okuji  <okuji@gnu.org>
1807
 
 
1808
 
        * docs/grub.texi (Preset Menu): New chapter.
1809
 
        
1810
 
2002-01-15  Yoshinori K. Okuji  <okuji@gnu.org>
1811
 
 
1812
 
        * docs/grub.texi: Added some text about JFS and XFS.
1813
 
        
1814
 
2002-01-08  Yoshinori K. Okuji  <okuji@gnu.org>
1815
 
 
1816
 
        * grub/main.c (use_preset_menu): New variable.
1817
 
        (OPT_PRESET_MENU): New macro.
1818
 
        (longopts): Added an entry for "--preset-menu".
1819
 
        (usage): Added a description for "--preset-menu". Also, change
1820
 
        the first character of the description for "--device-map" to
1821
 
        lower case for consistency.
1822
 
        (main): Set USE_PRESET_MENU to 1 in the case of OPT_PRESET_MENU.
1823
 
        * stage2/shared.h (use_preset_menu): Declared.
1824
 
        * stage2/stage2.c [PRESET_MENU_STRING || SUPPORT_DISKLESS]
1825
 
        (open_preset_menu) [GRUB_UTIL]: If USE_PRESET_MENU is false,
1826
 
        return zero immediately.
1827
 
 
1828
 
2002-01-08  Yoshinori K. Okuji  <okuji@gnu.org>
1829
 
 
1830
 
        * stage2/common.c [SUPPORT_DISKLESS]
1831
 
        (setup_diskless_environment): Removed. The feature is moved to
1832
 
        the preset menu.
1833
 
        * stage2/stage2.c [SUPPORT_DISKLESS] (preset_menu): Set to the
1834
 
        string "bootp\n".
1835
 
        [SUPPORT_DISKLESS] (preset_menu_offset): Defined, as if
1836
 
        PRESET_MENU_STRING is defined.
1837
 
        [SUPPORT_DISKLESS] (open_preset_menu): Likewise.
1838
 
        [SUPPORT_DISKLESS] (read_from_preset_menu): Likewise.
1839
 
        [SUPPORT_DISKLESS] (close_preset_menu): Likewise.
1840
 
        
1841
 
2002-01-06  Yoshinori K. Okuji  <okuji@gnu.org>
1842
 
 
1843
 
        The preset menu has a priority over the configuration file.
1844
 
        Suggested by Christoph Plattner.
1845
 
        
1846
 
        * stage2/stage2.c [PRESET_MENU_STRING] (open_preset_menu):
1847
 
        Check if PRESET_MENU is not NULL.
1848
 
        [PRESET_MENU_STRING] (close_preset_menu): Set PRESET_MENU to
1849
 
        NULL.
1850
 
        (cmain): New internal function, reset. This function resets
1851
 
        AUTO_FILL, CONFIG_LEN, MENU_LEN, NUM_ENTRIES, CONFIG_ENTRIES,
1852
 
        MENU_ENTRIES and call init_config.
1853
 
        Try to open the preset menu first, and try to open the
1854
 
        configuration file, only if that failed.
1855
 
        Even if the preset menu was read, try to open the configuration
1856
 
        file. This time, opening the preset menu never succeed, because
1857
 
        close_preset_menu ensures that the preset menu is available at
1858
 
        most once.
1859
 
        
1860
 
2002-01-06  Yoshinori K. Okuji  <okuji@gnu.org>
1861
 
 
1862
 
        * netboot/misc.c (inet_aton): Don't check if *P is an asterisk,
1863
 
        if I is 3. Reported by Rick (his real name and address are
1864
 
        unknown).
1865
 
        
1866
 
2002-01-03  Yoshinori K. Okuji  <okuji@gnu.org>
1867
 
 
1868
 
        Update the netboot stuff to Etherboot-5.0.5.
1869
 
        
1870
 
        * configure.in (--enable-3c590): Removed. This was a mistake.
1871
 
        (--enable-davicom): New option.
1872
 
        (--enable-eepro): Likewise.
1873
 
        (--enable-natsemi): Likewise.
1874
 
        (--enable-ni5010): Likewise.
1875
 
        (--enable-sis900): Likewise.
1876
 
        (--enable-w89c840): Likewise.
1877
 
        (--enable-3c509-hack): Removed.
1878
 
        (--enable-ns8390-force-16bit): Likewise.
1879
 
 
1880
 
        * netboot/Makefile.am (libdrivers_a_SOURCES): Added timer.c and
1881
 
        timer.h.
1882
 
        (EXTRA_libdrivers_a_SOURCES): Added davicom.c, eepro.c, fa311.c,
1883
 
        natsemi.c, ni5010.c, sis900.c, sis900.h, tlan.c and w89c840.c.
1884
 
        (EXTRA_DIST): Added sis900.txt.
1885
 
        (3c595_drivers): Remove 3c590.o from this.
1886
 
        (davicom_drivers): New variable.
1887
 
        (eepro_drivers): Likewise.
1888
 
        (natsemi_drivers): Likewise.
1889
 
        (ni5010_drivers): Likewise.
1890
 
        (sis900_drivers): Likewise.
1891
 
        (w89c840_drivers): Likewise.
1892
 
        (3c590_o_CFLAGS): Removed.
1893
 
        (davicom_o_CFLAGS): New variable.
1894
 
        (eepro_o_CFLAGS): Likewise.
1895
 
        (natsemi_o_CFLAGS): Likewise.
1896
 
        (ni5010_o_CFLAGS): Likewise.
1897
 
        (sis900_o_CFLAGS): Likewise.
1898
 
        (w89c840_o_CFLAGS): Likewise.
1899
 
 
1900
 
        * netboot/davicom.c: New file, from Etherboot-5.0.5.
1901
 
        * netboot/eepro.c: Likewise.
1902
 
        * netboot/natsemi.c: Likewise.
1903
 
        * netboot/ni5010.c: Likewise.
1904
 
        * netboot/sis900.c: Likewise.
1905
 
        * netboot/sis900.h: Likewise.
1906
 
        * netboot/sis900.txt: Likewise.
1907
 
        * netboot/timer.c: Likewise.
1908
 
        * netboot/timer.h: Likewise.
1909
 
        * netboot/w89c840.c: Likewise.
1910
 
        * netboot/fa311.c: Likewise.
1911
 
        * netboot/tlan.c: Likewise.
1912
 
        
1913
 
        * netboot/3c509.c: Copied from Etherboot-5.0.5.
1914
 
        * netboot/3c509.h: Likewise.
1915
 
        * netboot/3c595.c: Likewise.
1916
 
        * netboot/3c90x.c: Likewise.
1917
 
        * netboot/3c90x.txt: Likewise.
1918
 
        * netboot/cards.h: Likewise.
1919
 
        * netboot/cs89x0.c: Likewise.
1920
 
        * netboot/depca.c: Likewise.
1921
 
        * netboot/eepro100.c: Likewise.
1922
 
        * netboot/epic100.c: Likewise.
1923
 
        * netboot/i82586.c: Likewise.
1924
 
        * netboot/lance.c: Likewise.
1925
 
        * netboot/linux-asm-string.h: Likewise.
1926
 
        * netboot/nic.h: Likewise.
1927
 
        * netboot/ns8390.c: Likewise.
1928
 
        * netboot/ns8390.h: Likewise.
1929
 
        * netboot/otulip.c: Likewise.
1930
 
        * netboot/pci.h: Likewise.
1931
 
        * netboot/rtl8139.c: Likewise.
1932
 
        * netboot/sk_g16.c: Likewise.
1933
 
        * netboot/smc9000.c: Likewise.
1934
 
        * netboot/tiara.c: Likewise.
1935
 
        * netboot/tulip.c: Likewise.
1936
 
        * netboot/via-rhine.c: Likewise.
1937
 
        
1938
 
        * netboot/config.c: Applied a diff between Etherboot-4.6.4 and
1939
 
        Etherboot-5.0.5 manually.
1940
 
        * netboot/main.c: Likewise.
1941
 
        * netboot/pci.c: Likewise.
1942
 
        * netboot/etherboot.h: Rewritten mostly from scratch, based on
1943
 
        the same file in Etherboot-5.0.5.
1944
 
        * netboot/misc.c: Likewise.
1945
 
        * netboot/osdep.h: Likewise.
1946
 
        * netboot/fsys_tftp.c (GRUB): Defined.
1947
 
        (buf_fill): Use rfc2131_sleep_interval instead of rfc951_sleep.
1948
 
 
1949
 
        * stage2/builtins.c [SUPPORT_NETBOOT] (GRUB): Defined.
1950
 
        (boot_func) [SUPPORT_NETBOOT]: Call cleanup_net.
1951
 
        * stage2/cmdline.c [SUPPORT_DISKLESS] (GRUB): Defined.
1952
 
        * stage2/common.c [SUPPORT_DISKLESS] (GRUB): Likewise.
1953
 
        
1954
 
2002-01-02  Jeremy Katz  <katzj@redhat.com>
1955
 
        
1956
 
        * util/grub-install.in: Support using mktemp as well as tempfile
1957
 
        for secure temporary file creation.
1958
 
 
1959
 
2002-01-02  Jeremy Katz  <katzj@redhat.com>
1960
 
        
1961
 
        * stage2/md5.c (md5_password): Ensure the password exists before
1962
 
        trying to check against the md5 crypted version.
1963
 
 
1964
 
2001-12-30  Yoshinori K. Okuji  <okuji@gnu.org>
1965
 
 
1966
 
        * stage1/stage1.S: Don't call INT 13, AH=48H, because it is
1967
 
        difficult to call this function with the workaround implemented
1968
 
        in the previous change due to the size limit of Stage 1.
1969
 
        
1970
 
        (lba_mode) [NO_BUGGY_BIOS_IN_THE_WORLD]: Don't check the
1971
 
        geometry explicitly. This shouldn't be harmful, as INT 13,
1972
 
        AH=42H should take care of it, and if you cannot read Stage 2
1973
 
        even with LBA because of a geometry problem, you can never read
1974
 
        it.
1975
 
 
1976
 
        * stage2/start.S (lba_mode) [NO_BUGGY_BIOS_IN_THE_WORLD]:
1977
 
        Likewise.
1978
 
        
1979
 
2001-12-30  Yoshinori K. Okuji  <okuji@gnu.org>
1980
 
 
1981
 
        * stage2/bios.c (get_diskinfo): Clear out the structure DRP
1982
 
        before calling get_diskinfo_int13_extensions, because the Ralf
1983
 
        Brown's Interrupt List says that Dell machines using PhoenixBIOS
1984
 
        4.0 Release 6.0 fail, if DRP.FLAGS is not zero. Setting the
1985
 
        entire structure to zero may be overkill, but it should be safe.
1986
 
        
1987
 
        * stage2/char_io.c [STAGE1_5] (grub_memset): Defined.
1988
 
        
1989
 
2001-12-30  Yoshinori K. Okuji  <okuji@gnu.org>
1990
 
 
1991
 
        From John Goerzen <jgoerzen@complete.org>:
1992
 
        * util/grub-install.in (convert): Added NetBSD support.
1993
 
        
1994
 
2001-12-30  Yoshinori K. Okuji  <okuji@gnu.org>
1995
 
 
1996
 
        * util/grub-install.in: Set GRUB_PREFIX and BOOTDIR to "/grub"
1997
 
        and "${rootdir}" respectively in NetBSD.
1998
 
        
1999
 
2001-12-30  Yoshinori K. Okuji  <okuji@gnu.org>
2000
 
 
2001
 
        * stage2/builtins.c (builtin_geometry): Add extra space
2002
 
        characters into the long description.
2003
 
        (builtin_kernel): Likewise.
2004
 
        (builtin_vbeprobe): Likewise.
2005
 
        
2006
 
2001-12-19  Yoshinori K. Okuji  <okuji@gnu.org>
2007
 
 
2008
 
        From Michael Sullivan <mike@trdlnk.com>:
2009
 
        * stage1/stage1.S (real_start): Added a workaround for AST BIOS,
2010
 
        because it clobbers %dl with INT 13, AH=41H.
2011
 
 
2012
 
2001-12-19  Yoshinori K. Okuji  <okuji@gnu.org>
2013
 
 
2014
 
        * stage2/fsys_fat.c (fat_read): Fix the contradictory comment.
2015
 
        Reported by Filip Van Raemdonck <mechanix@digibel.org>.
2016
 
        
2017
 
2001-12-11  Yoshinori K. Okuji  <okuji@gnu.org>
2018
 
 
2019
 
        * stage2/builtins.c (displayapm_func): Don't use multi-line
2020
 
        string literals but string concatenation instead, to suppress
2021
 
        warnings from gcc-3.0.x.
2022
 
        * stage2/cmdline.c (print_cmdline_message): Likewise.
2023
 
        * util/mbchk.c (usage): Likewise.
2024
 
        
2025
 
        * stage2/smp-imps.c (imps_read_config_table): Add a break
2026
 
        statement after the label ``default''.
2027
 
        
2028
 
        * util/mbchk.c: Include <stdlib.h> for the prototype of exit.
2029
 
 
2030
 
        * stage2/serial.c (serial_port): Initialize with 0 instead of
2031
 
        -1, as an invalid value, because SERIAL_PORT is unsigned. This
2032
 
        change shouldn't affect anything.
2033
 
        (serial_exists): For the above change, check SERIAL_PORT with 0
2034
 
        instead of -1.
2035
 
        
2036
 
2001-12-10  Yoshinori K. Okuji  <okuji@gnu.org>
2037
 
 
2038
 
        * stage2/shared.h (ERR_NO_DISK_SPACE): New constant.
2039
 
        * stage2/common.c (err_list): Added an entry for
2040
 
        ERR_NO_DISK_SPACE.
2041
 
        * docs/grub.texi (Stage2 errors): Added the description.
2042
 
        * stage2/builtins.c (embed_func): Use ERR_NO_DISK_SPACE instead
2043
 
        of ERR_DEV_VALUES when the spare space is too small. Suggested
2044
 
        by Eric Mumpower <nocturne@permabit.com>.
2045
 
        
2046
 
2001-12-10  Yoshinori K. Okuji  <okuji@gnu.org>
2047
 
 
2048
 
        * grub/asmstub.c: Include <signal.h>.
2049
 
        (grub_stage2) [HAVE_LIBCURSES]: If USE_CURSES is true, ignore
2050
 
        the signal SIGWINCH. Reported by Christian Hudon
2051
 
        <chrish@debian.org>.
2052
 
 
2053
 
2001-11-29  Yoshinori K. Okuji  <okuji@gnu.org>
2054
 
 
2055
 
        From Jason Thomas:
2056
 
        * stage2/disk_io.c (set_partition_hidden_flag): Complete rewrite
2057
 
        of this function which now supports logical partitions.
2058
 
        
2059
 
2001-11-12  Yoshinori K. Okuji  <okuji@gnu.org>
2060
 
 
2061
 
        * docs/grub.texi: The copyright of this file is only held by
2062
 
        Free Software Foundation, Inc., as Erich Boleyn has assigned his
2063
 
        copyright to the FSF.
2064
 
        * stage1/stage1.S: Likewise.
2065
 
        * stage2/asm.S: Likewise.
2066
 
        * stage2/boot.c: Likewise.
2067
 
        * stage2/builtins.c: Likewise.
2068
 
        * stage2/char_io.c: Likewise.
2069
 
        * stage2/cmdline.c: Likewise.
2070
 
        * stage2/common.c: Likewise.
2071
 
        * stage2/disk_io.c: Likewise.
2072
 
        * stage2/fat.h: Likewise.
2073
 
        * stage2/filesys.h: Likewise.
2074
 
        * stage2/freebsd.h: Likewise.
2075
 
        * stage2/fsys_ext2fs.c: Likewise.
2076
 
        * stage2/fsys_fat.c: Likewise.
2077
 
        * stage2/fsys_ffs.c: Likewise.
2078
 
        * stage2/gunzip.c: Likewise.
2079
 
        * stage2/i386-elf.h: Likewise.
2080
 
        * stage2/mb_header.h: Likewise.
2081
 
        * stage2/mb_info.h: Likewise.
2082
 
        * stage2/pc_slice.h: Likewise.
2083
 
        * stage2/shared.h: Likewise.
2084
 
        * stage2/stage1_5.c: Likewise.
2085
 
        * stage2/stage2.c: Likewise.
2086
 
        * stage2/start.S: Likewise.
2087
 
        
2088
 
2001-11-07  Yoshinori K. Okuji  <okuji@gnu.org>
2089
 
 
2090
 
        * stage2/builtins.c (terminal_func) [!SUPPORT_SERIAL]: Disable
2091
 
        the wait code, as it is usable only when serial support is on.
2092
 
        Reported by Karl Hammar <karl@kalle.csb.ki.se>.
2093
 
        
2094
 
2001-10-27  Yoshinori K. Okuji  <okuji@gnu.org>
2095
 
 
2096
 
        JFS and XFS support is added.
2097
 
        
2098
 
        From Serguei Tzukanov <tzukanov@narod.ru>:
2099
 
        * configure.in (--disable-jfs): New option.
2100
 
        (--disable-xfs): Likewise.
2101
 
        * stage2/Makefile.am (noinst_HEADERS): Added jfs.h and xfs.h.
2102
 
        (libgrub_a_SOURCES): Added fsys_jfs.c and fsys_xfs.c.
2103
 
        (libgrub_a_CFLAGS): Added -DFSYS_JFS=1 and -DFSYS_XFS=1.
2104
 
        (pkgdata_DATA): Added jfs_stage1_5 and xfs_stage1_5.
2105
 
        (noinst_PROGRAMS): Added jfs_stage1_5.exec and
2106
 
        xfs_stage1_5.exec.
2107
 
        (pre_stage2_exec_SOURCES): Added fsys_jfs.c and fsys_xfs.c.
2108
 
        (jfs_stage1_5_exec_SOURCES): New variable.
2109
 
        (jfs_stage1_5_exec_CFLAGS): Likewise.
2110
 
        (jfs_stage1_5_exec_ASFLAGS): Likewise.
2111
 
        (jfs_stage1_5_exec_LDFLAGS): Likewise.
2112
 
        (xfs_stage1_5_exec_SOURCES): Likewise.
2113
 
        (xfs_stage1_5_exec_CFLAGS): Likewise.
2114
 
        (xfs_stage1_5_exec_ASFLAGS): Likewise.
2115
 
        (xfs_stage1_5_exec_LDFLAGS): Likewise.
2116
 
        * stage2/builtins.c (setup_func): Add items for JFS and XFS into
2117
 
        STAGE1_5_MAP.
2118
 
        * stage2/disk_io.c (fsys_table): Added entries for JFS and XFS.
2119
 
        * stage2/filesys.h [FSYS_JFS] (FSYS_JFS_NUM): Set to 1.
2120
 
        [FSYS_JFS] (jfs_mount): Declared.
2121
 
        [FSYS_JFS] (jfs_read): Likewise.
2122
 
        [FSYS_JFS] (jfs_dir): Likewise.
2123
 
        [FSYS_JFS] (jfs_embed): Likewise.
2124
 
        [!FSYS_JFS] (FSYS_JFS_NUM): Set to 0.
2125
 
        [FSYS_XFS] (FSYS_XFS_NUM): Set to 1.
2126
 
        [FSYS_XFS] (xfs_mount): Declared.
2127
 
        [FSYS_XFS] (xfs_read): Likewise.
2128
 
        [FSYS_XFS] (xfs_dir): Likewise.
2129
 
        (NUM_FSYS): Added FSYS_JFS_NUM and FSYS_XFS_NUM.
2130
 
        * stage2/shared.h (STAGE2_ID_JFS_STAGE1_5): New macro.
2131
 
        (STAGE2_ID_XFS_STAGE1_5): Likewise.
2132
 
        [FSYS_JFS] (STAGE2_ID): Set to STAGE2_ID_JFS_STAGE1_5.
2133
 
        [FSYS_XFS] (STAGE2_ID): Set to STAGE2_ID_XFS_STAGE1_5.
2134
 
        * stage2/fsys_jfs.c: New file.
2135
 
        * stage2/fsys_xfs.c: Likewise.
2136
 
        * stage2/jfs.h: Likewise.
2137
 
        * stage2/xfs.h: Likewise.
2138
 
 
2139
 
2001-10-27  Yoshinori K. Okuji  <okuji@gnu.org>
2140
 
 
2141
 
        * stage2/apm.S: Always disconnect from APM. Written by Erich
2142
 
        Stefan Boleyn.
2143
 
 
2144
 
        * util/Makefile.am (noinst_DATA): Removed.
2145
 
        (EXTRA_DIST): Likewise.
2146
 
        
2147
 
2001-10-14  Gordon Matzigkeit  <gord@fig.org>
2148
 
 
2149
 
        * configure.in: Explicitly call _AM_DEPENDENCIES(CC) for the
2150
 
        benefit of older Autoconfs.
2151
 
 
2152
 
2001-10-13  Yoshinori K. Okuji  <okuji@gnu.org>
2153
 
 
2154
 
        * netboot/fsys_tftp.c (tftp_read): Move the unused data
2155
 
        forwards, only if AMT is more than zero. If AMT is not positive,
2156
 
        subtract BUF_READ from SAVED_FILEPOS and set BUF_READ to zero,
2157
 
        to skip the whole buffer. Reported by Frank Mehnert.
2158
 
        
2159
 
2001-10-13  Yoshinori K. Okuji  <okuji@gnu.org>
2160
 
 
2161
 
        Don't use get_diskinfo_floppy. Reported by Ben Liblit
2162
 
        <liblit@eecs.berkeley.edu>.
2163
 
        
2164
 
        * stage2/asm.S (get_diskinfo_floppy): Removed (by cpp).
2165
 
        * stage2/bios.c (get_diskinfo_floppy): Removed.
2166
 
        (get_diskinfo): Don't call get_diskinfo_floppy any longer.
2167
 
        
2168
 
2001-10-13  Yoshinori K. Okuji  <okuji@gnu.org>
2169
 
 
2170
 
        Based on a patch from Jeremy Katz <katzj@redhat.com>:
2171
 
        * docs/grub.texi (Stage2 errors): Added documentation on the
2172
 
        error number 33 (Serial device not configured).
2173
 
        * grub/asmstub.c (serial_exists): New function.
2174
 
        * stage2/serial.c (serial_exists): Likewise.
2175
 
        * stage2/serial.h (serial_exists): New prototype.
2176
 
        * stage2/shared.h (grub_error_t): ERR_NEED_SERIAL is added.
2177
 
        * stage2/builtins.c (terminal_func) [SUPPORT_SERIAL]: If a
2178
 
        serial device is not configured yet, restore the terminal and
2179
 
        set ERRNUM to ERR_NEED_SERIAL.
2180
 
        * stage2/common.c (err_list): Added an item for ERR_NEED_SERIAL.
2181
 
        
2182
 
2001-10-13  Yoshinori K. Okuji  <okuji@gnu.org>
2183
 
 
2184
 
        From Jason Thomas <jason@topic.com.au>:
2185
 
        * util/grub-install.in (convert): Add support for DAC960.
2186
 
 
2187
 
        From Adrian Phillips <a.phillips@dnmi.no>:
2188
 
        * lib/device.c (get_dac960_disk_name): New function.
2189
 
        (init_device_map) [__linux__]: Add support for DAC960.
2190
 
        
2191
 
2001-10-11  Jochen Hoenicke  <jochen@gnu.org>
2192
 
 
2193
 
        * stage2/fsys_reiserfs.c (reiserfs_super_block): Updated
2194
 
        to better match recent reiserfs versions.
2195
 
        (reiserfs_mount): Handle cases where journal can't be found,
2196
 
        e.g. journal on another disk or unexpected journal parameters.
2197
 
        In that case the journal isn't used.
2198
 
        
2199
 
2001-10-10  Jochen Hoenicke  <jochen@gnu.org>
2200
 
 
2201
 
        * stage2/fsys_reiserfs.c (reiserfs_mount):  Don't look at
2202
 
        the superblock field s_journal_block_count anymore.  It used
2203
 
        to contain 0, it never contained a valid value, and now I
2204
 
        have a report that it can contain an invalid value.
2205
 
        Bug reported by Jim Caley <caley@chesco.com>.
2206
 
        
2207
 
2001-09-24  Jochen Hoenicke  <jochen@gnu.org>
2208
 
 
2209
 
        * stage2/fsys_reiserfs.c (reiserfs_dir):  Set errnum to 
2210
 
        ERR_FSYS_CORRUPT if a symlink can't be read for some reason,
2211
 
        but no error is set by read.
2212
 
        
2213
 
2001-08-08  OKUJI Yoshinori  <okuji@gnu.org>
2214
 
 
2215
 
        From Derrik Pates <dpates@dsdk12.net>:
2216
 
        * stage2/asm.S [!STAGE1_5] (grub_halt): Set the level of APM
2217
 
        support to 1.1, before turning off the power state.
2218
 
        
2219
 
2001-08-08  OKUJI Yoshinori  <okuji@gnu.org>
2220
 
 
2221
 
        * util/grub-md5-crypt.in: Prefix backquotes with backslashes in
2222
 
        strings.  From Fernando Silveira.
2223
 
        
2224
 
2001-08-02  Gordon Matzigkeit  <gord@fig.org>
2225
 
 
2226
 
        * stage2/common.c (init_bios_info): Ignore zero-length memory
2227
 
        ranges.  From Derrik Pates <dpates@dsdk12.net>.
2228
 
 
2229
 
2001-07-26  Jochen Hoenicke  <jochen@gnu.org>
2230
 
 
2231
 
        * stage2/Makefile.am (libgrub_a_CFLAGS): Enable USE_MD5_PASSWORDS
2232
 
        for libgrub.  Previously that was implicitly done by configure.in
2233
 
        until the patch from 2001-07-04, which moved that flag from CFLAGS
2234
 
        to FSYS_CFLAGS.  Reported by YAMAGUCHI Shingo
2235
 
        <shingo@kip.iis.toyama-u.ac.jp>
2236
 
 
2237
 
2001-07-13  OKUJI Yoshinori  <okuji@gnu.org>
2238
 
 
2239
 
        * util/grub-install.in (convert): Recognize the naming scheme
2240
 
        for Linux devfs floppy devices. Reported by Jason Thomas
2241
 
        <jason@topic.com.au>.
2242
 
        
2243
 
2001-07-07  OKUJI Yoshinori  <okuji@gnu.org>
2244
 
 
2245
 
        * netboot/compile: New file. This was also missing... How many
2246
 
        ``compile''s does automake want?
2247
 
        
2248
 
2001-07-07  OKUJI Yoshinori  <okuji@gnu.org>
2249
 
 
2250
 
        From Jan Zerebecki <jan.list@elite-pferde.de>:
2251
 
        * acinclude.m4 (grub_DEFINE_FILE): Escape double-quotations as
2252
 
        well.
2253
 
        
2254
 
2001-07-05  OKUJI Yoshinori  <okuji@gnu.org>
2255
 
 
2256
 
        * configure.in (AM_INIT_AUTOMAKE): Set the version number to
2257
 
        0.90.
2258
 
 
2259
 
2001-07-05  OKUJI Yoshinori  <okuji@gnu.org>
2260
 
 
2261
 
        Ughh! I forgot to add this file to the CVS.
2262
 
 
2263
 
        * docs/compile: New file.
2264
 
        
2265
 
2001-07-05  OKUJI Yoshinori  <okuji@gnu.org>
2266
 
 
2267
 
        * docs/grub.texi: Updated.
2268
 
        
2269
 
2001-07-05  OKUJI Yoshinori  <okuji@gnu.org>
2270
 
 
2271
 
        * stage2/boot.c (load_initrd) [!NO_DECOMPRESSION]: Set
2272
 
        NO_DECOMPRESSION to one before opening INITRD, so that GRUB
2273
 
        doesn't decompress an initrd automatically. Reported by
2274
 
        Thierry Laronde.
2275
 
        
2276
 
2001-07-04  OKUJI Yoshinori  <okuji@gnu.org>
2277
 
 
2278
 
        * stage2/compile: New file.
2279
 
        * docs/mdate-sh: Likewise.
2280
 
        * docs/texinfo.tex: Likewise.
2281
 
        * compile: Removed.
2282
 
        * mdate-sh: Likewise.
2283
 
        * texinfo.tex: Likewise.
2284
 
        * config.guess: Updated from automake-1.4h.
2285
 
        * config.sub: Likewise.
2286
 
        * depcomp: Likewise.
2287
 
        * install-sh: Likewise.
2288
 
        * missing: Likewise.
2289
 
        * mkinstalldirs: Likewise.
2290
 
        * configure.in (AS): New variable.
2291
 
        (ASFLAGS): Likewise.
2292
 
        (--disable-md5-password): Use FSYS_CFLAGS instead of CFLAGS.
2293
 
        * stage1/Makefile.am (AM_CFLAGS): Renamed to ...
2294
 
        (AM_ASFLAGS): ... this.
2295
 
        * stage2/Makefile.am (pre_stage2_exec_ASFLAGS): New variable.
2296
 
        (start_exec_CFLAGS): Renamed to ...
2297
 
        (start_exec_ASFLAGS): ... this.
2298
 
        (start_exec-start.o): Renamed to ...
2299
 
        (start_exec-start.$(OBJEXT)): ... this.
2300
 
        (e2fs_stage1_5_exec_ASFLAGS): New variable.
2301
 
        (fat_stage1_5_exec_ASFLAGS): Likewise.
2302
 
        (ffs_stage1_5_exec_ASFLAGS): Likewise.
2303
 
        (minix_stage1_5_exec_ASFLAGS): Likewise.
2304
 
        (reiserfs_stage1_5_exec_ASFLAGS): Likewise.
2305
 
        (vstafs_stage1_5_exec_ASFLAGS): Likewise.
2306
 
        (diskless_exec_ASFLAGS): Likewise.
2307
 
        (nbloader_exec_CFLAGS): Renamed to ...
2308
 
        (nbloader_exec_ASFLAGS): ... this.
2309
 
        (nbloader_exec-nbloader.o): Renamed to ...
2310
 
        (nbloader_exec-nbloader.$(OBJEXT)): ... this.
2311
 
        (pxeloader_exec_CFLAGS): Renamed to ...
2312
 
        (pxeloader_exec_ASFLAGS): ... this.
2313
 
        (pxeloader_exec-pxeloader.$(OBJEXT)): New target.
2314
 
 
2315
 
2001-07-03  OKUJI Yoshinori  <okuji@gnu.org>
2316
 
        
2317
 
        From Julien Bordet <julien.bordet@int-evry.fr>:
2318
 
        * stage2/i386-elf.h (Elf32_Shdr): New type.
2319
 
        * stage2/boot.c (load_image): Added ELF symbol loading support.
2320
 
        
2321
 
2001-06-22  OKUJI Yoshinori  <okuji@gnu.org>
2322
 
 
2323
 
        * stage2/char_io.c [STAGE1_5] (grub_strcmp): Defined, even
2324
 
        for Stage 1.5. See thecomment, for a possible future strategy.
2325
 
        * stage2/fsys_vstafs.c [!FSYS_VSTAFS]: Don't define anything.
2326
 
        [STAGE1_5] (grub_strcmp): Removed.
2327
 
        (get_file_info): Made static.
2328
 
        (vstafs_readdir): Likewise.
2329
 
        (vstafs_nextdir): Likewise.
2330
 
        (curr_ext): Likewise.
2331
 
        (current_direntry): Likewise.
2332
 
        (current_blockpos): Likewise.
2333
 
        (a): Likewise.
2334
 
        
2335
 
2001-06-22  OKUJI Yoshinori  <okuji@gnu.org>
2336
 
 
2337
 
        VSTa filesystem support is added.
2338
 
        
2339
 
        From Kristoffer Brďż˝nemyr <ztion@swipnet.se>:
2340
 
        * stage2/configure.in (--disable-vstafs): New option.
2341
 
        * stage2/Makefile.am (noinst_HEADERS): Added vstafs.h.
2342
 
        (libgrub_a_SOURCES): Added fsys_vstafs.c.
2343
 
        (libgrub_a_CFLAGS): Added -DFSYS_VSTAFS=1.
2344
 
        (pkgdata_DATA): Added vstafs_stage1_5.
2345
 
        (noinst_PROGRAMS): Added vstafs_stage1_5.exec.
2346
 
        (pre_stage2_exec_SOURCES): Added fsys_vstafs.c.
2347
 
        (vstafs_stage1_5_exec_SOURCES): New variable.
2348
 
        (vstafs_stage1_5_exec_CFLAGS): Likewise.
2349
 
        (vstafs_stage1_5_exec_LDFLAGS): Likewise.
2350
 
        * stage2/disk_io.c (fsys_table): Added an entry for vstafs.
2351
 
        * stage2/filesys.h [FSYS_VSTAFS] (FSYS_VSTAFS_NUM): Defined as
2352
 
        1.
2353
 
        [FSYS_VSTAFS] (vstafs_mount): New prototype.
2354
 
        [FSYS_VSTAFS] (vstafs_read): Likewise.
2355
 
        [FSYS_VSTAFS] (vstafs_dir): Likewise.
2356
 
        [!FSYS_VSTAFS] (FSYS_VSTAFS_NUM): Defined as 0.
2357
 
        (NUM_FSYS): Added FSYS_VSTAFS_NUM.
2358
 
        * stage2/pc_slice.h (PC_SLICE_TYPE_VSTAFS): New macro.
2359
 
        * stage2/shared.h (STAGE2_ID_VSTAFS_STAGE1_5): Likewise.
2360
 
        [STAGE1_5 && FSYS_VSTAFS] (STAGE2_ID): Defined as
2361
 
        STAGE2_ID_VSTAFS_STAGE1_5.
2362
 
        * stage2/vstafs.h: New file.
2363
 
        * stage2/fsys_vstafs.c: Likewise.
2364
 
        
2365
 
2001-06-22  OKUJI Yoshinori  <okuji@gnu.org>
2366
 
 
2367
 
        From Thierry Laronde <thierry@cri74.org>:
2368
 
        * stage2/builtins.c (configfile_func): Added a prototype.
2369
 
        (bootp_func): If `--with-configfile' is given, set
2370
 
        WITH_CONFIGFILE to one, and call configfile_func with
2371
 
        CONFIG_FILE.
2372
 
        
2373
 
2001-06-21  OKUJI Yoshinori  <okuji@gnu.org>
2374
 
 
2375
 
        * docs/grub.texi: Update the location of the CVS repository
2376
 
        [/home/cvs -> /cvsroot/grub].
2377
 
        * README: Likewise.
2378
 
        
2379
 
2001-06-19  OKUJI Yoshinori  <okuji@gnu.org>
2380
 
 
2381
 
        * stage2/boot.c (load_image): If the image is a Multiboot ELF OS
2382
 
        image, get the physical entry address, when a loaded memory
2383
 
        segment contains it. And, set ENTRY_ADDR to it, after printing
2384
 
        out the virtual one. Suggested by Rogelio M. Serrano Jr.
2385
 
        <rogelio@victorio.com>.
2386
 
        
2387
 
2001-05-30  OKUJI Yoshinori  <okuji@gnu.org>
2388
 
 
2389
 
        * docs/grub.texi: Fix some typos. Reported by Florian Hatat
2390
 
        <mininet@wanadoo.fr>.
2391
 
        
2392
 
2001-05-29  Pavel Roskin  <proski@gnu.org>
2393
 
 
2394
 
        * configure.in (AC_OUTPUT): Remove debian/Makefile.
2395
 
 
2396
 
2001-05-28  Gordon Matzigkeit  <gord@fig.org>
2397
 
 
2398
 
        * Makefile.am (SUBDIRS): Remove reference to debian directory.
2399
 
        Packaging is no longer done by the GRUB team.
2400
 
 
2401
 
2001-05-03  Gordon Matzigkeit  <gord@fig.org>
2402
 
 
2403
 
        * stage1/stage1.S (nt_magic): Explicitly reserve space for the NT
2404
 
        magic number.
2405
 
 
2406
 
2001-05-25  Klaus Reichl  <Klaus.Reichl@alcatel.at>
2407
 
 
2408
 
        * stage2/stage2.c (print_entries_raw): New function.
2409
 
        (run_menu): Use it to implement menu & command-list if on dumb
2410
 
        terminals.  
2411
 
        Changes are:
2412
 
          Adjust FIRST_ENTRY only on non-dumb terminals.
2413
 
          Setting of SHOW_MENU is honoured also on dumb
2414
 
            terminals. 
2415
 
          Likely if SHOW_MENU is false, ESC brings her to the
2416
 
            menu - not to the command-line as before.
2417
 
          PRINT_BORDER, GOTOXY, SET_LINE_xxx are only called if
2418
 
            not on dumb terminals.
2419
 
          Show entry number when timeout is running if terminal is dumb.
2420
 
          Prompt with entry number when waiting for keys.
2421
 
 
2422
 
2001-05-14  Pavel Roskin  <proski@gnu.org>
2423
 
 
2424
 
        * stage2/shared.h (ENTRY): Remove unnecessary `##'.
2425
 
 
2426
 
2001-05-03  Jochen Hoenicke  <jochen@gnu.org>
2427
 
 
2428
 
        * grub/asmstub.c (biosdisk): Work around a bug in linux's ez
2429
 
        remapping.  Problem reported by Ben Byer <bbyer@rice.edu>.
2430
 
        
2431
 
2001-03-28  Gordon Matzigkeit  <gord@fig.org>
2432
 
 
2433
 
        * stage2/boot.c (load_image): Don't cast entry_addr to an int, or
2434
 
        the top bit will be interpreted as the sign.
2435
 
 
2436
 
2001-03-16  OKUJI Yoshinori  <okuji@gnu.org>
2437
 
 
2438
 
        From Bodo Rueskamp <br@itchigo.com>:
2439
 
        * stage2/boot.c (load_initrd): Avoid the last 64kb for
2440
 
        Linux 2.2.x bug.
2441
 
        
2442
 
2001-03-03  OKUJI Yoshinori  <okuji@gnu.org>
2443
 
 
2444
 
        * docs/multiboot.texi (History): Written.
2445
 
        
2446
 
2001-02-28  OKUJI Yoshinori  <okuji@gnu.org>
2447
 
 
2448
 
        From HASEGAWA Tomoki <thasegawa@mta.biglobe.ne.jp>:
2449
 
        * lib/device.c (get_ide_disk_name) [__FreeBSD__]: Add support
2450
 
        for FreeBSD-4.0 or later. Use "/dev/rad0".
2451
 
        * util/grub-install.in (convert): Add code for FreeBSD
2452
 
        disklabels.
2453
 
 
2454
 
2001-02-28  OKUJI Yoshinori  <okuji@gnu.org>
2455
 
 
2456
 
        From Thierry Laronde <thierry@cri74.org>:
2457
 
        * stage2/stage2.c (cmain): If the default entry is wrong, set it
2458
 
        to FALLBACK_ENTRY if FALLBACK_ENTRY is valid, otherwise set it
2459
 
        to zero. Suggested by Nicolas Boos <nicolas.boos@wanadoo.fr>.
2460
 
        
2461
 
2001-02-28  OKUJI Yoshinori  <okuji@gnu.org>
2462
 
 
2463
 
        * acconfig.h (AUTO_LINUX_MEM_OPT): New entry.
2464
 
        * configure.in (--disable-auto-linux-mem-opt): New option.
2465
 
        * stage2/builtins.c (kernel_func) [!AUTO_LINUX_MEM_OPT]: Add
2466
 
        KERNEL_LOAD_NO_MEM_OPTION into LOAD_FLAGS, whether the user
2467
 
        specifies --no-mem-option or not.
2468
 
        
2469
 
2001-02-27  OKUJI Yoshinori  <okuji@gnu.org>
2470
 
 
2471
 
        * stage2/builtins.c (chainloader_func): Don't check if the
2472
 
        current partition is FAT, but check if it has a FAT partition
2473
 
        type and the BPB has a system id starting with "MSWIN".
2474
 
        
2475
 
2001-02-27  OKUJI Yoshinori  <okuji@gnu.org>
2476
 
 
2477
 
        Added hercules support based on a patch by Frank Mehnert
2478
 
        <fm3@os.inf.tu-dresden.de>. I translated his assembly code into
2479
 
        C, and separated hercules from the normal console.
2480
 
        
2481
 
        * configure.in (--disable-hercules): New option.
2482
 
        
2483
 
        * grub/asmstub.c: Include <hercules.h>.
2484
 
        (set_attrib): Renamed to ...
2485
 
        (console_set_attrib): ... this.
2486
 
        (herc_cls): New function.
2487
 
        (herc_getxy): Likewise.
2488
 
        (herc_gotoxy): Likewise.
2489
 
        (herc_putchar): Likewise.
2490
 
        (herc_set_attrib): Likewise.
2491
 
        
2492
 
        * stage2/Makefile.am (noinst_HEADERS): Added hercules.h.
2493
 
        (libgrub_a_CFLAGS): Added -DSUPPORT_HERCULES=1.
2494
 
        (HERCULES_FLAGS): New variable.
2495
 
        (STAGE2_COMPILE): Added $(HERCULES_FLAGS).
2496
 
        (pre_stage2_exec_SOURCES): Added hercules.c.
2497
 
        * stage2/asm.S [!STAGE1_5] (set_attrib) Renamed to ...
2498
 
        [!STAGE1_5] (console_set_attrib): ... this.
2499
 
        * stage2/builtins.c [SUPPORT_HERCULES] (terminal_func): Added
2500
 
        hercules support.
2501
 
        (builtin_table) [SUPPORT_HERCULES]: Added a pointer to
2502
 
        BUILTIN_TERMINAL.
2503
 
        * stage2/char_io.c [SUPPORT_HERCULES]: Include <hercules.h>.
2504
 
        [!STAGE1_5] (get_cmdline) [SUPPORT_HERCULES]: Added hercules
2505
 
        support.
2506
 
        [!STAGE1_5] (getkey) [SUPPORT_HERCULES]: Likewise.
2507
 
        [!STAGE1_5] (checkkey) [SUPPORT_HERCULES]: Likewise.
2508
 
        (grub_putchar) [SUPPORT_HERCULES]: Likewise.
2509
 
        [!STAGE1_5] (gotoxy) [SUPPORT_HERCULES]: Likewise.
2510
 
        [!STAGE1_5] (getxy) [SUPPORT_HERCULES]: Likewise.
2511
 
        [!STAGE1_5] (cls) [SUPPORT_HERCULES]: Likewise.
2512
 
        (set_attrib): New function.
2513
 
        * stage2/shared.h (console_set_attrib): Declared.
2514
 
        (TERMINAL_HERCULES): New macro.
2515
 
        * stage2/stage2.c (run_menu) [SUPPORT_HERCULES]: Added hercules
2516
 
        support.
2517
 
        * stage2/hercules.h: New file.
2518
 
        * stage2/hercules.c: Likewise.
2519
 
        
2520
 
2001-02-17  OKUJI Yoshinori  <okuji@gnu.org>
2521
 
 
2522
 
        From "Treutwein; Bernhard"
2523
 
        <Bernhard.Treutwein@Verwaltung.Uni-Muenchen.DE>:
2524
 
        * docs/grub.texi (DOS/Windows): Improved the readability.
2525
 
        
2526
 
2001-02-11  OKUJI Yoshinori  <okuji@gnu.org>
2527
 
 
2528
 
        * docs/grub.texi (Command-line and menu commands): Renamed to ...
2529
 
        (General commands): ... this.
2530
 
        
2531
 
2001-02-08  OKUJI Yoshinori  <okuji@gnu.org>
2532
 
 
2533
 
        * stage2/asm.S [STAGE1_5] (chain_stage2): Save the second sector
2534
 
        of stage2 in %ecx temporarily, and set %ebp to %ecx after
2535
 
        switching to protected mode. I forgot that %ebp is broken by
2536
 
        rot_to_real. Reported by Torvald Riegel
2537
 
        <tr16@inf.tu-dresden.de>.
2538
 
        
2539
 
2001-02-08  OKUJI Yoshinori  <okuji@gnu.org>
2540
 
 
2541
 
        * docs/grub-new.texi: Moved to ...
2542
 
        * docs/grub.texi: ... here. And, include internals.texi.
2543
 
        * docs/internals.texi: New file.
2544
 
        * docs/prog-ref.texi: Removed.
2545
 
        * docs/user-ref.texi: Likewise.
2546
 
        * docs/tutorial.texi: Likewise.
2547
 
        * docs/appendices.texi: Likewise.
2548
 
        * docs/Makefile.am (grub_TEXINFOS): Removed prog-ref.texi,
2549
 
        user-ref.texi, tutorial.texi, and appendices.texi. Added
2550
 
        internals.texi.
2551
 
        
2552
 
2001-02-03  OKUJI Yoshinori  <okuji@gnu.org>
2553
 
 
2554
 
        From Erik Schoenfelder <schoenfr@gaertner.de>:
2555
 
        * stage2/shared.h (LINUX_INITRD_MAX_ADDRESS): Changed from
2556
 
        0x3C000000 to 0x38000000.
2557
 
        
2558
 
2001-02-03  OKUJI Yoshinori  <okuji@gnu.org>
2559
 
 
2560
 
        * stage2/builtins.c (savedefault_func)
2561
 
        [!SUPPORT_DISKLESS && !GRUB_UTIL]: Check if the version
2562
 
        contained in the buffer matches to current one as well.
2563
 
        
2564
 
2001-02-02  OKUJI Yoshinori  <okuji@gnu.org>
2565
 
 
2566
 
        * stage2/builtins.c (savedefault_func)
2567
 
        [!SUPPORT_DISKLESS && !GRUB_UTIL]: Check if the stage2 id is
2568
 
        STAGE2_ID_STAGE2. Suggested by Jochen Hoenicke.
2569
 
        
2570
 
        * stage2/stage2.c (cmain): If DEFAULT_ENTRY is out of entries,
2571
 
        reset DEFAULT_ENTRY to zero.
2572
 
        
2573
 
2001-02-02  OKUJI Yoshinori  <okuji@gnu.org>
2574
 
 
2575
 
        Make savedefault workable even with Stage 1.5. Reported by
2576
 
        Thierry Laronde <thierry@cri74.org>.
2577
 
        
2578
 
        * grub/asmstub.c (chain_stage2): Added an additional argument,
2579
 
        SECOND_SECTOR.
2580
 
        * stage2/asm.S [STAGE1_5] (chain_stage2): Set %ebp to
2581
 
        SECOND_SECTOR.
2582
 
        * stage2/disk_io.c [STAGE1_5] (disk_read_hook): Defined.
2583
 
        [STAGE1_5] (disk_read_func): Likewise.
2584
 
        (rawread) [STAGE1_5]: Handle DISK_READ_FUNC.
2585
 
        (grub_read) [STAGE1_5]: Likewise.
2586
 
        * stage2/fsys_ext2fs.c (ext2fs_read) [STAGE1_5]: Likewise.
2587
 
        * stage2/fsys_fat.c (fat_read) [STAGE1_5]: Likewise.
2588
 
        * stage2/fsys_ffs.c (ffs_read) [STAGE1_5]: Likewise.
2589
 
        * stage2/fsys_minix.c (minix_read) [STAGE1_5]: Likewise.
2590
 
        * stage2/fsys_reiserfs.c (reiserfs_read) [STAGE1_5]: Likewise.
2591
 
        
2592
 
2001-02-02  OKUJI Yoshinori  <okuji@gnu.org>
2593
 
 
2594
 
        * netboot/config.c [GRUB && INCLUDE_PCI] (pci_dispatch_table):
2595
 
        New structure.
2596
 
        [GRUB && INCLUDE_PCI] (PCI_NIC): New variable.
2597
 
        (eth_probe) [GRUB && INCLUDE_PCI]: If a PCI NIC candidate is
2598
 
        present, probe it first.
2599
 
        
2600
 
2001-01-27  OKUJI Yoshinori  <okuji@gnu.org>
2601
 
 
2602
 
        From Danilo Godec <danci@agenda.si>:
2603
 
        * stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_RAID): New macro.
2604
 
        * stage2/fsys_ext2fs.c (ext2fs_mount): Add a check for
2605
 
        PC_SLICE_LINUX_RAID.
2606
 
        
2607
 
2001-01-27  OKUJI Yoshinori  <okuji@gnu.org>
2608
 
 
2609
 
        From Bernhard Treutwein
2610
 
        <Bernhard.Treutwein@Verwaltung.Uni-Muenchen.DE>:
2611
 
        * docs/grub-new.texi (DOS/Windows): Made more readable.
2612
 
        
2613
 
2001-01-27  OKUJI Yoshinori  <okuji@gnu.org>
2614
 
 
2615
 
        * docs/multiboot.texi: Start reorganizing Multiboot
2616
 
        Specification.
2617
 
        
2618
 
2001-01-15  OKUJI Yoshinori  <okuji@gnu.org>
2619
 
 
2620
 
        From Thierry Laronde <thierry.laronde@polynum.com>:
2621
 
        * docs/user-ref.texi (Command-line and menu commands): Update
2622
 
        the description about setkey.
2623
 
        * stage2/builtins.c (setkey_func): When checking if TO_KEY and
2624
 
        FROM_KEY are specified, see *TO_KEY and *FROM_KEY instead of
2625
 
        TO_KEY and FROM_KEY, respectively.
2626
 
        
2627
 
2001-01-13  OKUJI Yoshinori  <okuji@gnu.org>
2628
 
 
2629
 
        From Thierry Laronde <thierry.laronde@polynum.com>:
2630
 
        * util/grub-md5-crypt.in (prefix): New variable.
2631
 
        (exec_prefix): Likewise.
2632
 
        (sbindir): Likewise.
2633
 
        
2634
 
2001-01-12  OKUJI Yoshinori  <okuji@gnu.org>
2635
 
 
2636
 
        * docs/multiboot.h [__ELF__] (MULTIBOOT_HEADER_FLAGS): Defined
2637
 
        as 0x00000003 instead of 0x00010003.
2638
 
        * docs/boot.S (multiboot_header) [__ELF__]: Don't define a.out
2639
 
        kludge information.
2640
 
        
2641
 
        * docs/Makefile.am (EXTRA_PROGRAMS): New variable.
2642
 
        [BUILD_EXAMPLE_KERNEL] (noinst_DATA): Removed.
2643
 
        [BUILD_EXAMPLE_KERNEL] (noinst_PROGRAMS): Changed to kernel.
2644
 
        [BUILD_EXAMPLE_KERNEL] (kernel_exec_SOURCES): Renamed to ...
2645
 
        [BUILD_EXAMPLE_KERNEL] (kernel_SOURCES): ... this.
2646
 
        [BUILD_EXAMPLE_KERNEL] (kernel_exec_CFLAGS): Renamed to ...
2647
 
        [BUILD_EXAMPLE_KERNEL] (kernel_CFLAGS): ... this.
2648
 
        [BUILD_EXAMPLE_KERNEL] (kernel_exec_LDFLAGS): Renamed to ...
2649
 
        [BUILD_EXAMPLE_KERNEL] (kernel_LDFLAGS): ... this.
2650
 
        [BUILD_EXAMPLE_KERNEL] (kernel): Removed.
2651
 
        [BUILD_EXAMPLE_KERNEL] (boot.o): New dependency.
2652
 
        (CLEANFILES): New variable.
2653
 
        
2654
 
2001-01-11  OKUJI Yoshinori  <okuji@gnu.org>
2655
 
 
2656
 
        * stage2/builtins.c [SUPPORT_NETBOOT] (ifconfig_func): Always
2657
 
        print current network configuration.
2658
 
        [SUPPORT_NETBOOT] (tftpserver_func): Use ifconfig instead of
2659
 
        arp_server_override.
2660
 
        * netboot/main.c (arp_server_override): Removed.
2661
 
        * netboot/etherboot.h (arp_server_override): Likewise.
2662
 
 
2663
 
2001-01-11  Eugene Doudine  <dudin@np.nk.nornik.ru>
2664
 
        
2665
 
        * stage2/builtins.c [SUPPORT_NETBOOT] (ifconfig_func): New
2666
 
        function to configure network interface from command line.
2667
 
        [SUPPORT_NETBOOT] (builtin_ifconfig): New variable.
2668
 
        [SUPPORT_NETBOOT] (builtin_table): Added a pointer to
2669
 
        BUILTIN_IFCONFIG.
2670
 
        * netboot/main.c (ifconfig): New function.
2671
 
        * netboot/etherboot.h (ifconfig): Added the prototype.
2672
 
        
2673
 
2001-01-11  OKUJI Yoshinori  <okuji@gnu.org>
2674
 
 
2675
 
        * docs/Makefile.am [BUILD_EXAMPLE_KERNEL] (noinst_DATA): New
2676
 
        variable.
2677
 
        [BUILD_EXAMPLE_KERNEL] (noinst_PROGRAMS): Likewise.
2678
 
        [BUILD_EXAMPLE_KERNEL] (kernel_exec_SOURCES): Likewise.
2679
 
        [BUILD_EXAMPLE_KERNEL] (kernel_exec_CFLAGS): Likewise.
2680
 
        [BUILD_EXAMPLE_KERNEL] (kernel_exec_LDFLAGS): Likewise.
2681
 
        [BUILD_EXAMPLE_KERNEL] (kernel): New target.
2682
 
        * configure.in (--enable-example-kernel): New option.
2683
 
 
2684
 
        * docs/kernel.c (cmain): Cast unsigned long variables to
2685
 
        unsigned explicitly, to suppress GCC warnings.
2686
 
        
2687
 
2001-01-08  OKUJI Yoshinori  <okuji@gnu.org>
2688
 
 
2689
 
        * stage2/shared.h (BOOTSEC_BPB_HIDDEN_SECTORS): New macro.
2690
 
        
2691
 
        * stage2/builtins.c (chainloader_func): If CURRENT_PARTITION is
2692
 
        FAT, set the hidden sectors field of the BPB to PART_START, to
2693
 
        avoid a Windows bug which affects only when Windows is booted
2694
 
        from a logical partition. And, clear ERRNUM after testing if a
2695
 
        partition is FAT, because open_partition or fat_mount may set
2696
 
        ERRNUM. Reported by Ingo Korb <ingo@akana.de>.
2697
 
        
2698
 
2001-01-07  OKUJI Yoshinori  <okuji@gnu.org>
2699
 
 
2700
 
        * stage2/builtins.c (boot_func): In the chain-loading mode,
2701
 
        clear the active flag of each of the loaded partition entries,
2702
 
        and then set the active flag of the booted partition image.
2703
 
        
2704
 
2001-01-04  Jochen Hoenicke  <jochen@gnu.org>
2705
 
 
2706
 
        * stage2/builtins.c (embed_func): Call open_partition() even for
2707
 
        MBR, so that part_start is correct.  This fixes a bug reported by
2708
 
        Matthias Granberry <matthias@slurpee.org>.
2709
 
        
2710
 
2000-12-22  OKUJI Yoshinori  <okuji@gnu.org>
2711
 
 
2712
 
        * stage2/disk_io.c (make_saved_active): Change the variable name
2713
 
        ``MBR'' to lower case.
2714
 
        (set_partition_hidden_flag): Likewise.
2715
 
        
2716
 
2000-12-20  Jochen Hoenicke  <jochen@gnu.org>
2717
 
 
2718
 
        From Cedric Ware <ware@com.enst.fr>:
2719
 
        * stage2/fsys_ext2.c (ext2fs_mount): Detect ext2 partitions in
2720
 
        a OpenBSD/NetBSD FS_EXT2FS slice.
2721
 
        * stage2/pc_slice.h (FS_ADOS): New Macro from OpenBSD/NetBSD.
2722
 
        (FS_HFS): Likewise.
2723
 
        (FS_FILECORE): Likewise.
2724
 
        (FS_EXT2FS): Likewise.
2725
 
        
2726
 
2000-12-17  Jochen Hoenicke  <jochen@gnu.org>
2727
 
 
2728
 
        * stage2/disk_io.c (rawread): Check if there is a EZD partition
2729
 
        and remap sector 0 to sector 1 like EZ-BIOS does.
2730
 
        (rawwrite): New function to write to disk.  Also does EZD
2731
 
        remapping.
2732
 
        (devwrite): New function.  Does the special remapping to
2733
 
        partitions needed for linux.  This contains the code that was
2734
 
        previously duplicated in embed_func and install_func at several
2735
 
        places.
2736
 
        (make_saved_active): Use rawwrite. Don't use SCRATCHSEG, as it is
2737
 
        needed by devwrite.
2738
 
        (set_partition_hidden_flag): Likewise.  
2739
 
        * stage2/disk_io.h (rawwrite): New function.
2740
 
        (devwrite): Likewise.
2741
 
        * stage2/pc_slice.h (PC_SLICE_TYPE_EZD): New macro.
2742
 
        * stage2/builtins.c (embed_info): New variable to store the
2743
 
        position of the embedded stage1_5 for setup_func.
2744
 
        (embed_func): Don't embed after the MBR if an EZ-BIOS is detected
2745
 
        there.  Use the new devwrite method.  If embedding is successful
2746
 
        store position in embed_info.
2747
 
        (install_func): Use devwrite.  Don't use SCRATCHSEG.
2748
 
        (partnew_func): Use rawwrite.  Don't use SCRATCHSEG.
2749
 
        (parttype_func): Likewise.
2750
 
        (savedefault_func): Likewise.
2751
 
        (setup_func): New nested function embed_stage1_5.  Stage1_5 is now
2752
 
        also be embedded into filesystems which supports that.
2753
 
        
2754
 
2000-12-17  OKUJI Yoshinori  <okuji@gnu.org>
2755
 
 
2756
 
        * stage2/builtins.c (chainloader_func): Set ERRNUM to
2757
 
        ERR_EXEC_FORMAT, when ERRNUM is ERR_NONE, even if grub_read
2758
 
        fails in reading one sector.
2759
 
        
2760
 
2000-12-14  OKUJI Yoshinori  <okuji@gnu.org>
2761
 
 
2762
 
        * docs/prog-ref.texi (Partition types): Rewrite the footnotes.
2763
 
        Suggested by Ralf.Medow@t-online.de (Ralf Medow).
2764
 
        
2765
 
2000-12-14  OKUJI Yoshinori  <okuji@gnu.org>
2766
 
 
2767
 
        From Erik Schoenfelder <schoenfr@gaertner.de>:
2768
 
        * util/grub-install.in (convert): Revised the fix for floppy
2769
 
        device handling.
2770
 
        
2771
 
2000-12-14  OKUJI Yoshinori  <okuji@gnu.org>
2772
 
 
2773
 
        From HORIKAWA Kazunori <kaz-hori@tkd.att.ne.jp>:
2774
 
        * stage2/bios.c (get_diskinfo): Append 16 bytes dummy data to
2775
 
        DRP, because the BIOS of Thinkpad X20 write a garbage beyond the
2776
 
        size of the structure.
2777
 
        
2778
 
2000-12-09  Jochen Hoenicke  <jochen@gnu.org>
2779
 
 
2780
 
        * stage2/disk_io.c (next_partition): Mask out bsd partition sub
2781
 
        type when checking if last partition was a bsd partition.
2782
 
        Reported by Heikki Vatiainen <hessu@cs.tut.fi>.
2783
 
        
2784
 
2000-12-09  OKUJI Yoshinori  <okuji@gnu.org>
2785
 
 
2786
 
        From Leendert Meyer <leen.meyer@home.nl>:
2787
 
        * util/grub-install.in (convert): If a floppy device is
2788
 
        specified, remove everything from $tmp_part.
2789
 
        
2790
 
2000-12-09  OKUJI Yoshinori  <okuji@gnu.org>
2791
 
 
2792
 
        * lib/device.c [__linux__] (write_to_partition): Use strcpy
2793
 
        instead of strcat, to overwrite "/disc". Reported by Thiago
2794
 
        Macieira <thiagom@mail.com>.
2795
 
        
2796
 
2000-12-05  Jochen Hoenicke  <jochen@gnu.org>
2797
 
 
2798
 
        * stage2/fsys_minix.c (minix_mount): Corrected the check for
2799
 
        IS_PC_SLICE_TYPE_MINIX; minix was only working if slice type was
2800
 
        wrong! Reported by Ralf Medow <ralf.medow@t-online.de>.
2801
 
        
2802
 
2000-11-27  Jochen Hoenicke  <jochen@gnu.org>
2803
 
 
2804
 
        * stage2/fsys_reiserfs.c: Handle items with old version key on
2805
 
        new version reiserfs partition.
2806
 
        (K_OFFSET): Removed.
2807
 
        (IH_KEY_OFFSET): New Macro, which checks item head version.
2808
 
        (IH_KEY_ISOFFSET): Likewise.
2809
 
        (reiserfs_read): Use new macros.
2810
 
        (reiserfs_dir): Fixed version check for >4GB stat entries.
2811
 
        
2812
 
2000-11-27  OKUJI Yoshinori  <okuji@gnu.org>
2813
 
 
2814
 
        * stage2/common.c (init_bios_info) [!STAGE1_5]: Don't call
2815
 
        track_int13, because the current implementation hangs up in some
2816
 
        environments.
2817
 
        
2818
 
2000-11-27  OKUJI Yoshinori  <okuji@gnu.org>
2819
 
 
2820
 
        * grub/asmstub.c (serial_init) [!O_SYNC]: Don't specify O_SYNC
2821
 
        to open SERIAL_DEVICE.
2822
 
        (serial_init) [O_FSYNC]: Specify O_FSYNC to open SERIAL_DEVICE.
2823
 
        Reported by Farid Hajji <farid.hajji@ob.kamp.net>.
2824
 
        
2825
 
2000-11-22  OKUJI Yoshinori  <okuji@gnu.org>
2826
 
 
2827
 
        From Vesa Jaaskelainen <jaaskela@tietomyrsky.fi>:
2828
 
        * stage2/builtins.c (testvbe_func): Don't set the bit 14 of a
2829
 
        VBE mode number explicitly when calling get_vbe_mode_info.
2830
 
        (vbeprobe_func): Likewise.
2831
 
        
2832
 
2000-11-22  OKUJI Yoshinori  <okuji@gnu.org>
2833
 
 
2834
 
        The code for the "INT 13H tracking technique" is somewhat
2835
 
        simplified.
2836
 
 
2837
 
        * stage2/asm.S [!STAGE1_5] (track_int13): Don't replace an int13
2838
 
        handler with set_tf_int13_handler. Instead, track_int13 itself
2839
 
        emulates an int13 interrupt.
2840
 
        [!STAGE1_5] (set_tf_int13_handler): Removed.
2841
 
        [!STAGE1_5] (int1_handler): Use movzbw instead of xorb and movb.
2842
 
        
2843
 
2000-11-15  OKUJI Yoshinori  <okuji@gnu.org>
2844
 
 
2845
 
        * acconfig.h (PRESET_MENU_STRING): New entry.
2846
 
        * acinclude.m4 (grub_DEFINE_FILE): New M4 macro.
2847
 
        * configure.in (--enable-preset-menu): New option.
2848
 
        * stage2/stage2.c [PRESET_MENU_STRING] (preset_menu): New
2849
 
        variable.
2850
 
        [PRESET_MENU_STRING] (preset_menu_offset): Likewise.
2851
 
        [PRESET_MENU_STRING] (open_preset_menu): New function.
2852
 
        [PRESET_MENU_STRING] (read_from_preset_menu): Likewise.
2853
 
        [PRESET_MENU_STRING] (close_preset_menu): Likewise.
2854
 
        [!PRESET_MENU_STRING] (open_preset_menu): New macro.
2855
 
        [!PRESET_MENU_STRING] (read_from_preset_menu): Likewise.
2856
 
        [!PRESET_MENU_STRING] (close_preset_menu): Likewise.
2857
 
        (get_line_from_config): Accept a new argument READ_FROM_FILE.
2858
 
        If it is false, read data from the preset menu instead.
2859
 
        (cmain): If grub_open fails in opening the configuration file,
2860
 
        then try to open the preset menu.
2861
 
        
2862
 
2000-11-11  OKUJI Yoshinori  <okuji@gnu.org>
2863
 
 
2864
 
        From Jan Fricke <fricke@uni-greifswald.de>:
2865
 
        * stage2/asm.S [!STAGE1_5] (set_vbe_mode): Add a missing `$'
2866
 
        prefix.
2867
 
        
2868
 
2000-11-11  OKUJI Yoshinori  <okuji@gnu.org>
2869
 
 
2870
 
        * stage2/bios.c (get_diskinfo): If BIOS supports LBA but doesn't
2871
 
        return the correct total number of sectors, compute this by
2872
 
        C/H/S returned by get_diskinfo_int13_extensions instead of
2873
 
        get_diskinfo_standard.
2874
 
        
2875
 
2000-11-09  OKUJI Yoshinori  <okuji@gnu.org>
2876
 
 
2877
 
        * stage2/disk_io.c (make_saved_active): Set ERRNUM to
2878
 
        ERR_DEV_VALUES instead of ERR_NO_PART, when the save partition
2879
 
        is not a primary partition.
2880
 
        
2881
 
2000-11-05  OKUJI Yoshinori  <okuji@gnu.org>
2882
 
 
2883
 
        * docs/user-ref.texi (Features): Update the URL of grub/98.
2884
 
        
2885
 
2000-11-03  OKUJI Yoshinori  <okuji@gnu.org>
2886
 
 
2887
 
        VBE support is _partially_ implemented.
2888
 
        
2889
 
        * stage2/mb_header.h (multiboot_header): Added new fields,
2890
 
        mode_type, width, height, and depth.
2891
 
        (MULTIBOOT_FOUND): Check if MULTIBOOT_VIDEO_MODE is set, and
2892
 
        check if LEN is greater than or equal to 48, if set.
2893
 
        (MULTIBOOT_UNSUPPORTED): Set to 0x0000FFF8.
2894
 
        (MULTIBOOT_VIDEO_MODE): New macro.
2895
 
        * stage2/mb_info.h (multiboot_info): Added new fields,
2896
 
        vbe_control_info, vbe_mode_info, vbe_mode, vbe_interface_seg,
2897
 
        vbe_interface_off, and vbe_interface_len.
2898
 
        (MB_INFO_VIDEO_INFO): New macro.
2899
 
        
2900
 
        * stage2/shared.h (vbe_controller): New structure.
2901
 
        (vbe_mode): Likewise.
2902
 
        (get_vbe_controller_info): Declared.
2903
 
        (get_vbe_mode_info): Likewise.
2904
 
        (set_vbe_mode): Likewise.
2905
 
        * stage2/asm.S [!STAGE1_5] (get_vbe_controller_info): New
2906
 
        function.
2907
 
        [!STAGE1_5] (get_vbe_mode_info): Likewise.
2908
 
        [!STAGE1_5] (set_vbe_mode): Likewise.
2909
 
        * grub/asmstub.c (get_vbe_controller_info): Likewise.
2910
 
        (get_vbe_mode_info): Likewise.
2911
 
        (set_vbe_mode): Likewise.
2912
 
 
2913
 
        * stage2/builtins.c (testvbe_func): New function.
2914
 
        (builtin_testvbe): New variable.
2915
 
        (vbeprobe_func): New function.
2916
 
        (builtin_vbeprobe): New variable.
2917
 
        (builtin_table): Added pointers to BUILTIN_TESTVBE and
2918
 
        BUILTIN_VBEPROBE.
2919
 
        
2920
 
2000-11-01  OKUJI Yoshinori  <okuji@gnu.org>
2921
 
 
2922
 
        * docs/help2man: Copied from help2man-1.23.
2923
 
        
2924
 
2000-10-29  OKUJI Yoshinori  <okuji@gnu.org>
2925
 
 
2926
 
        * stage2/asm.S [STAGE1_5]: Don't include setjmp.S or apm.S.
2927
 
        
2928
 
2000-10-27  OKUJI Yoshinori  <okuji@gnu.org>
2929
 
 
2930
 
        * lib/device.c (read_device_map): Don't parse a line, if it is
2931
 
        empty. Reported by Holger Bauer <bauer@itsm.uni-stuttgart.de>.
2932
 
        
2933
 
2000-10-25  Jochen Hoenicke  <jochen@gnu.org>
2934
 
 
2935
 
        * stage2/builtins.c (md5crypt_func): Use all bits of currticks ()
2936
 
        to generate the salt.  The old code would often produce the same
2937
 
        one character salt.
2938
 
 
2939
 
2000-10-25  OKUJI Yoshinori  <okuji@gnu.org>
2940
 
 
2941
 
        * stage2/apm.S (get_apm_info): Fix a serious typo: prot_to_real
2942
 
        -> real_to_prot. Umm, I can't understand why it worked for me!
2943
 
        
2944
 
2000-10-24  Jochen Hoenicke  <jochen@gnu.org>
2945
 
 
2946
 
        * stage2/builtins.c (setup_func): When invoking install with an
2947
 
        embedded stage1_5 give the path to menu.lst as real_config_file.
2948
 
 
2949
 
2000-10-23  OKUJI Yoshinori  <okuji@gnu.org>
2950
 
 
2951
 
        * docs/multiboot.texi: Upgraded to 0.6.92.
2952
 
        (Boot information format): Re-designed the graphics table.
2953
 
        
2954
 
2000-10-22  OKUJI Yoshinori  <okuji@gnu.org>
2955
 
 
2956
 
        * docs/tutorial.texi: Miscellaneous updates.
2957
 
        * docs/user-ref.texi: Likewise.
2958
 
        * docs/appendices.texi: Likewise.
2959
 
        
2960
 
2000-10-22  OKUJI Yoshinori  <okuji@gnu.org>
2961
 
 
2962
 
        * util/grub-install.in (usage): Removed unnecessary commas.
2963
 
        
2964
 
        * util/grub-md5-crypt.in: New file.
2965
 
        * util/Makefile.am (sbin_SCRIPTS): Added grub-md5-crypt.
2966
 
        * configure.in (AC_OUTPUT): Added util/grub-md5-crypt.
2967
 
        * docs/Makefile.am (man_MANS): Added grub-md5-crypt.8.
2968
 
        [MAINTAINER_MODE] ($(srcdir)/grub-md5-crypt.8): New target.
2969
 
        * docs/grub-md5-crypt.8: New file. Generated by help2man.
2970
 
 
2971
 
        * docs/grub.texi (grub-md5-crypt): New direntry.
2972
 
        (Invoking grub-md5-crypt): New entry.
2973
 
        * docs/user-ref.texi (Invoking grub-md5-crypt): New chapter.
2974
 
        
2975
 
2000-10-22  OKUJI Yoshinori  <okuji@gnu.org>
2976
 
 
2977
 
        From Matthias Granberry <matthias@slurpee.org>:
2978
 
        * util/grub-install.in (convert): Added backslashes into
2979
 
        continuous lines.
2980
 
        
2981
 
2000-10-21  OKUJI Yoshinori  <okuji@gnu.org>
2982
 
 
2983
 
        * stage2/md5.c (check_md5_password): Removed.
2984
 
        (md5_password): New function. Mostly copied from
2985
 
        check_md5_password.
2986
 
        (md5_init): Made static.
2987
 
        (md5_update): Likewise.
2988
 
        (md5_final): Likewise.
2989
 
        * stage2/md5.h (check_md5_password): Changed to just a macro.
2990
 
        (md5_password): Declared.
2991
 
        (make_md5_password): New macro.
2992
 
        * stage2/char_io.c [!STAGE1_5] (grub_strstr): Rewriten, because
2993
 
        it was too buggy.
2994
 
        * stage2/builtins.c [USE_MD5_PASSWORDS] (md5crypt_func): New
2995
 
        function.
2996
 
        [USE_MD5_PASSWORDS] (builtin_md5crypt): New variable.
2997
 
        (builtin_table) [USE_MD5_PASSWORDS]: Added a pointer to
2998
 
        BUILTIN_MD5CRYPT.
2999
 
        * docs/tutorial.texi (Security): Added a paragraph about
3000
 
        md5crypt.
3001
 
        
3002
 
2000-10-21  OKUJI Yoshinori  <okuji@gnu.org>
3003
 
 
3004
 
        * docs/user-ref.texi: Fixed several typos and some inappropriate
3005
 
        texinfo commands, and update the descriptions about some
3006
 
        commands.
3007
 
        
3008
 
2000-10-20  OKUJI Yoshinori  <okuji@gnu.org>
3009
 
 
3010
 
        * stage2/builtins.c (displayapm_func): New function.
3011
 
        (builtin_displayapm): New variable.
3012
 
        (builtin_table): Added a pointer to BUILTIN_DISPLAYAPM.
3013
 
        
3014
 
2000-10-20  OKUJI Yoshinori  <okuji@gnu.org>
3015
 
 
3016
 
        APM BIOS table support is added, based on a patch by Matt Yourst
3017
 
        <yourst@mit.edu>.
3018
 
        
3019
 
        * docs/multiboot.texi (Boot information format): Added the
3020
 
        definition of APM table format.
3021
 
        
3022
 
        * stage2/mb_info.h (apm_info): New structure.
3023
 
        (multiboot_info): Added a new element, apm_table.
3024
 
        (MB_INFO_APM_TABLE): New macro.
3025
 
        * stage2/asm.S (apm_bios_info): New variable.
3026
 
        Include "apm.S".
3027
 
        * stage2/apm.S: New file.
3028
 
        * stage2/common.c (init_bios_info) [!STAGE1_5]: Added APM BIOS
3029
 
        table support.
3030
 
        * stage2/shared.h (apm_bios_info): Declared.
3031
 
        (get_apm_info): Likewise.
3032
 
        * stage2/Makefile.am (EXTRA_DIST): Added apm.S.
3033
 
        * grub/asmstub.c (apm_bios_info): New variable.
3034
 
        (get_apm_info): New function.
3035
 
        
3036
 
2000-10-19  OKUJI Yoshinori  <okuji@gnu.org>
3037
 
 
3038
 
        Segregate functions which are copyrighted differently.
3039
 
        
3040
 
        * stage2/setjmp.S: New file.
3041
 
        * stage2/Makefile.am (EXTRA_DIST): Added setjmp.S.
3042
 
        * stage2/asm.S: Include "setjmp.S".
3043
 
        (grub_setjmp): Moved to ...
3044
 
        * stage2/setjmp.S (grub_setjmp): ... here.
3045
 
        * stage2/asm.S (grub_longjmp): Moved to ...
3046
 
        * stage2/setjmp.S (grub_longjmp): ... here.
3047
 
        
3048
 
2000-10-18  OKUJI Yoshinori  <okuji@gnu.org>
3049
 
 
3050
 
        * stage2/Makefile.am (noinst_HEADERS): Added md5.h. Reported by
3051
 
        Volker Augustin <Volker.Augustin@stud.uni-regensburg.de>.
3052
 
        
3053
 
2000-10-17  OKUJI Yoshinori  <okuji@gnu.org>
3054
 
 
3055
 
        * configure.in (--disable-md5password): Renamed to ...
3056
 
        (--disable-md5-password): ... this. Just for my preference.
3057
 
        
3058
 
2000-10-17  Jochen Hoenicke  <jochen@gnu.org>
3059
 
 
3060
 
        Added MD5 passwords and extended password command:
3061
 
        
3062
 
        * configure.in (--disable-md5password): New option.
3063
 
        * stage2/Makefile.am (libgrub_a_SOURCES): Added md5.c.
3064
 
        (pre_stage2_exec_SOURCES): Likewise.
3065
 
        * stage2/md5.c: New file.
3066
 
        * stage2/shared.h (password_t): New type.
3067
 
        (password_type): New variable.
3068
 
        (BUILTIN_HIDDEN): New flag, describing that a command should not
3069
 
        be printed when booting the entry.
3070
 
        (check_password): New function.
3071
 
        * stage2/cmdline.c (run_script): Don't show commands that have
3072
 
        the hidden attribute.
3073
 
        * stage2/builtins.c (password_type): New variable.
3074
 
        (check_password): New function.
3075
 
        (password_func): Handle the --md5 option and set password_type.
3076
 
        Check if in CMDLINE or SCRIPT mode and ask password immediately.
3077
 
        (builtin_password): Also allow passwords in CMDLINE mode, make
3078
 
        it hidden, so the user wont see the password he should enter.
3079
 
        Changed command description.
3080
 
        (builtin_pause): Make the command hidden.
3081
 
        (pause_func): Print argument, since the command is now hidden.
3082
 
        * stage2/stage2.c (run_menu): Call check_password to check password.
3083
 
        * docs/tutorial.texi (Security): Describe the new features of the
3084
 
        password commands.
3085
 
        * docs/user-ref.texi (Menu-specific commands): password command
3086
 
        moved ...
3087
 
        (Command-line and menu commands): ... to here.  New features 
3088
 
        doumented.
3089
 
        
3090
 
2000-10-17  OKUJI Yoshinori  <okuji@gnu.org>
3091
 
 
3092
 
        * stage2/builtins.c (setkey_func): Clear the all elements of
3093
 
        BIOS_KEY_MAP and ASCII_KEY_MAP instead of only the first
3094
 
        elements, when TO_KEY is NULL.
3095
 
        
3096
 
2000-10-16  OKUJI Yoshinori  <okuji@gnu.org>
3097
 
 
3098
 
        * stage2/boot.c (load_image): When handling Linux cmdline, don't
3099
 
        copy a null character from SRC to DEST, because this inserted an
3100
 
        extra null character into the cmdline. Reported by Robert
3101
 
        Bihlmeyer <robbe@orcus.priv.at>.
3102
 
        
3103
 
2000-10-16  OKUJI Yoshinori  <okuji@gnu.org>
3104
 
 
3105
 
        Some of the new Multiboot features are supported. APM support
3106
 
        and VESA support are not strictly defined or implemented yet.
3107
 
        
3108
 
        * docs/multiboot.texi (Top): Increase the version number.
3109
 
        (Boot information format): Changed the drive information format,
3110
 
        because it was not straightforward.
3111
 
        
3112
 
        * grub/asmstub.c (io_map): New variable.
3113
 
        (track_int13): New function.
3114
 
        (get_rom_config_table): Likewise.
3115
 
        * stage2/stage2.c (cmain): Set CONFIG_ENTRIES to MBI.DRIVES_ADDR
3116
 
        + MBI.DRIVES.LENGTH instead of MBI.MMAP_ADDR + MBI.MMAP_LENGTH.
3117
 
        * stage2/common.c (init_bios_info) [!STAGE1_5]: Added support
3118
 
        for drive info, ROM config table, and boot loader name features
3119
 
        of the Multiboot Specification.
3120
 
        * stage2/mb_info.h (drive_info): New structure.
3121
 
        (MB_DI_CHS_MODE): New macro.
3122
 
        (MB_DI_LBA_MODE): Likewise.
3123
 
        (multiboot_info): Added drives_length, drives_addr,
3124
 
        config_table, and boot_loader_name.
3125
 
        (MB_INFO_DRIVE_INFO): New macro.
3126
 
        (MB_INFO_CONFIG_TABLE): Likewise.
3127
 
        (MB_INFO_BOOT_LOADER_NAME): Likewise.
3128
 
        * stage2/asm.S (get_rom_config_table): New function.
3129
 
        * stage2/shared.h (get_rom_config_table): Declared.
3130
 
        
3131
 
2000-10-16  OKUJI Yoshinori  <okuji@gnu.org>
3132
 
 
3133
 
        * util/grub-install.in (convert): Check only if the file exists,
3134
 
        instead of checking if the file is a block device as well.
3135
 
        Because, in a sane operating system, it should be a char device
3136
 
        but not a block device (unlike Linux), and it may be a symbolic
3137
 
        link (this can happen if you use Linux's devfs without devfsd).
3138
 
        (recheck): New variable. Set to "no" by default, and set to
3139
 
        "yes", if you specify the new option ``--recheck''. If $recheck
3140
 
        is "yes", remove the device map file, if present.
3141
 
        
3142
 
2000-10-16  OKUJI Yoshinori  <okuji@gnu.org>
3143
 
 
3144
 
        From Roderich Schupp:
3145
 
        * lib/device.c: Include <limits.h>.
3146
 
        [__linux__] (have_devfs): New function.
3147
 
        (get_floppy_disk_name) [__linux__]: If devfs is supported, use
3148
 
        the name "/dev/floppy/N" instead.
3149
 
        (init_device_map) [__linux__]: If devfs is supported, use
3150
 
        "/dev/discs/discN" instead.
3151
 
        [__linux__] (write_to_partition): Change the size of DEV to
3152
 
        PATH_MAX instead of 64.
3153
 
        If devfs is supported, replace "/disc" in the device name with
3154
 
        "/part".
3155
 
        
3156
 
2000-10-15  OKUJI Yoshinori  <okuji@gnu.org>
3157
 
 
3158
 
        From Roderich Schupp <rsch@ExperTeam.de>:
3159
 
        * util/grub-install.in (convert): Added support for "native"
3160
 
        devfs device names.
3161
 
        
3162
 
2000-10-14  OKUJI Yoshinori  <okuji@gnu.org>
3163
 
 
3164
 
        * docs/tutorial.texi (Serial terminal): Fixed a typo.
3165
 
        * docs/user-ref.texi (GRUB images): New chapter.
3166
 
        * docs/grub.texi: Added an entry for the chapter "GRUB images".
3167
 
        
3168
 
2000-10-14  OKUJI Yoshinori  <okuji@gnu.org>
3169
 
 
3170
 
        * stage2/builtins.c (setkey_func): If TO_KEY is NULL (i.e. the
3171
 
        user specifies no argument), clear BIOS_KEY_MAP and
3172
 
        ASCII_KEY_MAP.
3173
 
        If TO_KEY is non-NULL but FROM_KEY is NULL, set ERRNUM to
3174
 
        ERR_BAD_ARGUMENT and return one.
3175
 
        
3176
 
2000-10-13  OKUJI Yoshinori  <okuji@gnu.org>
3177
 
 
3178
 
        * docs/grub.texi: Added an entry for the new chapter "Security",
3179
 
        and the order of the chapters in the Tutorial Manual was
3180
 
        changed.
3181
 
        * docs/tutorial.texi (Configuration): Moved to right after the
3182
 
        chapter "Booting".
3183
 
        (Security): New chapter.
3184
 
        
3185
 
2000-10-10  OKUJI Yoshinori  <okuji@gnu.org>
3186
 
 
3187
 
        From Alessandro Rubini:
3188
 
        * util/grub-install.in (root_device): Use the regular expression
3189
 
        's%.*\(/dev/[^  ]*\).*%\1%' instead of
3190
 
        's%.*\(/dev/[a-z0-9]*\).*%\1%'.
3191
 
        (bootdir_device): Likewise.
3192
 
        (grubdir_device): Likewise.
3193
 
        
3194
 
2000-10-10  OKUJI Yoshinori  <okuji@gnu.org>
3195
 
 
3196
 
        * stage2/start.S (copy_buffer): Use pusha and popa instead of
3197
 
        pushing and poping %di and %si individually, to reduce the code
3198
 
        size and save %cx as well. Reported by Herbert Nachtnebel
3199
 
        <nachtneb@iaee.tuwien.ac.at>.
3200
 
        
3201
 
2000-10-10  OKUJI Yoshinori  <okuji@gnu.org>
3202
 
 
3203
 
        From Daniel Pittman <daniel@rimspace.net>:
3204
 
        * stage2/builtins.c (setkey_func): Check if
3205
 
        KEYSYM_TABLE[I].UNSHIFTED_NAME and KEYSYM_TABLE[I].SHIFTED_NAME
3206
 
        are not NULLs, before calling grub_strcmp.
3207
 
        
3208
 
2000-10-08  OKUJI Yoshinori  <okuji@gnu.org>
3209
 
 
3210
 
        * util/grub-install.in (grub_prefix): New variable. The default
3211
 
        is "/boot/grub".
3212
 
        If the user has a separate boot partition, set grub_prefix
3213
 
        instead of grubdir to "/grub".
3214
 
        When running the command "setup", specify $grub_prefix instead
3215
 
        of $grubdir to the option "--prefix".
3216
 
        Report by Thierry Laronde.
3217
 
        
3218
 
2000-10-08  OKUJI Yoshinori  <okuji@gnu.org>
3219
 
 
3220
 
        * stage2/builtins.c (find_func): Clear ERRNUM after the last
3221
 
        call of next_partition, because it always sets ERRNUM. Reported
3222
 
        by Thierry Laronde <thierry.laronde@polynum.com>.
3223
 
        
3224
 
2000-10-07  OKUJI Yoshinori  <okuji@gnu.org>
3225
 
 
3226
 
        * lib/device.c [__linux__] (write_to_partition): Open DEV with
3227
 
        O_RDWR instead of O_ORONLY.
3228
 
        
3229
 
2000-10-06  Alessandro Rubini  <rubini@gnu.org>
3230
 
 
3231
 
        * docs/user-ref.texi (Commands): Added missing commands and
3232
 
        reworded part of the text.
3233
 
 
3234
 
        * stage2/builtins.c (serial_func): Unswap the setting of "speed"
3235
 
        and "port".
3236
 
 
3237
 
2000-10-06  OKUJI Yoshinori  <okuji@gnu.org>
3238
 
 
3239
 
        * stage2/builtins.c (setup_func): Append "... " to the
3240
 
        messages when calling embed_func and install_func, and print
3241
 
        the result.
3242
 
        Don't jump to the label "fail", even when embed_func failed.
3243
 
        
3244
 
2000-10-05  Gordon Matzigkeit  <gord@fig.org>
3245
 
 
3246
 
        * stage2/disk_io.c (real_open_partition): Make sure that buf_geom
3247
 
        corresponds to the current drive before using it.
3248
 
 
3249
 
        * lib/device.c (get_drive_geometry): Use fstat if the native
3250
 
        geometry methods fail, such as when the drive is mapped to a
3251
 
        regular file.
3252
 
 
3253
 
        * docs/tutorial.texi: Add `@kbd{...}' to examples in order to
3254
 
        differentiate between command output and characters the user
3255
 
        should type.
3256
 
        * docs/user-ref.texi: Likewise.
3257
 
 
3258
 
2000-10-05  OKUJI Yoshinori  <okuji@gnu.org>
3259
 
 
3260
 
        * docs/grub.texi: Added an entry for the chapter "Serial
3261
 
        terminal".
3262
 
        * docs/tutorial.texi (Serial terminal): New chapter.
3263
 
        
3264
 
2000-10-04  Gordon Matzigkeit  <gord@fig.org>
3265
 
 
3266
 
        * util/grub-image (VERSION): Fix version calculation to tolerate
3267
 
        `(GNU GRUB 0.5.96)'-style versions.
3268
 
 
3269
 
        * docs/grub.texi: Remove braces from `@unnumbered' sections so
3270
 
        that texi2html doesn't complain.
3271
 
 
3272
 
        * debian/rules: Build HTML documentation to appease the Debian
3273
 
        masses.
3274
 
 
3275
 
2000-10-04  OKUJI Yoshinori  <okuji@gnu.org>
3276
 
 
3277
 
        * stage2/fsys_reiserfs.c (reiserfs_mount): Compare PART_LENGTH
3278
 
        with SUPERBLOCK + (sizeof(super) >> SECTOR_BITS) instead of
3279
 
        sizeof(struct reiserfs_super_block). Reported by Jochen
3280
 
        Hoenicke.
3281
 
        
3282
 
2000-10-05  OKUJI Yoshinori  <okuji@gnu.org>
3283
 
 
3284
 
        * configure.in (AM_INIT_AUTOMAKE): The version number is set to
3285
 
        0.5.97. This version number is a dummy, as we will never release
3286
 
        0.5.97 actually.
3287
 
        
3288
 
2000-10-01  OKUJI Yoshinori  <okuji@gnu.org>
3289
 
 
3290
 
        * lib/device.c [__linux__]: Don't include <linux/cdrom.h>.
3291
 
        [__linux__ && !CDROM_GET_CAPABILITY] (CDROM_GET_CAPABILITY):
3292
 
        Defined as 0x5331.
3293
 
        
3294
 
2000-10-01  OKUJI Yoshinori  <okuji@gnu.org>
3295
 
 
3296
 
        * lib/device.c (get_drive_geometry) [__GNU__]: Get the number of
3297
 
        total sectors by fstat. The rest are filled with arbitrary
3298
 
        values.
3299
 
        
3300
 
2000-09-30  OKUJI Yoshinori  <okuji@gnu.org>
3301
 
 
3302
 
        * util/grub-install.in (convert): The code for gnu* (i.e.
3303
 
        GNU/Hurd) was rewritten, since it didn't work for BSD
3304
 
        partitions.
3305
 
        Use "$tmp_disk *$" instead of "$tmp_disk" to get the drive name.
3306
 
        
3307
 
2000-09-30  OKUJI Yoshinori  <okuji@gnu.org>
3308
 
 
3309
 
        * stage2/fsys_reiserfs.c (reiserfs_mount): Check if the length
3310
 
        of the partition is less than the size of a super block, before
3311
 
        attempting to read the super block.
3312
 
 
3313
 
        * grub/asmstub.c (console_putchar)
3314
 
        [HAVE_LIBCURSES_H && REFRESH_IMMEDIATELY]: Call refresh, to ease
3315
 
        debugging.
3316
 
        
3317
 
2000-09-30  OKUJI Yoshinori  <okuji@gnu.org>
3318
 
 
3319
 
        Added two new commands, "partnew" and "parttype", based on the
3320
 
        patch by Stefan Ondrejicka <ondrej@idata.sk>:
3321
 
        * stage2/builtins.c (partnew_func): New function.
3322
 
        (builtin_partnew): New variable.
3323
 
        (parttype_func): New function.
3324
 
        (builtin_parttype): New variable.
3325
 
        (builtin_table): Added pointers to BUILTIN_PARTNEW and to
3326
 
        BUILTIN_PARTTYPE.
3327
 
        
3328
 
2000-09-29  OKUJI Yoshinori  <okuji@gnu.org>
3329
 
 
3330
 
        * stage2/builtins.c (find_func): New variable GOT_FILE is set to
3331
 
        one if FILENAME is found. Otherwise, it is set to zero.
3332
 
        Clear ERRNUM at the end in the loop for floppies, to ensure that
3333
 
        ERRNUM is cleared before examining hard disks.
3334
 
        Rewrite the loop for hard disks using next_partitions, so this
3335
 
        function now checks all partitions you have certainly.
3336
 
        If GOT_FILE is non-zero, set ERRNUM to ERR_FILE_NOT_FOUND and
3337
 
        return one.
3338
 
        
3339
 
2000-09-29  OKUJI Yoshinori  <okuji@gnu.org>
3340
 
 
3341
 
        * stage2/disk_io.c (check_BSD_parts): Removed.
3342
 
        (next_partition): New function.
3343
 
        (real_open_partition): Rewritten using next_partition.
3344
 
        (set_device) [!STAGE1_5]: Skip a comma in DEVICE, even when the
3345
 
        BSD partition is not specified.
3346
 
        [!STAGE1_5] (print_completions): Don't append ')' if the
3347
 
        partition is a PC slice which may have BSD partitions. Instead,
3348
 
        try to complete the command-line with possible partitions.
3349
 
        * stage2/shared.h (next_partition): Declared.
3350
 
        
3351
 
2000-09-27  OKUJI Yoshinori  <okuji@gnu.org>
3352
 
 
3353
 
        * configure.in (--enable-serial): Changed to ...
3354
 
        (--disable-serial): ... this. Now the serial support is enabled
3355
 
        by default.
3356
 
        
3357
 
2000-09-27  OKUJI Yoshinori  <okuji@gnu.org>
3358
 
 
3359
 
        * stage2/char_io.c [!STAGE1_5] (get_cmdline) [!SUPPORT_SERIAL]: 
3360
 
        Don't check if the terminal is dumb. If the terminal is console,
3361
 
        always use console functions.
3362
 
        * stage2/builtins.c [!SUPPORT_NETBOOT] (bootp_func): Undefined.
3363
 
        [!SUPPORT_NETBOOT] (builtin_bootp): Likewise.
3364
 
        [!GRUB_UTIL] (device_func): Likewise.
3365
 
        [!GRUB_UTIL] (builtin_device): Likewise.
3366
 
        [!SUPPORT_NETBOOT] (dhcp_func): Likewise.
3367
 
        [!SUPPORT_NETBOOT] (builtin_dhcp): Likewise.
3368
 
        [!GRUB_UTIL] (quit_func): Likewise.
3369
 
        [!GRUB_UTIL] (builtin_quit): Likewise.
3370
 
        [!SUPPORT_NETBOOT] (rarp_func): Likewise.
3371
 
        [!SUPPORT_NETBOOT] (builtin_rarp): Likewise.
3372
 
        [!SUPPORT_SERIAL] (serial_func): Likewise.
3373
 
        [!SUPPORT_SERIAL] (builtin_serial): Likewise.
3374
 
        [!SUPPORT_SERIAL] (terminal_func): Likewise.
3375
 
        [!SUPPORT_SERIAL] (builtin_terminal): Likewise.
3376
 
        [!SUPPORT_NETBOOT] (tftpserver_func): Likewise.
3377
 
        [!SUPPORT_NETBOOT] (builtin_tftpserver): Likewise.
3378
 
        (builtin_table) [!SUPPORT_NETBOOT]: Removed the pointers to
3379
 
        BUILTIN_BOOTP, BUILTIN_DHCP, BUILTIN_RARP, and
3380
 
        BUILTIN_TFTPSERVER.
3381
 
        (builtin_table) [!SUPPORT_SERIAL]: Removed the pointers to
3382
 
        BUILTIN_SERIAL and BUILTIN_TERMINAL.
3383
 
        (builtin_table) [!GRUB_UTIL]: Removed the pointers to
3384
 
        BUILTIN_DEVICE and BUILTIN_QUIT.
3385
 
        
3386
 
2000-09-26  OKUJI Yoshinori  <okuji@gnu.org>
3387
 
 
3388
 
        * util/grub-install.in (bootdir_device): New variable. If
3389
 
        $bootdir_device is not the same as $root_device, set root_device
3390
 
        and grubdir to $bootdir_device and "/grub", respectively.
3391
 
        Add --prefix=$grubdir into the command "setup".
3392
 
        
3393
 
2000-09-26  OKUJI Yoshinori  <okuji@gnu.org>
3394
 
 
3395
 
        Add --prefix=DIR to the command "setup".
3396
 
        
3397
 
        * stage2/builtins.c (setup_func): New nested function,
3398
 
        check_file checks if the file FILE exists.
3399
 
        Remove the prefix "/boot/grub" in STAGE1_5_MAP.
3400
 
        Don't hardcode "/boot/grub/stage1", "/boot/grub/stage2", or
3401
 
        "/boot/grub/menu.lst". Instead, check if ARG contains
3402
 
        "--prefix=", and if specified, set PREFIX to the value.
3403
 
        If not specified, check "/boot/grub/stage1" and, if not found,
3404
 
        check "/grub/stage1". If a stage1 was found, set PREFIX to the
3405
 
        directory which contains the stage1.
3406
 
        
3407
 
2000-09-12  OKUJI Yoshinori  <okuji@gnu.org>
3408
 
 
3409
 
        Add additional magic to avoid a bug in Linux. *sigh*
3410
 
        
3411
 
        * stage2/boot.c (load_image): Copy SRC to DEST first, and append
3412
 
        a "mem=" option to DEST instead of prepending.
3413
 
        
3414
 
2000-09-11  OKUJI Yoshinori  <okuji@gnu.org>
3415
 
 
3416
 
        Reported by Alessandro Rubini:
3417
 
        * stage2/fsys_minix.c (minix_mount): Check if CURRENT_SLICE is a
3418
 
        partition type for minix fs, using the macro
3419
 
        IS_PC_SLICE_TYPE_MINIX.
3420
 
        * stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_MINIX): New macro.
3421
 
        (IS_PC_SLICE_TYPE_MINIX): Likewise.
3422
 
        
3423
 
2000-09-09  Alessandro Rubini  <rubini@morgana.systemy.it>
3424
 
 
3425
 
        * stage1/stage1.S (notification_string): Print "GRUB " instead
3426
 
        of "stage1 ".
3427
 
        * stage2/start.S [STAGE1_5] (notification_string): Print
3428
 
        "Loading stage1.5" instead of "stage1.5 ".
3429
 
        [!STAGE1_5] (notification_string): Print "Loading stage2"
3430
 
        instead of "stage2 ".
3431
 
        (notification_step): New label, followed by a string ".".
3432
 
        (notification_done): New label, followed by a string "\r\n".
3433
 
        (copy_buffer): Print NOTIFICATION_STEP after copying the buffer.
3434
 
        (bootit): Print NOTIFICATION_DONE before restoring %dx.
3435
 
        
3436
 
2000-09-09  OKUJI Yoshinori  <okuji@gnu.org>
3437
 
 
3438
 
        From Alessandro Rubini:
3439
 
        * configure.in (CPPFLAGS): Added -malign-jumps=1,
3440
 
        -malign-loops=1 and -malign-functions=1.
3441
 
        
3442
 
2000-09-07  OKUJI Yoshinori  <okuji@gnu.org>
3443
 
 
3444
 
        From Hal Snyder <hal@vailsys.com>:
3445
 
        * lib/device.c (get_drive_geometry) [__FreeBSD__ || __NetBSD__
3446
 
        || __OpenBSD__]: Call ioctl for FD instead of
3447
 
        DISKS[DRIVE].FLAGS. This was a mistake when I segregated this
3448
 
        function from asmstub.c.
3449
 
        
3450
 
2000-09-07  Alessandro Rubini  <rubini@gnu.org>
3451
 
 
3452
 
        * docs/tutorial.texi: Fixed a few typos and minor imprecisions.
3453
 
        * docs/prog-ref.texi: Likewise.
3454
 
        * docs/user-ref.texi: Likewise.
3455
 
 
3456
 
2000-09-07  OKUJI Yoshinori  <okuji@gnu.org>
3457
 
 
3458
 
        From Alessandro Rubini:
3459
 
        * stage2/builtins.c (terminal_func): Rename TIMEOUT to TO, to
3460
 
        suppress GCC warnings.
3461
 
        * grub/asmstub.c (serial_checkkey): Likewise.
3462
 
        
3463
 
2000-09-06  OKUJI Yoshinori  <okuji@gnu.org>
3464
 
 
3465
 
        * stage2/char_io.c [!STAGE1_5] (auto_fill): New variable.
3466
 
        [!STAGE1_5] (get_cmdline): Save AUTO_FILL in SAVED_AUTO_FILL in
3467
 
        the beginning and restore AUTO_FILL before return.
3468
 
        Set AUTO_FILL to one and zero before and after calling
3469
 
        print_completions, respectively.
3470
 
        (grub_putchar) [!STAGE1_5]: Use a static variable COL to track
3471
 
        the position of the cursor. If C is a carriage return, clear
3472
 
        COL. If C is a backspace and COL is positive, decrease COL. If C
3473
 
        is a printable character, increase COL. In this case, if
3474
 
        AUTO_FILL is non-zero and COL is greater than or equal to 79,
3475
 
        put a newline automatically.
3476
 
        * stage2/shared.h (auto_fill): Declared.
3477
 
        * stage2/stage2.c (run_menu): In the menu interface, disable the
3478
 
        auto fill mode (i.e. set AUTO_FILL to zero), and enable it again
3479
 
        when booting an entry.
3480
 
        (cmain): Initialize AUTO_FILL (i.e. set it to one) in the
3481
 
        beginning of the loop.
3482
 
        
3483
 
2000-09-06  OKUJI Yoshinori  <okuji@gnu.org>
3484
 
 
3485
 
        Add support for "boot previously booted entry by default", based
3486
 
        on the patch by Mike Meyer <mwm@mired.org>, but I've modified
3487
 
        his patch thoroughly.
3488
 
        
3489
 
        * grub/asmstub.c (saved_entryno): New variable. This is a dummy.
3490
 
        * stage1/stage1.h (COMPAT_VERSION_MINOR): Incremented.
3491
 
        * stage2/asm.S (saved_entryno): New variable.
3492
 
        (codestart) [!SUPPORT_DISKLESS]: Set INSTALL_SECOND_SECTOR to
3493
 
        %ebp. %ebp is set in start.S.
3494
 
        (install_second_sector): New variable.
3495
 
        * stage2/builtins.c (current_entryno): New variable.
3496
 
        (default_func) [!SUPPORT_DISKLESS]: If ARG is "saved", set
3497
 
        DEFAULT_ENTRY to SAVED_ENTRYNO.
3498
 
        (savedefault_func): New function.
3499
 
        (builtin_savedefault): New variable.
3500
 
        (builtin_table): Added a pointer to BUILTIN_SAVEDEFAULT.
3501
 
        * stage2/shared.h (STAGE2_SAVED_ENTRYNO): New macro.
3502
 
        (STAGE2_STAGE2_ID): Changed to 0x10.
3503
 
        (STAGE2_FORCE_LBA): Chaged to 0x11.
3504
 
        (STAGE2_VER_STR_OFFS): Changed to 0x12.
3505
 
        (install_second_sector): Declared.
3506
 
        (saved_entryno): Likewise.
3507
 
        (current_entryno): Likewise.
3508
 
        * stage2/stage2.c (run_menu): Set CURRENT_ENTRYNO to FIRST_ENTRY
3509
 
        + ENTRYNO, right before calling run_script.
3510
 
        * stage2/start.S (start): Save the sector number of the second
3511
 
        sector in %ebp.
3512
 
        
3513
 
2000-09-05  OKUJI Yoshinori  <okuji@gnu.org>
3514
 
 
3515
 
        * stage1/stage1.S (lba_mode) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
3516
 
        Don't check for the geometry, since some BIOSes don't return the
3517
 
        number of total sectors correctly, even if they have working LBA
3518
 
        support.
3519
 
        * stage2/start.S (lba_mode) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
3520
 
        Likewise.
3521
 
        * stage2/bios.c (biosdisk) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
3522
 
        Likewise.
3523
 
        Reported by Jan Fricke <fricke@uni-greifswald.de> and Pixel
3524
 
        <pixel@mandrakesoft.com>.
3525
 
        
3526
 
2000-09-05  OKUJI Yoshinori  <okuji@gnu.org>
3527
 
 
3528
 
        From Alessandro Rubini <rubini@gnu.org>:
3529
 
        * stage2/char_io.c (print_error) [!STAGE1_5]: Print ERRNUM like
3530
 
        "Error 9: Unknown boot failure".
3531
 
        (print_error) [STAGE1_5]: Don't print a colon.
3532
 
        * util/grub-install.in: When checking if an error occurred, use
3533
 
        the expression "Error [0-9]*: " instead of "Error: ".
3534
 
        * docs/user-ref.texi (Stage1.5 errors): Updated, since the error
3535
 
        form changed.
3536
 
        
3537
 
2000-09-04  OKUJI Yoshinori  <okuji@gnu.org>
3538
 
 
3539
 
        * stage2/stage2.c (run_menu) [GRUB_UTIL]: Set DISP_UP and
3540
 
        DISP_DOWN to ACS_UARROW and ACS_DARROW, respectively. Don't call
3541
 
        grub_printf here.
3542
 
        (run_menu) [!GRUB_UTIL]: Don't call grub_printf here. Instead,
3543
 
        call it...
3544
 
        (run_menu): ... here.
3545
 
        * stage2/shared.h (ACS_ULCORNER): Always define this ourselves,
3546
 
        whether your curses library has the definition.
3547
 
        (ACS_URCORNER): Likewise.
3548
 
        (ACS_LLCORNER): Likewise.
3549
 
        (ACS_LRCORNER): Likewise.
3550
 
        (ACS_HLINE): Likewise.
3551
 
        (ACS_VLINE): Likewise.
3552
 
        (ACS_LARROW): Likewise.
3553
 
        (ACS_RARROW): Likewise.
3554
 
        (ACS_UARROW): Likewise.
3555
 
        (ACS_DARROW): Likewise.
3556
 
 
3557
 
        * stage2/char_io.c [SUPPORT_SERIAL] (serial_cls): If the
3558
 
        terminal is dumb, just put a newline.
3559
 
        * stage2/builtins.c (terminal_func) [SUPPORT_SERIAL]: When
3560
 
        choosing a terminal, don't set TERMINAL to the type of the
3561
 
        terminal. Instead, apply a logical AND operation with
3562
 
        TERMINAL_DUMB, since previous code brushed off the dumb
3563
 
        attribute.
3564
 
        
3565
 
2000-09-04  OKUJI Yoshinori  <okuji@gnu.org>
3566
 
 
3567
 
        * stage2/stage2.c (run_menu): If SHOW_MENU is zero, print a
3568
 
        message with the timeout per second.
3569
 
        If GRUB_TIMEOUT is negative, set SHOW_MENU to one, since the
3570
 
        condition "no timeout and no interface" is nonsense.
3571
 
        If GRUB_TIMEOUT is equal to or greater than zero and the
3572
 
        terminal is dumb, set SHOW_MENU to zero.
3573
 
        If SHOW_MENU is non-zero and the terminal is dumb, enter the
3574
 
        command-line interface instead. If AUTH is false and PASSWORD is
3575
 
        non-NULL, prompt the user to enter a password until the entered
3576
 
        password is identical to PASSWORD.
3577
 
        
3578
 
2000-09-03  OKUJI Yoshinori  <okuji@gnu.org>
3579
 
 
3580
 
        * util/grub-install.in: Fix a typo: grub_dir -> grubdir.
3581
 
        * stage2/builtins.c (install_func) [GRUB_UTIL]: Open a Stage 2
3582
 
        with "r+" instead of "r", as GRUB needs to overwrite it.
3583
 
        
3584
 
2000-09-02  OKUJI Yoshinori  <okuji@gnu.org>
3585
 
 
3586
 
        * stage2/stage2.c (run_menu): Don't use either `p' or `n' to
3587
 
        move the cursor, because `p' is already used for another
3588
 
        purpose (password).
3589
 
        (run_menu) [SUPPORT_SERIAL]: Don't set the variables DISP_UP and
3590
 
        DISP_DOWN at the start time. Instead, set them just before using
3591
 
        them actually, because TERMINAL may change when running a menu.
3592
 
        
3593
 
2000-09-01  Klaus Reichl  <Klaus.Reichl@alcatel.at>
3594
 
 
3595
 
        * stage2/stage2.c (run_menu): Setup and use disp_up, disp_down
3596
 
        depending on the terminal mode.
3597
 
        (run_menu): Allow '^' (resp. 'p') and 'v' (resp 'n') keys we
3598
 
        described in our help above (resp. authors preferences).
3599
 
 
3600
 
2000-08-31  Klaus Reichl  <Klaus.Reichl@alcatel.at>
3601
 
 
3602
 
        * stage2/stage2.c (set_line): Go back one char, which is
3603
 
        consistent with the original situation, when a timeout was
3604
 
        running.  
3605
 
        (run_menu): If GRUB_TIMEOUT is stopped don't loop busy over
3606
 
        CHECKKEY, just relax in GETKEY. 
3607
 
 
3608
 
        * stage2/builtins.c (serial_func): --speed handling: corrected
3609
 
        typo: set SPEED instead of PORT. 
3610
 
        
3611
 
2000-08-31  OKUJI Yoshinori  <okuji@gnu.org>
3612
 
 
3613
 
        * stage2/builtins.c (terminal_func): Added two new options,
3614
 
        --dumb and --timeout=SECS.
3615
 
        * stage2/char_io.c [!STAGE1_5] (getkey): Use logical AND
3616
 
        operations, when checking if the terminal is a console or a
3617
 
        serial terminal.
3618
 
        [!STAGE1_5] (getkey) [SUPPORT_SERIAL]: Don't check if both
3619
 
        TERMINAL_CONSOLE and TERMINAL_SERIAL are set in TERMINAL.
3620
 
        
3621
 
2000-08-31  OKUJI Yoshinori  <okuji@gnu.org>
3622
 
 
3623
 
        * stage1/stage1.S (MOV_MEM_TO_AL): New macro.
3624
 
        (real_start): Use the macro MOV_MEM_TO_AL instead of using movb
3625
 
        directly, because binutils-2.9.1.0.x doesn't produce a short
3626
 
        opcode for it automatically. Reported by Alessandro Rubini
3627
 
        <rubini@gnu.org>.
3628
 
 
3629
 
2000-08-30  OKUJI Yoshinori  <okuji@gnu.org>
3630
 
 
3631
 
        * configure.in (CPPFLAGS): Remove -Wundef by default. Add the
3632
 
        option only if the C compiler supports it, because GCC 2.7.x
3633
 
        doesn't support it.
3634
 
        * grub/main.c (longopts): The type of the argument for "hold" is
3635
 
        changed to OPTIONAL_ARGUMENT.
3636
 
        (main): If --hold is specified, check if OPTARG is zero. If so,
3637
 
        set HOLD to -1, otherwise, set it to the digit OPTARG.
3638
 
        If HOLD is greater than zero, decrease it once per loop.
3639
 
        
3640
 
2000-08-30  OKUJI Yoshinori  <okuji@gnu.org>
3641
 
 
3642
 
        The command-line interface is switched to single-line editing
3643
 
        mode.
3644
 
        
3645
 
        * stage2/char_io.c [!STAGE1_5] (get_cmdline): Extensively
3646
 
        rewritten. The nested functions cl_print and cl_kill_to_end are
3647
 
        removed, cl_refresh, cl_backward, cl_forward and cl_delete are
3648
 
        added, and, cl_init and cl_insert are rewritten from scratch.
3649
 
        See the source code, for more information. I don't think this
3650
 
        kind of changes can be represented in ChangeLog.
3651
 
        [!STAGE1_5] (CMDLINE_WIDTH): New macro.
3652
 
        [!STAGE1_5] (CMDLINE_MARGIN): Likewise.
3653
 
        * stage2/shared.h (TERMINAL_DUMB): Likewise.
3654
 
        
3655
 
2000-08-28  OKUJI Yoshinori  <okuji@gnu.org>
3656
 
 
3657
 
        * grub/asmstub.c (console_putchar) [HAVE_LIBCURSES]: If
3658
 
        USE_CURSES is true, emulate a new line like a ordinary terminal,
3659
 
        because ncurses treats it badly. If current position on y-axis
3660
 
        is the bottom of the screen, call scroll. Otherwise, call move
3661
 
        with the arguments, Y + 1 and X, where X and Y are current
3662
 
        position of the cursor.
3663
 
        
3664
 
2000-08-28  OKUJI Yoshinori  <okuji@gnu.org>
3665
 
 
3666
 
        * stage2/asm.S (console_putchar): Don't print a carriage return
3667
 
        when C is a newline.
3668
 
        * stage2/char_io.c (grub_putchar): Call grub_putchar with the
3669
 
        arugment set to a carriage return, if C is a newline.
3670
 
        [!STAGE1_5 && SUPPORT_SERIAL]: Don't print a carriage return
3671
 
        when C is a newline.
3672
 
        
3673
 
2000-08-27  OKUJI Yoshinori  <okuji@gnu.org>
3674
 
 
3675
 
        * lib/device.c [__linux__]: Don't include linux/fs.h.
3676
 
        [!BLKGETSIZE] (BLKGETSIZE): Defined as _IO(0x12,96).
3677
 
        * grub/asmstub.c [__linux__]: Don't include linux/fs.h.
3678
 
        
3679
 
2000-08-27  OKUJI Yoshinori  <okuji@gnu.org>
3680
 
 
3681
 
        Preserve a magic number used by Windows NT in a MBR. Shit!
3682
 
        Reported by Khimenko Victor.
3683
 
        
3684
 
        * stage1/stage1.h (STAGE1_WINDOWS_NT_MAGIC): New macro.
3685
 
        * stage1/stage1.S (copy_buffer): Use pusha and popa, instead of
3686
 
        pushing/poping %cx and %si separately, to reduce the code size.
3687
 
        (nt_magic): New label. Set the offset to _start plus
3688
 
        STAGE1_WINDOWS_NT_MAGIC
3689
 
        (part_start): New label.
3690
 
        * stage2/builtins.c (install_func): If DEST_DRIVE is a hard
3691
 
        disk, copy the possible partition table and Windows NT magic to
3692
 
        STAGE1_BUFFER from OLD_SECT.
3693
 
        
3694
 
2000-08-26  OKUJI Yoshinori  <okuji@gnu.org>
3695
 
 
3696
 
        * stage2/char_io.c (translate_keycode) [SUPPORT_SERIAL]: Don't
3697
 
        drain the input buffer, since that was irritating.
3698
 
        
3699
 
2000-08-26  OKUJI Yoshinori  <okuji@gnu.org>
3700
 
 
3701
 
        Don't save/restore fragile registers unnecessarily.
3702
 
        
3703
 
        * stage2/asm.S [!STAGE1_5] (track_int13): Don't save/restore
3704
 
        %ecx, %edx, or %eax.
3705
 
        [!STAGE1_5] (set_int13_handler): Likewise.
3706
 
        (biosdisk_int13_extensions): Likewise.
3707
 
        (biosdisk_standard): Likewise.
3708
 
        (check_int13_extensions): Likewise.
3709
 
        (get_diskinfo_int13_extensions): Likewise.
3710
 
        (get_diskinfo_standard): Likewise.
3711
 
        (get_diskinfo_floppy): Likewise.
3712
 
        [!STAGE1_5] (get_eisamemsize): Likewise.
3713
 
        [!STAGE1_5] (get_mmap_entry): Likewise.
3714
 
        [!STAGE1_5] (console_cls): Likewise.
3715
 
        [!STAGE1_5] (nocursor): Likewise.
3716
 
        [!STAGE1_5] (console_getxy): Likewise.
3717
 
        [!STAGE1_5] (console_gotoxy): Likewise.
3718
 
        [!STAGE1_5] (set_attrib): Likewise.
3719
 
        [!STAGE1_5] (getrtsecs): Likewise.
3720
 
        [!STAGE1_5] (currticks): Likewise, and don't zero %eax
3721
 
        explicitly, since prot_to_real does that.
3722
 
        
3723
 
2000-08-25  OKUJI Yoshinori  <okuji@gnu.org>
3724
 
 
3725
 
        * stage2/char_io.c [!STAGE1_5] (translate_keycode): New
3726
 
        function. The serial part is stolen from the patch by Christoph
3727
 
        Plattner.
3728
 
        [!STAGE1_5] (get_cmdline): Call translate_keycode instead of
3729
 
        translating special key codes into ASCII characters by itself.
3730
 
        * stage2/stage2.c (run_menu): Wrap getkey with the macro
3731
 
        ASCII_CHAR, when checking if ESC is pressed.
3732
 
        Call translate_keycode as well as getkey, unless checkkey
3733
 
        returns -1. So don't check if C is KEY_DOWN or KEY_UP. And don't
3734
 
        use the macro ASCII_CHAR for C explicitly.
3735
 
        * stage2/shared.h (translate_keycode): Declared.
3736
 
        
3737
 
2000-08-24  OKUJI Yoshinori  <okuji@gnu.org>
3738
 
 
3739
 
        * stage2/builtins.c [GRUB_UTIL]: Include stdio.h before
3740
 
        shared.h. Reported by Mathieu Chouquet-Stringer
3741
 
        <mchouque@cs.stevens-tech.edu>.
3742
 
        
3743
 
2000-08-21  OKUJI Yoshinori  <okuji@gnu.org>
3744
 
 
3745
 
        * configure.in (--enable-serial-speed-emulation): New option.
3746
 
        (SERIAL_SPEED_SIMULATION): New conditional.
3747
 
        * grub/Makefile.am (SERIAL_FLAGS): New variable. Set
3748
 
        -DSUPPORT_SERIAL=1 and -DSIMULATE_SLOWNESS_OF_SERIAL=1, if
3749
 
        SERIAL_SPEED_SIMULATION is defined, otherwise, set it to
3750
 
        only -DSUPPORT_SERIAL=1.
3751
 
        (AM_CFLAGS): Removed -DSUPPORT_SERIAL=1 and added
3752
 
        $(SERIAL_FLAGS).
3753
 
        * grub/asmstub.c [SIMULATE_SLOWNESS_OF_SERIAL] (serial_speed):
3754
 
        New variable.
3755
 
        (grub_setjmp): Removed.
3756
 
        (grub_longjmp): Likewise.
3757
 
        (serial_getkey) [SIMULATE_SLOWNESS_OF_SERIAL]: Wait for
3758
 
        1000000 / (SERIAL_SPEED >> 3) microseconds using gettimeofday.
3759
 
        (serial_putchar) [SIMULATE_SLOWNESS_OF_SERIAL]: Likewise.
3760
 
        (serial_init) [SIMULATE_SLOWNESS_OF_SERIAL]: Set SERIAL_SPEED to
3761
 
        SPEED.
3762
 
        * stage2/builtins.c (serial_func) [SUPPORT_SERIAL]: Added
3763
 
        a new option, `--speed'.
3764
 
        (builtin_serial): Added a description about --speed.
3765
 
        (terminal_func): When get a key from a serial device, if GRUB is
3766
 
        in the command-line interface, call grub_longjmp with
3767
 
        RESTART_CMDLINE_ENV, instead of init_page.
3768
 
        * stage2/cmdline.c (restart_cmdline_env): New variable.
3769
 
        (enter_cmdline): Call grub_setjmp with RESTART_CMDLINE_ENV after
3770
 
        calling init_cmdline.
3771
 
        (run_script): Run BUILTIN->FUNC with BUILTIN_SCRIPT instead of
3772
 
        BUILTIN_CMDLINE.
3773
 
        * stage2/shared.h (BUILTIN_SCRIPT): New macro.
3774
 
        [GRUB_UTIL] (grub_setjmp): Defined as setjmp.
3775
 
        [GRUB_UTIL] (grub_longjmp): Defined as longjmp.
3776
 
        (restart_cmdline_env): Declared.
3777
 
        
3778
 
2000-08-20  OKUJI Yoshinori  <okuji@gnu.org>
3779
 
 
3780
 
        * configure.in (--enable-serial): New option. Serial terminal
3781
 
        support will be enabled by default, once it is stabilized.
3782
 
        (SERIAL_SUPPORT): New conditional.
3783
 
        * grub/Makefile.am (AM_CFLAGS): Added -DSUPPORT_SERIAL=1.
3784
 
        * grub/asmstub.c (cls): Renamed to ...
3785
 
        (console_cls): ... this.
3786
 
        (getxy): Renamed to ...
3787
 
        (console_getxy): ... this.
3788
 
        (gotoxy): Renamed to ...
3789
 
        (console_gotoxy): ... this.
3790
 
        * stage2/Makefile.am (libgrub_a_CFLAGS): Added
3791
 
        -DSUPPORT_SERIAL=1.
3792
 
        (NETBOOT_FLAGS): New variable.
3793
 
        (SERIAL_FLAGS): Likewise.
3794
 
        (STAGE2_COMPILE): Added $(NETBOOT_FLAGS) and $(SERIAL_FLAGS).
3795
 
        * stage2/asm.S [!STAGE1_5] (cls): Renamed to ...
3796
 
        [!STAGE1_5] (console_cls): ... this.
3797
 
        [!STAGE1_5] (getxy): Renamed to ...
3798
 
        [!STAGE1_5] (console_getxy): ... this.
3799
 
        [!STAGE1_5] (gotoxy): Renamed to ...
3800
 
        [!STAGE1_5] (console_gotoxy): ... this.
3801
 
        * stage2/builtins.c (terminal_func): If the bit flag
3802
 
        BUILTIN_CMDLINE in FLAGS is set, call init_page. But this should
3803
 
        be fixed so that it restarts enter_cmdline instead.
3804
 
        * stage2/char_io.c [!STAGE1_5] (gotoxy): New function.
3805
 
        [!STAGE1_5] (serial_gotoxy): Likewise.
3806
 
        [!STAGE1_5] (getxy): Likewise.
3807
 
        [!STAGE1_5] (serial_getxy): Likewise.
3808
 
        [!STAGE1_5] (cls): Likewise.
3809
 
        [!STAGE1_5] (serial_cls): Likewise.
3810
 
        * stage2/serial.h (serial_cls): Declared.
3811
 
        (serial_getxy): Likewise.
3812
 
        (serial_gotoxy): Likewise.
3813
 
        * stage2/shared.h (console_cls): Likewise.
3814
 
        (console_getxy): Likewise.
3815
 
        (console_gotoxy): Likewise.
3816
 
        * stage2/stage2.c (print_entries): If serial terminal is
3817
 
        enabled, print ACS_UARROW and ACS_DARROW instead of DISP_UP and
3818
 
        DISP_DOWN, respectively.
3819
 
        (print_border): If serial terminal is enabled, print
3820
 
        ACS_ULCORNER, ACS_URCORNER, ACS_LLCORNER, ACS_LRCORNER,
3821
 
        ACS_HLINE and ACS_VLINE instead of DISP_UL, DISP_UR, DISP_LL,
3822
 
        DISP_LR, DISP_HORIZ and DISP_VERT, respectively.
3823
 
        (print_border) [SUPPORT_SERIAL]: Color the menu only if console
3824
 
        is used.
3825
 
        (set_line): Take two more arguments, ENTRYNO and MENU_ENTRIES.
3826
 
        (set_line_normal): Likewise.
3827
 
        (set_line_highlight): Likewise.
3828
 
        (set_line) [SUPPORT_SERIAL]: If serial terminal is enabled, get
3829
 
        the menu entry whose attributes are being changed and redraw the
3830
 
        line.
3831
 
        (set_line_highlight) [SUPPORT_SERIAL]: If serial terminal is
3832
 
        enabled, print `ESC [ 7 m' and `ESC [ 0 m' before and after
3833
 
        calling set_line, respectively.
3834
 
        (run_menu) [SUPPORT_SERIAL]: Call nocursor only if console is
3835
 
        used.
3836
 
        
3837
 
2000-08-20  OKUJI Yoshinori  <okuji@gnu.org>
3838
 
 
3839
 
        Now the serial console support is partially working.
3840
 
        
3841
 
        * grub/asmstub.c (serial_checkkey): Specify a pointer to TIMEOUT
3842
 
        as the fifth argument to select.
3843
 
        (serial_get_port): New function. Just a dummy.
3844
 
        (serial_init): If a serial device is opened, close SERIAL_FD
3845
 
        before opeing a new serial device.
3846
 
        Don't specify O_NDELAY to open.
3847
 
        * stage2/builtins.c [SUPPORT_SERIAL]: Include serial.h.
3848
 
        (serial_func): New function.
3849
 
        (builtin_serial): New variable.
3850
 
        (terminal_func): New function.
3851
 
        (builtin_terminal): New variable.
3852
 
        (builtin_table): Add pointers to BUILTIN_SERIAL and
3853
 
        BUILTIN_TERMINAL.
3854
 
        * stage2/char_io.c [SUPPORT_SERIAL]: Include serial.h.
3855
 
        (getkey) [SUPPORT_SERIAL]: If both TERMINAL_CONSOLE and
3856
 
        TERMINAL_SERIAL are set in TERMINAL simultaneously, print a
3857
 
        warning and force the console terminal.
3858
 
        (checkkey) [SUPPORT_SERIAL]: If TERMINAL_SERIAL is set in
3859
 
        TERMINAL, call serial_checkkey.
3860
 
        (grub_putchar) [SUPPORT_SERIAL]: If TERMINAL_SERIAL is set in
3861
 
        TERMINAL, call serial_putchar. If C is a newline, print a
3862
 
        carriage return, before printing a newline.
3863
 
        
3864
 
2000-08-15  OKUJI Yoshinori  <okuji@gnu.org>
3865
 
 
3866
 
        The image `nbgrub' now relocates itself from 0x10000 to 0x8000,
3867
 
        since the Network Boot Image Proposal doesn't permit a second
3868
 
        loader to be loaded below 0x10000. Reported by Matthias
3869
 
        Kretschmer <McCratch@gmx.net>.
3870
 
        
3871
 
        * Makefile.am (NBLOADER_LINK): New variable.
3872
 
        (nbloader_exec_LDFLAGS): Set to $(NBLOADER_LINK) instead of
3873
 
        $(START_LINK).
3874
 
        * stage2/nbi.h (NBI_DEST_ADDR): Changed to 0x10000.
3875
 
        (NBI_DEST_SEG): New macro.
3876
 
        (NBI_DEST_OFF): Likewise.
3877
 
        (RELOCATED_ADDR): Likewise.
3878
 
        (RELOCATED_SEG): Likewise.
3879
 
        (RELOCATED_OFF): Likewise.
3880
 
        (STAGE2_START_ADDR): Likewise.
3881
 
        * stage2/nbloader.S: Added .code16 directive at the start of the
3882
 
        code.
3883
 
        Set the segment and the offset of the load address to
3884
 
        NBI_DEST_SEG and NBI_DEST_OFF, respectively.
3885
 
        Set the segment and the offset of the start address to
3886
 
        NBI_DEST_SEG and NBI_DEST_OFF + relocate - _start, respectively.
3887
 
        Added a routine for relocating itself.
3888
 
        (relocate): New label.
3889
 
        (copy_rest): Likewise.
3890
 
        (copy_loop): Likewise.
3891
 
        (copy): Likewise.
3892
 
        (boot_stage2): Likewise.
3893
 
        
3894
 
2000-08-13  OKUJI Yoshinori  <okuji@gnu.org>
3895
 
 
3896
 
        * grub/main.c (main): Move the version number inside the
3897
 
        parentheses, since the grub shell is merely one of the programs
3898
 
        included in GNU GRUB.
3899
 
        
3900
 
2000-08-13  OKUJI Yoshinori  <okuji@gnu.org>
3901
 
 
3902
 
        Add a serial device emulation into the grub shell.
3903
 
        
3904
 
        * grub/asmstub.c: Include sys/time.h and termios.h.
3905
 
        (serial_fd): New variable.
3906
 
        (serial_device): Likewise.
3907
 
        (serial_getkey): New function.
3908
 
        (serial_checkkey): Likewise.
3909
 
        (serial_putchar): Likewise.
3910
 
        (get_termios_speed): Likewise.
3911
 
        (serial_init): Likewise.
3912
 
        (set_serial_device): Likewise.
3913
 
        (grub_stage2): Restore SERIAL_DEVICE and SERIAL_FD, if they were
3914
 
        allocated.
3915
 
        * stage2/serial.h [GRUB_UTIL] (set_serial_device): Declared.
3916
 
        
3917
 
2000-08-13  OKUJI Yoshinori  <okuji@gnu.org>
3918
 
 
3919
 
        * stage2/asm.S (codestart) [SUPPORT_DISKLESS]: Don't reset a
3920
 
        disk system. That is not only uncessary but also harmful.
3921
 
        
3922
 
2000-08-12  OKUJI Yoshinori  <okuji@gnu.org>
3923
 
 
3924
 
        Add a serial device driver (but only the driver).
3925
 
        
3926
 
        * stage2/serial.c: New file.
3927
 
        * stage2/serial.h: Likewise.
3928
 
        * stage2/shared.h (serial_getkey): Moved to stage2/serial.h.
3929
 
        (serial_checkkey): Likewise.
3930
 
        (serial_putchar): Likewise.
3931
 
        * stage2/Makefile.am (noinst_HEADERS): Added serial.h.
3932
 
        (pre_stage2_exec_SOURCES): Added serial.c.
3933
 
 
3934
 
2000-08-10  Pavel Roskin  <proski@gnu.org>
3935
 
 
3936
 
        * docs/tutorial.texi: Minor fixes.
3937
 
 
3938
 
2000-08-10  OKUJI Yoshinori  <okuji@gnu.org>
3939
 
 
3940
 
        * docs/tutorial.texi (Installation): Divided into three sections
3941
 
        instead of two sections. Don't describe the usage of the the
3942
 
        grub shell any longer. Instead, how to use grub-install is
3943
 
        documented.
3944
 
        
3945
 
2000-08-09  OKUJI Yoshinori  <okuji@gnu.org>
3946
 
 
3947
 
        * stage2/builtins.c [GRUB_UTIL]: Include stdio.h.
3948
 
        (embed_func) [GRUB_UTIL && __linux__]: When embedding a Stage
3949
 
        1.5 into a partition, call write_to_partition instead of
3950
 
        biosdisk.
3951
 
        (install_func): Set DEST_PARTITION to the partition where Stage
3952
 
        1 resides.
3953
 
        Set SRC_PART_START to the starting address of the partition
3954
 
        where Stage 2 resides.
3955
 
        (install_func) [GRUB_UTIL]: Set STAGE2_OS_FILE to the file name
3956
 
        of Stage 2 under an OS, if the new option "--stage2" is
3957
 
        specified. Otherwise, set it to null.
3958
 
        If STAGE2_OS_FILE is not null, modify the Stage 2 via the
3959
 
        filesystem serviced by the OS.
3960
 
        (install_func) [GRUB_UTIL && __linux__]: If STAGE2_OS_FILE is
3961
 
        null but the Stage2 resides in a partition, use
3962
 
        write_to_partition.
3963
 
        If DEST_PARTITION is not 0xFFFFFF, use write_to_partition, to
3964
 
        embed Stage 1.
3965
 
        (setup_func) [GRUB_UTIL]: If --stage2 is specified, set
3966
 
        STAGE2_ARG to the string pointing to the option. Otherwise, set
3967
 
        it to null.
3968
 
        (setup_func) [!GRUB_UTIL]: Set STAGE2_ARG to null.
3969
 
        (setup_func): If STAGE2_ARG is not null, add STAGE2_ARG and a
3970
 
        space character into CMD_ARG.
3971
 
        * lib/device.c (_LARGEFILE_SOURCE): Defined.
3972
 
        (_FILE_OFFSET_BITS): Likewise.
3973
 
        [__linux__] (write_to_partition): New function.
3974
 
        * lib/device.h [__linux__] (write_to_partition): Declared.
3975
 
        * util/grub-install.in: Specify the option "--stage2" for the
3976
 
        command "setup".
3977
 
        
3978
 
2000-08-04  Jochen Hoenicke  <jochen@gnu.org>
3979
 
 
3980
 
        * stage2/fsys_fat.c (fat_superblock): clust_eof_marker added.
3981
 
        (fat_mount): Initialize clust_eof_marker to 0xff8, 0xfff8, or
3982
 
        0xffffff8, depending on fat size.  Support for single active FAT
3983
 
        added (FAT32 extension). Changed the boundary between FAT12 and
3984
 
        FAT16, again.  The Microsoft KB article Q65541 seems to be wrong
3985
 
        here, I go with mtools and the previous behaviour of grub: FAT12
3986
 
        iff number of clusters (without counting the two nonexisting
3987
 
        clusters) is less or equal 4095.
3988
 
        (fat_read): Report error if cluster number is too big, but not
3989
 
        greater or equal clust_eof_marker.
3990
 
        * stage2/fsys_reiserfs.c (journal_init): Fixed calculation of
3991
 
        journal_transaction.
3992
 
        
3993
 
2000-08-01  Jochen Hoenicke  <jochen@gnu.org>
3994
 
 
3995
 
        * stage2/fsys_reiserfs.c: Symlink support added.
3996
 
        (S_ISLNK): New macro.
3997
 
        (PATH_MAX): Likewise.
3998
 
        (MAX_LINK_COUNT): Likewise.
3999
 
        (reiserfs_dir): Check for symlink and handle them.
4000
 
        (read_tree_node): Take a block number and check if tree node was
4001
 
        already read in.  If not update the INFO->blocks field.
4002
 
        (next_key): Changed call of read_tree_node.
4003
 
        (search_stat): Likewise.
4004
 
        (journal_init): Fixed a small bug.  Some debugging messages added.
4005
 
        
4006
 
2000-07-31  Pavel Roskin  <proski@gnu.org>
4007
 
 
4008
 
        * grub/asmstub.c (biosdisk) [__linux__]: The first argument for
4009
 
        _llseek renamed from "seeked_fd" to "filedes".
4010
 
 
4011
 
2000-07-30  OKUJI Yoshinori  <okuji@gnu.org>
4012
 
 
4013
 
        * docs/appendices.texi (FAQ): Added the answer for the separate
4014
 
        boot partition problem.
4015
 
        
4016
 
2000-07-30  OKUJI Yoshinori  <okuji@gnu.org>
4017
 
 
4018
 
        Update the network support to Etherboot-4.6.4.
4019
 
        
4020
 
        From Daniel Wagner <wagi@gmx.ch>:
4021
 
        * netboot/3c509.c: Copied from Etherboot-4.6.4.
4022
 
        * netboot/3c509.h: Likewise.
4023
 
        * netboot/cards.h: Likewise.
4024
 
        * netboot/ns8390.c: Likewise.
4025
 
        * netboot/sk_g16.c: Likewise.
4026
 
        * netboot/sk_g16.h: Likewise.
4027
 
        * netboot/tulip.c: Likewise.
4028
 
        * netboot/pci.h: Likewise.
4029
 
        * netboot/main.c (dhcpdiscover): Updated.
4030
 
        (dhcprequest): Likewise.
4031
 
        (bootp): Likewise.
4032
 
        * netboot/README.netboot: Added the information about the new
4033
 
        option --enable-ns8390-force-16bit.
4034
 
        * configure.in (--enable-ns8390-force-16bit): New option.
4035
 
 
4036
 
        * netboot/config.c: Updated.
4037
 
 
4038
 
2000-07-29  OKUJI Yoshinori  <okuji@gnu.org>
4039
 
 
4040
 
        The Linux zImage support is working now.
4041
 
        
4042
 
        * stage2/asm.S (linux_boot): Add 3 into %ecx and shift %ecx to
4043
 
        the right by 2 bits, instead of shift %ecx to the left by 2
4044
 
        bits.
4045
 
        
4046
 
2000-07-29  Jochen Hoenicke  <jochen@gnu.org>
4047
 
 
4048
 
        * stage2/fsys_reiserfs.c (block_read): Changed the variable "len"
4049
 
        to "j_len" (it shadowed a parameter).
4050
 
        
4051
 
2000-07-29  OKUJI Yoshinori  <okuji@gnu.org>
4052
 
 
4053
 
        * configure.in (CPPFLAGS): Added -Wshadow, -Wpointer-arith and
4054
 
        -Wundef, as GCC sometimes more clever than me. :)
4055
 
        * stage2/shared.h [!ASM_FILE] (multi_boot): Change the name of
4056
 
        the second argument from "mbi" to "mb_info".
4057
 
        [!ASM_FILE] (biosdisk): Rename the first argument "read" to
4058
 
        "subfunc".
4059
 
        * lib/device.h (init_device_map): Change the name of the third
4060
 
        argument from "floppy_disks" to "no_floppies".
4061
 
        * lib/device.c (read_device_map): Rename the internal function
4062
 
        "print_error" to "show_error".
4063
 
        * stage2/builtins.c (install_func): Rename CONFIG_FILE to
4064
 
        REAL_CONFIG.
4065
 
        (setup_func): Rename INSTALL_DRIVE, INSTALL_PARTITION and
4066
 
        CONFIG_FILE to INSTALLED_DRIVE, INSTALLED_PARTITION and
4067
 
        CONFIG_FILENAME, respectively.
4068
 
        * stage2/char_io.c (convert_to_ascii): Rename the internal
4069
 
        variable C to TMP.
4070
 
        (get_cmdline): Rename KILL to KILL_BUF.
4071
 
        Rename the second argument for cl_print to REAL_ECHO_CHAR from
4072
 
        ECHO_CHAR.
4073
 
        * stage2/stage2.c (run_menu): Rename the internal variable
4074
 
        NUM_ENTRIES to NEW_NUM_ENTRIES.
4075
 
        (cmain): Rename KILL to KILL_BUF.
4076
 
        * stage2/disk_inode_ffs.h: Check if BYTE_MSF is defined before
4077
 
        checking the value.
4078
 
        * stage2/fsys_ext2fs.c (ext2fs_dir): Check if E2DEBUG is
4079
 
        defined, instead of if the value is non-zero.
4080
 
        * grub/asmstub.c: Check if __GLIBC__ is defined before checking
4081
 
        the value.
4082
 
        (biosdisk) [__linux__]: Likewise.
4083
 
        Rename the first argument for _llseek to "seeked_fd" from "fd".
4084
 
        (multi_boot): Rename the second argument to "mb_info" from
4085
 
        "mbi".
4086
 
        
4087
 
2000-07-27  Gordon Matzigkeit  <gord@fig.org>
4088
 
 
4089
 
        * util/grub-image.in: Initial cut at a script for creating GRUB
4090
 
        boot images.
4091
 
        * util/Makefile.am (noinst_SCRIPTS): Added grub-image.
4092
 
        * configure.in (AC_OUTPUT): Added util/grub-image.
4093
 
 
4094
 
2000-07-27  Jochen Hoenicke  <jochen@gnu.org>
4095
 
 
4096
 
        * stage2/asm.S (check_int13_extensions): Fixed the effect of
4097
 
        the --force-lba switch in stage2/stage1_5.
4098
 
        
4099
 
2000-07-25  Jochen Hoenicke  <jochen@gnu.org>
4100
 
 
4101
 
        * stage2/fsys_fat.c (fat_mount): Fixed calculation of num_clust.
4102
 
        It was off by two, since the two non existing clusters 0 and 1
4103
 
        were not taken into account.  Also fixed the boundary between
4104
 
        FAT12 and FAT16.
4105
 
        
4106
 
2000-07-25  OKUJI Yoshinori  <okuji@gnu.org>
4107
 
 
4108
 
        * stage2/asm.S [!STAGE1_5] (linux_text_len): New variable.
4109
 
        [!STAGE1_5] (linux_boot): Don't set %eax to LINUX_SETUP
4110
 
        meaninglessly.
4111
 
        Set %ecx to LINUX_TEXT_LEN instead of LINUX_KERNEL_MAXLEN.
4112
 
        [!STAGE1_5] (big_linux_boot): Disable interrupts before changing
4113
 
        the stack pointer.
4114
 
        Change %ss right before %sp.
4115
 
        Reverse the arguments for ljmp. A segment must be after an
4116
 
        offset. *sigh*
4117
 
        * stage2/boot.c (load_image): Set LINUX_TEXT_LEN to TEXT_LEN,
4118
 
        if a Linux kernel is loaded successfully.
4119
 
        * stage2/shared.h (LINUX_VID_MODE_OFFSET): Removed.
4120
 
        [!ASM_FILE] (linux_kernel_header): Change the type of the member
4121
 
        `heap_end_ptr' to unsigned short.
4122
 
        [!ASM_FILE] (linux_text_len): Declared.
4123
 
        
4124
 
2000-07-24  OKUJI Yoshinori  <okuji@gnu.org>
4125
 
 
4126
 
        Comply with the Linux/i386 boot protocol version 2.02.
4127
 
        
4128
 
        * stage2/asm.S [!STAGE1_5] (linux_boot): Set the length of moved
4129
 
        bytes to LINUX_KERNEL_MAXLEN instead of
4130
 
        LINUX_KERNEL_LEN_OFFSET(%eax), since the field is obsolete.
4131
 
        [!STAGE1_5] (big_linux_boot): Don't use SEGMENT or OFFSET.
4132
 
        Instead, embed the segment and the offset in the code itself.
4133
 
        Set %ds, %es, %fs and %gs to %ax (LINUX_INIT_SEG).
4134
 
        * stage2/boot.c (load_image): Rewrite the Linux support code
4135
 
        heavily. Use a structure instead of a batch of macros, to access
4136
 
        a Linux kernel header.
4137
 
        (load_initrd): If MOVETO plus LEN is greater than or equal to
4138
 
        LINUX_INITRD_MAX_ADDRESS, set MOVETO to LINUX_INITRD_MAX_ADDRESS
4139
 
        minus LEN with page aligned.
4140
 
        * stage2/shared.h (LINUX_MAGIC_SIGNATURE): New macro.
4141
 
        (LINUX_DEFAULT_SETUP_SECTS): Likewise.
4142
 
        (LINUX_FLAG_CAN_USE_HEAP): Likewise.
4143
 
        (LINUX_INITRD_MAX_ADDRESS): Likewise.
4144
 
        (LINUX_MAX_SETUP_SECTS): Likewise.
4145
 
        (LINUX_BOOT_LOADER_TYPE): Likewise.
4146
 
        (LINUX_HEAP_END_OFFSET): Likewise.
4147
 
        (LINUX_SETUP_MAXLEN): Removed.
4148
 
        (LINUX_KERNEL_LEN_OFFSET): Likewise.
4149
 
        (LINUX_SETUP_LEN_OFFSET): Likewise.
4150
 
        (LINUX_SETUP_STACK): Set to 0x7F00 instead of 0x3FF4 (why was it
4151
 
        this value?).
4152
 
        (LINUX_SETUP_LOADER): Removed.
4153
 
        (LINUX_SETUP_LOAD_FLAGS): Likewise.
4154
 
        (LINUX_SETUP_CODE_START): Likewise.
4155
 
        (LINUX_SETUP_INITRD): Likewise.
4156
 
        (CL_MY_LOCATION): Set to RAW_ADDR(0x97F00) instead of
4157
 
        RAW_ADDR(0x92000).
4158
 
        (CL_MY_END_ADDR): Set to RAW_addr(0x97FFF) instead of
4159
 
        RAW_ADDR(0x920FF).
4160
 
        (CL_MAGIC_ADDR): Removed.
4161
 
        (CL_OFFSET): Likewise.
4162
 
        [!ASM_FILE] (struct linux_kernel_header): New structure tag.
4163
 
        
4164
 
2000-07-23  OKUJI Yoshinori  <okuji@gnu.org>
4165
 
 
4166
 
        * docs/tutorial.texi: Fix some syntax errors and ambiguous
4167
 
        sentences. Suggested by M. Meiarashi <mes@st.rim.or.jp>.
4168
 
        
4169
 
2000-07-14  Khimenko Victor  <grub@khim.sch57.msk.ru>
4170
 
 
4171
 
        * stage2/boot.c (load_image): When getting the text length of a 
4172
 
        Linux kernel, use unsigned long instead of unsigned short.
4173
 
        
4174
 
2000-07-13  OKUJI Yoshinori  <okuji@gnu.org>
4175
 
 
4176
 
        * lib/device.c: Include errno.h. Reported by Thierry DELHAISE
4177
 
        <thierry.delhaise@delhaise.com>.
4178
 
        
4179
 
2000-07-12  OKUJI Yoshinori  <okuji@gnu.org>
4180
 
 
4181
 
        Just to start implementing serial console support...
4182
 
        
4183
 
        * stage2/asm.S (grub_putchar): Renamed to ...
4184
 
        (console_putchar): ... this.
4185
 
        [!STAGE1_5] (getkey): Renamed to ...
4186
 
        [!STAGE1_5] (console_getkey): ... this.
4187
 
        [!STAGE1_5] (checkkey): Renamed to ...
4188
 
        [!STAGE1_5] (console_checkkey): ... this.
4189
 
        * stage2/char_io.c [!STAGE1_5] (getkey): New function.
4190
 
        [!STAGE1_5] (checkkey): Likewise.
4191
 
        (grub_putchar): Likewise.
4192
 
        * stage2/shared.h [!STAGE1_5] (terminal): Declared.
4193
 
        [!STAGE1_5] (TERMINAL_CONSOLE): New macro.
4194
 
        [!STAGE1_5] (TERMINAL_SERIAL): Likewise.
4195
 
        (console_putchar): Declared.
4196
 
        (serial_putchar): Likewise.
4197
 
        (console_getkey): Likewise.
4198
 
        (serial_getkey): Likewise.
4199
 
        (console_checkkey): Likewise.
4200
 
        (serial_checkkey): Likewise.
4201
 
        * stage2/builtins.c (terminal): New global variable. The default
4202
 
        is TERMINAL_CONSOLE.
4203
 
        * grub/asmstub.c (grub_putchar): Renamed to ...
4204
 
        (console_putchar): ... this.
4205
 
        (getkey): Renamed to ...
4206
 
        (console_getkey): ... this.
4207
 
        (checkkey): Renamed to ...
4208
 
        (console_checkkey): ... this.
4209
 
        
4210
 
2000-07-12  OKUJI Yoshinori  <okuji@gnu.org>
4211
 
 
4212
 
        * stage2/Makefile.am (libgrub_a_CFLAGS): Added
4213
 
        -I$(top_srcdir)/lib.
4214
 
        * stage2/builtins.c [GRUB_UTIL]: Include device.h.
4215
 
        
4216
 
2000-07-12  OKUJI Yoshinori  <okuji@gnu.org>
4217
 
 
4218
 
        Segreate OS-specific helper functions from asmstub.c.
4219
 
        
4220
 
        * grub/asmstub.c [__linux__]: Don't include linux/hdreg.h,
4221
 
        linux/major.h, linux/kdev_t.h, or linux/cdrom.h.
4222
 
        [__FreeBSD__ || __NetBSD__ || __OpenBSD__]: Don't include
4223
 
        sys/ioctl.h, sys/disklabel.h, or sys/ioctl.h.
4224
 
        [HAVE_OPENDISK]: Don't include util.h.
4225
 
        Include device.h.
4226
 
        (DEFAULT_FD_CYLINDERS): Removed.
4227
 
        (DEFAULT_FD_HEADS): Likewise.
4228
 
        (DEFAULT_FD_SECTORS): Likewise.
4229
 
        (DEFAULT_HD_CYLINDERS): Likewise.
4230
 
        (DEFAULT_HD_HEADS): Likewise.
4231
 
        (DEFAULT_HD_SECTORS): Likewise.
4232
 
        (NUM_DISKS): Likewise.
4233
 
        (init_device_map): Likewise.
4234
 
        (get_floppy_disk_name): Likewise.
4235
 
        (get_ide_disk_name): Likewise.
4236
 
        (get_scsi_disk_name): Likewise.
4237
 
        (check_device): Likewise.
4238
 
        (get_drive_geometry): Likewise.
4239
 
        * grub/main.c (no_floppy): Removed.
4240
 
        (probe_second_floppy): Likewise.
4241
 
        (floppy_disks): New global variable.
4242
 
        (main): Set FLOPPY_DISKS to zero, if OPT_NO_FLOPPY. Set
4243
 
        FLOPPY_DISKS to two, if OPT_PROBE_SECOND_FLOPPY.
4244
 
        * lib/Makefile.am (AM_CFLAGS): New variable.
4245
 
        * lib/device.h: New file.
4246
 
        * lib/device.c: Likewise.
4247
 
        * stage2/shared.h (no_floppy): Removed.
4248
 
        (probe_second_floppy): Likewise.
4249
 
        (check_device): Likewise.
4250
 
        (floppy_disks): Declared.
4251
 
        
4252
 
2000-07-02  OKUJI Yoshinori  <okuji@gnu.org>
4253
 
 
4254
 
        * grub/main.c (usage): Enclose the mail address with parentheses
4255
 
        and add a period into the end of the line. That's just a
4256
 
        cosmetic change.
4257
 
        
4258
 
2000-07-02  OKUJI Yoshinori  <okuji@gnu.org>
4259
 
 
4260
 
        * docs/appendices.texi (Obtaining and Building GRUB): Indicate
4261
 
        the Cygnus's binutils webpage instead of the hjl's site, since
4262
 
        you can now use a public release (i.e. 2.10).
4263
 
        
4264
 
2000-06-23  OKUJI Yoshinori  <okuji@gnu.org>
4265
 
 
4266
 
        * stage2/boot.c (load_image): Take an additional argument
4267
 
        LOAD_FLAGS.
4268
 
        If the kernel type is Linux and the bit
4269
 
        KERNEL_LOAD_NO_MEM_OPTION in LOAD_FLAGS is set, don't pass a
4270
 
        Linux's mem option automatically.
4271
 
        * stage2/shared.h (load_image): Added the new argument.
4272
 
        * stage2/builtins.c (kernel_func): If `--no-mem-option' is
4273
 
        specified, set the bit KERNEL_LOAD_NO_MEM_OPTION in LOAD_FLAGS,
4274
 
        otherwise, LOAD_FLAGS is zero.
4275
 
        
4276
 
2000-06-22  OKUJI Yoshinori  <okuji@gnu.org>
4277
 
 
4278
 
        * docs/tutorial.texi: Fixed some typos and syntax errors.
4279
 
        * docs/user-ref.texi: Likewise.
4280
 
        
4281
 
2000-06-21  OKUJI Yoshinori  <okuji@gnu.org>
4282
 
 
4283
 
        * stage2/stage2.c (run_menu): Initialize CUR_ENTRY at the
4284
 
        definition.
4285
 
        If SHOW_MENU is zero, don't display the menu interface. Instead,
4286
 
        wait until the timeout is expired and then boot the default
4287
 
        entry. If the user presses `ESC' during the timeout, set
4288
 
        SHOW_MENU to one and break the loop.
4289
 
        Display the menu if SHOW_MENU is true, instead of if
4290
 
        GRUB_TIMEOUT is non-zero.
4291
 
        Set SHOW_MENU to one before go to the label `restart'.
4292
 
        * stage2/builtins.c (show_menu): New global variable.
4293
 
        (hiddenmenu_func): New function.
4294
 
        (builtin_hiddenmenu): New variable.
4295
 
        (builtin_table): Added a pointer to BUILTIN_HIDDENMENU.
4296
 
        * stage2/shared.h (show_menu): Declared.
4297
 
        
4298
 
2000-06-19  OKUJI Yoshinori  <okuji@gnu.org>
4299
 
 
4300
 
        * docs/mdate-sh: Moved to ...
4301
 
        * mdate-sh: ... here.
4302
 
        * docs/texinfo.tex: Moved to ...
4303
 
        * texinfo.tex: ... here.
4304
 
        
4305
 
2000-06-09  OKUJI Yoshinori  <okuji@gnu.org>
4306
 
 
4307
 
        * stage2/mb_info.h (AddrRangeDesc): Use one 64bits field instead
4308
 
        of two 32bits fields for BaseAddr and Length, respectively.
4309
 
        BaseAddrLow + BaseAddrHigh -> BaseAddr, LengthLow + LengthHigh
4310
 
        -> Length.
4311
 
        * stage2/builtins.c (displaymem_func): Print BaseAddr >> 32,
4312
 
        BaseAddr & 0xFFFFFFFF, Length >> 32 and Length & 0xFFFFFFFF,
4313
 
        instead of BaseAddrLow, BaseAddrHigh, LengthLow and LengthHigh,
4314
 
        for MAP.
4315
 
        * stage2/common.c (fakemap): Adjusted to the new definition of
4316
 
        AddrRangeDesc.
4317
 
        (mmap_avail_at): Change the type of TOP to unsigned long long.
4318
 
        If TOP is greater than 0xFFFFFFFF, set it to 0xFFFFFFFF, since
4319
 
        GRUB itself cannot deal with 64bits addresses at the moment.
4320
 
        (init_bios_info): When getting a maximum available address from
4321
 
        the memory map, use a new unsigned long long variable MAX_ADDR
4322
 
        as the temporary variable instead of MEMTMP. This should allow
4323
 
        GRUB to detect at most 4TB.
4324
 
        
4325
 
2000-06-18  OKUJI Yoshinori  <okuji@gnu.org>
4326
 
 
4327
 
        * docs/appendices.texi (FAQ): Added an question about Linux's
4328
 
        `mem=' option and the answer.
4329
 
        
4330
 
2000-06-17  OKUJI Yoshinori  <okuji@gnu.org>
4331
 
 
4332
 
        * stage2/boot.c (load_image): Pass a mem option to Linux, only
4333
 
        if SRC has no substring "mem=".
4334
 
        
4335
 
2000-06-17  OKUJI Yoshinori  <okuji@gnu.org>
4336
 
 
4337
 
        * stage2/compile: Removed.
4338
 
        * netboot/compile: Likewise.
4339
 
        * compile: New file. Copied from Automake.
4340
 
        
4341
 
2000-06-16  OKUJI Yoshinori  <okuji@gnu.org>
4342
 
 
4343
 
        * stage2/boot.c (load_image): Don't remove the vga option after
4344
 
        parsing it. Suggested by Tim Riker.
4345
 
 
4346
 
2000-06-15  OKUJI Yoshinori  <okuji@gnu.org>
4347
 
 
4348
 
        * stage2/asm.S (grub_halt): Use jmp instead of jc, if INT 15
4349
 
        AX=5307h fails.
4350
 
        
4351
 
2000-06-15  OKUJI Yoshinori  <okuji@gnu.org>
4352
 
 
4353
 
        * configure.in (AM_INIT_AUTOMAKE): Increase the version number.
4354
 
        I wish that 0.5.96 will not be released actually...
4355
 
        
4356
 
        * stage2/builtins.c (halt_func): New function.
4357
 
        (builtin_halt): New variable.
4358
 
        (reboot_func): New function.
4359
 
        (builtin_reboot): New variable.
4360
 
        (builtin_table): Added pointers to BUILTIN_HALT and
4361
 
        BUILTIN_REBOOT.
4362
 
        * stage2/asm.S (grub_halt): New function.
4363
 
        (grub_reboot): Likewise.
4364
 
        * stage2/shared.h (grub_halt): Declared.
4365
 
        (grub_reboot): Likewise.
4366
 
        * grub/asmstub.c (grub_reboot): New function.
4367
 
        (grub_halt): Likewise.
4368
 
        
4369
 
2000-06-12  Gordon Matzigkeit  <gord@fig.org>
4370
 
 
4371
 
        * stage2/stage2.c (run_menu): Don't display the menu if the
4372
 
        timeout is zero.  This makes for cleaner use as a noninteractive
4373
 
        bootloader.
4374
 
 
4375
 
2000-06-11  OKUJI Yoshinori  <okuji@gnu.org>
4376
 
 
4377
 
        * docs/tutorial.texi (GNU/Linux): Added a caution about the
4378
 
        "mem=" option.
4379
 
        
4380
 
2000-06-11  OKUJI Yoshinori  <okuji@gnu.org>
4381
 
 
4382
 
        * util/grub-install.in (convert): When $host_os is linux*, use
4383
 
        the expression 's%\([sh]d[a-z]\)[0-9]*$%\1%' instead of
4384
 
        's%[0-9]*$%%', to get rid of the partition part. This fixes the
4385
 
        bug "/dev/fd0" -> "/dev/fd". (But don't you think the naming is
4386
 
        quite inconsistent with hard disks? Why not /dev/fd[a-z]?)
4387
 
        Report by Pavel Roskin.
4388
 
        
4389
 
2000-06-08  OKUJI Yoshinori  <okuji@gnu.org>
4390
 
 
4391
 
        * docs/tutorial.texi (Network): The body is moved to ...
4392
 
        (General usage of network support): ... this new section.
4393
 
        (Diskless): New section.
4394
 
        * docs/user-ref.texi (General commands): Added a description
4395
 
        about the command "tftpserver".
4396
 
        
4397
 
2000-06-08  OKUJI Yoshinori  <okuji@gnu.org>
4398
 
 
4399
 
        * netboot/main.c (decode_rfc1533) [GRUB]: Eliminate trailing
4400
 
        NULs in the NVT string for a configuration file name, if any.
4401
 
        (decode_rfc1533): Likewise, if Extensions Path is present,
4402
 
        eliminate the trailing NULs, if any.
4403
 
        Also, check the length carefully to ensure that EXTPATH can fit
4404
 
        in FNAME.
4405
 
        
4406
 
2000-06-06  Jochen Hoenicke  <jochen@gnu.org>
4407
 
 
4408
 
        * stage2/fsys_reiserfs.c: Added journaling to reiser.
4409
 
        (reiserfs_journal_desc): new structure.
4410
 
        (reiserfs_journal_commit): likewise.
4411
 
        (reiserfs_journal_header): likewise.
4412
 
        (fsys_reiser_info): Added fields for journaling.
4413
 
        (journal_read): new function.
4414
 
        (journal_init) likewise.
4415
 
        (block_read): New function to read reiserfs blocks, which reads
4416
 
        from the journal if it contains newer versions. All relevant
4417
 
        devread calls are replaced with calls to this method.
4418
 
        (reiserfs_mount): Check for journaling super block and call
4419
 
        journal_init.
4420
 
 
4421
 
2000-06-06  OKUJI Yoshinori  <okuji@gnu.org>
4422
 
 
4423
 
        * netboot/main.c (dhcprequest) [GRUB]: Set the length of the
4424
 
        Parameter Request List to (4 + 2).
4425
 
        Set the list to RFC1533_VENDOR_MAGIC and
4426
 
        RFC1533_VENDOR_CONFIGFILE in addition to the standard
4427
 
        parameters.
4428
 
        (decode_rfc1533) [GRUB]: If C is equal to
4429
 
        RFC1533_VENDOR_CONFIGFILE, copy the contents of the tag to
4430
 
        CONFIG_FILE.
4431
 
        If C is equal to RFC1533_VENDOR_MAGIC, increment
4432
 
        VENDOREXT_ISVALID.
4433
 
        * netboot/etherboot.h [GRUB] (RFC1533_VENDOR_CONFIGFILE): New
4434
 
        macro. Defined as 150.
4435
 
        
4436
 
2000-06-03  OKUJI Yoshinori  <okuji@gnu.org>
4437
 
 
4438
 
        * stage2/asm.S (check_int13_extensions): Check the bitmap only
4439
 
        if FORCE_LBA is zero.
4440
 
        * stage2/bios.c (get_diskinfo): Get rid of the wrong check for
4441
 
        the bit 0 of DRP.FLAGS. Now the bitmap check is correctly
4442
 
        performed in the function check_int13_extensions.
4443
 
        
4444
 
2000-06-02  OKUJI Yoshinori  <okuji@gnu.org>
4445
 
 
4446
 
        * docs/user-ref.texi (Invoking the grub shell): Added a caution.
4447
 
        Why don't so many people still understand that BIOS drive
4448
 
        numbering are different from OS device naming? How many cautions
4449
 
        and warnings should we write in the documentation? Sigh.
4450
 
        
4451
 
2000-06-01  OKUJI Yoshinori  <okuji@gnu.org>
4452
 
 
4453
 
        From Chip Salzenberg:
4454
 
        * stage2/cmdline.c (enter_cmdline) [SUPPORT_DISKLESS]: Redisplay
4455
 
        network configuration after clearing screen, before first prompt.
4456
 
 
4457
 
        * stage2/cmdline.c: Include <shared.h> instead of "shared.h".
4458
 
        [SUPPORT_DISKLESS]: Include <etherboot.h>.
4459
 
 
4460
 
2000-06-01  OKUJI Yoshinori  <okuji@gnu.org>
4461
 
 
4462
 
        * stage2/builtins.c (setup_func): Check if INSTALL_DRIVE is a
4463
 
        hard disk as well as IMAGE_DRIVE, before trying to install a
4464
 
        Stage 1.5. Reported by Pavel Roskin.
4465
 
        
4466
 
2000-05-31  OKUJI Yoshinori  <okuji@gnu.org>
4467
 
 
4468
 
        * acinclude.m4 (grub_ASM_ABSOLUTE_WITHOUT_ASTERISK): New
4469
 
        function. Check if GAS requires absolute indirect calls/jumps
4470
 
        with NO asterisk.
4471
 
        * configure.in: Call grub_ASM_ABSOLUTE_WITHOUT_ASTERISK.
4472
 
        * acconfig.h (ABSOLUTE_WITHOUT_ASTERISK): New macro entry.
4473
 
        * netboot/pci.c (bios32_service) [!ABSOLUTE_WITHOUT_ASTERISK]:
4474
 
        Prefix the operand to "lcall" with `*'.
4475
 
        (pcibios_read_config_byte) [!ABSOLUTE_WITHOUT_ASTERISK]:
4476
 
        Likewise.
4477
 
        (pcibios_read_config_word) [!ABSOLUTE_WITHOUT_ASTERISK]:
4478
 
        Likewise.
4479
 
        (pcibios_read_config_dword) [!ABSOLUTE_WITHOUT_ASTERISK]:
4480
 
        Likewise.
4481
 
        (pcibios_write_config_byte) [!ABSOLUTE_WITHOUT_ASTERISK]:
4482
 
        Likewise.
4483
 
        (pcibios_write_config_word) [!ABSOLUTE_WITHOUT_ASTERISK]:
4484
 
        Likewise.
4485
 
        (pcibios_write_config_dword) [!ABSOLUTE_WITHOUT_ASTERISK]:
4486
 
        Likewise.
4487
 
        (check_pcibios) [!ABSOLUTE_WITHOUT_ASTERISK]: Likewise.
4488
 
        * stage2/asm.S (chain_stage1) [!ABSOLUTE_WITHOUT_ASTERISK]:
4489
 
        Prefix the operand to "ljmp" with `*'.
4490
 
        (chain_stage2) [!ABSOLUTE_WITHOUT_ASTERISK]: Likewise.
4491
 
        (big_linux_boot) [!ABSOLUTE_WITHOUT_ASTERISK]: Likewise.
4492
 
        
4493
 
2000-05-29  Chip Salzenberg  <chip@valinux.com>
4494
 
 
4495
 
        * stage2/shared.h (grub_memmove): Prototype to use void *.
4496
 
        * stage2/char_io.c (grub_memmove): Define likewise.
4497
 
 
4498
 
2000-05-30  Gordon Matzigkeit  <gord@fig.org>
4499
 
 
4500
 
        * docs/user-ref.texi (Stage2 errors): Update error messages.
4501
 
 
4502
 
2000-05-29  Pavel Roskin  <pavel_roskin@geocities.com>
4503
 
 
4504
 
        * util/grub-install.in: Fix a typo that prevented error messages
4505
 
        from appearing.
4506
 
        Copy and remove files individually and exit with an error as
4507
 
        soon as it fails.
4508
 
        Show $log_file if --debug was given on the command line.
4509
 
 
4510
 
2000-04-19  Gordon Matzigkeit  <gord@fig.org>
4511
 
 
4512
 
        * stage2/cmdline.c (enter_cmdline): Don't give errors on empty
4513
 
        command lines.
4514
 
 
4515
 
        * stage2/common.c (err_list): Clean up wordings slightly.
4516
 
 
4517
 
2000-05-29  OKUJI Yoshinori  <okuji@gnu.org>
4518
 
 
4519
 
        Based on a patch by Neal H Walfield <neal@walfield.org>:
4520
 
        * netboot/misc.c [GRUB] (inet_aton): Defined.
4521
 
        * netboot/main.c (arp_server_override): New function.
4522
 
        * netboot/etherboot.h [GRUB] (arp_server_override): Declared.
4523
 
        (inet_aton): Likewise.
4524
 
        * stage2/builtins.c (tftpserver_func): New function.
4525
 
        (builtin_tftpserver): New variable.
4526
 
        (builtin_table): Added a pointer to BUILTIN_TFTPSERVER.
4527
 
        
4528
 
2000-05-28  OKUJI Yoshinori  <okuji@gnu.org>
4529
 
 
4530
 
        * stage2/asm.S (codestart): Fix a typo: DISKLESS_SUPPORT ->
4531
 
        SUPPORT_DISKLESS.
4532
 
        * stage2/nbloader.S: Fix the image length and the memory length
4533
 
        fields. They shouldn't contain the first sector for a tag.
4534
 
        Mmh..., that is unclear as far as I see the Net Boot Image
4535
 
        Proposal...
4536
 
        * stage2/shared.h (STACKOFF): Enclosed with parentheses.
4537
 
        (PROTSTACKINIT): Likewise.
4538
 
        
4539
 
2000-05-27  OKUJI Yoshinori  <okuji@gnu.org>
4540
 
 
4541
 
        Add diskless support, mostly based on patches by Christoph
4542
 
        Plattner <Christoph.Plattner@dot.at>, but also based on a patch
4543
 
        by Chip Salzenberg <chip@valinux.com> for PXE. Of course, I've
4544
 
        modified both the patches thoroughly to adapt them to my
4545
 
        preference.
4546
 
 
4547
 
        * configure.in (--enable-diskless): New option. Set a
4548
 
        conditional DISKLESS_SUPPORT.
4549
 
        * stage2/Makefile.am (noinst_HEADERS): Added nbi.h.
4550
 
        (EXTRA_PROGRAMS): New variable.
4551
 
        (pkgdata_DATA) [DISKLESS_SUPPORT]: Added
4552
 
        nbgrub and pxegrub.
4553
 
        (noinst_DATA) [DISKLESS_SUPPORT]: Added nbloader, pxeloader and
4554
 
        diskless.
4555
 
        (noinst_PROGRAMS) [DISKLESS_SUPPORT]: Added nbloader.exec,
4556
 
        pxeloader.exec and diskless.exec.
4557
 
        (PXELOADER_LINK): New variable.
4558
 
        (BUILT_SOURCES) [DISKLESS_SUPPORT]: Added diskless_size.h.
4559
 
        (diskless_exec_SOURCES): New variable.
4560
 
        (diskless_exec_CFLAGS): Likewise.
4561
 
        (diskless_exec_LDFLAGS): Likewise.
4562
 
        (diskless_exec_LDADD): Likewise.
4563
 
        (diskless_size.h): New target.
4564
 
        (nbloader_exec_SOURCES): New variable.
4565
 
        (nbloader_exec_CFLAGS): Likewise.
4566
 
        (nbloader_exec_LDFLAGS): Likewise.
4567
 
        (nbloader_exec-nbloader.o): New dependency.
4568
 
        (nbgrub): New target.
4569
 
        (pxeloader_exec_SOURCES): new variable.
4570
 
        (pxeloader_exec_CFLAGS): Likewise.
4571
 
        (pxeloader_exec_LDFLAGS): Likewise.
4572
 
        (pxegrub): New target.
4573
 
        * stage2/asm.S (install_partition): Set to 0xFFFFFF instead of
4574
 
        0x020000. What was the benefit from the previous setting?
4575
 
        (codestart) [SUPPORT_DISKLESS]: Don't move %dl to BOOT_DRIVE.
4576
 
        (boot_drive) [SUPPORT_DISKLESS]: Set to NETWORK_DRIVE instead of
4577
 
        zero.
4578
 
        * stage2/common.c: Include <shared.h> instead of "shared.h",
4579
 
        just for a cosmetic reason.
4580
 
        [SUPPORT_DISKLESS]: Include etherboot.h.
4581
 
        [SUPPORT_DISKLESS] (setup_diskless_environment): New internal
4582
 
        function.
4583
 
        (init_bios_info) [SUPPORT_DISKLESS]: Call
4584
 
        setup_diskless_environment after the memory initialization is
4585
 
        finished. Return if fails.
4586
 
        * stage2/nbloader.S: New file.
4587
 
        * stage2/pxeloader.S: Likewise.
4588
 
        * stage2/nbi.h: Likewise.
4589
 
        
4590
 
2000-05-25  OKUJI Yoshinori  <okuji@gnu.org>
4591
 
 
4592
 
        * netboot/fsys_tftp.c (buf_fill): Warn when amazing things
4593
 
        happen.
4594
 
        (tftp_dir): Revert previous change. Don't use TFTP_MIN_PACKET
4595
 
        but calculate the appropriate length.
4596
 
        
4597
 
2000-05-23  OKUJI Yoshinori  <okuji@gnu.org>
4598
 
 
4599
 
        * netboot/fsys_tftp.c (tftp_dir): Append "0\0" to the request
4600
 
        string, because the "tsize" option must be followed by zero,
4601
 
        according to RFC 2349.
4602
 
        
4603
 
2000-05-22  OKUJI Yoshinori  <okuji@gnu.org>
4604
 
 
4605
 
        Synchronize the documentation with the code.
4606
 
        
4607
 
        * docs/user-ref.texi: Added ReiserFS as a supported filesystem.
4608
 
        Updated the descriptions about `password', `install', `kernel',
4609
 
        and `setup'.
4610
 
        Added a description about `lock'.
4611
 
        Added descriptions about ERR_UNALIGNED and ERR_PRIVILEGED.
4612
 
        Added a description about the option `--force-lba' of
4613
 
        the program `grub-install'.
4614
 
        * docs/tutorial.texi: Updated the subsection for NetBSD.
4615
 
        
4616
 
2000-05-21  OKUJI Yoshinori  <okuji@gnu.org>
4617
 
 
4618
 
        * stage2/asm.S (set_int13_handler): Don't use MBI to get the
4619
 
        lower memory size. Instead, decrease it in the BIOS memory
4620
 
        directly and set %eax to it, since MBI.MEM_LOWER may not be the
4621
 
        same as [0x413] any longer due to the previous change.
4622
 
 
4623
 
        * grub/asmstub.c (CONVENTIONAL_MEMSIZE): Changed to 640 * 1024
4624
 
        from 640. You didn't like the inconsistency between
4625
 
        EXTENDED_MEMSIZE and CONVENTIONAL_MEMSIZE, did you?
4626
 
        (get_memsize): Return CONVENTIONAL_MEMSIZE >> 10 instead of
4627
 
        CONVENTIONAL_MEMSIZE, if TYPE is zero.
4628
 
        (get_eisamemsize): Return EXTENDED_MEMSIZE >> 10 instead of
4629
 
        EXTENDED_MEMSIZE / 1024. Just a cosmetic change.
4630
 
        (MMAR_DESC_LENGTH): New macro. Defined as 20.
4631
 
        (get_mmap_entry): Define a new variable DESC_TABLE statically, 
4632
 
        and copy the CONTth entry to *DESC if CONT is a correct index.
4633
 
        
4634
 
2000-05-21  Chip Salzenberg  <chip@valinux.com>
4635
 
 
4636
 
        * stage2/common.c (mmap_avail_at): New function, abstracted out
4637
 
        of init_bios_info, to scan E820 memory map.
4638
 
        (init_bios_info): Use mmap_avail_at for _both_ MBI.MEM_UPPER and
4639
 
        MBI.MEM_LOWER.
4640
 
 
4641
 
2000-05-17  OKUJI Yoshinori  <okuji@gnu.org>
4642
 
 
4643
 
        Update the network support to Etherboot-4.6.1.
4644
 
 
4645
 
        * netboot/config.c (pci_nic_list) [INCLUDE_TULIP]: Added an
4646
 
        entry for Davicom 9102.
4647
 
        * netboot/epic100.c: Just copied.
4648
 
        * netboot/pci.h: Likewise.
4649
 
        * netboot/tulip.c: Likewise.
4650
 
        * netboot/etherboot.h (tftp): Change the type of the first
4651
 
        argument to const char * from char *.
4652
 
        * netboot/main.c (tftp): Likewise.
4653
 
        
4654
 
2000-05-13  OKUJI Yoshinori  <okuji@gnu.org>
4655
 
 
4656
 
        * util/grub-install.in: If the program `cp' fails, exit with the
4657
 
        status code 1. Suggested by Pavel Roskin.
4658
 
        
4659
 
2000-05-13  OKUJI Yoshinori  <okuji@gnu.org>
4660
 
 
4661
 
        From Pixel <pixel@mandrakesoft.com>:
4662
 
        * stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_EXTENDED): New macro.
4663
 
        (IS_PC_SLICE_TYPE_EXTENDED): Added a check for
4664
 
        PC_SLICE_TYPE_LINUX_EXTENDED.
4665
 
        
4666
 
2000-05-05  OKUJI Yoshinori  <okuji@gnu.org>
4667
 
 
4668
 
        * stage2/common.c (init_bios_info) [!STAGE1_5]: When the memory
4669
 
        map is present, search the maximum for MEMTMP in bytes instead
4670
 
        of kilobytes and set EXTENDED_MEMORY to MEMTMP minus 1MB in
4671
 
        kilobytes.
4672
 
        
4673
 
2000-05-05  OKUJI Yoshinori  <okuji@gnu.org>
4674
 
 
4675
 
        Ignore any memory holes when passing the maximum memory address
4676
 
        to non-Multiboot kernels (i.e. Linux and *BSD).
4677
 
        
4678
 
        * stage2/common.c [!STAGE1_5] (extended_memory): New global
4679
 
        variable.
4680
 
        (init_bios_info) [!STAGE1_5]: Change the type of CONT, MEMTMP
4681
 
        and ADDR to unsigned long from int.
4682
 
        Set EXTENDED_MEMORY to MBI.MEM_UPPER by default.
4683
 
        If MBI.MMAP_LENGTH is not zero, set EXTENDED_MEMORY to the
4684
 
        maximum available address, ignoring any memory holes.
4685
 
        If MBI.MMAP_LENGTH is zero but get_eisamemsize returns other
4686
 
        than -1, set EXTENDED_MEMORY to (CONT >> 10) + 0x3c00 if CONT is
4687
 
        non-zero, otherwise, set it to MEMTMP.
4688
 
        * stage2/shared.h [!STAGE1_5] (extended_memory): Declared.
4689
 
        * stage2/boot.c (load_image): Always pass the "mem=" option to a
4690
 
        Linux kernel, using EXTENDED_MEMORY instead of MBI.MEM_UPPER.
4691
 
        (bsd_boot): Use EXTENDED_MEMORY instead of MBI.MEM_UPPER.
4692
 
        
4693
 
2000-04-30  OKUJI Yoshinori  <okuji@gnu.org>
4694
 
 
4695
 
        * stage1/stage1.S (message): Use lodsb instead of incw and movb.
4696
 
        From Andrew Clausen <clausen@gnu.org>.
4697
 
 
4698
 
        * stage1/stage1.S (copy_buffer): Set %cx to 0x100 and use movsw
4699
 
        instead of movsb, since it is guaranteed that the region is
4700
 
        properly aligned.
4701
 
        
4702
 
2000-04-29  OKUJI Yoshinori  <okuji@gnu.org>
4703
 
 
4704
 
        * stage2/builtins.c (setup_func): Use SECTOR_BITS instead of
4705
 
        SECTOR_SIZE to compute BLOCKSIZE.
4706
 
 
4707
 
2000-04-26  OKUJI Yoshinori  <okuji@gnu.org>
4708
 
 
4709
 
        * netboot/depca.c: Copied from Etherboot-4.6.0.
4710
 
        
4711
 
2000-04-23  OKUJI Yoshinori  <okuji@gnu.org>
4712
 
 
4713
 
        More security-related features.
4714
 
        
4715
 
        * stage2/builtins.c (auth): New global variable.
4716
 
        (configfile_func): Clear AUTH before jumping to cmain.
4717
 
        (lock_func): New function.
4718
 
        (builtin_lock): New variable.
4719
 
        (password_func): Make sure that LEN + 2 is less than or equal to
4720
 
        PASSWORD_BUFLEN, because now the password must be terminated
4721
 
        with double NULs, in order to permit an empty configuration file
4722
 
        name.
4723
 
        Copy LEN bytes from ARG to PASSWORD, instead of LEN + 1 bytes.
4724
 
        Clear the rest of the buffer PASSWORD.
4725
 
        (builtin_table): Added a pointer to BUILTIN_LOCK.
4726
 
        * stage2/common.c (err_list): Added an entry for ERR_PRIVILEGED.
4727
 
        * stage2/stage2.c (run_menu): If AUTH is true, show the messages
4728
 
        for a non-password configuration, even if PASSWORD is not NULL.
4729
 
        Likewise, if AUTH is true, allow the user to use privileged
4730
 
        instructions (such as `c').
4731
 
        If a correct password is entered, check if *PPTR is NUL or not.
4732
 
        If it is NUL, set AUTH to 1 and go to the label restart,
4733
 
        otherwise, copy PPTR to NEW_FILE, clear AUTH, and return.
4734
 
        * stage2/shared.h (grub_error_t): Added a new constant
4735
 
        ERR_PRIVILEGED.
4736
 
        (auth): Declared.
4737
 
        
4738
 
2000-04-23  OKUJI Yoshinori  <okuji@gnu.org>
4739
 
 
4740
 
        * docs/user-ref.texi (Command-line-specific commands): Don't use
4741
 
        the command @var for the argument "file" to the command
4742
 
        "configfile" on the definition.
4743
 
        
4744
 
2000-04-22  OKUJI Yoshinori  <okuji@gnu.org>
4745
 
 
4746
 
        Update the network support to Etherboot 4.5.8.
4747
 
 
4748
 
        * configure.in (--enable-3c590): New option.
4749
 
        (--enable-3c595): Likewise.
4750
 
        (--enable-depca): Likewise.
4751
 
        (--enable-lance): Likewise.
4752
 
        (--enable-ns8390): Likewise.
4753
 
        (--enable-ntulip): Likewise.
4754
 
        (--enable-lancepci): Removed.
4755
 
        (--enable-nepci): Likewise.
4756
 
        (--enable-otulip): Likewise.
4757
 
        (--enable-smc9000): The duplicated one is named to ...
4758
 
        (--enable-smc9000-scan): ... this. This was a typo, perhaps.
4759
 
        
4760
 
        * netboot/Makefile.am (libdrivers_a_SOURCES): Removed
4761
 
        byteorder.h, if.h, netboot_config.h and netdevice.h, and added
4762
 
        cards.h.
4763
 
        (EXTRA_libdrivers_a_SOURCES): Removed ntulip.c and tulip.h, and
4764
 
        added 3c595.c, 3c595.h, depca.c, otulip.c and otulip.h.
4765
 
        (libdrivers_a_CFLAGS): Define FSYS_TFTP as 1 instead of empty.
4766
 
        (EXTRA_DIST): Removed ntulip.txt, and added cs89x0.txt and
4767
 
        tulip.txt.
4768
 
        (3c595_drivers): New variable.
4769
 
        (depca_drivers): Likewise.
4770
 
        (lance_drivers): Removed lancepci.o and added lance.o.
4771
 
        (ns8390_drivers): Removed nepci.o and added ns8390.o.
4772
 
        (ntulip_drivers): Deleted.
4773
 
        (otulip_drivers): New variable.
4774
 
        ($(3c595_drivers)): New target.
4775
 
        ($(depca_drivers)): Likewise.
4776
 
        ($(ntulip_drivers)): Deleted.
4777
 
        ($(otulip_drivers)): New target.
4778
 
        (3c590_o_CFLAGS): New variable.
4779
 
        (3c595_o_CFLAGS): Likewise.
4780
 
        (depca_o_CFLAGS): Likewise.
4781
 
        (lancepci_o_CFLAGS): Deleted.
4782
 
        (lance_o_CFLAGS): New variable.
4783
 
        (nepci_o_CFLAGS): Deleted.
4784
 
        (ns8390_o_CFLAGS): New variable.
4785
 
        (ntulip_o_CFLAGS): Deleted.
4786
 
        (otulip_o_CFLAGS): New variable.
4787
 
        
4788
 
        * netboot/3c90x.c: Updated to Etherboot-4.5.8.
4789
 
        * netboot/3c90x.txt: Likewise.
4790
 
        * netboot/cs89x0.c: Likewise.
4791
 
        * netboot/cs89x0.h: Likewise.
4792
 
        * netboot/eepro100.c: Likewise.
4793
 
        * netboot/epic100.c: Likewise.
4794
 
        * netboot/epic100.h: Likewise.
4795
 
        * netboot/i82586.c: Likewise.
4796
 
        * netboot/lance.c: Likewise.
4797
 
        * netboot/linux-asm-io.h: Likewise.
4798
 
        * netboot/linux-asm-string.h: Likewise.
4799
 
        * netboot/nic.h: Likewise.
4800
 
        * netboot/ns8390.c: Likewise.
4801
 
        * netboot/ns8390.h: Likewise.
4802
 
        * netboot/pci.c: Likewise.
4803
 
        * netboot/pci.h: Likewise.
4804
 
        * netboot/rtl8139.c: Likewise.
4805
 
        * netboot/sk_g16.c: Likewise.
4806
 
        * netboot/sk_g16.h: Likewise.
4807
 
        * netboot/smc9000.c: Likewise.
4808
 
        * netboot/smc9000.h: Likewise.
4809
 
        * netboot/tiara.c: Likewise.
4810
 
        * netboot/tulip.c: Likewise.
4811
 
        * netboot/via-rhine.c: Likewise.
4812
 
 
4813
 
        * netboot/config.c: Updated to Etherboot-4.5.8 and modified (see
4814
 
        below).
4815
 
        [GRUB] (print_config): Undefined.
4816
 
        (eth_probe) [GRUB]: If PROBED is true, do nothing. Otherwise,
4817
 
        clear NETWORK_READY and ARPTABLE, set ROM to ROM_INFO_LOCATION,
4818
 
        and set PROBED to 1 if succeeds.
4819
 
        * netboot/etherboot.h: Likewise,
4820
 
        (GRUB): New macro.
4821
 
        [GRUB]: Include <shared.h>.
4822
 
        [GRUB] (NO_DHCP_SUPPORT): Undefined.
4823
 
        [GRUB] (RELOC): Defined as zero.
4824
 
        [GRUB] (INTERNAL_BOOTP_DATA): Defined as one.
4825
 
        [GRUB] (USE_INTERNAL_BUFFER): Likewise.
4826
 
        [GRUB] (BACKOFF_LIMIT): Defined as 7.
4827
 
        [GRUB] (CTRL_C): New macro.
4828
 
        [GRUB] (print_network_configuration): Declared.
4829
 
        [GRUB] (ip_abort): Likewise.
4830
 
        [GRUB] (network_ready): Likewise.
4831
 
        * netboot/fsys_tftp.c: Don't include <netboot_config.h>.
4832
 
        (isocket): Renamed to ...
4833
 
        (iport): ... this.
4834
 
        (osocket): Renamed to ...
4835
 
        (oport): ... this.
4836
 
        (bcounter): New variable.
4837
 
        (buf_fill): When checking the block order, see BCOUNTER as well
4838
 
        as BLOCK.
4839
 
        Don't process a packet, if BLOCK minus PREVBLOCK is not 1,
4840
 
        instead of if BLOCK is less than or equal to PREVBLOCK.
4841
 
        Increment BCOUNTER after reseting RETRY.
4842
 
        (send_rrq): Clear BCOUNTER.
4843
 
        Call await_reply with AWAIT_QDRAIN.
4844
 
        * netboot/main.c: Don't include <netboot_config.h>.
4845
 
        (dhcpdiscover): Made const.
4846
 
        (dhcprequest): Likewise. Updated the contents.
4847
 
        (broadcast): Made const.
4848
 
        (udp_transmit): Copied.
4849
 
        (tftp): Likewise.
4850
 
        (bootp): Likewise.
4851
 
        (rarp): Likewise.
4852
 
        (await_reply): Likewise.
4853
 
        (decode_rfc1533): Likewise.
4854
 
        (rfc951_sleep): Likewise.
4855
 
        (cleanup_net): Likewise.
4856
 
        * netboot/misc.c (sleep): Copied.
4857
 
        (twiddle): Likewise.
4858
 
        (getdec): Likewise.
4859
 
        * netboot/osdep.h: Copied and modified (see below).
4860
 
        [GRUB] (ETHERBOOT32): Used the same definition as Linux and
4861
 
        FreeBSD.
4862
 
        [GRUB] (ntohl): Likewise.
4863
 
        [GRUB] (htonl): Likewise.
4864
 
        [GRUB] (ntohs): Likewise.
4865
 
        [GRUB] (htons): Likewise.
4866
 
        [GRUB] (swap32): Likewise.
4867
 
        [GRUB] (swap16): Likewise.
4868
 
        [GRUB]: Include "linux-asm-io.h".
4869
 
 
4870
 
        * netboot/byteorder.h: Removed.
4871
 
        * netboot/if.h: Likewise.
4872
 
        * netboot/netboot_config.h: Likewise.
4873
 
        * netboot/netdevice.h: Likewise.
4874
 
        * netboot/ntulip.c: Likewise.
4875
 
        * netboot/ntulip.txt: Likewise.
4876
 
        * netboot/tulip.h: Likewise.
4877
 
        
4878
 
        * netboot/3c595.c: New file. Copied from Etherboot-4.5.8.
4879
 
        * netboot/3c595.h: Likewise.
4880
 
        * netboot/cards.h: Likewise.
4881
 
        * netboot/cs89x0.txt: Likewise.
4882
 
        * netboot/depca.c: Likewise.
4883
 
        * netboot/otulip.c: Likewise.
4884
 
        * netboot/otulip.h: Likewise.
4885
 
        * netboot/tulip.txt: Likewise.
4886
 
        
4887
 
2000-02-29  Jochen Hoenicke  <jochen@gnu.org>
4888
 
 
4889
 
        * stage2/common.c (err_list): Added message for ERR_UNALIGNED.
4890
 
        * stage2/shared.h [!STAGE1_5] (disk_read_hook,disk_read_func): New
4891
 
        parameters offset and length.
4892
 
        (ERR_UNALIGNED): New error code.
4893
 
        * stage2/disk_io.c (rawread) [!STAGE1_5]: Call disk_read_func with
4894
 
        offset and length.
4895
 
        * stage2/builtin.c (disk_read_print_func): Print offset and length.
4896
 
        (blocklist_func): Print detailed byte ranges for partial sectors.
4897
 
        (install_func): Detect partial sectors and print error message.
4898
 
 
4899
 
2000-04-18  Pavel Roskin  <pavel_roskin@geocities.com>
4900
 
 
4901
 
        * util/grub-install.in: Don't use `!' in `test' for more
4902
 
        portability.
4903
 
        Don't use `for' without `in' for compatability with ash.
4904
 
        Check install_device before running grub if possible. Added
4905
 
        error messages if install_device is not set or not unique.
4906
 
        Exit if mkdir fails.
4907
 
        Add a message about successful installation.
4908
 
        Remove unneeded backslash in the final message.
4909
 
        (convert): use `test -b' instead of `test -e' because ash
4910
 
        doesn't understand the later. Correct error message accordingly.
4911
 
        
4912
 
2000-04-17  OKUJI Yoshinori  <okuji@gnu.org>
4913
 
 
4914
 
        The user doesn't have to recompile GRUB for his/her buggy BIOS
4915
 
        any longer. It is configurable to ignore the LBA support bitmap
4916
 
        at the installation time.
4917
 
        
4918
 
        * stage1/stage1.S (force_lba): New variable.
4919
 
        (stage2_address): Moved forwards, to align some variables in
4920
 
        natural boundaries.
4921
 
        (real_start): Check if FORCE_LBA is non-zero, if so, jump to
4922
 
        skip_lba_bitmap_check, otherwise, check if bit 0 of the support
4923
 
        bitmap is non-zero.
4924
 
        Don't use #ifdef for CHECK_LBA_SUPPORT_BITMAP.
4925
 
        (skip_lba_bitmap_check): New label.
4926
 
        * stage1/stage1.h (COMPAT_VERSION_MINOR): Set to 1.
4927
 
        (STAGE1_FORCE_LBA): New macro.
4928
 
        (STAGE1_STAGE2_ADDRESS): Set to 0x42.
4929
 
        (STAGE1_STAGE2_SECTOR): Set to 0x44.
4930
 
        (STAGE1_STAGE2_SEGMENT): Set to 0x48.
4931
 
        * stage2/asm.S (force_lba): New variable.
4932
 
        * stage2/bios.c (get_diskinfo): Don't use #ifdef for
4933
 
        CHECK_LBA_SUPPORT_BITMAP. Instead, check if FORCE_LBA is
4934
 
        non-zero. If so, don't check the bit 0 of DRP.FLAG.
4935
 
        * stage2/builtins.c (install_func): Check if a new option
4936
 
        `--force-lba' is specified. If specified, set IS_FORCE_LBA to 1
4937
 
        and set ARG to a value returned by skip_to. Otherwise,
4938
 
        IS_FORCE_LBA is zero.
4939
 
        Set the "force LBA" flag in STAGE1_BUFFER (the offset is
4940
 
        STAGE1_FORCE_LBA) to IS_FORCE_LBA.
4941
 
        Likewise, set the "force LBA" flag in STAGE2_SECOND_BUFFER
4942
 
        (the offset is STAGE2_FORCE_LBA) to IS_FORCE_LBA.
4943
 
        If IS_STAGE1_5 is true, then modify the Stage2, regardless of
4944
 
        the presence of the option REAL_CONFIG_FILE. Set the "force LBA"
4945
 
        flag in SCRATCHADDR (the offset is STAGE2_FORCE_LBA) to
4946
 
        IS_FORCE_LBA.
4947
 
        (builtin_install): Added description about `--force-lba' into
4948
 
        the docs.
4949
 
        (setup_func): Check if `--force-lba' is specified in ARG. If
4950
 
        specified, set IS_FORCE_LBA to 1 and set ARG to a value returned
4951
 
        by skip_to. Otherwise, IS_FORCE_LBA is zero.
4952
 
        If IS_FORCE_LBA is true, prepend "--force-lba " to CMD_ARG.
4953
 
        (builtin_setup): Added descriptions about `--force-lba' into the
4954
 
        docs.
4955
 
        * stage2/shared.h (STAGE2_FORCE_LBA): New macro.
4956
 
        (STAGE2_VER_STR_OFFS): Set to 0xe.
4957
 
        (force_lba): Declared.
4958
 
        * util/grub-install.in (force_lba): New variable. Set to an
4959
 
        empty sting by default.
4960
 
        (usage): Added a description about `--force-lba'.
4961
 
        (--force-lba): Checked in the option handling code. If
4962
 
        specified, set FORCE_LBA to "--force-lba".
4963
 
        Run the command "setup" with $force_lba added before
4964
 
        $install_drive.
4965
 
        * configure.in (--disable-lba-support-bitmap): Removed.
4966
 
        
4967
 
2000-04-15  OKUJI Yoshinori  <okuji@gnu.org>
4968
 
 
4969
 
        * util/grub-install.in (root_device): Append `/' to ${rootdir},
4970
 
        since ROOTDIR may be empty. Reported by Satoshi Nagayasu
4971
 
        <snaga@oak.forus.or.jp>.
4972
 
        
4973
 
2000-04-15  Jochen Hoenicke  <jochen@gnu.org>
4974
 
 
4975
 
        * configure.in: Added --disable-reiserfs option.
4976
 
        * stage2/Makefile.am (libgrub_a_SOURCES): Added fsys_reiserfs.c.
4977
 
        (libgrub_a_CFLAGS): Added -DFSYS_REISERFS=1.
4978
 
        (pkgdata_DATA): Added reiserfs_stage1_5.
4979
 
        (noinst_PROGRAMS): Added reiserfs_stage1_5.exec.
4980
 
        (pre_stage2_exec_SOURCES): Added fsys_reiserfs.c.
4981
 
        (reiserfs_stage1_5_exec_SOURCES): New variable.
4982
 
        (reiserfs_stage1_5_exec_CFLAGS): Likewise.
4983
 
        (reiserfs_stage1_5_exec_LDFLAGS): Likewise.
4984
 
        * stage2/disk_io.c (fsys_table): Added reiserfs entry.
4985
 
        * stage2/filesys.h (FSYS_REISERFS_NUM): New macro.
4986
 
        [FSYS_REISERFS] (reiserfs_mount, reiserfs_read, reiserfs_dir,
4987
 
        reiserfs_embed): Declare external function from fsys_reiserfs.c.
4988
 
        [!NUM_FSYS] (NUM_FSYS): Added FSYS_REISERFS_NUM.
4989
 
        * stage2/builtins.c (setup_func): Added reiserfs to
4990
 
        STAGE1_5_MAP.
4991
 
        * stage2/shared.h (STAGE2_ID_REISERFS_STAGE1_5): New macro.
4992
 
        [STAGE1_5] [FSYS_REISERFS] (STAGE2_ID): Defined to
4993
 
        STAGE2_ID_REISERFS_STAGE1_5.
4994
 
        * stage2/fsys_reiserfs.c: New file.
4995
 
 
4996
 
        * stage2/builtins.c (embed_func): Call open_device instead of
4997
 
        open_partition.
4998
 
        Don't check if the filesystem is FFS. Instead, check if
4999
 
        FSYS_TABLE[FSYS_TYPE].EMBED_FUNC is NULL and, if not, call it.
5000
 
        (find_func): When CURRENT_SLICE is not a BSD slice, check if the
5001
 
        file can be opened, only if open_device succeeds.
5002
 
        * stage2/filesys.h (fsys_table): New entry embed_func.
5003
 
        (ffs_embed): Declared.
5004
 
        * stage2/disk_io.c (fsys_table): Fill embed_func entries. The
5005
 
        entry for FFS is ffs_embed and the others are NULLs.
5006
 
        * stage2/fsys_ffs.c (ffs_embed): New function.
5007
 
 
5008
 
        * stage2/shared.h (SECTOR_SHIFT): New constant with
5009
 
        (1 << SECTOR_SHIFT) == SECTOR_SIZE.
5010
 
        * stage2/shared.h [!NO_BLOCK_FILES] (block_files): No longer
5011
 
        extern.
5012
 
        * stage2/disk_io.c [!NO_BLOCK_FILES] (block_files): Likewise.
5013
 
        (rawread, devread): Use SECTOR_BITS.
5014
 
        (rawread): Fixed calculation of BUFADDR if an error occured. Set
5015
 
        it to BUFFERADDR + BYTE_OFFSET instead of BUFFERSEG +
5016
 
        BYTE_OFFSET.
5017
 
        (grub_close) [!NO_BLOCK_FILES]: If BLOCK_FILE is non-zero,
5018
 
        return immediately.
5019
 
        (grub_close): Don't check if FSYS_TYPE is NUM_FSYS.
5020
 
        * stage2/fsys_fat.c (log2): New inline function.
5021
 
        (fat_mount): Use log2 instead of calculating the size/bit by a
5022
 
        loop.
5023
 
 
5024
 
2000-04-12  OKUJI Yoshinori  <okuji@gnu.org>
5025
 
 
5026
 
        * configure.in: Use AC_PATH_PROG instead of AC_PATH_TOOL,
5027
 
        because I don't want to use the CVS version. Now you can use
5028
 
        autoconf 2.13.
5029
 
        
5030
 
2000-04-10  OKUJI Yoshinori  <okuji@gnu.org>
5031
 
 
5032
 
        * stage2/stage2.c (run_menu): In the case where C is `o', check
5033
 
        if ENTRYNO is less than 11. If not, increase FIRST_ENTRY instead
5034
 
        of ENTRYNO. Reported by Pixel <pixel@mandrakesoft.com>.
5035
 
        
5036
 
2000-04-09  OKUJI Yoshinori  <okuji@gnu.org>
5037
 
 
5038
 
        * stage1/depcomp: Removed, because it makes `make dist'
5039
 
        unworkable.
5040
 
 
5041
 
        For developers: Don't run automake with --add-missing. Instead,
5042
 
        you should specify --force-missing. If you really want to add a
5043
 
        script from automake, copy it at hand. *sigh*
5044
 
        
5045
 
2000-04-05  OKUJI Yoshinori  <okuji@gnu.org>
5046
 
 
5047
 
        * stage2/builtins.c (kernel_func): Added missing ``size''
5048
 
        arguments into `grub_memcmp's. Reported by Christoph Plattner
5049
 
        <christoph.plattner@dot.at>.
5050
 
 
5051
 
        From Torsten Duwe <duwe@caldera.de>:
5052
 
        * stage2/boot.c (load_initrd): Mask the address with 0x3FFFFFFF
5053
 
        instead of 0xFFFFFFFF to place the initrd below 1GB.
5054
 
        (load_image): In Linux boot, add the option "mem=" only if more
5055
 
        than 64MB are present.
5056
 
        * grub/asmstub.c [__linux__]: Include <linux/cdrom.h> for
5057
 
        CDROM_GET_CAPABILITY.
5058
 
        [__FreeBSD__ || __NetBSD__ || __OpenBSD__]: Include <sys/cdio.h>
5059
 
        for CDIOCCLRDEBUG.
5060
 
        (check_device) [__linux__] [CDROM_GET_CAPABILITY]: If ioctl for
5061
 
        CDROM_GET_CAPAIBILITY succeeds, return zero.
5062
 
        [__FreeBSD__ || __NetBSD__ || __OpenBSD__] [CDIOCCLRDEBUG]: If
5063
 
        ioctl for CDIOCCLRDEBUG succeeds, return zero.
5064
 
 
5065
 
        * stage2/boot.c (load_initrd): Subtract 0x1000 (one page size)
5066
 
        from MOVETO, to avoid a Linux 2.3.xx's bug.
5067
 
        
5068
 
2000-04-03  OKUJI Yoshinori  <okuji@gnu.org>
5069
 
 
5070
 
        Add a dirty hack into the kernel loader so that the user can
5071
 
        force GRUB to load NetBSD ELF kernels. The support code is
5072
 
        mostly stolen from a patch by Pavel Roskin.
5073
 
        
5074
 
        * stage2/boot.c (load_image): Added an optional argument
5075
 
        SUGGESTED_TYPE.
5076
 
        If BUFFER is a bootable ELF image and SUGGESTED_TYPE is
5077
 
        KERNEL_TYPE_NETBSD, then load it as an ELF image and set STR2 to
5078
 
        "NetBSD" and TYPE to SUGGESTED_TYPE.
5079
 
        If the image is a Linux kernel and SUGGESTED_TYPE is not
5080
 
        KERNEL_TYPE_NONE, make sure that SUGGESTED_TYPE matches up to
5081
 
        the Linux kernel type.
5082
 
        If TYPE is KERNEL_TYPE_NETBSD, set MEMADDR to
5083
 
        RAW_ADDR (phdr->paddr & 0xFFFFFF) like FreeBSD.
5084
 
        If SUGGESTED_TYPE is not KERNEL_TYPE_NONE, make sure that
5085
 
        SUGGESTED_TYPE is equal to TYPE.
5086
 
        (bsd_boot): If TYPE is not KERNEL_TYPE_FREEBSD (i.e. NetBSD or
5087
 
        OpenBSD) and the bit MB_INFO_AOUT_SYMS is set, set END_MARK to
5088
 
        MBI.SYMS.A.ADDR + 4 + MBI.SYMS.A.TABSIZE + MBI.SYMS.A.STRSIZE.
5089
 
        If the bit is clear, set END_MARK to 0.
5090
 
        Pass END_MARK to *ENTRY_ADDR instead of directly calculating the
5091
 
        end of symbols.
5092
 
        * stage2/shared.h (load_image): Added the argument
5093
 
        SUGGESTED_TYPE to the prototype.
5094
 
        * stage2/builtins.c (kernel_func): Added a new option,
5095
 
        `--type=TYPE'. Check if ARG is started with "--type=".
5096
 
        If so, set SUGGESTED_TYPE to KERNEL_TYPE_NETBSD,
5097
 
        KERNEL_TYPE_FREEBSD, KERNEL_TYPE_NETBSD, KERNEL_TYPE_LINUX,
5098
 
        KERNEL_TYPE_BIG_LINUX, KERNEL_TYPE_MULTIBOOT if ARG is "netbsd",
5099
 
        "freebsd", "openbsd", "linux", "biglinux", "multiboot",
5100
 
        respectively. Otherwise, set ERRNUM to ERR_BAD_ARGUMENT and
5101
 
        return 1. Set KERNEL_ARG to a string after the option.
5102
 
        (builtin_kernel): Added a description about the new option.
5103
 
        
5104
 
2000-04-03  OKUJI Yoshinori  <okuji@gnu.org>
5105
 
 
5106
 
        * stage2/stage2.c (run_menu) [GRUB_UTIL]: Removed a nested
5107
 
        "#ifdef GRUB_UTIL" ... "#endif".
5108
 
        * stage2/builtins.c (unhide_func): Don't modify SAVED_DRIVE or
5109
 
        SAVED_PARTITION.
5110
 
        (hide_func): Likewise.
5111
 
        * stage2/disk_io.c (set_partition_hidden_flag): Use
5112
 
        CURRENT_DRIVE and CURRENT_PARTITION instead of SAVED_DRIVE and
5113
 
        SAVED_PARTITION. Check if bit 7 in CURRENT_DRIVE is non-zero
5114
 
        instead of if CURRENT_DRIVE is non-zero.
5115
 
 
5116
 
        * grub/asmstub.c (init_device_map): Change the message
5117
 
        "Probe devices..." to "Probing devices...". Suggested by Neal H
5118
 
        Walfield.
5119
 
 
5120
 
        * stage2/pc_slice.h (PC_SLICE_TYPE_HIDDEN_FLAG): Move the
5121
 
        definition before the PC partition type definitions.
5122
 
        (IS_PC_SLICE_TYPE_FAT): Clear the hidden flag in TYPE before
5123
 
        checking if TYPE is either of the FAT partition types. Reported
5124
 
        by Thomas Schweikle <tschweikle@fiducia.de>.
5125
 
        
5126
 
2000-04-02  OKUJI Yoshinori  <okuji@gnu.org>
5127
 
 
5128
 
        * stage2/builtins.c (setup_func): Don't read a stage 1.5 to get
5129
 
        the size. Use FILEMAX instead.
5130
 
        If embed_func fails (i.e. ERRNUM is non-zero), goto fail.
5131
 
        
5132
 
2000-04-02  OKUJI Yoshinori  <okuji@gnu.org>
5133
 
 
5134
 
        Suggested by Neal H Walfield <neal@walfield.org>:
5135
 
        * stage2/common.c (init_bios_info): Removed a nested
5136
 
        "#ifndef STAGE1_5" ... "#endif".
5137
 
        * util/grub-install.in: Quote most of the references to
5138
 
        shell variables by double quotation marks.
5139
 
        (usage): Added a description about the argument.
5140
 
        * stage2/builtins.c (setup_func): Change each of the messages
5141
 
        when running embed_func and install_func. "Run" -> "Running".
5142
 
        If install_func succeeds, print a message ("Done.").
5143
 
 
5144
 
        From Frank Mehnert <fm3@os.inf.tu-dresden.de>:
5145
 
        * stage2/char_io.c (convert_to_ascii) [!STAGE1_5]: Accept 'X'
5146
 
        and 'b' as well. If C is 'X' or 'b', then set MULT to 16.
5147
 
        (grub_printf): Set a new variable MASK to 0xFFFFFFFF by default.
5148
 
        Mask *DATAPTR with MASK when calling convert_to_ascii.
5149
 
        (grub_printf) [!STAGE1_5]: Added 'b' and 'X'. If C is 'b', set
5150
 
        MASK to 0xFF and fall through to the case 'u'. 'X' is the same
5151
 
        as 'x'.
5152
 
 
5153
 
        From Josip Rodin <joy@cibalia.gkvk.hr>:
5154
 
        * grub.texi: Several awkward English sentences are fixed.
5155
 
        * tutorial.texi: Likewise.
5156
 
        * user-ref.texi: Likewise.
5157
 
        * appendices.texi: Likewise.
5158
 
        
5159
 
2000-03-27  OKUJI Yoshinori  <okuji@gnu.org>
5160
 
 
5161
 
        * stage1/depcomp: New file. Automake forces to install it. This
5162
 
        is a known bug, so I will remove this when Tom fixes it.
5163
 
        * configure.in (AM_INIT_AUTOMAKE): Don't get the package name
5164
 
        and the version from debian/changelog. This is a workaround.
5165
 
        
5166
 
2000-03-20  OKUJI Yoshinori  <okuji@gnu.org>
5167
 
 
5168
 
        * stage2/Makefile.am (nodist_pkgdata_DATA): Renamed to ...
5169
 
        (pkgdata_DATA): ... this. DATA is not distributed by default.
5170
 
        (CLEANFILES): Delete the first one. I don't know why this
5171
 
        variable was duplicated.
5172
 
        Set to $(pkgdata_DATA) instead of $(nodist_pkgdata_DATA).
5173
 
        (start_exec_DEPENDENCIES): Removed. This doesn't make sense.
5174
 
        (start_exec-start.o): New rule.
5175
 
        * depcomp: New file. Copied from automake.
5176
 
        * missing: Updated from automake.
5177
 
        
5178
 
2000-03-15  OKUJI Yoshinori  <okuji@gnu.org>
5179
 
 
5180
 
        * netboot/Makefile.am (EXTRA_libdrivers_a_SOURCES): 3c89x0.h ->
5181
 
        cs89x0.h. Just a typo.
5182
 
        
5183
 
2000-03-10  Gordon Matzigkeit  <gord@fig.org>
5184
 
 
5185
 
        * debian/rules: Strip mbchk.
5186
 
 
5187
 
        * debian/postinst: Fix up /usr/doc symlink creation.
5188
 
 
5189
 
2000-03-01  OKUJI Yoshinori  <okuji@gnu.org>
5190
 
 
5191
 
        * netboot/fsys_tftp.c (tftp_dir): Add BUF_READ into FILEMAX
5192
 
        after BUF_EOF becomes non-zero. Reported by Per Lundberg.
5193
 
        
5194
 
2000-03-01  OKUJI Yoshinori  <okuji@gnu.org>
5195
 
 
5196
 
        * stage2/builtins.c (color_func): Return 1 if safe_parse_maxint
5197
 
        returns zero instead of non-zero. Reported by Magnus Holmberg
5198
 
        <pucko@lysator.liu.se>.
5199
 
        
5200
 
2000-02-29  OKUJI Yoshinori  <okuji@gnu.org>
5201
 
 
5202
 
        * grub/asmstub.c [__linux__]: Include <linux/kdev_t.h> for the
5203
 
        macro MAJOR. From Kalle Olavi Niemitalo <tosi@ees2.oulu.fi>.
5204
 
        
5205
 
2000-02-27  OKUJI Yoshinori  <okuji@gnu.org>
5206
 
 
5207
 
        * docs/tutorial.texi (Network): New chapter.
5208
 
        
5209
 
2000-02-26  OKUJI Yoshinori  <okuji@gnu.org>
5210
 
 
5211
 
        * docs/help2man: Upgraded to 1.020.
5212
 
        * docs/grub.8: Regenerated.
5213
 
        * docs/grub-install.8: Likewise.
5214
 
        * docs/mbchk.1: Likewise.
5215
 
 
5216
 
        * docs/tutorial.texi (Boot): Rewritten heavily. Added the notes
5217
 
        on FreeBSD, NetBSD, OpenBSD, DOS/Windows and SCO UnixWare.
5218
 
        * docs/menu.lst: Load "/boot/loader" instead of "/kernel" in the
5219
 
        FreeBSD entry. This is consistent with the documentation.
5220
 
        
5221
 
2000-02-25  OKUJI Yoshinori  <okuji@gnu.org>
5222
 
 
5223
 
        * netboot/fsys_tftp.c (tftp_read): Set BUF_READ to zero if
5224
 
        FILEPOS is less than SAVED_FILEPOS, before calling buf_fill.
5225
 
        Don't discard all of the copied data so that we can move FILEPOS
5226
 
        backwards cheaply. Now SAVED_FILEPOS indicates the file position
5227
 
        corresponding to the first byte of BUF. If (FILEPOS -
5228
 
        SAVED_FILEPOS) is greater than (FSYS_BUFLEN / 2), move the data
5229
 
        forwards and add (FSYS_BUFLEN / 2) into SAVED_FILEPOS and
5230
 
        subtract the same value from BUF_READ.
5231
 
        
5232
 
2000-02-24  OKUJI Yoshinori  <okuji@gnu.org>
5233
 
 
5234
 
        * stage2/disk_io.c [!STAGE1_5] (print_fsys_type): Mask
5235
 
        CURRENT_SLICE with 0xFF when printing the partition type.
5236
 
 
5237
 
        * grub/asmstub.c [__linux__]: Include <linux/major.h> for the
5238
 
        definition FLOPPY_MAJOR.
5239
 
        (check_device) [__linux__]: Skip the HDIO_GETGEO ioctl if the
5240
 
        major number of ST.ST_RDEV is FLOPPY_MAJOR.
5241
 
        
5242
 
2000-02-21  OKUJI Yoshinori  <okuji@gnu.org>
5243
 
 
5244
 
        * stage2/disk_io.c (check_BSD_parts) [!STAGE1_5]: Use the term
5245
 
        "BSD sub-partition" instead of "BSD slice" for consistency.
5246
 
 
5247
 
        * stage2/builtins.c (boot_func): Copy the partition table to
5248
 
        BOOT_PART_TABLE instead of (BOOTSEC_LOCATION +
5249
 
        BOOTSEC_PART_OFFSET). Don't use grub_memmove, but copy it
5250
 
        directly, since memcheck is too strict.
5251
 
        * stage2/disk_io.c (real_open_partition) [!STAGE1_5]: Set
5252
 
        CUR_PART_ADDR to (BOOT_PART_TABLE + (i << 4)).
5253
 
        * stage2/shared.h (BOOT_PART_TABLE): New macro.
5254
 
        (chain_stage1): Change the types of all the arguments to
5255
 
        unsigned long.
5256
 
        (chain_stage2): Likewise.
5257
 
        * grub/asmstub.c (chain_stage1): Adjusted to the prototype.
5258
 
        (chain_stage2): Likewise.
5259
 
        
5260
 
2000-02-21  OKUJI Yoshinori  <okuji@gnu.org>
5261
 
 
5262
 
        * stage2/disk_io.c (check_BSD_parts) [!STAGE1_5]: If the BSD
5263
 
        label is invalid, print a message with the partition type in the
5264
 
        case where FLAGS is non-zero and DO_COMPLETION is zero.
5265
 
        
5266
 
2000-02-20  OKUJI Yoshinori  <okuji@gnu.org>
5267
 
 
5268
 
        * docs/user-ref.texi (Command-line-specific commands): Added a
5269
 
        description about "cmp".
5270
 
        * docs/appendices.texi (Reporting bugs): Rewritten.
5271
 
        
5272
 
2000-02-20  OKUJI Yoshinori  <okuji@gnu.org>
5273
 
 
5274
 
        Update the netboot code to Etherboot 4.4.3.
5275
 
        
5276
 
        * netboot/netboot_config.h: Copied from etherboot-4.4.3.
5277
 
        * netboot/cs89x0.h: Likewise.
5278
 
        * netboot/cs89x0.c: Likewise.
5279
 
        * netboot/i82586.c: Likewise.
5280
 
        * netboot/lance.c: Likewise.
5281
 
        * netboot/linux-asm-string.h: Likewise.
5282
 
        * netboot/nic.h: Likewise.
5283
 
        * netboot/ntulip.c: Likewise.
5284
 
        * netboot/osdep.h: Likewise.
5285
 
        * netboot/pci.h: Likewise.
5286
 
        * netboot/pci.c: Likewise.
5287
 
        * netboot/rtl8139.c: Likewise.
5288
 
        * netboot/tiara.c: Likewise.
5289
 
        
5290
 
2000-02-19  OKUJI Yoshinori  <okuji@gnu.org>
5291
 
 
5292
 
        * stage2/builtins.c (cmp_func): New function.
5293
 
        (builtin_cmp): New variable.
5294
 
        (builtin_table): Added a pointer to BUILTIN_CMP.
5295
 
 
5296
 
        * stage2/fsys_fat.c (fat_mount): Check if BPB.SECTS_PER_CLUST is
5297
 
        zero after reading the BPB to avoid zero division.
5298
 
        
5299
 
2000-02-18  OKUJI Yoshinori  <okuji@gnu.org>
5300
 
 
5301
 
        * stage2/disk_io.c [!STAGE1_5] (make_saved_active): Make sure
5302
 
        that SAVED_PARTITION is not an extended partition.
5303
 
        If SAVED_DRIVE is not a hard disk drive, set ERRNUM to
5304
 
        ERR_DEV_VALUES and return zero.
5305
 
 
5306
 
        * netboot/3c59x.c: Removed.
5307
 
        * netboot/Makefile.am (EXTRA_libdrivers_a_SOURCES): Deleted
5308
 
        3c59x.c.
5309
 
        (3c59x_drivers): Deleted.
5310
 
        (3c59x_o_CFLAGS): Likewise.
5311
 
        * configure.in (--enable-3c59x): Likewise.
5312
 
        
5313
 
2000-02-17  OKUJI Yoshinori  <okuji@gnu.org>
5314
 
 
5315
 
        * configure.in (--enable-3c90x): Add -DINCLUDE_3C90X=1 instead
5316
 
        of -DINCLUDE_3C90x=1. This was just a typo. Reported by Per
5317
 
        Lundberg.
5318
 
        
5319
 
2000-02-17  Jochen Hoenicke  <jochen@gnu.org>
5320
 
        
5321
 
        * stage2/fsys_fat.c (fat_read): Forgot to increase BUF.
5322
 
        (fat_dir): Use fat_read instead of grub_read; this makes
5323
 
        setting the FSMAX unnecessary.
5324
 
        (fat_mount): FSMAX is no longer set.
5325
 
        
5326
 
2000-02-16  Jochen Hoenicke  <jochen@gnu.org>
5327
 
 
5328
 
        * stage2/char_io.c (grub_isspace): Make carriage return a white
5329
 
        space.
5330
 
        
5331
 
        * stage2/fsys_fat.c (fat_dir): Long filename support.
5332
 
        (NAME_BUF): New macro.
5333
 
        * stage2/fat.h (FAT_LONGDIR_ID, FAT_LONGDIR_ALIASCHECKSUM,
5334
 
        FAT_ATTRIB_LONGNAME): New Macros.
5335
 
 
5336
 
        * stage2/fsys_fat.c (fat_create_blocklist): Deleted, instead
5337
 
        fat_read is implemented.
5338
 
        (fat_read): new function.
5339
 
        * stage2/disk_io.c (fsys_table): Use fat_read.
5340
 
        * stage2/filesys.h: Declare fat_read, remove NO_BLOCK_FILES
5341
 
        hack.
5342
 
        * stage2/Makefile.am: Compile fat_stage1_5 with
5343
 
        -DNO_BLOCK_FILES=1.
5344
 
        
5345
 
        * stage2/fat.h (fat_bpb): New structure describing bpb.
5346
 
        (FAT_CVT_U16): New macro.
5347
 
        (FAT_BPB_CHECK_SIG, FAT_BPB_NUM_SECTORS,
5348
 
        FAT_BPB_BYTES_PER_SECTOR, FAT_BPB_SECT_PER_CLUS, FAT_BPB_NUMFAT,
5349
 
        FAT_BPB_RESERVED_SECTORS, FAT_BPB_FAT_SECTORS_16,
5350
 
        FAT_BPB_FAT_SECTORS_32, FAT_BPB_IS_FAT32, FAT_BPB_FAT_SECTORS,
5351
 
        FAT_BPB_FAT_START, FAT_BPB_ROOT_DIR_CLUSTER,
5352
 
        FAT_BPB_HIDDEN_SECTORS, FAT_BPB_ROOT_DIR_START,
5353
 
        FAT_BPB_ROOT_DIR_LENGTH, FAT_BPB_DATA_OFFSET,
5354
 
        FAT_BPB_NUM_CLUST): Macros removed.
5355
 
        * stage2/fsys_fat.c (fat_superblock): New structure containing
5356
 
        all info about currently mounted filesystem.
5357
 
        (FAT_SUPER): New Macro.
5358
 
        (BPB): Macro removod.
5359
 
        (fat_mount): Use fat_bpb structure, fill FAT_SUPER.
5360
 
        (fat_read, fat_dir): Use FAT_SUPER info.
5361
 
 
5362
 
2000-02-16  OKUJI Yoshinori  <okuji@gnu.org>
5363
 
 
5364
 
        Pass the boot partition information to a chain-loader, in the
5365
 
        partition table area of the loader, instead of right before the
5366
 
        loaded address. Reported by takehiro@coral.ocn.ne.jp (Takehiro
5367
 
        Suzuki).
5368
 
        
5369
 
        * stage2/builtins.c (chainloader_func): Embed the partition
5370
 
        table of the boot drive in the partition table area of the
5371
 
        chain-loader, if the boot drive is a hard disk drive.
5372
 
        Pass BOOT_PART_ADDR instead of (BOOTSEC_LOCATION - 16) as the
5373
 
        third argument for the function chain_stage1.
5374
 
        * stage2/disk_io.c [!STAGE1_5] (boot_part_addr): New variable.
5375
 
        [!STAGE1_5] (boot_part_offset): Likewise.
5376
 
        [!STAGE1_5] (cur_part_offset): Likewise.
5377
 
        [!STAGE1_5] (cur_part_addr): Likewise.
5378
 
        [!STAGE1_5] (cur_part_desc): Removed.
5379
 
        (real_open_partition) [!STAGE1_5]: Set CUR_PART_OFFSET and
5380
 
        CUR_PART_ADDR to PART_OFFSET and (BOOTSEC_LOCATION +
5381
 
        PC_SLICE_OFFSET + (i << 4)), respectively.
5382
 
        [!STAGE1_5] (set_bootdev): Set BOOT_PART_OFFSET and
5383
 
        BOOT_PART_ADDR to CUR_PART_OFFSET and CUR_PART_ADDR,
5384
 
        respectively.
5385
 
        * stage2/shared.h (boot_part_addr): Declared.
5386
 
        (boot_part_offset): Likewise.
5387
 
        
5388
 
2000-02-12  OKUJI Yoshinori  <okuji@gnu.org>
5389
 
 
5390
 
        * stage2/builtins.c (geometry_func): Attempt to read the first
5391
 
        sector to examine if LBA mode is really supported.
5392
 
 
5393
 
        * netboot/fsys_tftp.c (buf_fill) [TFTP_DEBUG]: Added some debug
5394
 
        messages.
5395
 
        (send_rrq) [TFTP_DEBUG]: Likewise.
5396
 
        (tftp_read) [TFTP_DEBUG]: Likewise.
5397
 
        (tftp_dir) [TFTP_DEBUG]: Likewise.
5398
 
        (tftp_close) [TFTP_DEBUG]: Likewise.
5399
 
        (tftp_read): Call buf_fill with the argument 1 first, if FILEPOS
5400
 
        has been moved backwards, and use grub_memmove for copying
5401
 
        SAVED_TP to TP instead of a direct assignment.
5402
 
        If send_rrq fails, set ERRNUM to ERR_WRITE instead of ERR_READ.
5403
 
        Check if BUF_READ is zero instead of if BUF_EOF is non-zero at
5404
 
        the end of the loop.
5405
 
        (tftp_dir): Set ERRNUM to ERR_WRITE instead of ERR_READ, if
5406
 
        send_rrq fails.
5407
 
        Save TP and LEN in SAVED_TP and SAVED_LEN respectively before
5408
 
        buf_fill instead of after it, because it destroys the contents
5409
 
        of TP.
5410
 
        * netboot/main.c (print_network_configuration): The order of the
5411
 
        arguments for grub_sprintf in the local function sprint_ip_addr
5412
 
        is reversed.
5413
 
 
5414
 
        * configure.in (--enable-packet_retransmission): Renamed to ...
5415
 
        (--disable-packet-retransmission): ... this. Assume that a
5416
 
        network is congested by default.
5417
 
        
5418
 
2000-02-11  OKUJI Yoshinori  <okuji@gnu.org>
5419
 
 
5420
 
        From Pavel Roskin:
5421
 
        * stage2/shared.h [!GRUB_SHARED_HEADER] (GRUB_SHARED_HEADER):
5422
 
        Defined.
5423
 
        [GRUB_SHARED_HEADER]: Don't declare or define anything.
5424
 
 
5425
 
        * netboot/main.c (print_network_configuration): New function.
5426
 
        (await_reply): Check for Control-C instead of ESC, because GRUB
5427
 
        already uses ESC for another purpose.
5428
 
        (rfc951_sleep): Check for the key input in the loop. If
5429
 
        Control-C is pushed, return immediately.
5430
 
        * netboot/etherboot (print_network_configuration): Declared.
5431
 
        (CTRL_C): New macro.
5432
 
        (ESC): Undefined.
5433
 
        * netboot/config.c (eth_probe): Clear ARPTABLE after clearing
5434
 
        NETWORK_READY.
5435
 
        * stage2/builtins.c (bootp_func): Call
5436
 
        print_network_configuration if bootp succeeds.
5437
 
        (rarp_func): Call print_network_configuration if rarp succeeds.
5438
 
        
5439
 
2000-02-11  OKUJI Yoshinori  <okuji@gnu.org>
5440
 
 
5441
 
        From Per Lundberg <plundis@byggdok.se>:
5442
 
        * docs/multiboot.texi: Added graphics support.
5443
 
        
5444
 
2000-02-10  OKUJI Yoshinori  <okuji@gnu.org>
5445
 
 
5446
 
        * docs/multiboot.texi (Top): Downgrade the version to 0.6.90,
5447
 
        since we need more work to release it as 0.7.
5448
 
        
5449
 
2000-02-10  OKUJI Yoshinori  <okuji@gnu.org>
5450
 
 
5451
 
        * stage2/Makefile.am [NETBOOT_SUPPORT] (STAGE2_COMPILE): Added
5452
 
        -I$(top_srcdir)/netboot and -DSUPPORT_NETBOOT=1.
5453
 
        * stage2/builtins.c (bootp_func): New function.
5454
 
        (dhcp_func): Likewise.
5455
 
        (rarp_func): Likewise.
5456
 
        (builtin_bootp): New variable.
5457
 
        (builtin_dhcp): Likewise.
5458
 
        (builtin_rarp): Likewise.
5459
 
        (builtin_table): Added pointers to BUILTIN_BOOTP, BUILTIN_DHCP
5460
 
        and BUILTIN_RARP.
5461
 
        * docs/user-ref.texi (General Commands): Added descriptions
5462
 
        about "bootp", "dhcp" and "rarp".
5463
 
        
5464
 
        * netboot/main.c (bootp) [!NO_DHCP_SUPPORT]: Added casts to
5465
 
        suppress gcc warnings.
5466
 
        (decode_rfc1533) [!NO_DHCP_SUPPORT]: Likewise.
5467
 
        * netboot/3c90x.c: Include the local "pci.h" instead of
5468
 
        <linux/pci.h> even if __FreeBSD__ is undefined.
5469
 
        
5470
 
2000-02-09  OKUJI Yoshinori  <okuji@gnu.org>
5471
 
 
5472
 
        From Jochen Hoenicke:
5473
 
        * stage2/fsys_fat.c (fat_create_blocklist): The previous change
5474
 
        is reversed. Set FIRST_FAT_ENTRY to a unsigned long value in
5475
 
        FAT_BUF + (NEW_MAPBLOCK - MAPBLOCK) instead of a unsigned short
5476
 
        value. Mask FIRST_FAT_ENTRY with 0xFFF if FAT_SIZE is equal to
5477
 
        3, whether the bit 0 of LAST_FAT_ENTRY is set or not.
5478
 
 
5479
 
        * netboot/config.c (eth_probe): If PROBED is set to non-zero,
5480
 
        return 1 without probing ethernet cards. Clear NETWORK_READY. If
5481
 
        *T->ETH_PROBE return sucessfully, set PROBED to 1.
5482
 
        * netboot/main.c (rarp): Call eth_probe and return zero if
5483
 
        fails. Clear NETWORK_READY at first, and set NETWORK_READY to 1
5484
 
        if RETRY is less than MAX_ARP_RETRIES. If IP_ABORT is non-zero,
5485
 
        return zero instead of one.
5486
 
        (bootp): Call eth_probe and return zero if fails. Clear
5487
 
        NETWORK_READY at first, and set NETWORK_READY to 1 if
5488
 
        await_reply returns successfully.
5489
 
        (bootp) [T509HACK]: If FLAG is non-zero, skip calling
5490
 
        await_reply. Don't call await_reply here any more.
5491
 
        (bootp) [!NO_DHCP_SUPPORT]: If any ack packet is not reached
5492
 
        within MAX_BOOTP_RETRIES times, return zero. If DHCP_REPLY isn't
5493
 
        DHCPOFFER, set NETWORK_READY to one and return one.
5494
 
        * netboot/etherboot.h (NO_DHCP_SUPPORT): Undefined.
5495
 
 
5496
 
        * stage2/builtins.c (print_root_device): Use the macro
5497
 
        NETWORK_DRIVE instead of 0x20.
5498
 
        * stage2/disk_io.c [!STAGE1_5] (sane_partition): Likewise.
5499
 
        (real_open_partition) [!STAGE1_5]: Likewise.
5500
 
        (set_device) [!STAGE1_5]: Likewise.
5501
 
        
5502
 
2000-02-08  OKUJI Yoshinori  <okuji@gnu.org>
5503
 
 
5504
 
        * grub/asmstub.c (biosdisk) [__linux__]: Use _llseek when
5505
 
        __GLIBC_MINOR__ is less than 1 even if __GLIBC__ is 2. Reported
5506
 
        by Goran Koruga <goran.koruga@hermes.si>.
5507
 
 
5508
 
        * configure.in (--disable-lba-support-bitmap-check): New option.
5509
 
        Don't define CHECK_LBA_SUPPORT_BITMAP if specified.
5510
 
        * stage1/stage1.S (real_start): Check if AH=0x42 is supported if
5511
 
        CHECK_LBA_SUPPORT_BITMAP instead of NO_BUGGY_BIOS_IN_THE_WORLD
5512
 
        is defined.
5513
 
        * stage2/bios.c (get_diskinfo): Check if LBA read/write
5514
 
        functions are supported iff CHECK_LBA_SUPPORT_BITMAP is defined,
5515
 
        instead of NO_BUGGY_BIOS_IN_THE_WORLD.
5516
 
        
5517
 
2000-02-07  OKUJI Yoshinori  <okuji@gnu.org>
5518
 
 
5519
 
        The netboot support is heavily rewritten, based on
5520
 
        Etherboot-4.4.2. The current one doesn't work yet, so check out
5521
 
        GRUB with the tag "dresden_netboot_code" if you need working
5522
 
        one.
5523
 
        
5524
 
        * configure.in (--enable-tftp): Deleted.
5525
 
        (FSYS_CFLAGS): `AC_SUBST'ed right before AC_OUTPUT.
5526
 
        (NETBOOT_DRIVERS): New variable. AC_SUBST this after examining
5527
 
        the driver options.
5528
 
        (--enable-packet-retransmission): New option.
5529
 
        (--enable-pci-direct): Likewise.
5530
 
        (--enable-3c509): Likewise.
5531
 
        (--enable-3c529): Likewise.
5532
 
        (--enable-3c90x): Likewise.
5533
 
        (--enable-cs89x0): Likewise.
5534
 
        (--enable-epic100): Likewise.
5535
 
        (--enable-3c507): Likewise.
5536
 
        (--enable-exos205): Likewise.
5537
 
        (--enable-ni5210): Likewise.
5538
 
        (--enable-lancepci): Likewise.
5539
 
        (--enable-ne2100): Likewise.
5540
 
        (--enable-ni6510): Likewise.
5541
 
        (--enable-3c503): Likewise.
5542
 
        (--enable-ntulip): Likewise.
5543
 
        (--enable-rtl8139): Likewise.
5544
 
        (--enable-sk-g16): Likewise.
5545
 
        (--enable-smc9000): Likewise.
5546
 
        (--enable-tiara): Likewise.
5547
 
        (--enable-tulip): Likewise.
5548
 
        (--enable-via-rhine): Likewise.
5549
 
        (--enable-3c503-shmem): Likewise.
5550
 
        (--enable-3c503-aui): Likewise.
5551
 
        (--enable-3c509-hack): Likewise.
5552
 
        (--enable-compex-rl2000-fix): Likewise.
5553
 
        (--enable-smc9000-scan): Likewise.
5554
 
        (--enable-t503): Deleted.
5555
 
        (--enable-lance): Likewise.
5556
 
        (--enable-cs): Likewise.
5557
 
 
5558
 
        * netboot/main.c: New file. Copied and modified.
5559
 
        * netboot/linux-asm-io.h: Likewise.
5560
 
        * netboot/etherboot.h: Likewise.
5561
 
        * netboot/misc.c: Likewise.
5562
 
        * netboot/via-rhine.c: Likewise.
5563
 
        * netboot/3c90x.c: Likewise.
5564
 
        * netboot/3c90x.txt: Likewise.
5565
 
        * netboot/epic100.c: Likewise.
5566
 
        * netboot/epic100.h: Likewise.
5567
 
        * netboot/i82586.c: Likewise.
5568
 
        * netboot/linux-asm-string.h: Likewise.
5569
 
        * netboot/ntulip.c: Likewise.
5570
 
        * netboot/ntulip.txt: Likewise.
5571
 
        * netboot/osdep.h: Likewise.
5572
 
        * netboot/rtl8139.c: Likewise.
5573
 
        * netboot/sk_g16.c: Likewise.
5574
 
        * netboot/sk_g16.h: Likewise.
5575
 
        * netboot/smc9000.c: Likewise.
5576
 
        * netboot/smc9000.h: Likewise.
5577
 
        * netboot/tiara.c: Likewise.
5578
 
        * netboot/tulip.c: Likewise.
5579
 
        * netboot/tulip.h: Likewise.
5580
 
        * netboot/README.netboot: New file. Most information is stolen
5581
 
        from Makefile and Config.32 in Etherboot.
5582
 
        * netboot/3c509.c: Copied from Etherboot. The original is
5583
 
        removed.
5584
 
        * netboot/3c509.h: Likewise.
5585
 
        * netboot/cs89x0.c: Likewise.
5586
 
        * netboot/eepro100.c: Likewise.
5587
 
        * netboot/lance.c: Likewise.
5588
 
        * netboot/ns8390.c: Likewise.
5589
 
        * netboot/ns8390.h: Likewise.
5590
 
        * netboot/pci.c: Likewise.
5591
 
        
5592
 
        * netboot/3c59x.c: Include etherboot.h instead netboot.h.
5593
 
        * netboot/config.c: Copied from Etherboot and added the 3c59x
5594
 
        entries.
5595
 
        * netboot/pci.h: Likewise.
5596
 
        * netboot/fsys_tftp.c: Entirely rewritten based on main.c in
5597
 
        Etherboot.
5598
 
 
5599
 
        * netboot/io.h: Removed.
5600
 
        * netboot/ip.h: Likewise.
5601
 
        * netboot/ip.c: Likewise.
5602
 
        * netboot/netboot.h: Likewise.
5603
 
        
5604
 
        * netboot/Makefile.am (INCLUDES): Added -I$(top_srcdir)/stage2.
5605
 
        (DRIVERS): Removed.
5606
 
        (libdrivers_a_SOURCES): Added etherboot.h, linux-asm-io.h,
5607
 
        linux-asm-string.h, main.c, misc.c and osdep.h. Deleted io.h,
5608
 
        ip.h, ip.c, netboot.h and $(DRIVERS).
5609
 
        (EXTRA_libdrivers_a_SOURCES): New variable.
5610
 
        (libdrivers_a_LIBADD): Set to @NETBOOT_DRIVERS@.
5611
 
        (libdrivers_a_DEPENDENCIES): New variable.
5612
 
        (EXTRA_DIST): Likewise.
5613
 
        (3c509_drivers): New variable. Define a new rule for the value.
5614
 
        (3c59x_drivers): Likewise.
5615
 
        (3c90x_drivers): Likewise.
5616
 
        (cs89x0_drivers): Likewise.
5617
 
        (eepro100_drivers): Likewise.
5618
 
        (epic100_drivers): Likewise.
5619
 
        (i82586_drivers): Likewise.
5620
 
        (lance_drivers): Likewise.
5621
 
        (ns8390_drivers): Likewise.
5622
 
        (ntulip_drivers): Likewise.
5623
 
        (rtl8139_drivers): Likewise.
5624
 
        (sk_g16_drivers): Likewise.
5625
 
        (smc9000_drivers): Likewise.
5626
 
        (tiara_drivers): Likewise.
5627
 
        (tulip_drivers): Likewise.
5628
 
        (via_rhine_drivers): Likewise.
5629
 
        (t503_o_CFLAGS): Removed.
5630
 
        (nepci_o_CFLAGS): Set to -DINCLUDE_NEPCI=1.
5631
 
        (ne_o_CFLAGS): Set to -DINCLUDE_NE=1.
5632
 
        (wd_o_CFLAGS): Set to -DINCLUDE_WD=1.
5633
 
        (3c509_o_CFLAGS): Likewise.
5634
 
        (3c529_o_CFLAGS): Likewise.
5635
 
        (3c59x_o_CFLAGS): Likewise.
5636
 
        (3c90x_o_CFLAGS): Likewise.
5637
 
        (cs89x0_o_CFLAGS): Likewise.
5638
 
        (eepro100_o_CFLAGS): Likewise.
5639
 
        (epic100_o_CFLAGS): Likewise.
5640
 
        (3c507_o_CFLAGS): Likewise.
5641
 
        (exos205_o_CFLAGS): Likewise.
5642
 
        (ni5210_o_CFLAGS): Likewise.
5643
 
        (lancepci_o_CFLAGS): Likewise.
5644
 
        (ne2100_o_CFLAGS): Likewise.
5645
 
        (ni6510_o_CFLAGS): Likewise.
5646
 
        (3c503_o_CFLAGS): Likewise.
5647
 
        (ntulip_o_CFLAGS): Likewise.
5648
 
        (rtl8139_o_CFLAGS): Likewise.
5649
 
        (sk_g16_o_CFLAGS): Likewise.
5650
 
        (smc9000_o_CFLAGS): Likewise.
5651
 
        (tiara_o_CFLAGS): Likewise.
5652
 
        (tulip_o_CFLAGS): Likewise.
5653
 
        (via_rhine_o_CFLAGS): Likewise.
5654
 
 
5655
 
        * stage2/char_io.c (nul_terminate): Changed the type of the
5656
 
        return value to int. Return the original character changed to
5657
 
        NUL.
5658
 
        * stage2/shared.h (NETWORK_DRIVE): New macro.
5659
 
        (nul_terminate): Adjusted to the definition.
5660
 
        * stage2/gunzip.c (gunzip_test_header): Removed the TFTP check
5661
 
        entirely. It is no longer necessary because we now can obtain
5662
 
        the correct size of a file even for TFTP.
5663
 
        
5664
 
2000-02-07  OKUJI Yoshinori  <okuji@gnu.org>
5665
 
 
5666
 
        * stage2/asm.S: Undo the previous changes. Is
5667
 
        binutils-2.9.5.0.25 too strict to retain the compatibility?
5668
 
        Reported by Kalle Olavi Niemitalo <tosi@ees2.oulu.fi>.
5669
 
        
5670
 
2000-02-03  OKUJI Yoshinori  <okuji@gnu.org>
5671
 
 
5672
 
        * stage2/cmdline.c (enter_cmdline): Set BUF_DRIVE to -1 before
5673
 
        running a command to invalidate the cache.
5674
 
        (run_script): Likewise.
5675
 
        * stage2/char_io.c (get_cmdline): Set BUF_DRIVE to -1 before the
5676
 
        completion to invalidate the cache.
5677
 
        Reported by Jeff Sheinberg <jeffsh@erols.com>.
5678
 
 
5679
 
        * configure.in: Use AC_PATH_TOOL instead of AC_PATH_PROG.
5680
 
        * stage2/asm.S (chain_stage1): Prepend `*' to the argument for
5681
 
        ljmp.
5682
 
        (chain_stage2): Likewise.
5683
 
        (big_linux_boot): Likewise.
5684
 
        
5685
 
2000-01-19  OKUJI Yoshinori  <okuji@gnu.org>
5686
 
 
5687
 
        * util/grub-install.in (--root): Renamed to ...
5688
 
        (--root-directory): ... this, since "root" is vague.
5689
 
        * docs/user-ref.texi (Invoking grub-install): Adjusted to the
5690
 
        change above, and added an example how to use --root-directory.
5691
 
        * docs/grub-install.8: Regenerated.
5692
 
 
5693
 
        * docs/appendices.texi (FAQ): Added an item about the sucked
5694
 
        SCSI problem.
5695
 
        
5696
 
2000-01-15  OKUJI Yoshinori  <okuji@gnu.org>
5697
 
 
5698
 
        * stage2/builtins.c (chainloader_func): If --force is specified
5699
 
        in ARG, don't check for the signature.
5700
 
        * docs/tutorial.texi (Chain-loading): Added a caution about some
5701
 
        defective boot loaders and --force.
5702
 
        * docs/user-ref.texi (Command-line-specific commands): Added a
5703
 
        description about --force.
5704
 
        
5705
 
2000-01-11  OKUJI Yoshinori  <okuji@gnu.org>
5706
 
 
5707
 
        * docs/prog-ref.texi (LBA mode disk I/O): Added a footnote about
5708
 
        a buggy BIOS.
5709
 
        
5710
 
2000-01-11  OKUJI Yoshinori  <okuji@gnu.org>
5711
 
 
5712
 
        * stage1/stage1.S [!NO_BUGGY_BIOS_IN_THE_WORLD]: Don't check if
5713
 
        LBA read is supported. Anyway, fallback to the CHS mode if
5714
 
        fails.
5715
 
        
5716
 
2000-01-10  OKUJI Yoshinori  <okuji@gnu.org>
5717
 
 
5718
 
        * stage2/bios.c (NO_INT13_FALLBACK): Undefined.
5719
 
        (get_diskinfo) [!NO_BUGGY_BIOS_IN_THE_WORLD]: Do not check if
5720
 
        bit 0 in DRP.FLAGS is set, because at least one BIOS does not
5721
 
        set it correctly. Reported by "Forever shall I be."
5722
 
        <zinx@linuxfreak.com>.
5723
 
 
5724
 
        * util/grub-install.in: Handle the new options `--root' and
5725
 
        `--grub-shell'.
5726
 
        (rootdir): New variable.
5727
 
        (usage): Print the help messages about the options --root and
5728
 
        --grub-shell.
5729
 
        (bootdir): Initialized after the option analysis.
5730
 
        (grubdir): Likewise.
5731
 
        (device_map): Likewise.
5732
 
        (root_device): Set to the result for the directory ROOTDIR
5733
 
        instead of "/".
5734
 
        * docs/user-ref.texi (Invoking grub-install): Added the
5735
 
        descriptions about --root and --grub-shell.
5736
 
        * docs/grub-install.8: Regenerated.
5737
 
        
5738
 
2000-01-08  OKUJI Yoshinori  <okuji@gnu.org>
5739
 
 
5740
 
        * util/grub-install.in (grubdir_device): New variable.
5741
 
        If GRUBDIR_DEVICE is not equal to ROOT_DEVICE, print an error
5742
 
        message and exit.
5743
 
        * README: Added a caution about Automake.
5744
 
        * TODO: Updated. Only the things that should be done until 0.6
5745
 
        have one or more exclamations. Things with zero exclamation
5746
 
        will be done after 0.6 unless someone sends a patch for it.
5747
 
        
5748
 
2000-01-05  OKUJI Yoshinori  <okuji@gnu.org>
5749
 
 
5750
 
        * grub/asmstub.c: Include the header shared.h after including
5751
 
        all the system headers, but not before.
5752
 
        (EXTENDED_MEMSIZE): Reduced to 3MB.
5753
 
        (grub_setjmp): New function.
5754
 
        (grub_longjmp): Likewise.
5755
 
        * grub/main.c: Include setjmp.h.
5756
 
        * stage2/asm.S (grub_setjmp): New function. Stolen from the
5757
 
        OSKit (which stole it from Mach).
5758
 
        (grub_longjmp): Likewise.
5759
 
        * stage2/shared.h [GRUB_UTIL] (grub_jmp_buf): New type.
5760
 
        [!GRUB_UTIL] (grub_jmp_buf): New macro. Defined as jmp_buf.
5761
 
        (grub_setjmp): Declared.
5762
 
        (grub_longjmp): Likewise.
5763
 
        (restart_env): Likewise.
5764
 
        * stage2/builtins.c (configfile_func): Use grub_longjmp instead
5765
 
        of invoking cmain again.
5766
 
        * stage2/stage2.c (restart_env): New variable.
5767
 
        (cmain): Call grub_setjmp first to initialize RESTART_ENV.
5768
 
        
5769
 
2000-01-03  OKUJI Yoshinori  <okuji@gnu.org>
5770
 
 
5771
 
        * docs/multiboot.texi (Boot information format): Added the
5772
 
        descriptions about the fields "config_table" and
5773
 
        "boot_loader_name".
5774
 
        
5775
 
1999-12-31  OKUJI Yoshinori  <okuji@gnu.org>
5776
 
 
5777
 
        * stage2/builtins.c (setup_func) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
5778
 
        Specify the option `d', whether INSTALL_DRIVE is identical with
5779
 
        IMAGE_DRIVE or not.
5780
 
        * docs/user-ref.texi (Command-line-specific commands): Added a
5781
 
        caution about buggy BIOSes which don't pass a booting drive
5782
 
        properly.
5783
 
 
5784
 
        * docs/src2texi: Added an extra space into the first line, for
5785
 
        the portability issue.
5786
 
 
5787
 
        * docs/appendices.texi (Obtaining and Building GRUB): Update the
5788
 
        information on the ftp site and the CVS repository.
5789
 
        
5790
 
1999-12-30  OKUJI Yoshinori  <okuji@gnu.org>
5791
 
 
5792
 
        * stage2/builtins.c (blocklist_func): New function.
5793
 
        (builtin_blocklist): New variable.
5794
 
        (builtin_table): Added a pointer to BUILTIN_BLOCKLIST.
5795
 
        * docs/user-ref.texi (Command-line-specific commands): Added a
5796
 
        description about the command "blocklist".
5797
 
        
5798
 
1999-12-30  OKUJI Yoshinori  <okuji@gnu.org>
5799
 
 
5800
 
        * stage2/disk_io.c (grub_seek): New function.
5801
 
        * stage2/shared.h (grub_seek): Declared.
5802
 
        * stage2/boot.c (load_image): Use grub_seek instead of setting
5803
 
        FILEPOS to a new value directly.
5804
 
        * stage2/builtins.c (install_func): Likewise.
5805
 
        (testload_func): Likewise.
5806
 
 
5807
 
        * docs/grub.texi: Use a single direntry command for all the
5808
 
        entries instead of one per entry.
5809
 
        
5810
 
1999-12-29  OKUJI Yoshinori  <okuji@gnu.org>
5811
 
 
5812
 
        * grub/asmstub.c (check_device) [__linux__]: Check if DEVICE is
5813
 
        a CD-ROM drive by the HDIO_GETGEO ioctl. If so, then return
5814
 
        zero. Reported by Pavel Roskin.
5815
 
 
5816
 
        * stage2/Makefile.am (nodist_noinst_DATA): Renamed to ...
5817
 
        (noinst_DATA): ... this. The primary DATA is `nodist' by
5818
 
        default, at least theoretically. Reported by Klaus Reichl.
5819
 
 
5820
 
        * stage2/bios.c (get_diskinfo): Set the LBA flag in GEOMETRY
5821
 
        only if bit 0 in DRP.FLAGS is set. Reported by Zack Weinberg
5822
 
        <zack@rabi.columbia.edu>.
5823
 
 
5824
 
        From Pavel Roskin:
5825
 
        * grub/asmstub.c (init_device_map): Increase the number of
5826
 
        devices to be probed to 8 for IDE disks and 16 for SCSI
5827
 
        disks. Reported by Anton Anisimov <aa@bestlinux.net>.
5828
 
        
5829
 
1999-12-06  Gordon Matzigkeit  <gord@fig.org>
5830
 
 
5831
 
        * README (DEVELOPERS): Change CVS location to subversions.
5832
 
 
5833
 
1999-11-30  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
5834
 
 
5835
 
        * stage2/disk_io.c (real_open_partition): If SLICE_NO is greater
5836
 
        than or equal to PC_SLICE_MAX, skip any extended partition, when
5837
 
        searching for the right partition. Reported by Weil, Stefan 3732
5838
 
        EPE-24 <Stefan.Weil@de.heidelberg.com>.
5839
 
 
5840
 
1999-11-19  Gordon Matzigkeit  <gord@fig.org>
5841
 
 
5842
 
        * grub/asmstub.c (getkey): Stop immediately if we get an EOF.
5843
 
 
5844
 
        * stage2/stage2.c (cmain): Tell enter_cmdline to run forever.
5845
 
        (run_menu): Tell print_cmdline_message and enter_cmdline that we
5846
 
        won't run forever.
5847
 
        * stage2/cmdline.c (enter_cmdline): New argument, FOREVER, for
5848
 
        when ESC shouldn't allow an exit.  Pass it to
5849
 
        print_cmdline_message.
5850
 
        (print_cmdline_message): Use new argument, FOREVER, to decide
5851
 
        whether to tell the user that ESC exits.
5852
 
 
5853
 
1999-11-18  Gordon Matzigkeit  <gord@fig.org>
5854
 
 
5855
 
        * debian/rules (binary-arch): Don't strip or generate shared
5856
 
        library dependencies for /usr/sbin/grub-install, since it's a
5857
 
        script.
5858
 
 
5859
 
        * util/grub-install.in: Create safe temporary log files using
5860
 
        /bin/tempfile if it is executable.
5861
 
 
5862
 
1999-11-17  Gordon Matzigkeit  <gord@fig.org>
5863
 
 
5864
 
        * stage1/Makefile.am (LDFLAGS): Consolidate multiple -Wl flags.
5865
 
        * stage2/Makefile.am (PRE_STAGE2_LINK): Likewise.
5866
 
        (START_LINK): Likewise.
5867
 
        (STAGE1_5_LINK): Likewise.
5868
 
 
5869
 
1999-11-19  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
5870
 
 
5871
 
        * util/grub-install.in (debug): New variable.
5872
 
        (convert): If the device file does not exist, then emit an
5873
 
        error. Get the GRUB drive instead of the OS device.
5874
 
        If --debug is specified, then set $debug to yes.
5875
 
        If $debug is yes, run "set -x".
5876
 
        Make sure that stage1 and stage2 exist.
5877
 
        When checking for INSTALL_DEVICE, use "case" instead of "elif"s.
5878
 
        Make sure that $install_drive is not empty.
5879
 
        Likewise, make sure that $root_drive is not empty.
5880
 
        Any error message is redirected to the standard error.
5881
 
 
5882
 
1999-11-19  Pavel Roskin  <pavel_roskin@geocities.com>
5883
 
 
5884
 
        * stage2/Makefile.am (noinst_DATA): Renamed to ...
5885
 
        (nodist_noinst_DATA): ... this.
5886
 
        * util/Makefile.am: sbin_SCRIPS -> sbin_SCRIPTS.
5887
 
        * util/grub-install.in: grub_dir -> grubdir.
5888
 
        Check if $grub_shell exists before running it.
5889
 
        (convert): Added a missing "test" after "if".
5890
 
 
5891
 
1999-11-18  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
5892
 
 
5893
 
        * configure.in: Output grub-install.
5894
 
        * util/Makefile.am (sbin_SCRIPTS): New variable.
5895
 
        * util/grub-install.in: New file.
5896
 
        * docs/Makefile.am (man_MANS): Added grub-install.8.
5897
 
        [MAINTAINER_MODE] ($(srcdir)/grub-install.8): New target.
5898
 
        * docs/grub-install.8: New file. Generated by help2man.
5899
 
        * docs/user-ref.texi (Invoking grub-install): New chapter.
5900
 
 
5901
 
1999-11-16  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
5902
 
 
5903
 
        From Pavel Roskin:
5904
 
        * stage1/stage1.S: Check for the API subset support bitmap
5905
 
        returned by INT 13 AH=48h, and jump to chs_mode if AH=42h is not
5906
 
        supported.
5907
 
 
5908
 
1999-11-13  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
5909
 
 
5910
 
        * stage2/builtins.c (install_func): When using a Stage 1.5, set
5911
 
        CURRENT_DRIVE to SAVED_DRIVE and CURRENT_PARTITION to
5912
 
        SAVED_PARTITION if set_device fails. If CURRENT_DRIVE is equal
5913
 
        to SRC_DRIVE, then set CURRENT_DRIVE to 0xFF. We don't want to
5914
 
        embed any drive number whenever possible.
5915
 
        * stage2/disk_io.c (set_device) [STAGE1_5]: Always set
5916
 
        CURRENT_PARTITION to PARTITION.
5917
 
 
5918
 
1999-11-13  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
5919
 
 
5920
 
        From Pavel Roskin:
5921
 
        * stage1/stage1.S (lba_mode): Jump to chs_mode if INT 13 AH=42h
5922
 
        fails.
5923
 
 
5924
 
1999-11-12  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
5925
 
 
5926
 
        Do not use the device map file unless --device-map is specified.
5927
 
 
5928
 
        * grub/main.c (device_map_file): Set to 0.
5929
 
        (default_device_map_file): Removed.
5930
 
        (usage): Do not print DEFAULT_DEVICE_MAP_FILE.
5931
 
        * grub/asmstub.c (init_device_map): If DEVICE_MAP_FILE is NULL,
5932
 
        do not try to open the device map file.
5933
 
        Set FP to NULL by default.
5934
 
        * docs/grub.8: Regenerated.
5935
 
 
5936
 
1999-11-11  Michael Hohmuth  <hohmuth@innocent.com>
5937
 
 
5938
 
        * stage2/boot.c (load_image): grub_close was called after
5939
 
        return, so exchange the order.
5940
 
        * stage2/stage1_5.c (cmain): Call grub_close after grub_read.
5941
 
        Set RET to the value returned by grub_read, and if RET is
5942
 
        non-zero, call chain_stage2.
5943
 
        * stage1/Makefile.am (BUILT_SOURCES): Removed.
5944
 
        (CLEANFILES): Set to $(nodist_pkgdata_DATA).
5945
 
 
5946
 
1999-11-11  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
5947
 
 
5948
 
        Suggested by Klaus Reichl:
5949
 
        * stage2/builtins.c (print_root_device): New function.
5950
 
        (root_func): If no argument is specified, call the function
5951
 
        print_root_device and return.
5952
 
        (rootnoverify_func): Likewise.
5953
 
        * stage2/disk_io.c [!STAGE1_5] (print_completions): Call
5954
 
        print_error even if IS_FILENAME is zero.
5955
 
        If ERRNUM is non-zero, then return -1.
5956
 
        * stage2/char_io.c [!STAGE1_5] (get_cmdline): Clear ERRNUM after
5957
 
        calling print_completions to print the list as well.
5958
 
 
5959
 
        * stage2/asm.S [!STAGE1_5] (currticks): Set %eax to %cx:%dx
5960
 
        correctly. Reported by Michael Hohmuth.
5961
 
 
5962
 
1999-11-06  Klaus Reichl  <Klaus.Reichl@alcatel.at>
5963
 
 
5964
 
        * grub/asmstub.c (get_diskinfo) [__linux__]: After opening the
5965
 
        drive, flush the cache, other progs may have left over something
5966
 
        in the cache.
5967
 
 
5968
 
1999-11-03  Gordon Matzigkeit  <gord@fig.org>
5969
 
 
5970
 
        * debian/rules: Add variables for cross-compilation.
5971
 
 
5972
 
        * debian/control (Standards-Version): Update to version 3.1.0.
5973
 
        * debian/rules (build): Install manpages into /usr/share/man, and
5974
 
        info into /usr/share/info in accordance with FHS.
5975
 
        (binary-arch): Likewise, and put docs into /usr/share/doc.
5976
 
        * debian/postinst: Use /usr/share/info, and manage compatibility
5977
 
        /usr/doc/grub -> /usr/share/doc/grub symlink.
5978
 
        * debian/prerm: Likewise.
5979
 
 
5980
 
        * stage2/Makefile.am (CLEANFILES): Change to
5981
 
        $(nodist_pkgdata_DATA) so that the raw binary files are deleted.
5982
 
        * stage1/Makefile.am (CLEANFILES): Likewise.
5983
 
 
5984
 
1999-11-06  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
5985
 
 
5986
 
        * grub/asmstub.c (grub_putchar) [HAVE_LIBCURSES]: Do not call
5987
 
        wrefresh. This was just an accident. Sorry.
5988
 
 
5989
 
        Reported by Alan McLean <amcl@flash.net>:
5990
 
        * stage2/builtins.c (embed_func): The sector argument for the
5991
 
        function biosdisk is changed from SECTOR + I * SECTOR_SIZE to
5992
 
        SECTOR + I.
5993
 
        (find_func): Clear ERRNUM before each of the attempts.
5994
 
 
5995
 
1999-11-05  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
5996
 
 
5997
 
        * docs/multiboot.texi (Boot information format): Add the members
5998
 
        `drives_addr' and `drives_count' into the Multiboot information
5999
 
        structure, and added the descriptions.
6000
 
 
6001
 
1999-11-03  Gordon Matzigkeit  <gord@fig.org>
6002
 
 
6003
 
        * util/mbchk.c (main): Move the version number inside the
6004
 
        parentheses since it is the GRUB package version, not just an
6005
 
        mbchk-specific version.
6006
 
 
6007
 
1999-10-30  Gordon Matzigkeit  <gord@fig.org>
6008
 
 
6009
 
        * debian/rules (binary-arch): Compress man pages.
6010
 
        Strip the grub shell.
6011
 
        Install examples.
6012
 
 
6013
 
1999-11-03  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6014
 
 
6015
 
        * docs/tutorial.texi: Fix typos by ispell.
6016
 
        * docs/user-ref.texi: Likewise.
6017
 
        * docs/prog-ref.texi: Likewise.
6018
 
        * docs/appendices.texi: Likewise.
6019
 
 
6020
 
1999-11-03  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6021
 
 
6022
 
        * stage2/fsys_ext2fs.c (struct ext2_dir_entry): Changed the type
6023
 
        of `name_len' to __u8 and added the new member `file_type' after
6024
 
        it. This is stolen from linux/ext2_fs.h in Linux 2.2.13.
6025
 
        Reported by Ben Harris <bjh21@cam.ac.uk>.
6026
 
 
6027
 
        * stage2/builtins.c (device_func) [GRUB_UTIL]: Call
6028
 
        nul_terminate before calling check_device.
6029
 
 
6030
 
1999-11-02  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6031
 
 
6032
 
        * stage2/disk_io.c (real_open_partition): Check for the right
6033
 
        partition for any extended partition as well. Set EXT to I after
6034
 
        the check is done. Reported by Jeff Scheinberg
6035
 
        <jeffsh@erols.com>.
6036
 
 
6037
 
        * stage2/builtins.c (color_func): Use the function
6038
 
        nul_terminate.
6039
 
        (device_func) [GRUB_UTIL]: Likewise.
6040
 
        (help_func): Likewise.
6041
 
        (install_func): Save CURRENT_DRIVE, CURRENT_PARTITION and
6042
 
        BUG_GEOM in SRC_DRIVE, SRC_PARTITION and SRC_GEOM respectively,
6043
 
        and use them when patching the Stage 2.
6044
 
        NUL-terminate the configuration filename CONFIG_FILENAME.
6045
 
        If IS_STAGE1_5 is true, then check if the "real config file"
6046
 
        option is present, and, if so, patch the Stage 2 CONFIG_FILENAME
6047
 
        with the configuration filename REAL_CONFIG_FILENAME.
6048
 
        (setkey_func): Use nul_terminate instead of the local function
6049
 
        null_terminate.
6050
 
        * stage2/char_io.c [!STAGE1_5] (nul_terminate): New function.
6051
 
        * stage2/shared.h (nul_terminate): Declared.
6052
 
 
6053
 
1999-11-01  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6054
 
 
6055
 
        * docs/grub.texi: Add "I/O ports detection" into the menu.
6056
 
        * docs/user-ref.texi: Added a description about the command
6057
 
        "ioprobe".
6058
 
        * docs/prog-ref.texi (I/O ports detection): New chapter.
6059
 
 
6060
 
1999-11-01  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6061
 
 
6062
 
        From Pavel Roskin:
6063
 
        * stage2/asm.S (int1_handler): Use EXT_C(io_map) instead of
6064
 
        io_map.
6065
 
        (int1_handler): Use EXT_C(bios_key_map) instead of bios_key_map.
6066
 
        * grub/asmstub.c [__OpenBSD__]: Include <sys/ioctl.h> and
6067
 
        <sys/disklabel.h>.
6068
 
        [__OpenBSD__] (get_floppy_disk_name): Added support for OpenBSD.
6069
 
        [__OpenBSD__] (get_ide_disk_name): Likewise.
6070
 
        [__OpenBSD__] (get_scsi_disk_name): Likewise.
6071
 
        (get_drive_geometry) [__OpenBSD__]: Use for OpenBSD the same
6072
 
        ioctl as for NetBSD and FreeBSD.
6073
 
 
6074
 
1999-10-31  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6075
 
 
6076
 
        * grub/asmstub.c (init_device_map): Add a floppy device name
6077
 
        into the device map file even if check_device fails.
6078
 
        * stage2/char_io.c [!STAGE1_5] (get_cmdline): Clear ERRNUM after
6079
 
        calling print_completions.
6080
 
 
6081
 
1999-10-29  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6082
 
 
6083
 
        * stage2/asm.S (track_int13): Defined unconditionally. Do not
6084
 
        use int3 any more, but replace the int13 handler with
6085
 
        set_tf_int13_handler.
6086
 
        (int1_handler): Defined unconditionally. Do not check for 0x0F.
6087
 
        Add missing `$'s. If the code is 0xEC-0xEF, use %dx instead of
6088
 
        immediate. If the code is 0xE4-0xE7, use immediate instead of
6089
 
        %dx. Set %ds to zero before scanning IO_MAP. Check for the
6090
 
        buffer overrun of IO_MAP before adding a port.
6091
 
        [!DEFINE_TRACK_INT13] (int13_first_instruction): Removed.
6092
 
        [!DEFINE_TRACK_INT13] (int3_handler): Likewise.
6093
 
        (set_tf_int13_handler): New interrupt handler.
6094
 
        (set_tf_int13_offset): New variable.
6095
 
        (set_tf_int13_segment): Likewise.
6096
 
        * stage2/builtins.c (ioprobe_func): New function.
6097
 
        (builtin_ioprobe): New variable.
6098
 
        (builtin_table): Added a pointer to BUILTIN_IOPROBE.
6099
 
        * stage2/shared.h (IO_MAP_SIZE): New macro.
6100
 
        (track_int13): Declared.
6101
 
        (io_map): Likewise.
6102
 
 
6103
 
1999-10-29  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6104
 
 
6105
 
        * stage2/char_io.c (print_error) [!STAGE1_5]: Print "Error:"
6106
 
        before print the error message.
6107
 
        (print_error): Do not clear ERRNUM.
6108
 
        * stage2/cmdline.c (run_script): If ERRNUM is non-zero, set
6109
 
        ERRNUM to ERR_NONE.
6110
 
        (enter_cmdline): Clear ERRNUM after print_error.
6111
 
 
6112
 
1999-10-28  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6113
 
 
6114
 
        From Pavel Roskin:
6115
 
        * stage2/stage2.c (run_menu) [GRUB_UTIL]: Do not use IBM special
6116
 
        characters in the message, but use ascii names instead.
6117
 
        (run_menu) [!GRUB_UTIL]: Use DISP_UP and DISP_DOWN instead of
6118
 
        the ascii codes.
6119
 
        * stage2/shared.h [!ACS_ULCORNER] (ACS_ULCORNER): New macro.
6120
 
        [!ACS_ULCORNER] (ACS_URCORNER): Likewise.
6121
 
        [!ACS_ULCORNER] (ACS_LLCORNER): Likewise.
6122
 
        [!ACS_ULCORNER] (ACS_LRCORNER): Likewise.
6123
 
        [!ACS_ULCORNER] (ACS_HLINE): Likewise.
6124
 
        [!ACS_ULCORNER] (ACS_VLINE): Likewise.
6125
 
        [!ACS_ULCORNER] (ACS_LARROW): Likewise.
6126
 
        [!ACS_ULCORNER] (ACS_RARROW): Likewise.
6127
 
        [!ACS_ULCORNER] (ACS_UARROW): Likewise.
6128
 
        [!ACS_ULCORNER] (ACS_DARROW): Likewise.
6129
 
        [GRUB_UTIL] (DISP_UL): Set to ACS_ULCORNER.
6130
 
        [GRUB_UTIL] (DISP_UR): Set to ACS_URCORNER.
6131
 
        [GRUB_UTIL] (DISP_LL): Set to ACS_LLCORNER.
6132
 
        [GRUB_UTIL] (DISP_LR): Set to ACS_LRCORNER.
6133
 
        [GRUB_UTIL] (DISP_HORIZ): Set to ACS_HLINE.
6134
 
        [GRUB_UTIL] (DISP_VERT): Set to ACS_VLINE.
6135
 
        [GRUB_UTIL] (DISP_LEFT): Set to ACS_LARROW.
6136
 
        [GRUB_UTIL] (DISP_RIGHT): Set to ACS_RARROW.
6137
 
        [GRUB_UTIL] (DISP_UP): Set to ACS_UARROW.
6138
 
        [GRUB_UTIL] (DISP_DOWN): Set to ACS_DARROW.
6139
 
 
6140
 
1999-10-28  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6141
 
 
6142
 
        * stage2/builtins.c (keycode_func): Removed.
6143
 
        (builtin_keycode): Likewise.
6144
 
        (struct keysym): New structure.
6145
 
        (keysym_table): New variable.
6146
 
        (setkey_func): New function.
6147
 
        (builtin_setkey): New variable.
6148
 
        (builtin_table): Removed the pointer to BUILTIN_KEYCODE, and
6149
 
        added a pointer to BUILTIN_SETKEY.
6150
 
        * stage2/common.c [!STAGE1_5] (err_list): Added
6151
 
        ERR_BAD_ARGUMENT.
6152
 
        * stage2/shared.h (grub_error_t): Added ERR_BAD_ARGUMENT.
6153
 
        (KEY_MAP_SIZE): Set to 128.
6154
 
        (ascii_key_map): Declared.
6155
 
        * stage2/asm.S [!STAGE1_5] (remap_ascii_char): New function.
6156
 
        [!STAGE1_5] (ascii_key_map): New variable.
6157
 
        [!STAGE1_5] (getkey): Call remap_ascii_char after int16.
6158
 
        [!STAGE1_5] (checkkey): Likewise.
6159
 
        * grub/asmstub.c (ascii_key_map): New variable.
6160
 
        * docs/user-ref.texi (General commands): Added a description
6161
 
        about the command "setkey".
6162
 
        (Stage2 errors): Added a description about ERR_BAD_ARGUMENT.
6163
 
 
6164
 
1999-10-27  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6165
 
 
6166
 
        * stage2/disk_io.c (set_device) [!STAGE1_5]: Remove the
6167
 
        preliminary Mach-style device name support. I've decided that
6168
 
        the support is not necessary.
6169
 
        (setup_part) [!STAGE1_5]: Do not strip the leading "/dev/".
6170
 
        * docs/help2man: Upgraded to 1.016.
6171
 
        * docs/mbchk.1: Regenerated.
6172
 
        * docs/grub.8: Likewise.
6173
 
        * grub/asmstub.c: Rename KEY_MAP to BIOS_KEY_MAP.
6174
 
 
6175
 
        * stage2/asm.S [!STAGE1_5] (set_int15_handler): Use 0 instead of
6176
 
        the maximum number for the segment.
6177
 
        [!STAGE1_5] (unset_int15_handler): Likewise.
6178
 
        [!STAGE1_5] (int15_handler): Almost rewritten. If non-carrier,
6179
 
        ignore the scancode. If the scancode is E1 or E0, then set
6180
 
        INT15_SKIP_FLAG to 0x74, and if the previous scancode is E1 or
6181
 
        E0, set INT15_SKIP_FLAG to 0xea. Clear bit 7 in %dl. Save bit 7
6182
 
        of %al in %bl. Do not lcall. Use ljmp instead.
6183
 
        [!STAGE1_5] (key_map): Renamed to ...
6184
 
        [!STAGE1_5] (bios_key_map): ... this.
6185
 
        * stage2/builtins.c (keycode_func): Check if FROM is greater
6186
 
        than 0xff instead of double-checking for TO. Use BIOS_KEY_MAP
6187
 
        instead of KEY_MAP.
6188
 
        * stage2/shared.h (KEY_MAP_SIZE): Set to 32.
6189
 
        (key_map): Removed.
6190
 
        (bios_key_map): Declared.
6191
 
 
6192
 
1999-10-26  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6193
 
 
6194
 
        Now the BIOS drive remapping is functional.
6195
 
 
6196
 
        * stage2/asm.S [DEFINE_TRACK_INT13] (track_int13): Use %edi
6197
 
        instead of direct addresses.
6198
 
        Prefix DATA32 to the calls for real_to_prot and prot_to_real.
6199
 
        Fix the address of DRIVE: 4(%ebp) -> 8(%ebp).
6200
 
        (set_int15_handler): Use %edi instead of direct addresses.
6201
 
        (unset_int15_handler): Likewise.
6202
 
        (set_int13_handler): Copy DRIVE_MAP_SIZE * 2 bytes instead of
6203
 
        DRIVE_MAP_SIZE bytes of MAP.
6204
 
        Fix the address of MAP: 4(%ebp) -> 8(%ebp).
6205
 
        Use %edi instead of direct addresses.
6206
 
        (int13_handler): Do not set %ds to %cs. Use the segment override
6207
 
        prefix of %cs instead.
6208
 
        Push the flags pushed by the callee instead of the current.
6209
 
        Set the flags in the stack to the flags returned by the original
6210
 
        int13 call.
6211
 
        (drive_map): 4bytes-aligned.
6212
 
        * stage2/disk_io.c (grub_close): Do not set ERRNUM even if
6213
 
        FSYS_TYPE is NUM_FSYS.
6214
 
 
6215
 
1999-10-25  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6216
 
 
6217
 
        * stage1/stage1.S: Long jump to real_start, because some bogus
6218
 
        BIOSes jump to 07C0:0000 instead of 0000:7C00.
6219
 
        (real_start): New label.
6220
 
        * docs/Makefile.am (grub.info): Removed. Use the default rule
6221
 
        instead.
6222
 
 
6223
 
1999-10-25  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6224
 
 
6225
 
        * stage2/asm.S [DEFINE_TRACK_INT13] (int3_handler): Save the
6226
 
        modified FLAGS in 6(%bp) instead of 4(%bp).
6227
 
        Decrease %bx before restoring the first instruction.
6228
 
        [DEFINE_TRACK_INT13] (track_int13): Go to the real mode before
6229
 
        setting up the registers for the int13 call.
6230
 
 
6231
 
1999-10-24  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6232
 
 
6233
 
        Add the prototype of a function to probe I/O ports used for a
6234
 
        BIOS drive.
6235
 
 
6236
 
        * stage2/asm.S [DEFINE_TRACK_INT13] (track_int13): New function.
6237
 
        [DEFINE_TRACK_INT13] (int1_handler): New interrupt handler for
6238
 
        the real mode.
6239
 
        [DEFINE_TRACK_INT13] (int3_handler): Likewise.
6240
 
        [DEFINE_TRACK_INT13] (io_map): New variable.
6241
 
 
6242
 
        * stage2/builtins.c (quit_func) [!GRUB_UTIL]: Fix a typo.
6243
 
 
6244
 
1999-10-24  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6245
 
 
6246
 
        The new GRUB manual becomes official.
6247
 
 
6248
 
        * docs/grub.texi: Replaced with new-grub.texi.
6249
 
        * docs/new-grub.texi: Removed.
6250
 
        * docs/Makefile.am (grub_TEXINFOS): New variable.
6251
 
        (UNFINISHED_MANUALS): Removed.
6252
 
        (EXTRA_DIST): Deleted $(UNFINISHED_MANUALS).
6253
 
 
6254
 
1999-10-24  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6255
 
 
6256
 
        * stage2/builtins.c (device_func) [!GRUB_UTIL]: Set ERRNUM to
6257
 
        ERR_UNRECOGINIZED and return 1.
6258
 
        (impsprobe_func) [GRUB_UTIL]: Likewise.
6259
 
        (quit_func) [!GRUB_UTIL]: Likewise.
6260
 
        * docs/tutorial.texi: Rename "Device Syntax" to "Filename".
6261
 
        Added many cross-references.
6262
 
        * docs/new-grub.texi: "Device Syntax" -> "Filename".
6263
 
        * docs/user-ref.texi: Fix typos and added some cross-references.
6264
 
        * docs/prog-ref.texi: Likewise.
6265
 
        * docs/appendices.texi: Likewise.
6266
 
 
6267
 
1999-10-23  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6268
 
 
6269
 
        * stage2/builtins.c (map_func): If BIOS_DRIVE_MAP already
6270
 
        contains FROM, override the existsing entry.
6271
 
        If TO is equal to FROM, delete the existing entry if any.
6272
 
        (keycode_func): Likewise.
6273
 
        * docs/user-ref.texi (Command): Use the list of `@deffn's
6274
 
        instead of @table.
6275
 
        (Basic usage): Use @option instead of @code.
6276
 
        (Invoking mbchk): Likewise.
6277
 
 
6278
 
1999-10-23  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6279
 
 
6280
 
        * stage2/asm.S [!STAGE1_5] (set_int15_handler): New function.
6281
 
        [!STAGE1_5] (unset_int15_handler): Likewise.
6282
 
        [!STAGE1_5] (int15_handler): New interrupt handler for the real
6283
 
        mode.
6284
 
        [!STAGE1_5] (int15_offset): New variable.
6285
 
        [!STAGE1_5] (int15_segment): Likewise.
6286
 
        [!STAGE1_5] (key_map): Likewise.
6287
 
        [!STAGE1_5] (set_int13_handler): Use the macro ABS for
6288
 
        INT13_OFFSET and INT13_SEGMENT.
6289
 
        * stage2/shared.h (KEY_MAP_SIZE): New macro.
6290
 
        (set_int15_handler): Declared.
6291
 
        (unset_int15_handler): Likewise.
6292
 
        * stage2/builtins.c (boot_func): Do not allow I to be equal to
6293
 
        DRIVE_MAP_SIZE.
6294
 
        Call unset_int15_handler unless KERNEL_TYPE is KERNEL_TYPE_NONE.
6295
 
        (map_func): Search for an empty slot till I is less than
6296
 
        DRIVE_MAP_SIZE.
6297
 
        Check if I is equal to DRIVE_MAP_SIZE instead of if I is greater
6298
 
        than DRIVE_MAP_SIZE.
6299
 
        (keycode_func): New function.
6300
 
        (builtin_keycode): New variable.
6301
 
        (builtin_table): Added a pointer to BUILTIN_KEYCODE.
6302
 
        * grub/asmstub.c (set_int15_handler): New function.
6303
 
        (unset_int15_handler): Likewise.
6304
 
        (key_map): New variable.
6305
 
 
6306
 
1999-10-23  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6307
 
 
6308
 
        From Michael Hohmuth <hohmuth@innocent.com>:
6309
 
        * acconfig.h (HAVE_USCORE_USCORE_BSS_START_SYMBOL): Added the
6310
 
        `undef' entry.
6311
 
        (HAVE_EDATA_SYMBOL): Likewise.
6312
 
        (HAVE_USCORE_EDATA_SYMBOL): Likewise.
6313
 
        * acinclude.m4 (grub_CHECK_USCORE_USCORE_BSS_START_SYMBOL): New
6314
 
        function.
6315
 
        (grub_CHECK_EDATA_SYMBOL): Likewise.
6316
 
        (grub_CHECK_USCORE_EDATA_SYMBOL): Likewise.
6317
 
        * configure.in: Check for __bss, edata and _edata.
6318
 
        * netboot/Makefile.am (DRIVERS): Deleted ns8390.c and ns8390.h.
6319
 
        (libdrivers_a_LIBADD): New variable.
6320
 
        ($(libdrivers_a_LIBADD)): New target.
6321
 
        (nepci_o_CFLAGS): New variable.
6322
 
        (ne_o_CFLAGS): Likewise.
6323
 
        (wd_o_CFLAGS): Likewise.
6324
 
        (t503_o_CFLAGS): Likewise.
6325
 
        * netboot/fsys_tftp.c (tftp_close): New function.
6326
 
        * stage2/boot.c (load_image): Call grub_close before return.
6327
 
        (load_initrd): Likewise.
6328
 
        (load_module): Likewise.
6329
 
        * stage2/builtins.c (cat_func): Likewise.
6330
 
        (chainloader_func): Likewise.
6331
 
        (configfile_func): Likewise.
6332
 
        (embed_func): Likewise.
6333
 
        (find_func): Likewise.
6334
 
        (install_func): Set IS_OPEN to the value returned by grub_open.
6335
 
        If IS_OPEN is non-zero, call grub_close before return.
6336
 
        (setup_func): Call grub_close after grub_open.
6337
 
        (testload): Call grub_close before return.
6338
 
        * stage2/disk_io.c (fsys_table): Add the `close' member into
6339
 
        each of the entries. For TFTP, tftp_close is added, and for the
6340
 
        rest, NULL is added.
6341
 
        (grub_read): "|" -> "||".
6342
 
        (grub_close): New function.
6343
 
        * stage2/filesys.h [FSYS_TFTP] (tftp_close): Declared.
6344
 
        (struct fsys_entry): Added close_func.
6345
 
        * stage2/shared.h (grub_close): Declared.
6346
 
        * stage2/stage1_5.c (cmain): Call grub_close after grub_open.
6347
 
        * stage2/stage2.c (cmain): Clear ERRNUM after calling
6348
 
        find_command to just ignore the error code.
6349
 
        Call grub_close after loading the configuration file.
6350
 
 
6351
 
        * stage2/asm.S (main): Clean out the bss.
6352
 
 
6353
 
1999-10-23  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6354
 
 
6355
 
        * docs/new-grub.texi: Updated.
6356
 
        * docs/user-ref.texi: Likewise.
6357
 
        * docs/tutorial.texi: Likewise.
6358
 
        * docs/prog-ref.texi: Likewise.
6359
 
        * docs/appendices.texi: Likewise.
6360
 
 
6361
 
1999-10-22  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6362
 
 
6363
 
        * docs/prog-ref.texi: New file.
6364
 
        * docs/appendices.texi: Likewise.
6365
 
        * docs/Makefile.am (UNFINISHED_MANUALS): Added prog-ref.texi and
6366
 
        appendices.texi.
6367
 
 
6368
 
1999-10-22  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6369
 
 
6370
 
        * docs/user-ref.texi: New file.
6371
 
        * docs/Makefile.am (UNFINISHED_MANUALS): Added user-red.texi.
6372
 
 
6373
 
1999-10-21  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6374
 
 
6375
 
        Add BIOS drive remapping support for chain-loading some foolish
6376
 
        operating systems.
6377
 
 
6378
 
        * stage2/builtins.c (bios_drive_map): New variable.
6379
 
        (boot_func): If KERNEL_TYPE is KERNEL_TYPE_CHAINLOADER, check
6380
 
        if BIOS_DRIVE_MAP contains meaningful values. If so, search for
6381
 
        SAVED_DRIVE in BIOS_DRIVE_MAP and exchange SAVED_DRIVE with the
6382
 
        mapped drive if found. And then call set_int13_handler.
6383
 
        (map_func): New function.
6384
 
        (builtin_map): New variable.
6385
 
        (builtin_table): Added a pointer to BUILTIN_MAP.
6386
 
        * stage2/asm.S (ABS): New macro.
6387
 
        [!STAGE1_5] (set_int13_handler): New function.
6388
 
        [!STAGE1_5] (int13_handler): New interrupt handler for the real
6389
 
        mode.
6390
 
        [!STAGE1_5] (drive_map): New variable.
6391
 
        [!STAGE1_5] (int13_handler_end): New label used for just
6392
 
        computing the end address of int13_handler.
6393
 
        * stage2/shared.h (DRIVE_MAP_SIZE): New macro.
6394
 
        (set_int13_handler): Declared.
6395
 
        * grub/asmstub.c (set_int13_handler): New function. Do nothing.
6396
 
 
6397
 
1999-10-20  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6398
 
 
6399
 
        * stage2/builtins.c (find_func): Print only the device names.
6400
 
        * docs/tutorial.texi: New file.
6401
 
        * docs/Makefile.am (UNFINISHED_MANUALS): Added tutorial.texi.
6402
 
        (%.c.texi): Use $(SHELL) instead of /bin/sh.
6403
 
        (%.h.texi): Likewise.
6404
 
        (%.S.texi): Likewise.
6405
 
 
6406
 
1999-10-20  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6407
 
 
6408
 
        * stage2/char_io.c (memcheck): Fix the checks: "<=" -> "<".
6409
 
        Reported by Mike Hicks <hick0088@umn.edu>.
6410
 
 
6411
 
1999-10-19  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6412
 
 
6413
 
        * stage2/builtins.c (find_func): New function.
6414
 
        (builtin_find): New variable.
6415
 
        (hide_func): Save SAVED_DRIVE and SAVED_PARTITION to TMP_DRIVE
6416
 
        and TMP_PARTITION, respectively, and resotre them before return.
6417
 
        (unhide_func): Likewise.
6418
 
        (setup_func): Likewise. And set SAVED_DRIVE and SAVED_PARTITION
6419
 
        instead of CURRENT_DRIVE and CURRENT_PARTITION to IMAGE_DRIVE
6420
 
        and IMAGE_PARTITION before running install_func.
6421
 
        (builtin_table): Added a pointer to BUILTIN_FIND.
6422
 
 
6423
 
1999-10-19  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6424
 
 
6425
 
        * docs/Makefile.am (UNFINISHED_MANUALS): New variable.
6426
 
        (EXTRA_DIST): Added $(UNFINISHED_MANUALS).
6427
 
        * docs/new-grub.texi: New file.
6428
 
 
6429
 
1999-10-19  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6430
 
 
6431
 
        * docs/Makefile.am (man_MANS): Added mbchk.1.
6432
 
        [MAINTAINER_MODE] (mbchk.1): New target.
6433
 
        * docs/mbchk.1: New file. Generated by help2man.
6434
 
 
6435
 
1999-10-18  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6436
 
 
6437
 
        * Makefile.am (SUBDIRS): Added util.
6438
 
        * configure.in: Output util/Makefile.
6439
 
        * util/Makefile.am: New file.
6440
 
        * util/mbchk.c: Likewise.
6441
 
        * util/Makefile.in: Likewise. Generated by automake.
6442
 
 
6443
 
1999-10-17  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6444
 
 
6445
 
        * docs/Makefile.am (.texi): Canceled because the dependecies can
6446
 
        be circulated.
6447
 
        * stage2/builtins.c (embed_func): Set BUF_TRACK to -1 before
6448
 
        writing the Stage 1.5 to the disk to clear the cache.
6449
 
 
6450
 
1999-10-17  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6451
 
 
6452
 
        * stage2/boot.c (load_initrd): Change types of *RAMDISK and
6453
 
        MOVETO to unsigned long.
6454
 
        Apply the macro RAW_ADDR to MOVETO.
6455
 
 
6456
 
1999-10-16  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6457
 
 
6458
 
        * docs/multiboot.texi: Include the example source files of a
6459
 
        Multiboot kernel.
6460
 
        * docs/src2texi: New file.
6461
 
        * docs/boot.S: Likewise.
6462
 
        * docs/multiboot.h: Likewise.
6463
 
        * docs/kernel.c: Likewise.
6464
 
        * docs/boot.S.texi: Likewise.
6465
 
        * docs/multiboot.h.texi: Likewise.
6466
 
        * docs/kernel.c.texi: Likewise.
6467
 
        * docs/Makefile.am (EXAMPLES): New varilable.
6468
 
        (multiboot_TEXINFOS): Likewise.
6469
 
        (SRC2TEXI): Likewise.
6470
 
        (noinst_SCRIPTS): Added $(SRC2TEXI).
6471
 
        (EXTRA_DIST): Added $(EXAMPLES) and $(multiboot_TEXINFOS).
6472
 
        (%.c.texi): New target.
6473
 
        (%.h.texi): Likewise.
6474
 
        (%.S.texi): Likewise.
6475
 
 
6476
 
1999-09-22  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6477
 
 
6478
 
        * multiboot.texi (BIOS device mapping techniques): New section.
6479
 
        Stolen from bios_mapping.txt in grub-0.5.
6480
 
        (Data comparison technique): New subsection.
6481
 
        (I/O restriction technique): Likewise.
6482
 
        (Example OS code): Rewrited from scratch.
6483
 
 
6484
 
1999-09-21  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6485
 
 
6486
 
        * multiboot.texi: Rename Multiboot Standard to Multiboot
6487
 
        Specification and upgrade the version to 0.7. Many cleanups
6488
 
        are done.
6489
 
 
6490
 
1999-10-15  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6491
 
 
6492
 
        * stage2/builtins.c (setup_func): Save CURRENT_DRIVE and
6493
 
        CURRENT_PARTITION into IMAGE_DRIVE and IMAGE_PARTITION
6494
 
        respectively, and restore them before running install_func.
6495
 
        Use DEVICE instead of BUFFER to store the device name.
6496
 
        Change each type of STAGE1, STAGE2 and CONFIG_FILE to an array
6497
 
        of char.
6498
 
        If installing the Stage 1 into a MBR, embed the Stage 1.5 in the
6499
 
        sectors right after it.
6500
 
        Return the result of install_func instead of zero.
6501
 
 
6502
 
1999-10-14  Pavel Roskin  <pavel_roskin@geocities.com>
6503
 
 
6504
 
        * configure.in: Check for opendisk in libutil.
6505
 
        * grub/asmstub.c [__FreeBSD__ || __NetBSD__]: Include
6506
 
        <sys/ioctl.h>.
6507
 
        [HAVE_OPENDISK]: Include <util.h>.
6508
 
        [__NetBSD__] (get_floppy_disk_name): Added support for NetBSD.
6509
 
        [__NetBSD__ && HAVE_OPENDISK] (get_ide_disk_name): Likewise.
6510
 
        [__NetBSD__ && HAVE_OPENDISK] (get_scsi_disk_name): Likewise.
6511
 
        (get_drive_geometry) [__NetBSD__]: Use for NetBSD the same ioctl
6512
 
        as for FreeBSD.
6513
 
 
6514
 
1999-10-13  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6515
 
 
6516
 
        * grub/asmstub.c (assign_device_name): If DEVICE is NULL, set
6517
 
        DEVICE_MAP[DRIVE] to NULL.
6518
 
        (get_diskinfo): If open or read fails, call assign_device_name
6519
 
        to disable accessing the drive DRIVE.
6520
 
        (grub_stage2): The device mapping routine is moved to ...
6521
 
        (init_device_map): ... here. This new function also reads/writes
6522
 
        a device map file. If DEVICE_MAP_FILE already exists, then use
6523
 
        the data in it instead of probing devices. Otherwise, guess the
6524
 
        map between BIOS drives and OS devices, and write it to the file
6525
 
        DEVICE_MAP_FILE if it can be opened.
6526
 
        * grub/main.c (device_map_file): New variable.
6527
 
        (default_device_map_file): Likewise.
6528
 
        (OPT_DEVICE_MAP): New macro.
6529
 
        (longopts): Added an entry for "device-map".
6530
 
        (usage): Print the usage about --device-map as well.
6531
 
        (main): Set DEFAULT_DEVICE_MAP_FILE to DEVICE_MAP_FILE. If
6532
 
        OPT_DEVICE_MAP is found, set DEVICE_MAP_FILE to a duplicated
6533
 
        string of OPTARG.
6534
 
        * stage2/shared.h [GRUB_UTIL] (device_map_file): Declared.
6535
 
        * docs/grub.8: Regenerated.
6536
 
 
6537
 
1999-10-13  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6538
 
 
6539
 
        * stage2/builtins.c (color_func): Do not set NORMAL_COLOR or
6540
 
        HIGHLIGHT_COLOR directly, but use NEW_NORMAL_COLOR and
6541
 
        NEW_HIGHLIGHT_COLOR as temporary storages instead.
6542
 
        New internal function `color_number' is used to convert a
6543
 
        symbolic color representation into a color number.
6544
 
        Try color_number at first, and if fails, then try
6545
 
        safe_parse_maxint for each of NORMAL and HIGHLIGHT.
6546
 
        (builtin_color): The long doc does not describe the raw number
6547
 
        syntax but the symbolic color name syntax.
6548
 
        * docs/grub.texi (Commands): Adjusted to the long doc of
6549
 
        BUILTIN_COLOR.
6550
 
        * docs/menu.lst: Add examples of "fallback" and "color".
6551
 
 
6552
 
1999-10-13  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6553
 
 
6554
 
        * stage2/char_io.c [!STAGE1_5] (get_cmdline): If C is a newline
6555
 
        or a return, then set LPOS to LLEN and call the function
6556
 
        cl_setcpos.
6557
 
        [!STAGE1_5] (grub_strncat): New function.
6558
 
        * stage2/builtins.c (embed_func): New function.
6559
 
        (builtin_embed): New varilable.
6560
 
        (setup_func): New function.
6561
 
        (builtin_setup): New varilable.
6562
 
        (builtin_table): Added a pointer to BUILTIN_EMBED and a pointer
6563
 
        to BUILTIN_SETUP.
6564
 
        * stage2/shared.h (grub_strncat): Declared.
6565
 
 
6566
 
        * stage2/Makefile.am (stage2_size.h): ../stage2/stage2 ->
6567
 
        pre_stage2. Reported by Pavel Roskin.
6568
 
 
6569
 
1999-10-12  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6570
 
 
6571
 
        From Pavel Roskin:
6572
 
        * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): main -> cmain.
6573
 
        * stage2/boot.c (load_image): Only CUR_ADDR, not ENTRY_ADDR
6574
 
        should be 1M-aligned for NetBSD. Don't align symbol table on 4k
6575
 
        boundaries if the kernel doesn't require it.
6576
 
 
6577
 
1999-10-10  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6578
 
 
6579
 
        * stage2/asm.S [!STAGE1_5] (start): New label to force ld quiet.
6580
 
        [!STAGE1_5] (_start): Likewise.
6581
 
        * stage2/builtins.c (install_func): Rewritten heavily almost
6582
 
        from scratch. As the blocklist was moved to the first sector of
6583
 
        Stage 2, always write sectors of Stage 2 to the disk.
6584
 
        * stage1/stage1.h (STAGE1_STAGE2_SECTOR): 0x40 -> 0x41.
6585
 
        (STAGE1_STAGE2_ADDRESS): 0x44 -> 0x45.
6586
 
        (STAGE1_STAGE2_SEGMENT): 0x46 -> 0x47.
6587
 
        (STAGE1_BOOT_DRIVE): 0x3f -> 0x40.
6588
 
 
6589
 
1999-10-09  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6590
 
 
6591
 
        Stage1 supports both the CHS mode and the LBA mode.
6592
 
 
6593
 
        * stage1/Makefile.am (nodist_pkgdata_DATA): Removed stage1_lba.
6594
 
        (BUILT_SOURCES): Deleted.
6595
 
        (CLEANFILES): Likewise.
6596
 
        (noinst_PROGRAMS): Removed stage1_lba.exec.
6597
 
        (stage1_exec_SOURCES): Removed stage2_size.h.
6598
 
        (stage2_size.h): Deleted.
6599
 
        (stage1_lba_exec_SOURCES): Likewise.
6600
 
        * stage1/stage1.S: Rewritten from scratch.
6601
 
        * stage1/stage1_lba.S: Deleted.
6602
 
        * stage1/stage1.h (COMPAT_VERSION_MAJOR): Set to 3.
6603
 
        (COMPAT_VERSION_MINOR): Set to 0.
6604
 
        (STAGE1_VER_MAJ_OFFS): Set to 0x3e.
6605
 
        (STAGE1_FIRSTLIST): Deleted.
6606
 
        (STAGE1_INSTALLSEG): Likewise.
6607
 
        (STAGE1_INSTALLADDR): Likewise.
6608
 
        (STAGE1_MINPARAMSIZE): Likewise.
6609
 
        (STAGE1_LISTSIZE): Likewise.
6610
 
        (STAGE1_ID_OFFSET): Likewise.
6611
 
        (STAGE1_ID_CHS): Likewise.
6612
 
        (STAGE1_ID_LBA): Likewise.
6613
 
        (STAGE1_STAGE2_SECTOR): New macro.
6614
 
        (STAGE1_STAGE2_ADDRESS): Likewise.
6615
 
        (STAGE1_STAGE2_SEGMENT): Likewise.
6616
 
        (STAGE1_BOOT_DRIVE): Likewise.
6617
 
        * stage2/start.S: New file.
6618
 
        * stage2/Makefile.am (noinst_DATA): New variable.
6619
 
        (CLEANFILES): Set to "$(nodist_pkgdata_DATA) $(noinst_DATA)
6620
 
        $(BUILT_SOURCES)".
6621
 
        (noinst_PROGRAMS): Removed stage2.exec, and added start.exec and
6622
 
        pre_stage2.exec.
6623
 
        (STAGE2_LINK): Deleted.
6624
 
        (PRE_STAGE2_LINK): New variable.
6625
 
        (START_LINK): Likewise.
6626
 
        (stage2_exec_SOURCES): Deleted.
6627
 
        (stage2_exec_CFLAGS): Likewise.
6628
 
        (stage2_exec_LDFLAGS): Likewise.
6629
 
        [NETBOOT_SUPPORT] (stage2_exec_LDADD): Likewise.
6630
 
        (pre_stage2_exec_SOURCES): New variable.
6631
 
        (pre_stage2_exec_CFLAGS): Likewise.
6632
 
        (pre_stage2_exec_LDFLAGS): Likewise.
6633
 
        [NETBOOT_SUPPORT] (pre_stage2_exec_LDADD): Likewise.
6634
 
        (BUILT_SOURCES): Likewise.
6635
 
        (start_exec_SOURCES): Likewise.
6636
 
        (start_exec_CFLAGS): Likewise.
6637
 
        (start_exec_LDFLAGS): Likewise.
6638
 
        (start_exec_DEPENDENCIES): Likewise.
6639
 
        (stage2_size.h): New rule.
6640
 
        (stage2): Likewise.
6641
 
        (e2fs_stage1_5_exec_SOURCES): Added start.S.
6642
 
        (fat_stage1_5_exec_SOURCES): Likewise.
6643
 
        (ffs_stage1_5_exec_SOURCES): Likewise.
6644
 
        (minix_stage1_5_exec_SOURCES): Likewise.
6645
 
        * stage2/asm.S (start): Renamed to ...
6646
 
        (main): ... this.
6647
 
        [STAGE1_5] (main): Jump to (codestart - EXT_C(main) + 0x2200)
6648
 
        instead of (codestart - EXT_C(start) + 0x2000).
6649
 
        [!STAGE1_5] (main): Jump to (codestart - EXT_C(main) + 0x8200)
6650
 
        instead of (codestart - EXT_C(start) + 0x8000).
6651
 
        [STAGE1_5] (chain_stage2): Use main instead of start.
6652
 
        * stage2/shared.h (BOOTSEC_LISTSIZE): New macro.
6653
 
        * stage2/stage1_5.c: Change the second argument for chain_stage2
6654
 
        to 0x8200.
6655
 
 
6656
 
1999-10-08  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6657
 
 
6658
 
        * configure.in (--with-binutils): New option to specify a
6659
 
        directory to find binutils.
6660
 
        (CFLAGS): If WITH_BINUTILS is not empty, added the option `-B'.
6661
 
        (LD): Do not check for this. We don't use ld directly anyway.
6662
 
        (RANLIB): If WITH_BINUTILS is not empty, search the directory
6663
 
        WITH_BINUTILS first.
6664
 
        (OBJCOPY): Likewise.
6665
 
        * acinclude.m4 (grub_ASM_USCORE): Add CFLAGS into
6666
 
        AC_TRY_COMMAND.
6667
 
        (grub_ASM_ADDR32): Likewise.
6668
 
        (grub_ASM_PREFIX_REQUIREMENT): Likewise.
6669
 
        (grub_PROG_OBJCOPY_ABSOLUTE): Use CC instead of LD.
6670
 
 
6671
 
1999-10-04  Pavel Roskin  <pavel_roskin@geocities.com>
6672
 
 
6673
 
        * stage2/freebsd.h (struct bootinfo): New member, bi_bios_dev.
6674
 
        * stage2/boot.c (bsd_boot): Set BI.BI_BIOS_DEV to SAVED_DRIVE.
6675
 
 
6676
 
1999-10-04  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6677
 
 
6678
 
        From Pavel Roskin:
6679
 
        * docs/grub.texi: Fix typos.
6680
 
        * stage2/builtins.c (install_func): Reformat the warning message
6681
 
        about the option `d'.
6682
 
 
6683
 
1999-10-03  Gordon Matzigkeit  <gord@fig.org>
6684
 
 
6685
 
        * stage2/builtins.c (install_func): Fix check for the Stage 2 id.
6686
 
        From Pavel Roskin.
6687
 
 
6688
 
        * debian/Makefile.am (EXTRA_DIST): Add postinst and prerm.
6689
 
 
6690
 
1999-10-03  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6691
 
 
6692
 
        * stage2/builtins.c (boot_func): Pass MBI.CMDLINE instead of ARG
6693
 
        to bsd_boot.
6694
 
 
6695
 
1999-10-03  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6696
 
 
6697
 
        * stage2/gunzip.c (gunzip_test_header): Check if CURRENT_DRIVE
6698
 
        is 0x20 instead of if the fs type is TFTP, because GRUB does not
6699
 
        mount CURRENT_DRIVE when using a block file. Reported by Pavel
6700
 
        Roskin.
6701
 
 
6702
 
1999-10-02  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6703
 
 
6704
 
        * stage2/builtins.c (cat_func): Do not read the whole of a file
6705
 
        at one time. Instead, repeat reading one byte and print it on
6706
 
        the screen.
6707
 
        * docs/grub.texi (Command line): List the available key
6708
 
        bindings.
6709
 
        (Commands): Added descriptions about "geometry", "device" and
6710
 
        "cat".
6711
 
 
6712
 
1999-10-02  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6713
 
 
6714
 
        Now it is possible to build the grub shell with old BSD curses.
6715
 
 
6716
 
        * stage2/shared.h [!A_NORMAL] (A_NORMAL): Set to zero.
6717
 
        [!A_REVERSE && A_STANDOUT] (A_REVERSE): Set to A_STANDOUT.
6718
 
        [!A_REVERSE && !A_STANDOUT] (A_REVERSE): Set to zero.
6719
 
 
6720
 
1999-09-30  Pavel Roskin  <pavel_roskin@geocities.com>
6721
 
 
6722
 
        * stage2/disk_io.c (set_bootdev): Mask 0x7F instead of 0x79 of
6723
 
        the device number.
6724
 
 
6725
 
1999-10-01  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6726
 
 
6727
 
        * configure.in (--without-curses): New option. If WITH_CURSES is
6728
 
        no, do not check for curses.
6729
 
 
6730
 
        * stage2/disk_io.c (set_device) [STAGE1_5]: Change the type of
6731
 
        DEV to unsigned long.
6732
 
        * stage2/builtins.c (install_func): Always check for the Stage 2
6733
 
        id in FILE.
6734
 
        Reported by Pavel Roskin.
6735
 
 
6736
 
1999-09-30  Gordon Matzigkeit  <gord@fig.org>
6737
 
 
6738
 
        * debian/postinst: New file to call install-info.
6739
 
        * debian/prerm: Likewise.
6740
 
        * debian/rules (binary-arch): Add postinst and prerm, compress the
6741
 
        info files, and call dpkg-shlibdeps.
6742
 
 
6743
 
        * stage2/cmdline.c (skip_to): Restructure, and count tabs as
6744
 
        whitespace.
6745
 
        (find_command): Likewise.
6746
 
 
6747
 
1999-09-30  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6748
 
 
6749
 
        * grub/getopt.c: Moved to ...
6750
 
        * lib/getopt.c: ... here.
6751
 
        * grub/getopt1.c: Moved to ...
6752
 
        * lib/getopt1.c: ... here.
6753
 
        * grub/getopt.h: Moved to ...
6754
 
        * lib/getopt.h: ... here.
6755
 
        * grub/Makefile.am (AM_CFLAGS): Added -I$(top_srcdir)/lib.
6756
 
        (grub_LDADD): Added ../lib/libcommon.a.
6757
 
        * lib/Makefile.am: New file.
6758
 
        * Makefile.am (SUBDIRS): Added lib.
6759
 
        * configure.in: lib/Makefile is added into the arguments for
6760
 
        AC_OUTPUT.
6761
 
 
6762
 
1999-09-30  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6763
 
 
6764
 
        From Pavel Roskin:
6765
 
        * stage2/defs.h (time_t): Renamed to ...
6766
 
        (mach_time_t): ... this.
6767
 
        (daddr_t): Renamed to ...
6768
 
        (mach_daddr_t): ... this.
6769
 
        (uid_t): Renamed to ...
6770
 
        (mach_uid_t): ... this.
6771
 
        (gid_t): Renamed to ...
6772
 
        (mach_gid_t): ... this.
6773
 
        (ino_t): Renamed to ...
6774
 
        (mach_ino_t): ... this.
6775
 
        * stage2/disk_inode.h (FFS_MAX_FASTLINK_SIZE): Use mach_daddr_t
6776
 
        instead of daddr_t.
6777
 
        (struct icommon): Use mach_uid_t, mach_gid_t, mach_time_t and
6778
 
        mach_daddr_t, instead of uid_t, gid_t, time_t and daddr_t.
6779
 
        * stage2/fs.h (BBLOCK): Use mach_daddr_t instead of addr_t.
6780
 
        (SBLOCK): Likewise.
6781
 
        (ROOTINO): Use mach_ino_t instead of ino_t.
6782
 
        (struct fs): Use mach_daddr_t and mach_time_t instead of daddr_t
6783
 
        and time_t.
6784
 
        (struct cg): Use mach_time_t instead of time_t.
6785
 
        (struct ocg): Likewise.
6786
 
        (cgbase): Use mach_daddr_t instead of daddr_t.
6787
 
        (itod): Likewise.
6788
 
 
6789
 
1999-09-30  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6790
 
 
6791
 
        * acinclude.m4 (grub_CHECK_START_SYMBOL): Use AC_TRY_LINK
6792
 
        instead of AC_TRY_COMMAND.
6793
 
        (grub_CHECK_USCORE_START_SYMBOL): Likewise.
6794
 
        (grub_CHECK_END_SYMBOL): Likewise.
6795
 
        (grub_CHECK_USCORE_END_SYMBOL): Likewise.
6796
 
 
6797
 
        * stage2/disk_io.c (set_device) [!STAGE1_5]: Use RESULT instead
6798
 
        of RETVAL to check if the analysis succeeds.
6799
 
 
6800
 
1999-09-29  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6801
 
 
6802
 
        * stage2/builtins.c (install_func): If the Stage 2 id in FILE is
6803
 
        not STAGE2_ID_STAGE2, set IS_STAGE1_5 to 1, otherwise to 0.
6804
 
        Use CONFIG_FILE_LOCATION to point to the location of the name of
6805
 
        a configuration file in Stage 2.
6806
 
        If the option `p' is present and IS_STAGE1_5 is non-zero, reset
6807
 
        the device information in CONFIG_FILE_LOCATION.
6808
 
        (cat_func): New function.
6809
 
        (builtin_cat): New variable.
6810
 
        (builtin_table): Added a pointer to BUILTIN_CAT.
6811
 
        (geometry_func): Call real_open_partition with the argument 1
6812
 
        after printing out the drive information.
6813
 
        * stage2/disk_io.c (real_open_partition): Made global.
6814
 
        [!STAGE1_5] (print_completions): In the command completion and
6815
 
        the filename completion, print a newline at the last if
6816
 
        IS_COMPLETION is zero.
6817
 
        * stage2/shared.h (real_open_partition): Declared.
6818
 
        * stage2/fsys_ext2fs.c (ext2fs_dir): Do not print a newline even
6819
 
        if PRINT_POSSIBILITIES is less than zero.
6820
 
        * stage2/fsys_ffs.c (ffs_dir): Likewise.
6821
 
        * stage2/fsys_fat.c (fat_dir): Likewise.
6822
 
        * stage2/fsys_minix.c (minix_dir): Likewise.
6823
 
 
6824
 
1999-09-29  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6825
 
 
6826
 
        * stage1/stage1.S [!FFS_STAGE1_5] (blocklist_default_len): Do
6827
 
        not divide the size by 512, but shift the size to the right by
6828
 
        9 instead, because of a binutils-2.9.1.0.x bug.
6829
 
        * stage1/stage1_lba.S [!FFS_STAGE1_5] (blocklist_default_len):
6830
 
        Likewise.
6831
 
        * stage2/builtins.c (install_func): When installing Stage 1.5,
6832
 
        if set_device returns NULL, then set CURRENT_DRIVE to 0xFF and
6833
 
        CONFIG_FILE to PTR.
6834
 
 
6835
 
1999-09-26  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6836
 
 
6837
 
        * stage2/char_io.c [!STAGE1_5] (get_cmdline): In cl_insert, call
6838
 
        cl_setcpos before printing BUF, even if LPOS is equal to LLEN.
6839
 
        In the completion, if RET is zero, do not call cl_init.
6840
 
        * stage2/disk_io.c [!STAGE1_5] (print_completions): In the
6841
 
        filename completion, if UNIQUE is 1, check if UNIQUE_STRING is a
6842
 
        directory or not. If so, append '/' to BUF.
6843
 
        In the partition completion, if IS_COMPLETION is non-zero and
6844
 
        *UNIQUE_STRING is not NUL, copy UNIQUE_STRING to PTR. Do not
6845
 
        append '/'.
6846
 
        (real_open_partition) [!STAGE1_5]: If DO_COMPRESSION is non-zero,
6847
 
        call print_a_completion.
6848
 
        (check_BSD_parts) [!STAGE1_5]: Likewise.
6849
 
        [!STAGE1_5] (print_a_completion): Ignore NAME if it is "." or
6850
 
        "..".
6851
 
 
6852
 
1999-09-25  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6853
 
 
6854
 
        * acinclude.m4 (grub_CHECK_USCORE_END_SYMBOL): Do not call
6855
 
        AC_DEFINE within AC_CACHE_VAL. Call it after AC_CACHE_VAL.
6856
 
        * stage2/Makefile.am (STAGE1_5_COMPILE): Do not define
6857
 
        CONFIG_FILE_ASM.
6858
 
        * stage2/asm.S (config_file) [STAGE1_5]: Set the first 4 bytes
6859
 
        to 0xffffffff and the following to "/boot/grub/stage2".
6860
 
        (config_file) [!STAGE1_5]: Set to "/boot/grub/menu.lst".
6861
 
        * stage2/builtins.c (install_func): Read a Stage 2 before
6862
 
        handling the `p' option.
6863
 
        If the `configfile' option is present and FILE is a Stage 2,
6864
 
        translate the device name to the internal device representation
6865
 
        and copy the result to STR.
6866
 
        * stage2/disk_io.c [STAGE1_5] (sane_partition): Eliminated.
6867
 
        [STAGE1_5] (incomplete): Likewise.
6868
 
        [STAGE1_5] (disk_choice): Likewise.
6869
 
        [STAGE1_5] (part_choice): Likewise.
6870
 
        (set_device) [STAGE1_5]: Assume that the first 4 bytes of DEVICE
6871
 
        is a device number. Set DRIVE to the forth byte of DEV and
6872
 
        PARTITION to the first 3 bytes of DEV. If DRIVE is 0xFF, set
6873
 
        CURRENT_DRIVE and CURRENT_PARTITION to SAVED_DRIVE and
6874
 
        SAVED_PARTITION, respectively. Otherwise set to DRIVE and
6875
 
        PARTITION, respectively.
6876
 
        (setup_part) [STAGE1_5]: Always call set_device.
6877
 
 
6878
 
1999-09-24  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6879
 
 
6880
 
        * acinclude.m4 (grub_CHECK_END_SYMBOL): Add a missing
6881
 
        double-quote. Reported by Johannes Kroeger
6882
 
        <hanne@squirrel.owl.de>.
6883
 
 
6884
 
1999-09-14  Gordon Matzigkeit  <gord@fig.org>
6885
 
 
6886
 
        * stage1/stage1.S (blocklist_default_start): New label for default
6887
 
        blocklist start sector.
6888
 
        (blocklist_default_len): New label for default blocklist length.
6889
 
        (blocklist_default_seg): New label for default blocklist segment.
6890
 
        * stage1/stage1_lba.S (blocklist_default_start): Likewise.
6891
 
        (blocklist_default_len): Likewise.
6892
 
        (blocklist_default_seg): Likewise.
6893
 
 
6894
 
1999-09-23  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6895
 
 
6896
 
        * acinclude.m4 (grub_ASM_ADDR32): First, create a template
6897
 
        source file "conftest.s.in", and then, replace @ADDR32@ with
6898
 
        "addr32" if GRUB_CV_ASM_PREFIX_REQUIREMENT is yes, otherwise,
6899
 
        replace it with "addr32;". Reported by John Tobey
6900
 
        <spam@john-edwin-tobey.org>.
6901
 
 
6902
 
1999-09-23  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6903
 
 
6904
 
        * stage2/builtins.c (debug_fs_print_func): Renamed to ...
6905
 
        (disk_read_print_func): ... this.
6906
 
        (fstest_func): Use DISK_READ_HOOK instead of DEBUG_FS.
6907
 
        (install_func): Rename debug_fs_savesect_func to
6908
 
        disk_read_savesect_func.
6909
 
        Rename debug_fs_blocklist_func to disk_read_blocklist_func.
6910
 
        Use DISK_READ_HOOK instead of DEBUG_FS.
6911
 
        (testload_func): Use DISK_READ_HOOK instead of DEBUG_FS.
6912
 
        * stage2/disk_io.c [!STAGE1_5] (debug_fs): Renamed to ...
6913
 
        [!STAGE1_5] (disk_read_hook): ... this.
6914
 
        [!STAGE1_5] (debug_fs_func): Renamed to ...
6915
 
        [!STAGE1_5] (disk_read_func): ... this.
6916
 
        (rawread) [!STAGE1_5]: Use DISK_READ_HOOK and DISK_READ_FUNC
6917
 
        instead of DEBUG_FS and DEBUG_FS_FUNC.
6918
 
        (grub_read) [!STAGE1_5]: Likewise.
6919
 
        (devread) [!STAGE1_5]: Use DISK_READ_HOOK instead of DEBUG_FS.
6920
 
        * stage2/fsys_ext2fs.c (ext2fs_read) [!STAGE1_5]: Use
6921
 
        DISK_READ_HOOK and DISK_READ_FUNC instead of DEBUG_FS and
6922
 
        DEBUG_FS_FUNC.
6923
 
        * stage2/fsys_ffs.c (ffs_read) [!STAGE1_5]: Likewise.
6924
 
        * stage2/fsys_minix.c (minix_read) [!STAGE1_5]: Likewise.
6925
 
        * stage2/shared.h [!STAGE1_5] (debug_fs): Renamed to ...
6926
 
        [!STAGE1_5] (disk_read_hook): ... this.
6927
 
        [!STAGE1_5] (debug_fs_func): Renamed to ...
6928
 
        [!STAGE1_5] (disk_read_func): ... this.
6929
 
        * docs/grub.texi: Likewise, replace debug_fs and debug_fs_func
6930
 
        with disk_read_hook and disk_read_func, respectively.
6931
 
 
6932
 
1999-09-23  Pavel Roskin  <pavel_roskin@geocities.com>
6933
 
 
6934
 
        * stage2/builtins.c (install_func): New local function,
6935
 
        debug_fs_savesect_func. Use debug_fs_savesect_func to determine
6936
 
        the first sector of Stage2. Write Stage 1 after patching Stage
6937
 
        2.
6938
 
 
6939
 
1999-09-22  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6940
 
 
6941
 
        * acinclude.m4 (grub_ASM_USCORE): Do not define HAVE_ASM_USCORE
6942
 
        within AC_CACHE_VAL. Define it after AC_CACHE_VAL if
6943
 
        GRUB_CV_ASM_USCORE is yes.
6944
 
 
6945
 
1999-09-20  Edmund GRIMLEY EVANS  <edmundo@rano.demon.co.uk>
6946
 
 
6947
 
        * netboot/3c59x.c: INCLUDE_3c59x is replaced by INCLUDE_3C59X
6948
 
        throughout.
6949
 
        * netboot/config.c: Likewise.
6950
 
        * netboot/io.h (__INS): New macro.
6951
 
        (__OUTS): Likewise.
6952
 
        (outl): Likewise.
6953
 
        (inl): Likewise.
6954
 
        (outl_p): Likewise.
6955
 
        (inl_p): Likewise.
6956
 
        Call __INS with the argument `b', with `w' and with `l' to
6957
 
        define insb, insw and insl, respectively. Likewise, Call __OUTS
6958
 
        with `b', with `w' and with `l' to define outsb, outw and outl,
6959
 
        respectively.
6960
 
        * netboot/pci.h (PCI_VENDOR_ID_VORTEX): New macro.
6961
 
        (PCI_DEVICE_ID_VORTEX_3c595): Likewise. Defined as a random
6962
 
        value.
6963
 
 
6964
 
1999-09-20  Edward Killips  <ekillips@triton.net>
6965
 
 
6966
 
        * stage2/disk_io.c (set_partition_hidden_flag): Set/clear the
6967
 
        hidden flag, whether the hidden flag is set or not.
6968
 
 
6969
 
1999-09-21  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6970
 
 
6971
 
        * stage2/builtins.c (install_func): Do not set DEBUG_FS at the
6972
 
        first read. Set it to DEBUG_FS_BLOCKLIST_FUNC when reading the
6973
 
        whole of Stage 2. Set FILEPOS to zero at the same time to read
6974
 
        from the beginning of Stage 2. Reported by Pavel Roskin.
6975
 
 
6976
 
1999-09-20  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6977
 
 
6978
 
        The argument ADDR for the command install is now optional.
6979
 
 
6980
 
        * stage2/builtins.c (install_func): If parsing ADDR fails, set
6981
 
        INSTALLADDR to zero and set PTR to ADDR.
6982
 
        If INSTALLADDR is zero after parsing the command-line, check if
6983
 
        the Stage 2 id is STAGE2_ID_STAGE2. If so, set INSTALLADDR to
6984
 
        0x8000, otherwise set it to 0x2000.
6985
 
        Set the install address in the Stage 1 after the automatic
6986
 
        determination is completed.
6987
 
        (builtin_install): Say that ADDR is optional in the help
6988
 
        message.
6989
 
        * docs/grub.texi: Synchronize the description about install to
6990
 
        builtins.c. Remove explicit address arguments from all the
6991
 
        examples. Add a description about help.
6992
 
        * docs/menu.lst: Do not specify the address argument for
6993
 
        install.
6994
 
 
6995
 
1999-09-19  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
6996
 
 
6997
 
        The completion code is heavily modified.
6998
 
 
6999
 
        * stage2/char_io.c [!STAGE1_5] (get_cmdline): In the completion
7000
 
        code, use COMPLETION_BUFFER to get the completion instead of
7001
 
        writing to BUF directly.
7002
 
        Save the position of a possible equal character after a command
7003
 
        in EQUAL_POS and replace the equal character with a space
7004
 
        temporarily for the code simplicity.
7005
 
        At first, just get completions, and, if there is more than one
7006
 
        completions, then print the list of the completions.
7007
 
        * stage2/disk_io.c [!STAGE1_5] (do_completion): New variable.
7008
 
        [!STAGE1_5] (unique): Moved the definition near the beginning.
7009
 
        [!STAGE1_5] (unique_string): Likewise. And changed the type to
7010
 
        char *.
7011
 
        (check_BSD_parts) [!STAGE1_5]: If DO_COMPLETION is non-zero, do
7012
 
        not print anything.
7013
 
        (real_open_partition) [!STAGE1_5]: Likewise.
7014
 
        [!STAGE1_5] (print_fsys_type): Likewise.
7015
 
        [!STAGE1_5] (print_a_completion): The argument FILENAME is
7016
 
        renamed to NAME.
7017
 
        If DO_COMPLETION is non-zero, get the unique part from NAME and
7018
 
        set UNIQUE_STRING to it.
7019
 
        If DO_COMPLETION is zero, just print NAME.
7020
 
        Do not call printf unconditionally.
7021
 
        [!STAGE1_5] (print_completions): Accept two arguements
7022
 
        IS_FILENAME and IS_COMPLETION instead of FILENAME.
7023
 
        Set UNIQUE_STRING to UNIQUE_BUF.
7024
 
        Set DO_COMPLETION to IS_COMPLETION and set it to zero before
7025
 
        returning.
7026
 
        If IS_FILENAME is zero, then complete builtin commands and
7027
 
        return UNIQUE - 1.
7028
 
        Use BUF instead of FILENAME.
7029
 
        If IS_COMPLETION is non-zero, do not print anything.
7030
 
        Copy UNIQUE_STRING to PTR only if IS_COMPLETION and
7031
 
        *UNIQUE_STRING are non-zero.
7032
 
        * stage2/shared.h (COMPLETION_BUF): New macro.
7033
 
        (COMPLETION_BUFLEN): Likewise.
7034
 
        (UNIQUE_BUF): Likewise.
7035
 
        (UNIQUE_BUFLEN): Likewise.
7036
 
        (MENU_BUF): Set to UNIQUE_BUF + UNIQUE_BUFLEN.
7037
 
        (MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - UNIQUE_BUF.
7038
 
        (print_completions): Adjusted to the definition.
7039
 
 
7040
 
1999-09-19  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7041
 
 
7042
 
        * acinclude.m4 (grub_ASM_PREFIX_REQUIREMENT): Do not call
7043
 
        AC_DEFINE_UNQUOTEs within AC_CACHE_VAL. Define ADDR32 and DATA32
7044
 
        after it.
7045
 
        (grub_CHECK_START_SYMBOL): Do not call AC_DEFINE within
7046
 
        AC_CACHE_VAL. Define HAVE_START_SYMBOL after it.
7047
 
        (grub_CHECK_USCORE_START_SYMBOL): Do not call AC_DEFINE within
7048
 
        AC_CACHE_VAL. Define HAVE_USCORE_START_SYMBOL after it.
7049
 
        (grub_CHECK_END_SYMBOL): Do not call AC_DEFINE within
7050
 
        AC_CACHE_VAL. Define HAVE_END_SYMBOL after it.
7051
 
        (grub_CHECK_USCORE_END_SYMBOL): Do not call AC_DEFINE within
7052
 
        AC_CACHE_VAL. Define HAVE_USCORE_END_SYMBOL after it.
7053
 
 
7054
 
1999-09-17  Pavel Roskin  <pavel_roskin@geocities.com>
7055
 
 
7056
 
        * acconfig.h (ADDR32): Removed. This entry is automatically
7057
 
        created by autoheader.
7058
 
        (DATA32): Likewise.
7059
 
        * acinclude.m4 (grub_ASM_ADD32): Use ADDR32 instead of addr32.
7060
 
        Require grub_ASM_PREFIX_REQUIREMENT.
7061
 
        (grub_ASM_PREFIX_REQUIREMENT): Define ADDR32 and DATA32.
7062
 
        * configure.in: Call grub_ASM_PREFIX_REQUIREMENT before
7063
 
        grub_ASM_ADDR32. Do not define ADDR32 and DATA32.
7064
 
        * stage1/stage1.S (after_BPB): Use ABS(firstlist) instead of
7065
 
        firstlist.
7066
 
        (MSG): Use ABS(x) instead of x.
7067
 
        (probe_loop): Use the macro MSG for fd_probe_error_string.
7068
 
        * stage1/stage1_lba.S (after_BPB): Use ABS(firstlist) instead of
7069
 
        firstlist.
7070
 
        (MSG): Use ABS(x) instead of x.
7071
 
        * stage2/asm.S (putchar): Renamed to ...
7072
 
        (grub_putchar): ... this.
7073
 
 
7074
 
1999-09-18  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7075
 
 
7076
 
        * stage2/gunzip.c (reset_linalloc): Use the macro RAW_ADDR
7077
 
        before setting LINALLOC_TOPADDR.
7078
 
        * stage2/shared.h [!GRUB_UTIL] (RAW_ADDR): Added parenthesises
7079
 
        to avoid a gcc warning.
7080
 
        [!GRUB_UTIL] (RAW_SEG): Likewise.
7081
 
 
7082
 
1999-09-18  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7083
 
 
7084
 
        * acinclude.m4 (grub_CHECK_START_SYMBOL): New function.
7085
 
        (grub_CHECK_USCORE_START_SYMBOL): Likewise.
7086
 
        (grub_CHECK_END_SYMBOL): Likewise.
7087
 
        (grub_CHECK_USCORE_SYMBOL): Likewise.
7088
 
        * configure.in: Call grub_CHECK_START_SYMBOL and
7089
 
        grub_CHECK_USCORE_START_SYMBOL, and if neither start nor _start
7090
 
        is defined, print an error message and exit.
7091
 
        Likewise, call grub_CHECK_END_SYMBOL and
7092
 
        grub_CHECK_USCORE_END_SYMBOL, and if neither end nor _end is
7093
 
        defined, print an error message and exit.
7094
 
        * acconfig.h (HAVE_START_SYMBOL): Added the "undef" entry.
7095
 
        (HAVE_USCORE_START_SYMBOL): Likewise.
7096
 
        (HAVE_END_SYMBOL): Likewise.
7097
 
        (HAVE_USCORE_END_SYMBOL): Likewise.
7098
 
        * stage2/char_io.c (memcheck): Rename the argument START to
7099
 
        ADDR. Added two missing equal characters.
7100
 
        [GRUB_UTIL]: Define new local functions start_addr and end_addr.
7101
 
        [GRUB_UTIL && HAVE_START_SYMBOL]: The function start_addr
7102
 
        returns START.
7103
 
        [GRUB_UTIL && HAVE_USCORE_START_SYMBOL]: The function start_addr
7104
 
        returns _START.
7105
 
        [GRUB_UTIL && HAVE_END_SYMBOL]: The function end_addr returns
7106
 
        END.
7107
 
        [GRUB_UTIL && HAVE_USCORE_END_SYMBOL]: The function end_addr
7108
 
        returns _END.
7109
 
        [GRUB_UTIL]: If ADDR is equal to or greater than the address
7110
 
        returned by start_addr, and ADDR plus LEN is less than the
7111
 
        address returned by end_addr, return ! ERRNUM.
7112
 
        * stage2/asm.S (get_code_end) [HAVE_END_SYMBOL]: Use $end as the
7113
 
        end of the bss.
7114
 
        [HAVE_USCORE_END_SYMBOL]: Use $_end as the end of the bss.
7115
 
        * stage2/disk_io.c [!STAGE1_5] (cur_part_desc): Made static.
7116
 
        Need not to be global any longer.
7117
 
 
7118
 
1999-09-17  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7119
 
 
7120
 
        * stage2/char_io.c [!STAGE1_5] (get_cmdline): The argument
7121
 
        COMPLETION is renamed to READLINE.
7122
 
        Do not initialize KILL here.
7123
 
        TAB, C-a, C-e, C-f, C-b, C-u, C-k, C-y, C-p and C-n are handled
7124
 
        only if READLINE is non-zero.
7125
 
        If ECHO_CHAR is not NUL, do not remove the leading spaces in BUF.
7126
 
        Add CMDLINE into the history list only if READLINE is non-zero.
7127
 
        * stage2/stage2.c (cmain): Initialize the kill buffer.
7128
 
 
7129
 
1999-09-17  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7130
 
 
7131
 
        Killing, yanking and manipulating the history are supported.
7132
 
 
7133
 
        * stage2/shared.h (cur_cmdline): Removed.
7134
 
        (MAX_CMDLINE): Moved near the beginning of the file.
7135
 
        (NEW_HEAPSIZE): Likewise.
7136
 
        (CMDLINE_BUFLEN): Set to MAX_CMDLINE.
7137
 
        (KILL_BUF): New macro.
7138
 
        (KILL_BUFLEN): Likewise.
7139
 
        (HISTORY_BUF): Likewise.
7140
 
        (HISTORY_SIZE): Likewise.
7141
 
        (HISTORY_BUFLEN): Likewise.
7142
 
        (MENU_BUF): Set to HISTORY_BUF + HISTORY_BUFLEN.
7143
 
        (MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - HISTORY_BUF.
7144
 
        (strcpy): New macro.
7145
 
        (grub_strcpy): Delared.
7146
 
        * stage2/boot.c (cur_cmdline): Removed.
7147
 
        * stage2/char_io.c [!STAGE1_5] (grub_strcpy): New function.
7148
 
        [!STAGE1_5] (get_history): Likewise.
7149
 
        [!STAGE1_5] (add_history): Likewise.
7150
 
        [!STAGE1_5] (get_cmdline): Use BUF instead of CMDLINE for the
7151
 
        working buffer for the command-line.
7152
 
        A new function cl_insert is used to insert a string to the
7153
 
        command-line.
7154
 
        In the case where C-u or C-k is pressed, copy the string being
7155
 
        deleted to KILL.
7156
 
        If C-y is pressed, insert KILL to the command-line.
7157
 
        If C-p is pressed, fetch the previous command from the history
7158
 
        list HISTORY, and if C-n is pressed, fetch the next command from
7159
 
        it.
7160
 
        If LPOS is less than LLEN, add CMDLINE into the history list.
7161
 
        If C is equal to KEY_UP, set C to 16, and if C is equal to
7162
 
        KEY_DOWN, set C to 14.
7163
 
        [!STAGE1_5] (num_history): New variable.
7164
 
 
7165
 
1999-09-15  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7166
 
 
7167
 
        * stage2/size_test: Do not check for the size of Stage 2.
7168
 
        * stage1/Makefile.am (stage2_size.h): Use `set' and `echo'
7169
 
        instead of awk, since we cannot expect awk is present. Remove
7170
 
        stage2_size.h before creating it.
7171
 
 
7172
 
1999-09-15  Pavel Roskin  <pavel_roskin@geocities.com>
7173
 
 
7174
 
        * Makefile.am (SUBDIRS): Put stage1 after stage2 so that stage2
7175
 
        is built before stage1.
7176
 
        * stage1/Makefile.am (BUILT_SOURCES): New varilable.
7177
 
        (CLEANFILES): Added BUILT_SOURCES.
7178
 
        (stage1_exec_SOURCES): Added stage2_size.h.
7179
 
        (stage1_lba_exec_SOURCES): Likewise.
7180
 
        (stage2_size.h): New rule.
7181
 
        * stage1/stage1.S: Include <stage2_size.h> and use STAGE2_SIZE
7182
 
        to determine how much number of sectors to be read when loading
7183
 
        Stage 2.
7184
 
        * stage1/stage1_lba.S: Likewise.
7185
 
 
7186
 
1999-09-15  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7187
 
 
7188
 
        * netboot/config.h: Moved to ...
7189
 
        * netboot/netboot_config.h: ... here.
7190
 
        * netboot/config.c: Include netboot_config.h instead of config.h.
7191
 
        * netboot/fsys_tftp.c: Likewise.
7192
 
        * netboot/ip.c: Likewise.
7193
 
        * netboot/Makefile.am (libdrivers_a_SOURCES): Removed config.h
7194
 
        and added netboot_config.h.
7195
 
 
7196
 
1999-09-14  Pavel Roskin  <pavel_roskin@geocities.com>
7197
 
 
7198
 
        * grub/asmstub.c [__linux__]: On GLibc 2.0 and newer use lseek,
7199
 
        don't include <linux/fs.h> and define BLKFLSBUF if needed.
7200
 
 
7201
 
1999-09-14  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7202
 
 
7203
 
        Now the grub shell works fine on FreeBSD. A patch by Pavel
7204
 
        Roskin is modified and applied.
7205
 
 
7206
 
        * grub/asmstub.c (get_drive_geometry): New function.
7207
 
        (get_diskinfo): Use get_drive_geometry to set the geometry of
7208
 
        DRIVE.
7209
 
 
7210
 
1999-09-14  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7211
 
 
7212
 
        * configure.in (--enable-ne): Made the description more clear.
7213
 
        (--enable-nepci): Likewise.
7214
 
        (--enable-wd): Likewise.
7215
 
        (--enable-t503): Likewise.
7216
 
        (--enable-t509): Likewise.
7217
 
        (--enable-3c59x): Likewise.
7218
 
        (--enable-lance): Likewise.
7219
 
        (--enable-cs): Likewise.
7220
 
        (--enable-eepro100): Likewise.
7221
 
        (--enable-wd-default_mem): Renamed to ...
7222
 
        (--enable-wd-default-mem): ... this.
7223
 
        (--enable-cs-scan): Corrected the description.
7224
 
        (NETBOOT_SUPPORT): Defined if NET_CFLAGS is not empty.
7225
 
        * stage2/Makefile.am (stage2_exec_LDADD): Defined only if
7226
 
        NETBOOT_SUPPORT is true.
7227
 
        * netboot/Makefile.am (LIBDRIVERS): New variable. If
7228
 
        NETBOOT_SUPPORT is true, set to libdriver.a, otherwise set to an
7229
 
        empty string.
7230
 
        (noinst_LIBRARIES): Set to LIBDRIVERS.
7231
 
        (DRIVERS): Added 3c509.h, cs89x0.h and ns8390.h.
7232
 
        (libdrivers_a_SOURCES): Added byteorder.h, config.h, if.h, io.h,
7233
 
        ip.h, netboot.h, netdevice.h, nic.h and pic.h.
7234
 
        (libdrivers_a_CFLAGS): Added -fno-builtin and -nostdinc and
7235
 
        removed -O2.
7236
 
        * stage2/char_io.c (grub_sprintf): Added parenthesises to avoid
7237
 
        gcc warnings.
7238
 
        * stage2/gunzip.c (gunzip_test_header): Check if FSYS_TYPE is
7239
 
        TFTP. If so, set IS_TFTP to non-zero, otherwise to zero. And,
7240
 
        use IS_TFTP to check if we have GZIP_CRC instead of the equation
7241
 
        "FILEMAX == 16 * 1024 * 1024".
7242
 
 
7243
 
1999-09-13  Edmund GRIMLEY EVANS  <edmundo@rano.demon.co.uk>
7244
 
 
7245
 
        The netboot support in the Dresden version of GRUB is integrated.
7246
 
 
7247
 
        * Makefile.am (SUBDIRS): Added netboot.
7248
 
        * configure.in (--enable-tftp): New option.
7249
 
        (--enable-ne): Likewise.
7250
 
        (--enable-nepci): Likewise.
7251
 
        (--enable-wd): Likewise.
7252
 
        (--enable-t503): Likewise.
7253
 
        (--enable-t509): Likewise.
7254
 
        (--enable-3c59x): Likewise.
7255
 
        (--enable-lance): Likewise.
7256
 
        (--enable-cs): Likewise.
7257
 
        (--enable-eepro100): Likewise.
7258
 
        (--enable-ne-scan): Likewise.
7259
 
        (--enable-wd-default_mem): Likewise.
7260
 
        (--enable-cs-scan): Likewise.
7261
 
        (NET_CFLAGS): New variable.
7262
 
        (NET_EXTRAFLAGS): Likewise.
7263
 
        Do AC_OUTPUT for netboot/Makefile as well.
7264
 
        * stage1/stage1.S: Set the number of sectors for Stage 2 to 130.
7265
 
        * stage1/stage1_lba.S: Likewise.
7266
 
        * stage2/Makefile.am (stage2_exec_LDADD): Added
7267
 
        ../netboot/libdrivers.a.
7268
 
        * stage2/asm.S [!STAGE1_5] (currticks): New function.
7269
 
        * stage2/char_io.c [!STAGE1_5] (grub_sprintf): Likewise.
7270
 
        [!STAGE1_5] (grub_memcmp): Likewise.
7271
 
        * stage2/disk_io.c (fsys_table) [FSYS_TFTP]: Added an entry for
7272
 
        tftp.
7273
 
        (sane_partition) [!STAGE1_5]: If CURRENT_DRIVE is a network
7274
 
        drive, return 1.
7275
 
        (real_open_partition) [!STAGE1_5]: Likewise.
7276
 
        (set_device): If DEVICE contains a network drive, set
7277
 
        CURRENT_DRIVE to 0x20.
7278
 
        * stage2/filesys.h [FSYS_TFTP] (FSYS_TFTP_NUM): Defined as 1.
7279
 
        [!FSYS_TFTP] (FSYS_TFTP_NUM): Defined as 0.
7280
 
        (NUM_FSYS): Added FSYS_TFTP_NUM.
7281
 
        * stage2/gunzip.c (gunzip_test_header): If FILEMAX >= 16MB, do
7282
 
        not try to examine the last 8 bytes of the file. This is
7283
 
        required for compressed files by TFTP.
7284
 
        * stage2/shared.h (sprintf): New macro.
7285
 
        (memcmp): Likewise.
7286
 
        (currticks): Declared.
7287
 
        (grub_sprintf): Likewise.
7288
 
        (grub_memcmp): Likewise.
7289
 
        * stage2/size_test: Set the maximum size of Stage 2 to 66560.
7290
 
        * netboot/3c509.c: New file.
7291
 
        * netboot/3c509.h: Likewise.
7292
 
        * netboot/3c59x.c: Likewise.
7293
 
        * netboot/Makefile.am: Likewise.
7294
 
        * netboot/Makefile.in: Likewise.
7295
 
        * netboot/byteorder.h: Likewise.
7296
 
        * netboot/compile: Likewise.
7297
 
        * netboot/config.c: Likewise.
7298
 
        * netboot/config.h: Likewise.
7299
 
        * netboot/cs89x0.c: Likewise.
7300
 
        * netboot/cs89x0.h: Likewise.
7301
 
        * netboot/eepro100.c: Likewise.
7302
 
        * netboot/fsys_tftp.c: Likewise.
7303
 
        * netboot/if.h: Likewise.
7304
 
        * netboot/io.h: Likewise.
7305
 
        * netboot/ip.c: Likewise.
7306
 
        * netboot/ip.h: Likewise.
7307
 
        * netboot/lance.c: Likewise.
7308
 
        * netboot/netboot.h: Likewise.
7309
 
        * netboot/netdevice.h: Likewise.
7310
 
        * netboot/nic.h: Likewise.
7311
 
        * netboot/ns8390.c: Likewise.
7312
 
        * netboot/ns8390.h: Likewise.
7313
 
        * netboot/pci.c: Likewise.
7314
 
        * netboot/pci.h: Likewise.
7315
 
 
7316
 
1999-09-13  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7317
 
 
7318
 
        * configure.in (--enable-maintainer-mode): Do not use our own
7319
 
        rule, but use AM_MAINTAINER_MODE instead. If the maintainer mode
7320
 
        is enabled, then check for perl, and if it is not found, print
7321
 
        an error message and abort.
7322
 
        * docs/Makefile.am (grub.8): Regenerated if MAINTAINER_MODE is
7323
 
        defined, instead of GRUB_MAINT. Use the variable PERL rather
7324
 
        than running help2man directly.
7325
 
 
7326
 
1999-09-13  Pavel Roskin  <pavel_roskin@geocities.com>
7327
 
 
7328
 
        * stage2/pc_slice.h (IS_PC_SLICE_TYPE_EXTENDED): New macro.
7329
 
        * stage2/disk_io.c (real_open_partition): Use
7330
 
        IS_PC_SLICE_TYPE_EXTENDED instead of comparing CURRENT_SLICE
7331
 
        with the extended partition types.
7332
 
 
7333
 
1999-09-11  Pavel Roskin  <pavel_roskin@geocities.com>
7334
 
 
7335
 
        * acconfig.h: New file for autoheader support.
7336
 
        * acinclude.m4 (grub_ASM_EXT_C) Renamed to ...
7337
 
        (grub_ASM_USCORE): ... this. Define HAVE_ASM_USCORE if a C
7338
 
        symbol gets an underscore after compiling to assembler.
7339
 
        * configure.in: Added AM_CONFIG_HEADER. Autoconf 2.13 is now
7340
 
        required. Test for wgetch(), not getch() in -l[n]curses.
7341
 
        * stage2/shared.h (EXT_C): Defined.
7342
 
        Include the best existing header for [n]curses.
7343
 
 
7344
 
1999-09-12  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7345
 
 
7346
 
        * stage2/boot.c (load_image): Use CURRENT_DRIVE and
7347
 
        CURRENT_PARTITION instead of SAVED_DRIVE and SAVED_PARTITION for
7348
 
        the boot device in the Multiboot information. Reported by
7349
 
        Stephen Early <steve@greenend.org.uk>.
7350
 
 
7351
 
1999-09-12  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7352
 
 
7353
 
        * stage2/disk_io.c (sane_partition) [STAGE1_5]: Defined.
7354
 
        (set_device): Use sane_partition to make sure that CURRENT_DRIVE
7355
 
        has a valid value. Reported by Pavel Roskin.
7356
 
 
7357
 
1999-09-11  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7358
 
 
7359
 
        From Pavel Roskin:
7360
 
        * stage2/builtins.c (device_func) [GRUB_UTIL]: Use check_device
7361
 
        in order to make sure that DEVICE exists.
7362
 
        * grub/asmstub.c (check_device): New function.
7363
 
        (grub_stage2): Use check_device to probe a device.
7364
 
 
7365
 
        * stage2/builtins.c (geometry_func) [GRUB_UTIL]: Copy the
7366
 
        modified geometry to GEOM and reset BUF_DRIVE. Reported by Pavel
7367
 
        Roskin.
7368
 
 
7369
 
        * grub/main.c (no_floppy): New variable.
7370
 
        (probe_second_floppy): Likewise.
7371
 
        (OPT_NO_FLOPPY): New macro.
7372
 
        (OPT_PROBE_SECOND_FLOPPY): Likewise.
7373
 
        (longopts): Added no-floppy and probe-second-floppy.
7374
 
        (usage): Added the descriptions about --no-floppy and
7375
 
        --probe-second-floppy.
7376
 
        (main): Handle OPT_PROBE_SECOND_FLOPPY and OPT_NO_FLOPPY.
7377
 
        * grub/asmstub.c (grub_stage2): Print a message before the probe
7378
 
        routine. If NO_FLOPPY is non-zero, do not probe any floppy drive.
7379
 
        If PROBE_SECOND_FLOPPY is zero, skip the probe of the second
7380
 
        floppy drive.
7381
 
        (get_floppy_disk_name): New function.
7382
 
        (get_ide_disk_name): Likewise.
7383
 
        (get_scsi_disk_name): Likewise.
7384
 
 
7385
 
1999-09-10  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7386
 
 
7387
 
        * stage2/builtins.c (device_func): New function.
7388
 
        (builtin_device): New variable.
7389
 
        (builtin_table): Added the pointer to BUILTIN_DEVICE.
7390
 
        (builtin_geometry) [GRUB_UTIL]: Accept extra arguments,
7391
 
        CYLINDER, HEAD, SECTOR and TOTAL_SECTOR, and, if they are found,
7392
 
        set the geometry of a drive specified to them.
7393
 
        * grub/asmstub.c (disks): Made global.
7394
 
        (assign_device_name): New function.
7395
 
 
7396
 
1999-09-09  Gordon Matzigkeit  <gord@fig.org>
7397
 
 
7398
 
        * docs/grub.texi (Commands): Synchronize descriptions with
7399
 
        builtins.c.
7400
 
 
7401
 
        * stage2/builtins.c (hide_func): Use set_partition_hidden_flag.
7402
 
        (unhide_func): Likewise.
7403
 
        Many help message cleanups.  From Pavel Roskin.
7404
 
 
7405
 
        * stage2/shared.h (set_partition_hidden_flag): Declare.
7406
 
 
7407
 
        * stage2/disk_io.c (set_partition_hidden_flag): New function
7408
 
        merged from hide_partition and unhide_partition.  Make sure we OR
7409
 
        with the inverse of the flag bit rather than XORing to unhide the
7410
 
        partition.
7411
 
 
7412
 
1999-09-10  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7413
 
 
7414
 
        * grub/asmstub.c (_FILE_OFFSET_BITS): Defined.
7415
 
        (biosdisk) [!__linux__]: Pass the offset argument as off_t
7416
 
        instead of int to lseek, and compare the return value with
7417
 
        OFFSET. Reported by Pavel Roskin.
7418
 
        (grub_stage2) [!__linux__ && !__GNU__]: Print a warning message.
7419
 
 
7420
 
1999-09-08  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7421
 
 
7422
 
        * stage2/stage2.c (run_menu): If run_script is successfully
7423
 
        finished, break the loop. Reported by Pavel Roskin.
7424
 
        Do not wait an input character when FALLBACK_ENTRY is less than
7425
 
        zero.
7426
 
        * stage2/cmdline.c (run_script): If ERRNUM is non-zero, wait an
7427
 
        input character, whether FALLBACK is less than zero or not.
7428
 
 
7429
 
1999-09-06  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7430
 
 
7431
 
        * stage2/builtins.c (configfile_func): New function.
7432
 
        (builtin_configfile): New variable.
7433
 
        (builtin_table): Added the pointer to BUILTIN_CONFIGFILE.
7434
 
 
7435
 
1999-09-06  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7436
 
 
7437
 
        From Pavel Roskin:
7438
 
        * stage2/asm.S [!STAGE1_5] (chain_stage2): Deleted.
7439
 
        [STAGE1_5] (get_code_end): Likewise.
7440
 
        * stage2/char_io.c (grub_strncat): Likewise.
7441
 
        * stage2/common.c [STAGE1_5] (saved_mem_upper): Likewise.
7442
 
        * stage2/smp-imps.c (imps_release_cpus): Likewise.
7443
 
        (imps_any_new_apics): Made static.
7444
 
        (imps_enabled): Likewise.
7445
 
        (imps_num_cpus): Likewise.
7446
 
        (imps_lapic_addr): Likewise.
7447
 
        (imps_cpu_apic_map): Likewise.
7448
 
        (imps_apic_cpu_map): Likewise.
7449
 
 
7450
 
1999-09-06  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7451
 
 
7452
 
        * stage2/builtins.c (testload_func): Fix the typos: 0x2000000 ->
7453
 
        0x200000 and 0x3000000 -> 0x300000.
7454
 
 
7455
 
1999-09-06  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7456
 
 
7457
 
        From Hisazumi Kenji <nel@soraneko.com>:
7458
 
        * stage2/fsys_ffs.c (mapblock_offset): New variable.
7459
 
        (mapblock_bsize): Likewise.
7460
 
        (MAPBUF): New macro.
7461
 
        (MAPBUF_LEN): Likewise.
7462
 
        (ffs_mount): Set MAPBLOCK_OFFSET to -1.
7463
 
        (block_map): Added partial read support.
7464
 
 
7465
 
1999-09-06  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7466
 
 
7467
 
        * stage2/cmdline.c (find_command): If COMMAND is less than
7468
 
        (*BUILTIN)->NAME in dictionary order, break the loop.
7469
 
        * stage2/builtins.c (builtin_chainloader): Capitalize the
7470
 
        variable name in the short doc.
7471
 
        (builtin_color): Likewise.
7472
 
        (builtin_geometry): Likewise.
7473
 
        (builtin_help): Likewise.
7474
 
        (builtin_hide): Likewise.
7475
 
        (builtin_initrd): Likewise.
7476
 
        (builtin_install): Likewise.
7477
 
        (builtin_kernel): Likewise.
7478
 
        (builtin_module): Likewise.
7479
 
        (builtin_modulenounzip): Likewise.
7480
 
        (builtin_pause): Likewise.
7481
 
        (builtin_read): Likewise.
7482
 
        (builtin_root): Likewise.
7483
 
        (builtin_testload): Likewise.
7484
 
        (builtin_unhide): Likewise.
7485
 
        (builtin_uppermem): Likewise.
7486
 
 
7487
 
1999-09-05  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7488
 
 
7489
 
        The internal of the command handling is heavily modified, and
7490
 
        a new command "help" is added.
7491
 
 
7492
 
        * stage1/stage1.S: Set the number of sectors for Stage 2 to 110.
7493
 
        * stage1/stage1_lba.S: Likewise.
7494
 
        * stage2/builtins.c: New file.
7495
 
        * stage2/Makefile.am (libgrub_a_SOURCES): Added builtins.c.
7496
 
        (stage2_exec_SOURCES): Likewise.
7497
 
        * stage2/boot.c (load_image): Return kernel_t instead int.
7498
 
        (bsd_boot): Change the type of the first argument to kernel_t.
7499
 
        * stage2/char_io.c (get_cmdline): Do not accept the argument
7500
 
        COMMANDS and accept the argument COMPLETION.
7501
 
        Print completions only if COMPLETION is non-zero.
7502
 
        Print the list of short docs when the command is completed.
7503
 
        * stage2/cmdline.c [GRUB_UTIL]: Do not include apic.h and
7504
 
        smp-imps.h.
7505
 
        (fallback): Deleted.
7506
 
        (password): Likewise.
7507
 
        (debug): Likewise.
7508
 
        (normal_color): Likewise.
7509
 
        (highlight_color): Likewise.
7510
 
        (print_cmdline_message): New function.
7511
 
        (commands): Deleted.
7512
 
        (debug_fs_print_func): Likewise.
7513
 
        (installaddr): Likewise.
7514
 
        (installlist): Likewise.
7515
 
        (installsect): Likewise.
7516
 
        (debug_fs_blocklist_func): Likewise.
7517
 
        (find_command): New function.
7518
 
        (init_cmdline): Initialize the data for the command-line
7519
 
        interface. The function to print the message is moved to
7520
 
        print_cmdline_message.
7521
 
        (enter_cmdline): Rewritten from scratch. Now deal with only the
7522
 
        pure command-line and the function to deal with a menu entry is
7523
 
        moved to run_script.
7524
 
        (run_script): New function.
7525
 
        * stage2/shared.h (PASSWORD_BUF): New macro.
7526
 
        (PASSWORD_BUFLEN): Likewise.
7527
 
        (CMDLINE_BUF): Likewise.
7528
 
        (CMDLINE_BUFLEN): Likewise.
7529
 
        (MENU_BUF): Likewise.
7530
 
        (MENU_BUFLEN): Likewise.
7531
 
        (fallback): Deleted.
7532
 
        (fallback_entry): Declared.
7533
 
        (default_entry): Likewise.
7534
 
        (BUILTIN_CMDLINE): New macro.
7535
 
        (BUILTIN_MENU): Likewise.
7536
 
        (BUILTIN_TITLE): Likewise.
7537
 
        (struct builtin): New tag.
7538
 
        (builtin_table): Declared.
7539
 
        (cmdline_t): Deleted.
7540
 
        (kernel_t): New type.
7541
 
        (kernel_type): Declared.
7542
 
        (grub_timeout): Likewise.
7543
 
        (init_builtins): Likewise.
7544
 
        (init_config): Likewise.
7545
 
        (find_command): Likewise.
7546
 
        (print_cmdline_message): Likewise.
7547
 
        (run_script): Likewise.
7548
 
        [!STAGE1_5] (bsd_boot): Deleted.
7549
 
        [!STAGE1_5] (load_image): Likewise.
7550
 
        [!STAGE1_5] (load_module): Likewise.
7551
 
        [!STAGE1_5] (load_initrd): Likewise.
7552
 
        * stage2/size_test: Set the maximum size of Stage 2 to 56320.
7553
 
        * stage2/stage2.c (grub_timeout): Deleted.
7554
 
        (menu_t): Likewise.
7555
 
        (run_menu): Changed the return type to void.
7556
 
        Use FALLBACK_ENTRY instead of FALLBACK.
7557
 
        Do not check the return value of enter_cmdline.
7558
 
        (run_menu) [GRUB_UTIL]: Call stop instead of returning
7559
 
        MENU_ABORT.
7560
 
        (cmain): Set MENU_ENTRIES to MENU_BUF.
7561
 
        Call init_config instead of clearing the variables directly.
7562
 
        Use CMDLINE_BUF for the command-line buffer instead of the
7563
 
        stack.
7564
 
        Adapted the analysis routine for the configuration file to the
7565
 
        new builtin commands interface.
7566
 
        Run enter_cmdline forever.
7567
 
        If run_menu returns, restart the loop.
7568
 
 
7569
 
1999-09-04  Pavel Roskin  <pavel_roskin@geocities.com>
7570
 
 
7571
 
        * docs/menu.lst: More meaningful examples. Not using (0x80,0)
7572
 
        notation anymore.
7573
 
        * stage2/stage2.c (run_menu): Erase the entered password before
7574
 
        get_cmdline(). Help on TAB disabled when entering the password.
7575
 
        * stage2/char_io.c (get_cmdline): Restore command-line even if
7576
 
        there is no help string.
7577
 
        * configure.in: --disable-gunzip disables decompression in
7578
 
        stage2.
7579
 
        * stage2/gunzip.c [NO_DECOMPRESSION]: Disable all code if
7580
 
        decompression is disabled.
7581
 
 
7582
 
1999-09-03  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7583
 
 
7584
 
        * stage2/boot.c (load_image): Use PHDR->P_PADDR instead of
7585
 
        PHDR->P_VADDR. Reported by Ramon van Handel <vhandel@chem.vu.nl>.
7586
 
 
7587
 
1999-09-03  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7588
 
 
7589
 
        * docs/help2man: Upgraded to 1.013.
7590
 
        * docs/grub.8: Regenerated.
7591
 
 
7592
 
1999-09-02  Pavel Roskin  <pavel_roskin@geocities.com>
7593
 
 
7594
 
        * stage2/cmdline.c (enter_cmdline) [GRUB_UTIL]: Add a space in
7595
 
        the LBA warning message.
7596
 
 
7597
 
1999-09-02  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7598
 
 
7599
 
        The character `=' after a command is now optional.
7600
 
 
7601
 
        * stage2/char_io.c (get_cmdline): Search for a space or a equal
7602
 
        character after the first word in CMDLINE when TAB lists
7603
 
        completions, instead of just searching for a eqaul character.
7604
 
        * stage2/cmdline.c (skip_to): Treat the character `=' as a space
7605
 
        if AFTER_EQUAL is non-zero.
7606
 
        (commands): Delete all the equal characters.
7607
 
        * docs/menu.lst: Likewise.
7608
 
        * docs/grub.texi: Likewise.
7609
 
 
7610
 
1999-09-01  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7611
 
 
7612
 
        * grub/asmstub.c (env_for_exit): New variable.
7613
 
        (grub_stage2): Do a setjmp in doit, and when it returns
7614
 
        non-zero, set STATUS to 1 if ERRNUM is non-zero.
7615
 
        (stop): Call longjmp instead of exit.
7616
 
 
7617
 
1999-08-31  Pavel Roskin  <pavel_roskin@geocities.com>
7618
 
 
7619
 
        * stage2/boot.c [GRUB_UTIL] (bsd_boot_entry): New function.
7620
 
        (bsd_boot) [GRUB_UTIL]: Set ENTRY_ADDR to BSD_BOOT_ENTRY to fake
7621
 
        the *BSD boot.
7622
 
 
7623
 
1999-08-31  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7624
 
 
7625
 
        * stage2/fsys_fat.c (fat_create_blocklist): Cast FAT_BUF to
7626
 
        unsigned short * instead of unsigned long *. Suggested by Pavel
7627
 
        Roskin.
7628
 
 
7629
 
1999-08-30  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7630
 
 
7631
 
        From Edward Killips <ekillips@triton.net>:
7632
 
        * stage2/cmdline.c (commands): Added hide and unhide.
7633
 
        (enter_cmdline): Likewise.
7634
 
        * stage2/disk_io.c (unhide_partition): New function.
7635
 
        (hide_partition): Likewise.
7636
 
        * stage2/pc_slice.h (PC_SLICE_TYPE_HIDDEN_FLAG): New macro.
7637
 
 
7638
 
1999-08-29  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7639
 
 
7640
 
        From Pavel Roskin <pavel_roskin@geocities.com>:
7641
 
        * stage2/fsys_minix.c (namelen): New variable.
7642
 
        (MINIX_NAME_LEN): Deleted.
7643
 
        (minix_mount): Set NAMELEN to 14 if SUPRTBLOCK->S_MAGIC is
7644
 
        MINIX_SUPER_MAGIC, and set NAMELEN to 30 if it is
7645
 
        MINIX_SUPER_MAGIC2.
7646
 
        (minix_dir): Use NAMELEN instead of MINIX_NAME_LEN.
7647
 
 
7648
 
1999-08-29  Pavel Roskin  <pavel_roslin@geocities.com>
7649
 
 
7650
 
        * grub/Makefile.am, stage1/Makefile.am, stage2/Makefile.am:
7651
 
        Avoid using variables inclosed in '@' because they cannot be
7652
 
        overridden at the make time.
7653
 
 
7654
 
1999-08-29  Pavel Roskin  <pavel_roskin@geocities.com>
7655
 
 
7656
 
        * stage2/fsys_fat.c (fat_create_blocklist): Return 1 for the
7657
 
        root directory on FAT12 and FAT16.
7658
 
 
7659
 
1999-08-27  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7660
 
 
7661
 
        * stage2/boot.c (load_image): Accept two arguments, KERNEL and
7662
 
        ARG. And use them instead of CUR_CMDLINE.
7663
 
        (load_module): Accept two arguments, MODULE and ARG. And use
7664
 
        them instead of CUR_CMDLINE.
7665
 
        (load_initrd): Accept one argument, INITRD. And use it instead
7666
 
        of CUR_CMDLINE.
7667
 
        (bsd_boot): Accept one additional argument, ARG. And use it
7668
 
        instead of CUR_CMDLINE.
7669
 
        * stage2/cmdline.c (enter_cmdline): Use MB_CMDLINE instead of
7670
 
        HEAP for the Multiboot command-line buffer.
7671
 
        * stage2/shared.h (MB_CMDLINE_BUF): New macro.
7672
 
        (MB_CMDLINE_BUFLEN): Likewise.
7673
 
 
7674
 
1999-08-26  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7675
 
 
7676
 
        * docs/Makefile.am [GRUB_MAINT] (grub.8): The argument for the
7677
 
        option --name is changed to "the grub shell".
7678
 
        * docs/grub.8: Regenerated.
7679
 
        * docs/grub.texi: Do not use the name "the Stage 2 emulator" any
7680
 
        more. Use the name "the grub shell" instead.
7681
 
 
7682
 
1999-08-26  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7683
 
 
7684
 
        From Klaus Reichl <klaus.reichl@alcatel.at>:
7685
 
        * stage2/fsys_minix.c: New file.
7686
 
        * stage2/size_test: Added a check for the size of minix_stage1_5.
7687
 
        * stage2/Makefile.am (libgrub_a_SOURCES): Added fsys_minix.c.
7688
 
        (libgrub_a_CFLAGS): Added -DFSYS_MINIX=1.
7689
 
        (nodist_pkgdata_DATA): Added minix_stage1_5.
7690
 
        (noinst_PROGRAMS): Added minix_stage1_5.exec.
7691
 
        (stage2_exec_SOURCES): Added fsys_minix.c.
7692
 
        (minix_stage1_5_exec_SOURCES): New variable.
7693
 
        (minix_stage1_5_exec_CFLAGS): Likewise.
7694
 
        (minix_stage1_5_exec_LDFLAGS): Likewise.
7695
 
        * stage2/pc_slice.h (PC_SLICE_TYPE_MINIX): New macro.
7696
 
        * stage2/disk_io.c (fsys_table) [FSYS_MINIX]: Added minix entry.
7697
 
        * stage2/filesys.h [FSYS_MINIX] (FSYS_MINIX_NUM): Set to 1.
7698
 
        [!FSYS_MINIX] (FSYS_MINIX_NUM): Set to 0.
7699
 
        [!NUM_FSYS] (NUM_FSYS): Added FSYS_MINIX_NUM.
7700
 
        * stage2/shared.h (STAGE2_ID_MINIX_STAGE1_5): New macro.
7701
 
        [STAGE1_5 && FSYS_MINIX] (STAGE2_ID): Set to
7702
 
        STAGE2_ID_MINIX_STAGE1_5.
7703
 
        * grub/Makefile.am (AM_CFLAGS): Added -DFSYS_MINIX=1.
7704
 
        * configure.in (--disable-minix): New option.
7705
 
 
7706
 
1999-08-25  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7707
 
 
7708
 
        From Jochen Hoenicke <jochen@gnu.org>:
7709
 
        * stage2/fat.h (FAT_BPB_FAT_SECTORS_16): New macro.
7710
 
        (FAT_BPB_FAT_SECTORS_32): Likewise.
7711
 
        (FAT_BPB_IS_FAT32): Likewise.
7712
 
        (FAT_BPB_ROOT_DIR_CLUSTER): Likewise.
7713
 
        (FAT_BPB_FAT_SECTORS): If FAT_BPB_FAT_SECTORS_16 returns
7714
 
        a non-zero value, return it. Otherwise return
7715
 
        FAT_BPB_FAT_SECTORS_32.
7716
 
        (FAT_DIRENTRY_FIRST_CLUSTER): Corrected.
7717
 
        * stage2/fsys_fat.c (root_dir): New variable.
7718
 
        (fat_mount): Use the macro IS_PC_SLICE_TYPE_FAT instead of
7719
 
        checking for each fs types directly.
7720
 
        Omit the >64 sectors check.
7721
 
        If the current fs type is FAT32, then set FAT_SIZE to 8 and
7722
 
        get the root from BPB.
7723
 
        (fat_create_blocklist): Use the macro SECTOR_SIZE instead of a
7724
 
        magic number.
7725
 
        (fat_dir): Set MAP to ROOT_DIR instead of -1.
7726
 
        * stage2/pc_slice.h (PC_SLICE_TYPE_FAT32): New macro.
7727
 
        (PC_SLICE_TYPE_FAT32_LBA): Likewise.
7728
 
        (PC_SLICE_TYPE_FAT16_LBA): Likewise.
7729
 
        (IS_PC_SLICE_TYPE_FAT): Likewise.
7730
 
 
7731
 
1999-08-25  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7732
 
 
7733
 
        * stage2/fsys_ffs.c (ffs_mount): Do not shift the fs type
7734
 
        FS_BSDFFS. Reported by Takehiro Suzuki
7735
 
        <takehiro@coral.ocn.ne.jp>.
7736
 
        * stage2/fsys_fat.c (fat_mount): Do not shift the fs type
7737
 
        FS_MSDOS.
7738
 
 
7739
 
1999-08-13  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7740
 
 
7741
 
        Pavel Roskin's patch that adds new options to disable arbitrary
7742
 
        filesystems is heavily modified and applied.
7743
 
 
7744
 
        * configure.in (--disable-ext2fs): New option.
7745
 
        (--disable-fat): Likewise.
7746
 
        (--disable-ffs): Likewise.
7747
 
        (FSYS_CFLAGS): New variable. Set to filesystems the user choose.
7748
 
        * grub/Makefile.am (AM_CFLAGS): Added -DFSYS_EXT2FS=1,
7749
 
        -DFSYS_FAT=1 and -DFSYS_FFS=1.
7750
 
        * stage2/Makefile.am (libgrub_a_CFLAGS): Likewise.
7751
 
        (stage2_exec_CFLAGS): Added @FSYS_CFLAGS@.
7752
 
        * stage2/filesys.h
7753
 
        [!(FSYS_FFS || FSYS_FAT || FSYS_EXT2FS)] (FSYS_FFS): Deleted.
7754
 
        [!(FSYS_FFS || FSYS_FAT || FSYS_EXT2FS)] (FSYS_FAT): Likewise.
7755
 
        [!(FSYS_FFS || FSYS_FAT || FSYS_EXT2FS)] (FSYS_EXT2FS): Likewise.
7756
 
        * stage2/fsys_ext2fs.c [!FSYS_EXT2FS]: Do not define anything.
7757
 
        * stage2/fsys_fat.c [!FSYS_FAT]: Likewise.
7758
 
        * stage2/fsys_ffs.c [!FSYS_FFS]: Likewise.
7759
 
 
7760
 
1999-08-12  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7761
 
 
7762
 
        * stage1/stage1_lba.S: Use STAGE1_DRP_ADDR for the address of
7763
 
        drive parameters instead of DRIVE_PARAMETER.
7764
 
        (drive_parameter): Deleted.
7765
 
        * stage1/stage1.h (STAGE1_DRP_ADDR): New macro.
7766
 
        (STAGE1_DRP_SIZE): Likewise.
7767
 
 
7768
 
1999-08-11  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7769
 
 
7770
 
        * stage2/bios.c (get_diskinfo): In LBA mode, set TOTAL_SECTORS
7771
 
        to the low 32bits of DRP.TOTAL_SECTORS instead of the multiple
7772
 
        of CHS.
7773
 
        * stage2/cmdline.c (enter_cmdline) [GRUB_UTIL]: In the command
7774
 
        "geometry", print the device file name instead of CHS/LBA
7775
 
        information.
7776
 
        * stage2/shared.h (device_map): Declared.
7777
 
        * grub/asmstub.c (device_map): Defined as a global variable
7778
 
        instead of a local variable.
7779
 
 
7780
 
1999-08-10  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7781
 
 
7782
 
        Support the NetBSD and OpenBSD partition slices.
7783
 
 
7784
 
        * stage2/pc_slice.h (PC_SLICE_TYPE_BSD): Deleted.
7785
 
        (PC_SLICE_TYPE_FREEBSD): New macro.
7786
 
        (PC_SLICE_TYPE_OPENBSD): Likewise.
7787
 
        (PC_SLICE_TYPE_NETBSD): Likewise.
7788
 
        (IS_PC_SLICE_TYPE_BSD_WITH_FS): Likewise.
7789
 
        (IS_PC_SLICE_TYPE_BSD): Likewise.
7790
 
        * stage2/fsys_ffs.c (ffs_mount): Use the macro
7791
 
        IS_PC_SLICE_TYPE_BSD_WITH_FS instead of checking if
7792
 
        CURRECT_SLICE is equal to the BSD partition type directly.
7793
 
        * stage2/fsys_ext2fs.c (ext2fs_mount): Likewise.
7794
 
        * stage2/fsys_fat.c (fat_mount): Likewise.
7795
 
        * stage2/disk_io.c (check_BSD_parts): Set the low bits of
7796
 
        CURRENT_SLICE to PC_SLICE_TYPE_FREEBSD instead of
7797
 
        PC_SLICE_TYPE_BSD.
7798
 
        (real_open_partition): Use the macro IS_PC_SLICE_TYPE_BSD instead
7799
 
        of checking if CURRENT_SLICE is equal to the BSD partition type
7800
 
        directly.
7801
 
 
7802
 
1999-08-09  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7803
 
 
7804
 
        * stage2/cmdline.c (commands): Added geometry.
7805
 
        (enter_cmdline): If CUR_HEAP has the string "geometry", print
7806
 
        out the information about a drive that the argument represents.
7807
 
 
7808
 
1999-08-09  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7809
 
 
7810
 
        * stage2/stage2.c (run_menu): Terminate the string PASSWORD
7811
 
        before checking if ENTERED is identical to PASSWORD. Reported
7812
 
        by Mark Lundeberg <aa026@pgfn.bc.ca>.
7813
 
 
7814
 
1999-08-08  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7815
 
 
7816
 
        * stage2/stage2.c (set_line_normal): New function.
7817
 
        (set_line_highlight): Likewise.
7818
 
        (run_menu): Do not call the function set_line directly any
7819
 
        longer, call set_line_normal and set_line_highlight instead.
7820
 
 
7821
 
        From Pavel Roskin:
7822
 
        * stage2/stage2.c (run_menu) [GRUB_UTIL]: Quit when pushing the
7823
 
        key `q'.
7824
 
 
7825
 
1999-08-05  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7826
 
 
7827
 
        * acinclude.m4 (grub_ASM_PREFIX_REQUIREMENT): New function.
7828
 
        * configure.in: Call grub_ASM_PREFIX_REQUIREMENT, and define
7829
 
        ADDR32 and DATA32 based on the result.
7830
 
        * stage2/asm.S: Replace addr32 and data32 prefixes with ADDR32
7831
 
        and DATA32 respectively.
7832
 
 
7833
 
1999-08-05  Pavel Roskin  <pavel_roskin@geocities.com>
7834
 
 
7835
 
        * stage2/boot.c (load_image): Use RAW_ADDR macro when loading
7836
 
        an a.out kernel.
7837
 
 
7838
 
1999-08-04  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7839
 
 
7840
 
        * stage2/asm.S: Make each of the addr32 and data32 prefixes
7841
 
        appear in the same line as it modifies, as the gas manual in
7842
 
        binutils-2.9.5.0.4 says "it must be in the same line".
7843
 
 
7844
 
1999-08-04  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7845
 
 
7846
 
        * boot.c (load_image): Fix a strcmp test. Reported by Pavel
7847
 
        Roskin <pavel_roskin@geocities.com>.
7848
 
 
7849
 
1999-08-03  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7850
 
 
7851
 
        From "Dan J. Walters" <djw@cs.utexas.edu>:
7852
 
        * stage2/i386-elf.h (EI_BRAND): New macro.
7853
 
        * stage2/boot.c (load_image): If the kernel is ELF, check if it
7854
 
        is a FreeBSD kernel as well as a Multiboot kernel, and if it is
7855
 
        a FreeBSD kernel, then mask ENTRY_ADDR since FreeBSD requires
7856
 
        that. Likewise, mask MEMADDR.
7857
 
        (bsd_boot): Set the bi_symtab and the bi_esymtab members of BI
7858
 
        only if MBI.FLAGS has the flag MB_INFO_AOUT_SYMS. Otherwise,
7859
 
        clear them.
7860
 
 
7861
 
1999-07-30  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7862
 
 
7863
 
        From Pavel Roskin <pavel_roskin@geocities.com>:
7864
 
        * grub/getopt.c: New file. Copied from texinfo-3.12n.
7865
 
        * grub/getopt1.c: Likewise.
7866
 
        * grub/getopt.h: Likewise.
7867
 
        * grub/Makefile.am (grub_SOURCES): Added getopt.c, getopt1.c and
7868
 
        getopt.h.
7869
 
        * configure.in: Check for string.h and strings.h.
7870
 
        * grub/asmstub.c (grub_stage2): Fix a misordering in the output
7871
 
        format of the inline assembly.
7872
 
 
7873
 
1999-07-30  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7874
 
 
7875
 
        From Pavel Roskin <pavel_roskin@geocities.com>:
7876
 
        * stage2/asm.S (get_diskinfo_standard): If the number of sectors
7877
 
        returned is zero, then return an error code, even if non-carrier.
7878
 
 
7879
 
1999-07-15  Gordon Matzigkeit  <gord@zen.fig.org>
7880
 
 
7881
 
        * docs/Makefile.am (grub.info): Use an ugly hack to downgrade
7882
 
        grub.texi so that it works with Debian's version of texinfo.
7883
 
 
7884
 
1999-07-26  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7885
 
 
7886
 
        * stage2/bios.c (get_diskinfo): When DRIVE is a floppy drive,
7887
 
        try standard probe routine at first. Reported by Peter Astrand
7888
 
        <altic@lysator.liu.se>.
7889
 
 
7890
 
        * grub/main.c (main): Call printf instead of grub_printf.
7891
 
        Reported by Klaus Reichl <a8709182@unet.univie.ac.at>.
7892
 
 
7893
 
1999-07-15  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7894
 
 
7895
 
        * stage2/cmdline.c (skip_to): Don't increase CMDLINE if the
7896
 
        character to which CMDLINE points is NUL.
7897
 
 
7898
 
        * stage2/Makefile.am (EXTRA_DIST): Removed smp-imps.c.
7899
 
        (stage2_exec_SOURCES): Added smp-imps.c.
7900
 
        * stage2/cmdline.c [!GRUB_UTIL] (IMPS_DEBUG) (KERNEL_PRINT)
7901
 
        (CMOS_WRITE_BYTE) (CMOS_READ_BYTE) (PHYS_TO_VIRTUAL)
7902
 
        (VIRTUAL_TO_PHYS) (inb) (outb) (cmos_write_byte)
7903
 
        (cmos_read_byte): These are now defined in ...
7904
 
        * stage2/smp-imps.c (IMPS_DEBUG) (KERNEL_PRINT)
7905
 
        (CMOS_WRITE_BYTE) (CMOS_READ_BYTE) (PHYS_TO_VIRTUAL)
7906
 
        (VIRTUAL_TO_PHYS) (inb) (outb) (cmos_write_byte)
7907
 
        (cmos_read_byte): ... here.
7908
 
        * stage2/cmdline.c [!GRUB_UTIL]: Include apic.h and smp-imps.h.
7909
 
 
7910
 
1999-07-14  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7911
 
 
7912
 
        The function ungetch is simulated so that the user can use a
7913
 
        buggy curses.
7914
 
 
7915
 
        * grub/asmstub.c [HAVE_LIBCURSES] (save_char): New variable.
7916
 
        (getkey) [HAVE_LIBCURSES]: If SAVE_CHAR is not ERR, return
7917
 
        SAVE_CHAR and clear it.
7918
 
        (checkkey) [HAVE_LIBCURSES]: If SAVE_CHAR is not ERR, return
7919
 
        SAVE_CHAR. If C is not ERR, set SAVE_CHAR to C.
7920
 
 
7921
 
1999-07-14  Pavel Roskin  <pavel_roskin@geocities.com>
7922
 
 
7923
 
        * stage2/char_io.c (get_cmdline) [GRUB_UTIL]: Recognize
7924
 
        backspace when ncurses fails to do this.
7925
 
 
7926
 
        * grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: Call wtimeout
7927
 
        instead of nodelay.
7928
 
        (getkey) [HAVE_LIBCURSES]: Likewise.
7929
 
 
7930
 
1999-07-14  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7931
 
 
7932
 
        * stage1/stage1_lba.S (probe_values): New variable. This is not
7933
 
        used actually, but prevents `install' command from failing
7934
 
        bogusly.
7935
 
 
7936
 
1999-07-14  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7937
 
 
7938
 
        All constants in stage1s are moved to stage1.h and renamed
7939
 
        appropriately, and include stage1.h instead.
7940
 
 
7941
 
        * grub/Makefile.am (AM_CFLAGS): Added the include path to stage1.
7942
 
        * stage2/Makefile.am (INCLUDES): New variable.
7943
 
        * stage1/Makefile.am (stage1_exec_SOURCES): Added stage1.h
7944
 
        (stage1_lba_exec_SOURCES): Likewise.
7945
 
        * stage1/stage1.h: New file.
7946
 
        * stage1/stage1.S (SIGNATURE): Renamed to ...
7947
 
        * stage1/stage1.h (STAGE1_SIGNATURE): ... this.
7948
 
        * stage1/stage1.S (BPBEND): Renamed to ...
7949
 
        * stage1/stage1.h (STAGE1_BPBEND): ... this.
7950
 
        * stage1/stage1.S (PARTSTART): Renamed to ...
7951
 
        * stage1/stage1.h (STAGE1_PARTSTART): ... this.
7952
 
        * stage1/stage1.S (MINPARMSIZ): Renamed to ...
7953
 
        * stage1/stage1.h (STAGE1_MINPARMSIZE): ... this.
7954
 
        * stage1/stage1.S (LISTSIZ): Renamed to ...
7955
 
        * stage1/stage1.h (STAGE1_LISTSIZE): ... this.
7956
 
        * stage1/stage1.S (REALSTACK): Renamed to ...
7957
 
        * stage1/stage1.h (STAGE1_STACKSEG): ... this.
7958
 
        * stage1/stage1.S (BUFFERSEG): Renamed to ...
7959
 
        * stage1/stage1.h (STAGE1_BUFFERSEG): ... this.
7960
 
        * stage1/stage1.S (BIOS_HD_FLAG): Renamed to ...
7961
 
        * stage1/stage1.h (STAGE1_BIOS_HD_FLAG): ... this.
7962
 
        * stage1/stage1_lba.S (SIGNATURE): Removed.
7963
 
        * stage1/stage1_lba.S (BPBEND): Likewise.
7964
 
        * stage1/stage1_lba.S (PARTSTART): Likewise.
7965
 
        * stage1/stage1_lba.S (MINPARMSIZ): Likewise.
7966
 
        * stage1/stage1_lba.S (LISTSIZ): Likewise.
7967
 
        * stage1/stage1_lba.S (REALSTACK): Likewise.
7968
 
        * stage1/stage1_lba.S (BUFFERSEG): Likewise.
7969
 
        * stage1/stage1_lba.S (BIOS_HD_FLAG): Likewise.
7970
 
 
7971
 
        * stage1/stage1.S (stage1_id): New variable.
7972
 
        * stage1/stage1_lba.S (stage1_id): Likewise.
7973
 
        * stage1/stage1.h (COMPAT_VERSION_MINOR): Set to 2.
7974
 
        (STAGE1_ID_OFFSET): New macro.
7975
 
        (STAGE1_ID_CHS): Likewise.
7976
 
        (STAGE1_ID_LBA): Likewise.
7977
 
        * stage2/cmdline.c (enter_cmdline) [!GRUB_UTIL]: When running
7978
 
        the command `install' and STAGE1_FILE is stage1_lba, check if
7979
 
        LBA is supported.
7980
 
        (enter_cmdline) [GRUB_UTIL]: In the same case above, check only
7981
 
        if CURRENT_DRIVE is a hard disk and, if so, print a warning
7982
 
        message, because /sbin/grub cannot detect if LBA is supported or
7983
 
        not.
7984
 
 
7985
 
        * stage1/stage1_lba.S: Fix a bug that incorrectly assigns the
7986
 
        segment of buffer address.
7987
 
 
7988
 
1999-07-13  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7989
 
 
7990
 
        * stage2/boot.c (load_image): When removing "vga=...", memmove
7991
 
        the length of VGA_END plus one.
7992
 
 
7993
 
1999-07-12  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
7994
 
 
7995
 
        * stage2/bios.c (get_diskinfo): In LBA mode, compute
7996
 
        TOTAL_SECTORS from DRP instead of GEOMETRY.
7997
 
        Clear GEOMETRY->FLAGS first.
7998
 
 
7999
 
        * stage2/boot.c (load_image): Fix inverted lines.
8000
 
 
8001
 
1999-07-12  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8002
 
 
8003
 
        Support Linux video mode selection.
8004
 
 
8005
 
        * stage2/shared.h (LINUX_VID_MODE_OFFSET): New macro.
8006
 
        (LINUX_VID_MODE_NORMAL): Likewise.
8007
 
        (LINUX_VID_MODE_EXTENDED): Likewise.
8008
 
        (LINUX_VID_MODE_ASK): Likewise.
8009
 
        [!WITHOUT_LIBC_STUBS] (strlen): Likewise.
8010
 
        (grub_strlen): Declared.
8011
 
        * stage2/boot.c (load_image): Added Linux video mode selection.
8012
 
        * stage2/char_io.c [!STAGE1_5] (grub_strlen): New function.
8013
 
 
8014
 
1999-07-12  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8015
 
 
8016
 
        * stage2/char_io.c (print_error): Print ERRNUM in the format of
8017
 
        %u instead of %d.
8018
 
        (convert_to_ascii) [STAGE1_5]: Eliminate the `x' and `d'
8019
 
        handling code.
8020
 
        (grub_printf): Declare FORMAT as `const char *'.
8021
 
        (grub_printf) [STAGE1_5]: Eliminate the `x' and `d' handling
8022
 
        code.
8023
 
        (get_based_digit): Removed.
8024
 
        (safe_parse_maxint): Remove unnecessary `register' prefixes,
8025
 
        because GCC does better optimization.
8026
 
        Declare DIGIT as `unsigned int' and calculate the value by more
8027
 
        compact instructions.
8028
 
        [!STAGE1_5] (grub_strncat): Declare S2 as `const char *'.
8029
 
        [!STAGE1_5] (grub_strcmp): Declare S1 and S2 as `const char *'.
8030
 
        [!STAGE1_5] (grub_strstr): Likewise.
8031
 
        (grub_memmove): Declare FROM as `const char *'.
8032
 
        The copy code is replaced with inline assembly code stolen from
8033
 
        Linux-2.2.2.
8034
 
 
8035
 
        * stage2/shared.h (grub_printf) : Corrected.
8036
 
        (grub_strncat): Likewise.
8037
 
        (grub_memmove): Likewise.
8038
 
        (grub_strstr): Likewise.
8039
 
        (grub_strcmp): Likewise.
8040
 
 
8041
 
1999-07-11  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8042
 
 
8043
 
        * stage1/stage1.S (sectors): Change the size to long.
8044
 
        (heads): Likewise.
8045
 
        (sector_start): New variable.
8046
 
        (head_start): Likewise.
8047
 
        (cylinder_start): Likewise.
8048
 
        (final_init): Set %si to SECTORS first, and use %si for memory
8049
 
        references.
8050
 
        Zero %eax so that the high 16 bits are always zero.
8051
 
        Set %di to FIRSTLIST - LISTSIZ instead of FIRSTLIST.
8052
 
        (bootloop): Omit the complex CHS recomputation, and always
8053
 
        compute them from LBA address instead.
8054
 
        Call 32bits div instructions instead of 16bits div instructions.
8055
 
        Update the position where to load data from at the end of this
8056
 
        loop, instead of the beginning.
8057
 
 
8058
 
        * stage1/stage1_lba.S: New file.
8059
 
        * stage1/Makefile.am (nodist_pkgdata_DATA): Added stage1_lba.
8060
 
        (LDFLAGS): New variable.
8061
 
        (noinst_PROGRAMS): Added stage1_lba.exec.
8062
 
        (stage1_lba_exec_SOURCES): New variable.
8063
 
        (%: %.exec): New rule.
8064
 
 
8065
 
1999-06-28  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8066
 
 
8067
 
        * grub/main.c (main): The third argument for strtoul is changed
8068
 
        to 0 in the case where an option is OPT_INSTALL_PARTIION.
8069
 
        Reported by Pavel Roskin <pavel_roskin@geocities.com>.
8070
 
 
8071
 
1999-06-27  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8072
 
 
8073
 
        * stage2/shared.h (STAGE2_STAGE2_ID): New macro.
8074
 
        (STAGE2_VER_STR_OFFS): Set to 0xd.
8075
 
        (STAGE2_ID_STAGE2): New macro.
8076
 
        (STAGE2_ID_FFS_STAGE1_5): Likewise.
8077
 
        (STAGE2_ID_E2FS_STAGE1_5): Likewise.
8078
 
        (STAGE2_ID_FAT_STAGE1_5): Likewise.
8079
 
        (STAGE2_ID) [!STAGE1_5]: Defined as STAGE2_ID_STAGE2.
8080
 
        (STAGE2_ID) [STAGE1_5] [FSYS_FFS]: Defined as
8081
 
        STAGE2_ID_FFS_STAGE1_5.
8082
 
        (STAGE2_ID) [STAGE1_5] [FSYS_EXT2FS]: Defined as
8083
 
        STAGE2_ID_STAGE1_5.
8084
 
        (STAGE2_ID) [STAGE1_5] [FSYS_FAT]: Defined as
8085
 
        STAGE2_ID_FAT_STAGE1_5.
8086
 
        (COMPAT_VERSION_MINOR): Set to 1.
8087
 
        * stage2/asm.S (stage2_id): New variable.
8088
 
        * stage1/stage1.S: Change the minor version to 1.
8089
 
 
8090
 
1999-06-27  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8091
 
 
8092
 
        * configure.in (CFLAGS): Set to "-g", since only this flag is
8093
 
        always sharable.
8094
 
        (STAGE1_CFLAGS): Set to "-O2", and AC_SUBST this.
8095
 
        (GRUB_CFLAGS): Likewise.
8096
 
        (saved_CFLAGS): New variable for temporarily saving CFLAGS.
8097
 
        (STAGE2_CFLAGS): Set to "-Os" if this option is available,
8098
 
        otherwise set to "-fno-strength-reduce -fno-unroll-loops",
8099
 
        and then AC_SUBST this.
8100
 
        * grub/Makefile.am (AM_CFLAGS): Prepended @GRUB_CFLAGS@.
8101
 
        * stage1/Makefile.am (AM_CFLAGS): Prepended @STAGE1_CFLAGS@.
8102
 
        * stage2/Makefile.am (libgrub_a_CFLAGS): Prepened @GRUB_CFLAGS@.
8103
 
        (STAGE2_COMPILE): Prepended @STAGE2_CFLAGS@.
8104
 
 
8105
 
        * stage2/asm.S (chain_stage2): Pass CURRENT_PARTITION and
8106
 
        CURRENT_DRIVE, instead of INSTALL_PARTITION and BOOT_DRIVE.
8107
 
 
8108
 
1999-06-27  Pavel Roskin  <pavel_roskin@geocities.com>
8109
 
 
8110
 
        * configure.in: set CFLAGS to "-Os -g" for compilers which
8111
 
        understand "-Os" if CFLAGS is not already set. Use
8112
 
        "-O2 -fno-strength-reduce -fno-unroll-loops -g" for older gcc
8113
 
        versions.
8114
 
 
8115
 
1999-06-25  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8116
 
 
8117
 
        * stage2/disk_io.c (attempt_mount) [STAGE1_5]: Set FSYS_TYPE to
8118
 
        0, and set it to NUM_FSYS if mount fails.
8119
 
        (real_open_partition): Call rawread in Stage 1.5 as well.
8120
 
 
8121
 
1999-06-24  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8122
 
 
8123
 
        * Makefile.am (SUBDIRS): Change the order of the directories so
8124
 
        that a directory will be made after the dependent directories
8125
 
        are made. `grub' depends on `stage2', and `docs' depends on
8126
 
        `grub'. Do not make in parallel.
8127
 
        * docs/help2man: Copied from help2man-1.012, which contains my
8128
 
        previous change.
8129
 
        * docs/grub.8: Regenerated.
8130
 
 
8131
 
1999-06-24  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8132
 
 
8133
 
        Build process is cleaned up. Stage 2 and Stage 1.5's are all
8134
 
        built in the directory stage2.
8135
 
 
8136
 
        From Pavel Roskin <pavel_roskin@geocities.com>:
8137
 
        * Makefile.am (SUBDIRS): e2fs_stage1_5, ffs_stage1_5,
8138
 
        fat_stage1_5 and shared_src are removed.
8139
 
        (DISTCLEANFILES): Deleted.
8140
 
        * configure.in: Call AC_PROG_RANLIB.
8141
 
        (AC_INIT): Change the argument to stage2/stage2.c.
8142
 
        (LIBS): Renamed to ...
8143
 
        (GRUB_LIBS): ... this, and call AC_SUBST for this.
8144
 
        Our own rules are removed.
8145
 
        (AC_OUTPUT): e2fs_stage1_5/Makefile, ffs_stage1_5/Makefile,
8146
 
        fat_stage1_5/Makefile and shared_src/Makefile are removed.
8147
 
        * docs/Makefile.am (HELP2MAN): The prefix $(srcdir) is removed.
8148
 
        [GRUB_MAINT]: Prepend $(srcdir) to $(HELP2MAN).
8149
 
        * e2fs_stage1_5/Makefile.am: Deleted.
8150
 
        * e2fs_stage1_5/Makefile.in: Likewise.
8151
 
        * fat_stage1_5/Makefile.am: Likewise.
8152
 
        * fat_stage1_5/Makefile.in: Likewise.
8153
 
        * ffs_stage1_5/Makefile.am: Likewise.
8154
 
        * ffs_stage1_5/Makefile.in: Likewise.
8155
 
        * grub/Makefile.am (CLEANFILES): Likewise.
8156
 
        (COMPILE): Likewise.
8157
 
        (INCLUDES): Likewise.
8158
 
        (DEP_FILES): Likewise.
8159
 
        (@SHARED_SRC_RULES@): Likewise.
8160
 
        (AM_CFLAGS): New variable.
8161
 
        (grub_LDADD): Set to the library libgrub.a and @GRUB_LIBS@.
8162
 
        * shared_src/Makefile.am: Deleted.
8163
 
        * shared_src/Makefile.in: Likewise.
8164
 
        * shared_src/apic.h: Moved to ...
8165
 
        * stage2/apic.h: ... here.
8166
 
        * shared_src/asm.S: Moved to ...
8167
 
        * stage2/asm.S: ... here.
8168
 
        * shared_src/bios.c: Moved to ...
8169
 
        * stage2/bios.c: ... here.
8170
 
        * shared_src/boot.c: Moved to ...
8171
 
        * stage2/boot.c: ... here.
8172
 
        * shared_src/char_io.c: Moved to ...
8173
 
        * stage2/char_io.c: ... here.
8174
 
        * shared_src/cmdline.c: Moved to ...
8175
 
        * stage2/cmdline.c: ... here.
8176
 
        * shared_src/common.c: Moved to ...
8177
 
        * stage2/common.c: ... here.
8178
 
        * shared_src/defs.h: Moved to ...
8179
 
        * stage2/defs.h: ... here.
8180
 
        * shared_src/dir.h: Moved to ...
8181
 
        * stage2/dir.h: ... here.
8182
 
        * shared_src/disk_inode.h: Moved to ...
8183
 
        * stage2/disk_inode.h: ... here.
8184
 
        * shared_src/disk_inode_ffs.h: Moved to ...
8185
 
        * stage2/disk_inode_ffs.h: ... here.
8186
 
        * shared_src/disk_io.c: Moved to ...
8187
 
        * stage2/disk_io.c: ... here.
8188
 
        * shared_src/fat.h: Moved to ...
8189
 
        * stage2/fat.h: ... here.
8190
 
        * shared_src/filesys.h: Moved to ...
8191
 
        * stage2/filesys.h: ... here.
8192
 
        * shared_src/freebsd.h: Moved to ...
8193
 
        * stage2/freebsd.h: ... here.
8194
 
        * shared_src/fs.h: Moved to ...
8195
 
        * stage2/fs.h: ... here.
8196
 
        * shared_src/fsys_ext2fs.c: Moved to ...
8197
 
        * stage2/fsys_ext2fs.c: ... here.
8198
 
        * shared_src/fsys_fat.c: Moved to ...
8199
 
        * stage2/fsys_fat.c: ... here.
8200
 
        * shared_src/fsys_ffs.c: Moved to ...
8201
 
        * stage2/fsys_ffs.c: ... here.
8202
 
        * shared_src/gunzip.c: Moved to ...
8203
 
        * stage2/gunzip.c: ... here.
8204
 
        * shared_src/i386-elf.h: Moved to ...
8205
 
        * stage2/i386-elf.h: ... here.
8206
 
        * shared_src/imgact_aout.h: Moved to ...
8207
 
        * stage2/imgact_aout.h: ... here.
8208
 
        * shared_src/mb_header.h: Moved to ...
8209
 
        * stage2/mb_header.h: ... here.
8210
 
        * shared_src/mb_info.h: Moved to ...
8211
 
        * stage2/mb_info.h: ... here.
8212
 
        * shared_src/pc_slice.h: Moved to ...
8213
 
        * stage2/pc_slice.h: ... here.
8214
 
        * shared_src/shared.h: Moved to ...
8215
 
        * stage2/shared.h: ... here.
8216
 
        * shared_src/smp-imps.c: Moved to ...
8217
 
        * stage2/smp-imps.c: ... here.
8218
 
        * shared_src/smp-imps.h: Moved to ...
8219
 
        * stage2/smp-imps.h: ... here.
8220
 
        * shared_src/stage1_5.c: Moved to ...
8221
 
        * stage2/stage1_5.c: ... here.
8222
 
        * shared_src/stage2.c: Moved to ...
8223
 
        * stage2/stage2.c: ... here.
8224
 
        * stage1/Makefile.am (pkgdata_DATA): Renamed to ...
8225
 
        (nodist_pkgdata_DATA): ... this.
8226
 
        (COMPILE): Deleted.
8227
 
        (AM_CFLAGS): New variable.
8228
 
        * stage2/Makefile.am: Completely rewritten from scratch.
8229
 
        (TESTS): New variable.
8230
 
        (noinst_SCRIPTS): Likewise.
8231
 
        (noinst_HEADERS): Likewise.
8232
 
        (EXTRA_DIST): Set to smp-imps.c and $(noinst_SCRIPTS).
8233
 
        (noinst_LIBRARIES): New variable.
8234
 
        (libgrub_a_SOURCES): Likewise.
8235
 
        (libgrub_a_CFLAGS): Likewise.
8236
 
        (pkgdata_DATA): Deleted.
8237
 
        (nodist_pkgdata_DATA): New variable.
8238
 
        (MOSTLYCLEANFILES): Set to $(noinst_PROGRAMS).
8239
 
        (COMPILE): Deleted.
8240
 
        (INCLUDES): Likewise.
8241
 
        (stage2_exec_LDADD): Likewise.
8242
 
        (DEP_FILES): Likewise.
8243
 
        (stage2_exec_SOURCES): Set to the actual source files instead of
8244
 
        dummy.
8245
 
        (DISTFILES): Deleted.
8246
 
        (stage2.exec): Likewise.
8247
 
        (stage2): Likewise.
8248
 
        (@SHARED_SRC_RULES@): Likewise.
8249
 
        (noinst_PROGRAMS): Set to executable formats of Stage 2 and
8250
 
        Stage 1.5's.
8251
 
        (STAGE2_LINK): New variable.
8252
 
        (STAGE2_COMPILE): Likewise.
8253
 
        (STAGE1_5_LINK): Likewise.
8254
 
        (STAGE1_5_COMPILE): Likewise.
8255
 
        (stage2_exec_CFLAGS): Likewise.
8256
 
        (stage2_exec_LDFLAGS): Likewise.
8257
 
        (e2fs_stage1_5_exec_SOURCES): Likewise.
8258
 
        (e2fs_stage1_5_exec_CFLAGS): Likewise.
8259
 
        (e2fs_stage1_5_exec_LDFLAGS): Likewise.
8260
 
        (fat_stage1_5_exec_SOURCES): Likewise.
8261
 
        (fat_stage1_5_exec_CFLAGS): Likewise.
8262
 
        (fat_stage1_5_exec_LDFLAGS): Likewise.
8263
 
        (ffs_stage1_5_exec_SOURCES): Likewise.
8264
 
        (ffs_stage1_5_exec_CFLAGS): Likewise.
8265
 
        (ffs_stage1_5_exec_LDFLAGS): Likewise.
8266
 
        (% : %.exec): New rule.
8267
 
 
8268
 
        * stage2/size_test: New file, for checking for the sizes of
8269
 
        Stage 2 and Stage 1.5's.
8270
 
 
8271
 
1999-06-24  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8272
 
 
8273
 
        * stage1/stage1.S: Call testb instead of andb when checking if
8274
 
        the drive is a floppy.
8275
 
 
8276
 
1999-06-23  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8277
 
 
8278
 
        * grub/asmstub.c [__linux__]: Include linux/fs.h for BLKFLSBUF.
8279
 
        (grub_stage2): Call sync before and after calling doit.
8280
 
        (gurb_stage2) [__linux__]: Invalidate buffer caches by BLKFLSBUF
8281
 
        ioctl.
8282
 
        * grub/main.c (main): Call sync first. Suggested by Pavel Roskin
8283
 
        <pavel_roskin@geocities.com>.
8284
 
 
8285
 
        * configure.in: Curses libraries are always checked.
8286
 
        (--enable-sbin-grub): Deleted. Now /sbin/grub is always built.
8287
 
        (--enable-maintainer-mode): New option.
8288
 
        * grub/Makefile.am (EXTRA_PROGRAMS): Deleted.
8289
 
        (sbin_PROGRAMS): Just set to grub.
8290
 
        * docs/Makefile.am (man_MANS): New variable.
8291
 
        (HELP2MAN): Likewise.
8292
 
        (noinst_SCRIPTS): Likewise.
8293
 
        (EXTRA_DIST): Add $(man_MANS) and $(noinst_SCRIPTS).
8294
 
        [GRUB_MAINT]: Define the rule for the /sbin/grub manual.
8295
 
        * docs/help2man: Copied from texinfo-3.12i.
8296
 
        (--section): New option to specify which section a manual
8297
 
        belongs to.
8298
 
        (opt_section): New variable.
8299
 
        (section): Likewise.
8300
 
        * docs/grub.8: Produced by help2man automatically.
8301
 
 
8302
 
1999-06-22  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8303
 
 
8304
 
        * shared_src/char_io.c (get_cmdline): Add two missing `break's.
8305
 
 
8306
 
        * shared_src/cmdline.c (commands): Add quit.
8307
 
        (enter_cmdline): Change the return type to cmdline_t, and return
8308
 
        CMDLINE_OK if successful, otherwise CMDLINE_ERROR if fail.
8309
 
        (enter_cmdline) [GRUB_UTIL]: Return CMDLINE_ABORT if CUR_HEAP
8310
 
        contains "quit".
8311
 
        [!GRUB_UTIL]: Just print an annotation message.
8312
 
        * shared_src/shared.h (cmdline_t): New enum type.
8313
 
        (enter_cmdline): Change the return type to cmdline_t.
8314
 
        (cmain): Remove ``noreturn'' attribute.
8315
 
        * shared_src/stage2.c (menu_t): New enum type.
8316
 
        (run_menu): Change the return type to menu_t.
8317
 
        If enter_cmdline returns CMDLINE_ABORT, then return MENU_ABORT,
8318
 
        otherwise return MENU_OK.
8319
 
        (cmain): If enter_cmdline aborts, then break the command-line
8320
 
        loop and return. If run_menu aborts, then return.
8321
 
 
8322
 
1999-06-22  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8323
 
 
8324
 
        * shared_src/Makefile.am (EXTRA_DIST): Add bios.c. Reported by
8325
 
        Pavel Roskin <pavel_roskin@geocities.com>.
8326
 
 
8327
 
1999-06-21  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8328
 
 
8329
 
        * docs/Makefile.am (html): Deleted.
8330
 
        (txt): Likewise.
8331
 
        (EXTRA_DIST): $(txt) and $(html) are removed.
8332
 
        * docs/boot-proposal.html: Removed.
8333
 
        * docs/errors.html: Likewise.
8334
 
        * docs/faq.html: Likewise.
8335
 
        * docs/grub.html: Likewise.
8336
 
        * docs/install.html: Likewise.
8337
 
        * docs/mem64mb.html: Likewise.
8338
 
        * docs/technical.html: Likewise.
8339
 
        * docs/using.html: Likewise.
8340
 
        * docs/PC_partitioning.txt: Likewise.
8341
 
        * docs/bios_mapping.txt: Likewise.
8342
 
        * docs/commands.txt: Likewise.
8343
 
        * docs/embedded_data.txt: Likewise.
8344
 
        * docs/filesystem.txt: Likewise.
8345
 
 
8346
 
1999-06-21  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8347
 
 
8348
 
        From Alexander K. Hudek <alexhudek@home.com>:
8349
 
        * shared_src/disk_io.c (real_open_partition): Check if
8350
 
        CURRENT_SLICE is equal to PC_SLICE_TYPE_WIN95_EXTENDED as well.
8351
 
        * shared_src/pc_slice.c (PC_SLICE_TYPE_WIN95_EXTENDED): New
8352
 
        macro.
8353
 
        * shared_src/bios.c (biosdisk): Clear the reserved member of DAP.
8354
 
 
8355
 
1999-06-08  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8356
 
 
8357
 
        Color-menu support based on Peter Astrand
8358
 
        <altic@lysator.liu.se>'s patch.
8359
 
 
8360
 
        * shared_src/asm.S (nocursor): New function.
8361
 
        * shared_src/cmdline.c (normal_color): New variable.
8362
 
        (highlight_color): Likewise.
8363
 
        (commands): Added "color" command.
8364
 
        (enter_cmdline): Handle the color command.
8365
 
        * shared_src/shared.h (normal_color): Declared.
8366
 
        (highlight_color): Likewise.
8367
 
        [!GRUB_UTIL] (nocursor): Likewise.
8368
 
        * shared_src/stage2.c (print_border) [!GRUB_UTIL]: Color the
8369
 
        menu.
8370
 
        (run_menu) [!GRUB_UTIL]: Call nocursor, and call set_line with
8371
 
        the second argument HIGHLIGHT_COLOR when highlighting a line,
8372
 
        and NORMAL_COLOR when drawing a normal line.
8373
 
        (cmain): Initialize normal_color and highlight_color. Handle
8374
 
        the color command in the same way as the command-line
8375
 
        interface.
8376
 
 
8377
 
1999-06-07  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8378
 
 
8379
 
        * e2fs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 31744.
8380
 
        * fat_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Likewise.
8381
 
 
8382
 
1999-06-06  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8383
 
 
8384
 
        The debug version of Stage 2 is removed.
8385
 
 
8386
 
        * shared_src/cmdline.c: The imps code is now defined if GRUB_UTIL
8387
 
        is not defined, but not if DEBUG.
8388
 
        (debug): New global variable.
8389
 
        (commands): All commands are always enabled, and added "debug".
8390
 
        (debug_fs_print_func): Defined unconditionally.
8391
 
        (debug_fs_blocklist_func): If DEBUG is true, then call printf.
8392
 
        (enter_cmdline): Handle "testload", "read", "fstest",
8393
 
        "impsprobe" and "displaymem" unconditionally, and added "debug"
8394
 
        handling.
8395
 
        [GRUB_UTIL]: If a command is impsprobe, just fails.
8396
 
        * shared_src/disk_io.c (devread) [!STAGE1_5]: If DEBUG_FS and
8397
 
        DEBUG are true, then call printf.
8398
 
        * shared_src/asm.S (patch_code): Defined unconditionally.
8399
 
        (patch_code_end): Likewise.
8400
 
        * stage1/stage1.S (firstlist) [!FFS_STAGE1_5]: Increase the
8401
 
        number of sectors to 90, because Stage 2 is larger than 80
8402
 
        sectors.
8403
 
        * configure.in: The option --enable-debug is removed, and do
8404
 
        not output "stage2_debug/Makefile".
8405
 
        * Makefile.am (SUBDIRS): stage2_debug is removed.
8406
 
        * stage2_debug/Makefile.am: Deleted.
8407
 
        * stage2_debug/Makefile.in: Likewise.
8408
 
 
8409
 
1999-06-02  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8410
 
 
8411
 
        * grub/main.c (verbose): New variable.
8412
 
        (read_only): Likewise.
8413
 
        (OPT_VERBOSE): New macro.
8414
 
        (OPT_READ_ONLY): Likewise.
8415
 
        (longopts): Add --read-only and --verbose options.
8416
 
        (usage): Add the descriptions about --read-only and --verbose.
8417
 
        (main): Handle OPT_VERBOSE and OPT_READ_ONLY.
8418
 
        If HOLD and VERBOSE are non-zero, then display the message
8419
 
        about how to restart /sbin/grub.
8420
 
 
8421
 
        * shared_src/shared.h (verbose) [GRUB_UTIL]: Declared.
8422
 
        (read_only) [GRUB_UTIL]: Likewise.
8423
 
 
8424
 
        * grub/asmstub.c (hex_dump): New function.
8425
 
        (biosdisk): In the case where SUBFUNC is
8426
 
        BIOSDISK_WRITE, check for READ_ONLY and call nwrite if
8427
 
        READ_ONLY is zero. If VERBOSE is non-zero, display what GRUB
8428
 
        will try to do.
8429
 
        (get_diskinfo): Open DEVNAME with the mode O_RDWR if READ_ONLY
8430
 
        is zero, and attempt to open DEVNAME with the mode O_RDONLY
8431
 
        regardless of ERRNO if READ_ONLY is non-zero. If VERBOSE is
8432
 
        non-zero, then display the drive DRIVE and the file DEVNAME.
8433
 
 
8434
 
        * shared_src/disk_io.c (set_device) [STAGE1_5]: Eliminate
8435
 
        completion code.
8436
 
 
8437
 
1999-06-01  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8438
 
 
8439
 
        * grub/asmstub.c: Do not use I_AM_VERY_BRAVE any more.
8440
 
        (grub_stage2): Delete first_scsi_disk and add a variable
8441
 
        num_hd, which is used for counting how many drives are
8442
 
        detected.
8443
 
        Initialize the flags member of each element of disks to -1
8444
 
        instead of 0, and check if it is equal to -1 instead of 0 when
8445
 
        close it.
8446
 
        (get_diskinfo): Treat -1 as non-caching state instead of 0.
8447
 
 
8448
 
1999-06-01  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8449
 
 
8450
 
        Reported from Klaus Reichl <a8709182@unet.univie.ac.at>:
8451
 
        * docs/.cvsignore: New file.
8452
 
        * shared_src/disk_io.c (print_a_completion): New function
8453
 
        which saves what has been printed to UNIQUE_STRING and printf
8454
 
        it.
8455
 
        (unique) [!STAGE1_5]: New variable.
8456
 
        (unique_string): Likewise.
8457
 
        (print_completions): Use print_a_completion, and improve the
8458
 
        completion facility.
8459
 
        * shared_src/fsys_ext2fs.c (ext2fs_dir) [!STAGE1_5]: Use
8460
 
        print_a_completion instead of just printf.
8461
 
        * shared_src/fsys_ffs.c (ffs_dir) [!STAGE1_5]: Likewise.
8462
 
        * shared_src/fsys_fat.c (fat_dir) [!STAGE1_5]: Likewise.
8463
 
        * shared_src/shared.h (print_a_completion): Declared.
8464
 
        * shared_src/cmdline.c (enter_cmdline): Explicitly cast
8465
 
        int to pointer to char for grub_read.
8466
 
        * grub/asmstub.c (grub_stage2) [__linux__]: Don't use /dev/fd1.
8467
 
        Probe 4 IDE drives instead of 2.
8468
 
        (biosdisk) [__linux__]: Add a prototype for _llseek.
8469
 
        * shared_src/char_io.c (get_cmdline): Update LPOS and LLEN_OLD
8470
 
        when the functon print_completion modifies CMDLINE.
8471
 
        * shared_src/stage2.c (get_line_from_config): Fix LITERAL
8472
 
        handling.
8473
 
 
8474
 
1999-05-25  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8475
 
 
8476
 
        * grub/asmstub.c (grub_stage2): Fix a memory leak that FP is
8477
 
        not closed.
8478
 
 
8479
 
1999-05-25  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8480
 
 
8481
 
        * grub/main.c: Replace OPT_DISABLE_CONFIG_FILE and
8482
 
        OPT_DISABLE_CURSES with OPT_NO_CONFIG_FILE and OPT_NO_CURSES
8483
 
        respectively.
8484
 
        (longopts): Rename from "disable-config-file" to
8485
 
        "no-config-file", and from "disable-curses" to "no-curses".
8486
 
        (usage): Use "grub" instead of ARGV[0], read the standards.
8487
 
        Change the help message according to the changes above.
8488
 
        (main): Handle OPT_NO_CONFIG_FILE and OPT_NO_CURSES, instead
8489
 
        of OPT_DISABLE_CONFIG_FILE and OPT_DISABLE_CURSES.
8490
 
 
8491
 
1999-05-21  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8492
 
 
8493
 
        * docs/TODO: Moved to ...
8494
 
        * TODO: ... here.
8495
 
        * docs/BUGS: Moved to ...
8496
 
        * BUGS: ... here.
8497
 
        * docs/COPYING: Removed.
8498
 
        * docs/Makefile.am (EXTRA_DIST): Get rid of BUGS.
8499
 
        * Makefile.am (EXTRA_DIST): Set to BUGS.
8500
 
 
8501
 
1999-05-17  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8502
 
 
8503
 
        * acinclude.m4 (grub_ASM_EXT_C): Do not overrun the command
8504
 
        shift. Reported by Pavel Roskin <pabel_roskin@geocities.com>.
8505
 
 
8506
 
1999-05-14  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8507
 
 
8508
 
        * docs/Makefile.am (info_TEXINFOS): Added multiboot.texi.
8509
 
        * docs/multiboot.texi: New file. From Kunihiro Ishiguro.
8510
 
 
8511
 
1999-05-12  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8512
 
 
8513
 
        * grub/asmstub.c: Include <errno.h>. Reported by Kunihiro
8514
 
        Ishiguro <kunihiro@zebra.org>.
8515
 
 
8516
 
1999-05-11  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8517
 
 
8518
 
        Reported by Brian Brunswick <brian@skarpsey.demon.co.uk>:
8519
 
        * shared_src/asm.S (start) [STAGE1_5]: Jump to 0x0:0x2000.
8520
 
        * shared_src/cmdline.c (enter_cmdline): Doesn't check for the jump
8521
 
        address in stage2. We are not paranoid.
8522
 
        Add a missing RAW_ADDR macro.
8523
 
        * shared_src/diskio.c (grub_open): Call setup_part even in stage1.5.
8524
 
        And, include necessary functions that were eliminated incorrectly.
8525
 
        * shared_src/char_io.c [STAGE1_5]: Eliminate unnecessary functions
8526
 
        for stage1.5.
8527
 
 
8528
 
        * grub/asmstub.c (nread): New function. Handle EINTR.
8529
 
        (nwrite): Likewise.
8530
 
        (biosdisk) [I_AM_VERY_BRAVE]: When SUBFUNC is BIOSDISK_WRITE, call
8531
 
        nwrite.
8532
 
 
8533
 
        Reported by Pavel Roskin <pavel_roskin@geocities.com>:
8534
 
        * shared_src/fsys_ext2fs.c (off_t): Renamed to ...
8535
 
        (linux_off_t): ... this.
8536
 
        * shared_src/defs.h (off_t): Renamed to ...
8537
 
        (mach_off_t): ... this.
8538
 
        * shared_src/fs.h (BBOFF): Use mach_off_t instead of off_t.
8539
 
        (SBOFF): Likewise.
8540
 
 
8541
 
        * e2fs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 81920.
8542
 
        * fat_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Likewise.
8543
 
        * ffs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 7168.
8544
 
 
8545
 
1999-05-03  Gordon Matzigkeit  <gord@trick.fig.org>
8546
 
 
8547
 
        From Pavel Roskin:
8548
 
        * shared_src/shared.h: Redeclare.
8549
 
 
8550
 
        * grub/main.c (main): Use strncpy rather than pointer assignment
8551
 
        to set the config file name.
8552
 
 
8553
 
        * grub/asmstub.c: Make config_file a static array, not a pointer.
8554
 
        Correct the value of VERSION_STRING.
8555
 
 
8556
 
1999-04-10  Gordon Matzigkeit  <gord@trick.fig.org>
8557
 
 
8558
 
        * debian/rules (build): Install into /lib instead of /share.
8559
 
 
8560
 
1999-05-03  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8561
 
 
8562
 
        Preliminary non-interactive use support.
8563
 
 
8564
 
        * grub/main.c (use_config_file): New variable.
8565
 
        (use_curses): Likewise.
8566
 
        (OPT_DISABLE_CONFIG_FILE): New constant.
8567
 
        (OPT_DISABLE_CURSES): Likewise.
8568
 
        (OPT_BATCH): Likewise.
8569
 
        (longopts): Add new options, --disable-config-file, --disable-curses,
8570
 
        and --batch.
8571
 
        (usage): Print the help messages about these new options.
8572
 
        (main): Handle them.
8573
 
 
8574
 
        * grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: If ! USE_CURSES,
8575
 
        fallback non-curses code.
8576
 
        (stop) [HAVE_LIBCURSES]: Likewise.
8577
 
        (cls) [HAVE_LIBCURSES]: Likewise.
8578
 
        (getxy) [HAVE_LIBCURSES]: Likewise.
8579
 
        (gotoxy) [HAVE_LIBCURSES]: Likewise.
8580
 
        (grub_putchar) [HAVE_LIBCURSES]: Likewise.
8581
 
        (getkey) [HAVE_LIBCURSES]: Likewise.
8582
 
        (checkkey) [HAVE_LIBCURSES]: Likewise.
8583
 
        (set_attrib) [HAVE_LIBCURSES]: Likewise.
8584
 
 
8585
 
        * shared_src/cmdline.c (enter_cmdline): Do not use getc, but use
8586
 
        getkey.
8587
 
 
8588
 
        * shared_src/stage2.c (cmain) [GRUB_UTIL]: Check if USE_CONFIG_FILE
8589
 
        is non-zero or not.
8590
 
 
8591
 
        * shared_src/shared.h (getc): Removed.
8592
 
        (use_config_file) [GRUB_UTIL]: Add the declaration.
8593
 
        (use_curses) [GRUB_UTIL]: Likewise.
8594
 
 
8595
 
1999-05-02  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8596
 
 
8597
 
        * shared_src/asm.S (biosdisk_standard): Pop %ebp correctly, reported
8598
 
        by Pavel Roskin <pavel_roskin@geocities.com>.
8599
 
 
8600
 
1999-04-25  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8601
 
 
8602
 
        * docs/menu.lst: Rewritten, so that it contains up-to-date
8603
 
        information and FAQish configuration examples.
8604
 
 
8605
 
1999-04-09  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8606
 
 
8607
 
        * shared_src/asm.S (get_diskinfo_floppy): Correct the number of heads
8608
 
        and the one of cylinders.
8609
 
 
8610
 
1999-04-06  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8611
 
 
8612
 
        * grub/asmstub.c (get_diskinfo): Compute the total number of sectors
8613
 
        for DRIVE.
8614
 
 
8615
 
        * shared_src/asm.S (get_diskinfo_standard): Clear the data segment
8616
 
        after calling int 0x13. Restore the base pointer after returning
8617
 
        to protected mode.
8618
 
        (get_diskinfo_floppy): Likewise.
8619
 
 
8620
 
        * shared_src/bios.c (get_diskinfo): Always set the size of DRP to
8621
 
        the max size of DRP, regardless of the major version of extensions.
8622
 
 
8623
 
1999-04-03  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8624
 
 
8625
 
        * shared_src/shared.h (struct geometry): Declare total_sectors as
8626
 
        unsigned long instead of unsigned long long, because GRUB represents
8627
 
        a sector number by 4bytes integer, so it doesn't make sense.
8628
 
 
8629
 
        * shared_src/bios.c (biosdisk) [!NO_INT13_FALLBACK]: Recompute
8630
 
        TOTAL_SECTORS according to CHS information.
8631
 
        (get_diskinfo) [DEBUG]: Print the geometry of DRIVE.
8632
 
 
8633
 
        * shared_src/disk_io.c (real_open_partition): Set PART_LENGTH to
8634
 
        BUF_GEOM.TOTAL_SECTORS.
8635
 
 
8636
 
1999-04-01  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8637
 
 
8638
 
        * docs/texinfo.tex: Copied from automake-1.4a.
8639
 
 
8640
 
        * configure.in (SHARED_SRC_RULES): Add bios into shared sources.
8641
 
 
8642
 
        * e2fs_stage1_5/Makefile.am (e2fs_stage1_5_exec_LDADD): Added bios.o.
8643
 
        * fat_stage1_5/Makefile.am (fat_stage1_5_exec_LDADD): Likewise.
8644
 
        * ffs_stage1_5/Makefile.am (ffs_stage1_5_exec_LDADD): Likewise.
8645
 
        * stage2/Makefile.am (stage2_exec_LDADD): Likewise.
8646
 
        * stage2_debug/Makefile.am (stage2_debug_exec_LDADD): Likewise.
8647
 
 
8648
 
        * shared_src/Makefile.am (EXTRA_DIST): Added bios.c.
8649
 
 
8650
 
        * shared_src/asm.S (biosdisk): Deleted. Now defined in bios.c.
8651
 
        (get_diskinfo): Likewise.
8652
 
        (biosdisk_int13_extensions): New function.
8653
 
        (biosdisk_standard): Likewise.
8654
 
        (check_int13_extensions): Likewise.
8655
 
        (get_diskinfo_int13_extensions): Likewise.
8656
 
        (get_diskinfo_standard): Likewise.
8657
 
        (get_diskinfo_floppy): Likewise.
8658
 
 
8659
 
        * shared_src/bios.c: New file.
8660
 
 
8661
 
        * shared_src/shared.h (struct geometry): Added new member,
8662
 
        total_sectors.
8663
 
 
8664
 
1999-03-28  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8665
 
 
8666
 
        * shared_src/stage2.c (print_entries): Correctly assign MENU_ENTRIES
8667
 
        the entries starting from FIRST.
8668
 
 
8669
 
1999-03-27  Gordon Matzigkeit  <gord@trick.fig.org>
8670
 
 
8671
 
        * Change everything to use memset and memmove instead of bzero and
8672
 
        bcopy.  GNB's Not BSD.
8673
 
 
8674
 
        * shared_src/shared.h (grub_memset): Adapted from grub_bzero.
8675
 
        (grub_memmove): Adapted from grub_bcopy.
8676
 
 
8677
 
        * grub/asmstub.c (checkkey): Fix unterminated comment.
8678
 
 
8679
 
        * shared_src/char_io.c (grub_printf): Renamed from printf.
8680
 
        (grub_tolower): Renamed from tolower.
8681
 
        (grub_isspace): Renamed from isspace.
8682
 
        (grub_strncat): Renamed from strncat.
8683
 
        (grub_strstr): Renamed from strstr.
8684
 
        (grub_bcopy): Renamed from bcopy.
8685
 
        (grub_bzero): Renamed from bzero.
8686
 
 
8687
 
        From Bradford Hovinen:
8688
 
        * shared_src/char_io.c (get_cmdline): Add new argument to hide
8689
 
        password entry.
8690
 
        (grub_strcmp): New function.
8691
 
        * shared_src/shared.h (get_cmdline): Fix declaration.
8692
 
        (grub_strcmp): Declare.
8693
 
        * shared_src/stage2.c (run_menu): Use get_cmdline with an
8694
 
        ECHO_CHAR of `*'.  This protects against both brute-force and
8695
 
        sidelong-glance password cracking attempts.
8696
 
 
8697
 
        * grub/main.c (usage): Display defaults for stage2 options.
8698
 
 
8699
 
        * grub/asmstub.c [WITHOUT_LIBC_STUBS]: Renamed from
8700
 
        NO_REMAPPING_LIBC_FUNCTIONS.
8701
 
        * grub/main.c: Likewise.
8702
 
        * shared_src/shared.h: Likewise.
8703
 
 
8704
 
1999-03-27  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8705
 
 
8706
 
        * grub/asmstub.c (set_attrib): Use inch and addch, instead of
8707
 
        chgat, because chgat doesn't work as expected.
8708
 
 
8709
 
1999-03-26  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8710
 
 
8711
 
        * grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: Call nodelay.
8712
 
        (checkkey) [HAVE_LIBCURSES]: If getting an input character, then
8713
 
        ungetch it, because checkkey shouldn't modify the input queue.
8714
 
 
8715
 
        Use file descriptors instead of file pointers to support
8716
 
        >4GB disks in Linux.
8717
 
 
8718
 
        * grub/asmstub.c (grub_stage2): Call close instead of fclose.
8719
 
        (get_diskinfo): Call open instead of fopen.
8720
 
        (biosdisk) [__linux__]: Use _llseek instead of lseek.
8721
 
        (biosdisk): Call read instead of fread.
8722
 
 
8723
 
        Add options so that the user can specify the config file.
8724
 
 
8725
 
        * grub/Makefile.am (CPPFLAGS): Use -fwritable-strings, because
8726
 
        grub assumes that all strings resides at the data section.
8727
 
 
8728
 
        * grub/main.c: Define NO_REMAPPING_LIBC_FUNCTIONS before including
8729
 
        shared.h.
8730
 
        (OPT_CONFIG_FILE): New macro.
8731
 
        (OPT_INSTALL_PARTITION): Likewise.
8732
 
        (OPT_BOOT_DRIVE): Likewise.
8733
 
        (longopts): Add new options, config-file, install-partition and
8734
 
        boot-drive.
8735
 
        (usage): Add the documentation for them.
8736
 
        (main): Add handling code for OPT_CONFIG_FILE, OPT_INSTALL_PARTITION
8737
 
        and OPT_BOOT_DRIVE.
8738
 
 
8739
 
        * grub/asmstub.c: Define NO_REMAPPING_LIBC_FUNCTIONS before including
8740
 
        shared.h.
8741
 
        (config_file): Make it char * instead of char [].
8742
 
        (getrtsecs): Return current time instead of 0xff.
8743
 
 
8744
 
        * shared_src/shared.h [NO_REMAPPING_LIBC_FUNCTIONS]: Don't define
8745
 
        libc-API-compatible function names.
8746
 
        (config_file): Change the prototype from char [] to char *.
8747
 
        (grub_putchar): Renamed from putchar.
8748
 
 
8749
 
1999-03-25  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8750
 
 
8751
 
        * char_io.c (get_cmdline): Call cl_setcpos even if lpos == llen,
8752
 
        because ncurses won't update the cursor position.
8753
 
 
8754
 
        * grub/main.c (OPT_HOLD): New macro.
8755
 
        (longopts): New option --hold.
8756
 
        (usage): Add the documentation about --hold.
8757
 
        (main): Set hold if --hold is specified. Wait until cleared.
8758
 
 
8759
 
1999-03-22  Gordon Matzigkeit  <gord@trick.fig.org>
8760
 
 
8761
 
        * shared_src/cmdline.c (enter_cmdline): Check the return value of
8762
 
        set_device in the `root' command.
8763
 
 
8764
 
        * shared_src/char_io.c (memcheck): Special-case cur_part_desc and
8765
 
        reenable memory checking.
8766
 
 
8767
 
1999-03-21  Gordon Matzigkeit  <gord@trick.fig.org>
8768
 
 
8769
 
        * shared_src/boot.c (load_image): Make sure we use the mapped
8770
 
        address before actually writing data to memaddr.
8771
 
 
8772
 
        * shared_src/char_io.c (get_cmdline): Only zero-terminate if there
8773
 
        were leading blanks.  This prevents accidental truncation of
8774
 
        commands.
8775
 
 
8776
 
        * grub/asmstub.c (get_diskinfo): Cache device geometries as well
8777
 
        as file handles.
8778
 
        Use the Linux HDIO_GETGEO ioctl to make a better guess at hard
8779
 
        disk geometries.
8780
 
 
8781
 
1999-03-16  Gordon Matzigkeit  <gord@trick.fig.org>
8782
 
 
8783
 
        * shared_src/shared.h (geometry_t): Delete typedef, until we
8784
 
        actually use it.
8785
 
 
8786
 
1999-03-16  OKUJI Yoshinori  <okuji@kuicr.kyoto-u.ac.jp>
8787
 
 
8788
 
        * shared_src/asm.S (biosdisk): Use a structure for geometry
8789
 
        instead of a integer.
8790
 
        (get_diskinfo): Take a pointer to a geometry structure as the
8791
 
        second argument, and fill a geometry in it. Return 1 if an error
8792
 
        occurs, otherwise return 0.
8793
 
        * shared_src/boot.c (bsd_boot): Compute BIOS geometries for BSD.
8794
 
        * shared_src/cmdline.c (enter_cmdline): Declare dest_geom as
8795
 
        struct geometry.
8796
 
        * shared_src/disk_io.c (buf_geom): Declare as struct geometry.
8797
 
        * shared_src/filesys.h (SECTORS): Deleted.
8798
 
        (HEADS): Likewise.
8799
 
        (CYLINDERS): Likewise.
8800
 
        * shared_src/shared.h (BIOSDISK_FLAG_LBA_EXTENSION): New macro.
8801
 
        (struct geometry): New structure.
8802
 
        (buf_geom): Correct the prototype.
8803
 
        (get_diskinfo): Likewise.
8804
 
        (biosdisk): Likewise.
8805
 
 
8806
 
1999-03-15  Gordon Matzigkeit  <gord@trick.fig.org>
8807
 
 
8808
 
        * grub/asmstub.c (doit): Nested function to get a clean stack
8809
 
        frame while in grub_stage2.
8810
 
        Use different assembler magic.  From OKUJI Yoshinori.
8811
 
 
8812
 
1999-03-14  Gordon Matzigkeit  <gord@trick.fig.org>
8813
 
 
8814
 
        * shared_src/stage2.c (run_menu): Use A_REVERSE and A_NORMAL
8815
 
        constants instead of magic numbers.
8816
 
 
8817
 
        * shared_src/shared.h (A_REVERSE): Renamed from ATTR_INVERSE for
8818
 
        compatibility with curses.
8819
 
        (A_NORMAL): Renamed from ATTR_NORMAL.
8820
 
 
8821
 
        * shared_src/cmdline.c (enter_cmdline): Change prompt to "grub> ".
8822
 
        (enter_cmdline): Only abort the boot if we are in a script.
8823
 
 
8824
 
        * shared_src/stage2.c (run_menu): Change prompts to "grub edit> ".
8825
 
 
8826
 
        * shared_src/char_io.c (memcheck): Use RAW_ADDR to compute memory
8827
 
        locations.
8828
 
        (get_cmdline): Change the `goto next line' code to account for
8829
 
        newlines deleting to end of line under curses.
8830
 
 
8831
 
        * Innumerable cleanups to fix warnings.  There are still too many
8832
 
        typecasts in the wrong places (int variables used to hold
8833
 
        pointers, then casted to a pointer type), but things look better.
8834
 
 
8835
 
        * configure.in (CPPFLAGS): Bump up GCC warnings to -Wall
8836
 
        -Wmissing-prototypes -Wunused.
8837
 
 
8838
 
        * shared_src/shared.h: Delete stupid declarations, and totally
8839
 
        rearrange for clarity.
8840
 
        (inb, outb): Move to cmdline.c, since it's only used there.
8841
 
        (print_possibilities, fsmax, fsys_table): Move definitions to
8842
 
        disk_io.c.
8843
 
 
8844
 
        * grub/asmstub.c: Fill in more stubs.
8845
 
 
8846
 
1999-03-13  Gordon Matzigkeit  <gord@trick.fig.org>
8847
 
 
8848
 
        * shared_src/gunzip.c (border): Rename to bitorder, to resolve
8849
 
        clash with curses.
8850
 
        * shared_src/stage2.c (timeout): Rename to grub_timeout.
8851
 
 
8852
 
        * configure.in: Check for curses libraries for use with
8853
 
        /sbin/grub.
8854
 
 
8855
 
        * shared_src/shared.h (KEY_DELETE): Rename to KEY_DC, for
8856
 
        compatibility with curses.
8857
 
        (KEY_INSERT): Rename to KEY_IC.
8858
 
        (KEY_PGDN): Rename to KEY_NPAGE.
8859
 
        (KEY_PGUP): Rename to KEY_PPAGE.
8860
 
 
8861
 
        * shared_src/asm.S (asm_getkey): Renamed to getkey.
8862
 
 
8863
 
        * shared_src/char_io.c (getkey): Delete, because it's useless.
8864
 
 
8865
 
        * shared_src/shared.h: Resolve name clashes with libc by renaming
8866
 
        overlapping functions to have grub_ prefixes, then defining
8867
 
        macros.
8868
 
 
8869
 
        * grub/asmstub.c (start_stage2): Make some assertions about our
8870
 
        scratch memory area.
8871
 
 
8872
 
        * shared_src/shared.h (end): Delete declaration.
8873
 
        (RAW_ADDR, RAW_SEG): Macros to redirect /sbin/grub memory requests
8874
 
        through grub_scratch_mem.
8875
 
 
8876
 
        * grub/asmstub.c (get_mem_map): Implement, simulating 4MB
8877
 
        contiguous memory.
8878
 
        (get_code_end): Implement, simulating with a malloced area.
8879
 
        grub/asmstub.c (start_stage2): Initialize grub_scratch_mem.
8880
 
 
8881
 
        * shared_src/asm.S (get_mem_map): Some BIOSes expect the high word
8882
 
        of %eax to be zero.
8883
 
        (get_code_end): Move this from common.c so that we can stub it out
8884
 
        in the simulator.
8885
 
 
8886
 
        * debian/rules: Make sure info files end up in /usr/info, not
8887
 
        /info.
8888
 
 
8889
 
1999-03-10  Gordon Matzigkeit  <gord@trick.fig.org>
8890
 
 
8891
 
        * shared_src/asm.S (biosdisk): Make LBA mode work correctly.  From
8892
 
        OKUJI Yoshinori.
8893
 
        Unconditionally define NO_INT13_FALLBACK until we release GRUB
8894
 
        0.6.  This will help debug any problems with the LBA support until
8895
 
        then.
8896
 
 
8897
 
1999-03-09  Gordon Matzigkeit  <gord@trick.fig.org>
8898
 
 
8899
 
        * shared_src/asm.S (biosdisk): Compute location of
8900
 
        disk_address_packet correctly.  From OKUJI Yoshinori.
8901
 
 
8902
 
1999-03-08  Gordon Matzigkeit  <gord@trick.fig.org>
8903
 
 
8904
 
        * docs/grub.texi: New Texinfo documentation.
8905
 
 
8906
 
        * shared_src/disk_io.c (set_device): First stab at interpreting
8907
 
        Mach-style partition naming.
8908
 
 
8909
 
        * shared_src/stage2.c (run_menu): Don't say it was a failure if
8910
 
        enter_cmdline returns nonzero... just wait for a key.
8911
 
 
8912
 
        * shared_src/cmdline.c (enter_cmdline): Return nonzero, and avoid
8913
 
        the fallback command if we did an install.
8914
 
 
8915
 
        * shared_src/asm.S (_start): New explicit symbol to supress
8916
 
        warnings.
8917
 
 
8918
 
        * e2fs_stage1_5/Makefile.am (NO_FANCY_STUFF): Renamed to STAGE1_5,
8919
 
        since that describes this conditional more accurately.
8920
 
        * fat_stage1_5/Makefile.am: Likewise.
8921
 
        * ffs_stage1_5/Makefile.am: Likewise.
8922
 
        * shared_src/asm.S: Likewise.
8923
 
        * shared_src/char_io.c: Likewise.
8924
 
        * shared_src/common.c: Likewise.
8925
 
        * shared_src/disk_io.c: Likewise.
8926
 
        * shared_src/fsys_ext2fs.c: Likewise.
8927
 
        * shared_src/fsys_ffs.c: Likewise.
8928
 
        * shared_src/shared.h: Likewise.
8929
 
 
8930
 
1999-03-07  Gordon Matzigkeit  <gord@trick.fig.org>
8931
 
 
8932
 
        * configure.in (SHARED_SRC_RULES): Automatically generate
8933
 
        Makefile dependencies for files in shared_src.
8934
 
        e2fs_stage1_5/Makefile.am: Use them.
8935
 
        fat_stage1_5/Makefile.am: Likewise.
8936
 
        ffs_stage1_5/Makefile.am: Likewise.
8937
 
        grub/Makefile.am: Likewise.
8938
 
        stage2/Makefile.am: Likewise.
8939
 
        stage2_debug/Makefile.am: Likewise.
8940
 
 
8941
 
        * shared_src/disk_inode.h: Fix typo: i_ic shouldn't be defined.
8942
 
 
8943
 
        * shared_src/fsys_ffs.c (block_map): Make static, since this
8944
 
        function isn't used outside of its defining file.
8945
 
 
8946
 
        * shared_src/disk_io.c [NO_FANCY_STUFF]: Eliminate a whole bunch
8947
 
        more functions from the stage1.5.  From OKUJI Yoshinori.
8948
 
        * shared_src/fsys_ffs.c: Likewise.
8949
 
        * shared_src/char_io.c: Likewise.
8950
 
 
8951
 
1999-03-05  Gordon Matzigkeit  <gord@trick.fig.org>
8952
 
 
8953
 
        * shared_src/char_io.c (getkey): Don't set BUF_DRIVE to -1.
8954
 
        BUF_DRIVE has nothing at all to do with getkey.
8955
 
 
8956
 
        * shared_src/common.c (err_list): Change description of ERR_GEOM
8957
 
        to be more informative.
8958
 
 
8959
 
        * Makefile.am (configure): Depend on debian/changelog.
8960
 
 
8961
 
        * configure.in (host_cpu): Make all fully i386-compatible CPUs be
8962
 
        identified as i386.
8963
 
        (AM_INIT_AUTOMAKE): Fetch values for PACKAGE and VERSION from
8964
 
        debian/changelog, so that we only have one file to update.
8965
 
 
8966
 
        * shared_src/asm.S (get_diskinfo): Fix a few bit-twiddling bugs in
8967
 
        the BIOS extension detection code.
8968
 
        (biosdisk) [AWARD_INT13_EXTENSIONS]: Preliminary implementation
8969
 
        of Award's encoding of cylinder bits 10 and 11.
8970
 
        (biosdisk) [NO_INT13_FALLBACK]: If defined, don't use the standard
8971
 
        disk interface if the extended interface fails.
8972
 
 
8973
 
        * configure.in: Make sure $(host_cpu) and $(host_vendor) are
8974
 
        substituted into the Makefile.
8975
 
 
8976
 
        * e2fs_stage1_5/Makefile.am (pkgdatadir): Install files in
8977
 
        $(datadir)/grub/$(host_cpu)-$(host_vendor).
8978
 
        * fat_stage1_5/Makefile.am: Likewise.
8979
 
        * ffs_stage1_5/Makefile.am: Likewise.
8980
 
        * stage1/Makefile.am: Likewise.
8981
 
        * stage2/Makefile.am: Likewise.
8982
 
        * stage2_debug/Makefile.am: Likewise.
8983
 
 
8984
 
1999-03-03  Gordon Matzigkeit  <gord@trick.fig.org>
8985
 
 
8986
 
        * shared_src/asm.S (biosdisk): Use LBA mode if high nibble of
8987
 
        GEOMETRY is nonzero.
8988
 
        (get_diskinfo): Set high nibble of GEOMETRY (0xf0000000) to 1 if
8989
 
        LBA mode is detected.
8990
 
 
8991
 
1999-03-02  Gordon Matzigkeit  <gord@trick.fig.org>
8992
 
 
8993
 
        * shared_src/disk_io.c (make_saved_active): Use BIOSDISK_READ and
8994
 
        BIOSDISK_WRITE.
8995
 
 
8996
 
        * shared_src/cmdline.c (enter_cmdline): Use BIOSDISK_WRITE.
8997
 
 
8998
 
        * shared_src/shared.h (BIOSDISK_SUBFUNC_READ,
8999
 
        BIOSDISK_SUBFUNC_WRITE): Delete constants.
9000
 
 
9001
 
        * shared_src/asm.S (biosdisk): Change subfunc argument to be
9002
 
        read=0, write=1.
9003
 
 
9004
 
        * configure.in: Drop redundant AC_PROG_INSTALL.  From OKUJI
9005
 
        Yoshinori.
9006
 
 
9007
 
1999-03-01  Gordon Matzigkeit  <gord@trick.fig.org>
9008
 
 
9009
 
        * debian/rules (binary-arch): Properly install README.debian.
9010
 
 
9011
 
        * acinclude.m4 (grub_OBJCOPY_ABSOLUTE): Don't forget to move the
9012
 
        old binary out of the way before reentering the loop.
9013
 
        (grub_ASM_ADDR32): Delete conftest files after running the test.
9014
 
 
9015
 
        * debian/rules (binary-arch): Remove empty /sbin directory until
9016
 
        /sbin/grub is installed.  Use $(DESTDIR) instead of $(prefix) to
9017
 
        install files.
9018
 
 
9019
 
        * shared_src/asm.S (version_string): Set the version string from
9020
 
        the VERSION specified in configure.in.
9021
 
 
9022
 
        * Change all Makefiles into Makefile.ams.  Many major build
9023
 
        environment changes to get Automake/Autoconf working nicely.
9024
 
 
9025
 
1999-02-28  Gordon Matzigkeit  <gord@trick.fig.org>
9026
 
 
9027
 
        * NEWS: Moved from docs/NEWS.
9028
 
 
9029
 
        * configure.in, acinclude.m4: New files for Autoconf.  From OKUJI
9030
 
        Yoshinori.
9031
 
 
9032
 
        * AUTHORS, INSTALL: New files.
9033
 
 
9034
 
1999-02-24  Gordon Matzigkeit  <gord@trick.fig.org>
9035
 
 
9036
 
        * stage1/stage1.S (after_BPB): Do a hard disk probe first, so that
9037
 
        we can work with IDE floppies (like the LS-120).
9038
 
 
9039
 
        * Run GNU Indent on */*.[ch].
9040
 
 
9041
 
1999-02-21  Gordon Matzigkeit  <gord@trick.fig.org>
9042
 
 
9043
 
        * debian: Add to the distribution, since we maintain the GRUB
9044
 
        Debian package ourselves.
9045
 
 
9046
 
        * grub/asmstub.c: New file to implement stubbed assembly functions
9047
 
        under Unix.
9048
 
 
9049
 
        * stage1/Makefile: Delete spurious dependencies on Makefile.
9050
 
        * stage2/Makefile: Likewise.
9051
 
        * stage2_debug/Makefile: Likewise.
9052
 
        * grub/Makefile: Likewise.
9053
 
 
9054
 
        * shared_src/fsys_ext2fs.c (ext2fs_dir): Follow symbolic links
9055
 
        rather than giving an error.
9056
 
 
9057
 
        * shared_src/common.c (err_list): Use labeled elements to
9058
 
        associate messages with error codes.
9059
 
        * shared_src/shared.h: Make error codes into an enumerated type.
9060
 
 
9061
 
        * shared_src/common.c (err_list): Add ERR_SYMLINK_LOOP.
9062
 
        * shared_src/shared.h: Likewise.
9063
 
 
9064
 
        * shared_src/char_io.c (bcopy): Don't make any assumptions about
9065
 
        the length of an unsigned long.
9066
 
 
9067
 
        * grub/Makefile: Treat CFLAGS, CPPFLAGS, LDFLAGS according to
9068
 
        GNU standards.
9069
 
        * stage2/Makefile: Likewise.
9070
 
        * e2fs_stage1_5/Makefile: Likewise.
9071
 
        * fat_stage1_5/Makefile: Likewise.
9072
 
        * ffs_stage1_5/Makefile: Likewise.
9073
 
 
9074
 
1999-02-20  Gordon Matzigkeit  <gord@trick.fig.org>
9075
 
 
9076
 
        * docs/index.html: Rename to grub.html, so that we don't hide
9077
 
        files in this directory from a web browser.
9078
 
 
9079
 
1999-02-15  Gordon Matzigkeit  <gord@trick.fig.org>
9080
 
 
9081
 
        * Makefile.end (PROGS): Add grub.
9082
 
 
9083
 
        * grub/main.c: New file.
9084
 
 
9085
 
        * grub/Makefile: New directory to contain the stage2 Unix program.
9086
 
 
9087
 
        * shared_src/cmdline.c: Use substring.
9088
 
        * shared_src/fsys_ext2fs.c: Likewise.
9089
 
        * shared_src/fsys_fat.c: Likewise.
9090
 
        * shared_src/fsys_ffs.c: Likewise.
9091
 
        * shared_src/stage2.c: Likewise.
9092
 
 
9093
 
        * shared_src/shared.h: Delete strcmp, declare substring.
9094
 
 
9095
 
        * shared_src/char_io.c (strcmp): Rename to `substring', because
9096
 
        this function doesn't behave the same as libc's strcmp.
9097
 
 
9098
 
1999-02-14  Gordon Matzigkeit  <gord@trick.fig.org>
9099
 
 
9100
 
        * shared_src/shared.h: (addr32, data32): Delete definitions.
9101
 
 
9102
 
        * stage1/stage1.S: Modify to use GAS's new .code16 semantics.
9103
 
        shared_src/asm.S: Likewise.
9104
 
 
9105
 
        * configure: Test to see if the `addr32' instruction is supported.
9106
 
        Ian Lance Taylor says that GAS's interpretation of `.code16' has
9107
 
        changed.  Older versions always generated 32-bit code, but
9108
 
        implicitly inserted addr32 and data32 when .code16 was given.
9109
 
        Newer versions generate 16-bit code, and require manual addr32 and
9110
 
        data32 overrides.
9111
 
 
9112
 
        * shared_src/shared.h: Add some assertions to check that buffer
9113
 
        addresses are properly defined.
9114
 
 
9115
 
1999-02-12  Gordon Matzigkeit  <gord@trick.fig.org>
9116
 
 
9117
 
        * shared_src/stage2.c (run_menu): Pause if we failed to boot both
9118
 
        the default and fallback entries.
9119
 
 
9120
 
        * configure: Check to make sure that GAS actually honors .code16
9121
 
        directives.
9122
 
 
9123
 
1999-02-02  Gordon Matzigkeit  <gord@trick.fig.org>
9124
 
 
9125
 
        * shared_src/asm.S: Fix typo that called interrupt 0xd (decimal
9126
 
        13) instead of 0x13.
9127
 
 
9128
 
1999-01-31  Gordon Matzigkeit  <gord@trick.fig.org>
9129
 
 
9130
 
        * e2fs_stage1_5/Makefile: Avoid gratuitous dependencies on
9131
 
        Makefile.
9132
 
        * fat_stage1_5/Makefile: Likewise.
9133
 
        * ffs_stage1_5/Makefile: Likewise.
9134
 
 
9135
 
        * Makefile.end (PROGS): Add e2fs_stage1_5, fat_stage1_5, and
9136
 
        grubinst.
9137
 
        (distclean): New GNU standard rule.
9138
 
 
9139
 
1998-10-23  Gordon Matzigkeit  <gord@trick.fig.org>
9140
 
 
9141
 
        * configure: Accept `--host' as a synonym for `--target', and
9142
 
        accept a non-optional argument as the target name.  Join the
9143
 
        prefix to the tool name with a hyphen.
9144
 
 
9145
 
        * shared_src/disk_io.c (print_fsys_type): Always print the
9146
 
        partition type.
9147
 
 
9148
 
        * shared_src/stage2.c (run_menu): Check to make sure that the
9149
 
        fallback entry is nonnegative.
9150
 
        (run_menu): For consistency, use `e' rather than enter to edit the
9151
 
        command entry.