3
From Tinybit <tinybit@163.net>:
4
For splashimage support:
5
* configure.ac: splashimage
7
* stage2/asm.S: splashimage
9
* stage2/builtins.c: splashimage
11
* stage2/char_io.c: splashimage
13
* stage2/graphics.c: (new file) splashimage
15
* stage2/graphics.h: (new file) splashimage
17
* stage2/Makefile.am: splashimage
19
* stage2/shared.h: splashimage
21
* stage2/stage2.c: splashimage
23
* stage2/term.h: splashimage
25
From Tinybit <tinybit@163.net>:
26
For disk drive emulation:
27
* stage2/asm.S (int13_handler, etc): floppy and harddisk emulation
29
* grub/asmstub.c: floppy and harddisk emulation
31
* stage2/builtins.c: floppy and harddisk emulation
33
* stage2/common.c: floppy and harddisk emulation
35
* stage2/disk_io.c: floppy and harddisk emulation
37
* stage2/shared.h: floppy and harddisk emulation
39
From Gandalf <f22_storm@163.com>:
42
From Chris Semler <csemler@mail.com>:
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
48
* stage2/cmdline.c (enter_cmdline): changed arg for commandline_func
50
(run_script): changed arg for commandline_func to use HEAP.
52
* stage2/stage2.c (cmain): changed arg for commandline_func to use
55
* preset_menu.lst: New file
57
* preset_menu_os_setup.lst: New file
59
From Tinybit <tinybit@163.net>:
60
For booting via DOS/NTLDR:
61
* stage2/Makefile.am: added items for GRLDR, GRUB.EXE and GRUB4LIN
63
* stage2/grldrstart.S: (new file) startup code for GRLDR(boot via NT)
65
* stage2/dosstart.S: (new file) startup code for GRUB.EXE(boot via DOS)
67
* stage2/bootlacestart.S: (new file) startup code for BOOTLACE.COM
69
* stage2/edd.S: (new file) for being included by dosstart.S
71
* stage2/video.S: (new file) for being included by dosstart.S
73
* stage2/asm: (new dir) contains header files for dosstart.S
75
* stage2/linux: (new dir) contains header files for dosstart.S
77
2005-05-08 Yoshinori K. Okuji <okuji@enbug.org>
79
* configure.ac (AC_INIT): Upgraded to 0.97.
81
* compile: Copied from Automake 1.9.4.
82
* config.guess: Likewise.
83
* config.sub: Likewise.
85
* install-sh: Likewise.
87
* mkinstalldirs: Likewise.
89
* docs/texinfo.tex: Likewise.
91
2005-05-08 Yoshinori K. Okuji <okuji@enbug.org>
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>.
97
2005-03-28 Yoshinori K. Okuji <okuji@enbug.org>
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.
103
2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
105
* stage2/stage2.c (cmain): Initialize DEFAULT_FILE to an empty
106
string. Reported by NATORI Shin <natori@adm.s.u-tokyo.ac.jp>.
108
2005-03-15 Yoshinori K. Okuji <okuji@enbug.org>
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).
114
2005-02-16 Yoshinori K. Okuji <okuji@enbug.org>
116
* grub/asmstub.c (grub_stage2): Remove the attribute `volatile'
117
from doit. I hope this change is safe for all compilers.
119
2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
121
* stage2/builtins.c (install_func): If DEST_DRIVE is a hard
122
disk, enable the workaround in Stage 1 by replacing the jmp
125
* stage1/stage1.h (STAGE1_BOOT_DRIVE_CHECK): New macro.
126
(STAGE1_BOOT_DRIVE_MASK): Removed.
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.
134
2005-02-03 Yoshinori K. Okuji <okuji@enbug.org>
136
* grub/asmstub.c (console_current_color): Make it global as
138
(grub_stage2): Tweak the declaration and the definition of the
139
nested function doit.
141
2005-02-02 Yoshinori K. Okuji <okuji@enbug.org>
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.
150
* stage2/Makefile.am (libgrub_a_CFLAGS): Remove
151
-fwritable-strings. Not required for the grub shell actually.
153
* grub/Makefile.am (AM_CFLAGS): Likewise.
155
2005-02-01 Yoshinori K. Okuji <okuji@enbug.org>
157
* grub/asmstub.c (grub_stage2): Use auto instead of static for
160
* stage2/char_io.c (memcheck) [GRUB_UTIL]: Likewise.
162
* stage2/builtins.c (blocklist_func): Likewise.
163
(color_func): Likewise.
164
(install_func): Likewise.
165
(setkey_func): Likewise.
167
* lib/device.c (read_device_map): Likewise.
169
2005-01-30 Yoshinori K. Okuji <okuji@enbug.org>
171
* configure.ac (AC_INIT): Upgraded to 0.96.
173
2004-10-11 Jason Thomas <jason@staff.pnc.com.au>
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.
180
2004-09-20 Yoshinori K. Okuji <okuji@enbug.org>
182
* docs/internals.texi (Internals): Changed to an appendix.
184
* docs/grub.texi (@setchapternewpage): Changed to odd from off.
185
(@contents): Moved to the beginning.
186
(Future): Changed to an appendix.
188
2004-08-17 Yoshinori K. Okuji <okuji@enbug.org>
190
* stage2/cmdline.c (run_script): Fix a reversed conditional.
191
Reported by Alban Crequy <alban.crequy@apinc.org>.
193
2004-08-07 Jason Thomas <jason@staff.pnc.com.au>
195
From Michael Hohnbaum <hohnbaum@us.ibm.com>:
196
* stage2/fsys_ext2fs.c (ext2fs_read): Handle sparse files.
198
2004-07-24 Yoshinori K. Okuji <okuji@enbug.org>
200
* stage2/stage2.c (cmain): Terminate DEFAULT_FILE with NUL
201
correctly. Reported by Alban Crequy <alban.crequy@apinc.org>.
203
2004-07-21 Robert Millan <robertmh@gnu.org>
205
Patch from David Weinehall <tao@debian.org>
206
* util/mkbimage: Fix XSI-isms (for supporting POSIX-only shells).
208
2004-07-20 Robert Millan <robertmh@gnu.org>
210
* util/grub-install.in: Detect GNU/k*BSD systems as well.
212
2004-07-16 Yoshinori K. Okuji <okuji@enbug.org>
214
* util/grub-install.in (convert): Fix the sed statement for
215
Linux. The expression was ambigious in some cases.
217
2004-06-29 Robert Millan <robertmh@gnu.org>
219
* util/grub-set-default.in: Fix minor syntax error (non-escaped
222
2004-06-24 Robert Millan <robertmh@gnu.org>
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.
231
* util/grub-install.in: Improve usage message.
233
2004-06-20 Yoshinori K. Okuji <okuji@enbug.org>
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
242
* util/grub-set-default.in: New file.
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.
248
* util/Makefile.am (sbin_SCRIPTS): Added grub-set-default.
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.
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.
264
* stage2/cmdline.c (run_script): Use FALLBACK_ENTRYNO instead of
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.
274
* docs/grub.texi (grub-set-default): New direntry.
275
(Installation): Describe grub-set-default for manual
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.
285
* configure.ac (AC_CONFIG_FILES): Added util/grub-set-default.
287
2004-06-19 Yoshinori K. Okuji <okuji@enbug.org>
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.
321
2004-06-14 Jeroen Dekkers <jeroen@dekkers.cx>
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.
329
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
331
* stage2/Makefile.am (noinst_HEADERS): Added ufs2.h.
333
2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
335
* configure.ac (AC_INIT): Upgraded to 0.95.
337
2004-05-23 Yoshinori K. Okuji <okuji@enbug.org>
339
* stage2/char_io.c (grub_isspace): Use a switch sentense instead
340
of an if sentense, because that reduces the size.
342
* lib/device.c (read_device_map): Change the max number of DRIVE
343
to 127 from 8. This was too strict.
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>.
349
2004-05-20 Damian Ivereigh <damian@cisco.com>
351
* netboot/main.c: Fixed bootp only code so that options
352
work properly. This fix is obvious when compared with the
355
2004-05-17 Pavel Roskin <proski@gnu.org>
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.
361
2004-05-14 Yoshinori K. Okuji <okuji@enbug.org>
363
From Sergey Matveychuk <sem@ciam.ru>:
364
* stage2/size_test: Added a check for ufs2_stage1_5.
366
* stage2/shared.h (STAGE2_ID_UFS2_STAGE1_5): New macro.
367
[FSYS_UFS2] (STAGE2_ID): Set to STAGE2_ID_UFS2_STAGE1_5.
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.
376
* stage2/disk_io.c (fsys_table): Added an ufs2 entry.
378
* stage2/builtins.c (setup_func): Added ufs2 into the
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.
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.
394
* configure.ac (--disable-ufs2): New option.
396
* stage2/fsys_ufs2.c: New file.
397
* stage2/ufs2.h: Likewise.
399
2004-05-10 Robert Millan <robertmh@gnu.org>
401
* lib/device.c: Mangle __FreeBSD_* macro usage to support
402
kFreeBSD-based non-FreeBSD systems (i.e. GNU/kFreeBSD).
404
Implement runtime detection of version of kFreeBSD. Now if
405
we build against kFreeBSD 5.x headers the GRUB shell will work on
408
Replace `u_int_t' types with portable `unsigned int' and old
409
reference to `geometry' structure to new `geom' one.
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).
415
2004-05-03 Pavel Roskin <proski@gnu.org>
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.
421
2004-04-29 Robert Millan <robertmh@gnu.org>
423
From Yann Dirson <dirson@debian.org>:
424
* util/mkbimage: Misc syntax fixes.
426
2004-04-29 Jeroen Dekkers <jeroen@dekkers.cx>
428
* stage2/char_io.c (grub_memcmp): Define for stage1.5 too.
430
* stage2/fsys_iso9660.c (iso9660_mount): Use memcmp() instead of
432
(iso9660_dir): Likewise.
434
2004-04-26 Christian Jones <chjones@aleph0.com>
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.
440
2004-04-22 Jeroen Dekkers <jeroen@dekkers.cx>
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.
448
* stage1/Makefile.am (.exec): Use suffix rules instead of pattern
450
* stage2/Makefile.am (.exec): Likewise.
452
2004-04-18 Yoshinori K. Okuji <okuji@enbug.org>
454
* docs/grub.texi (Making a GRUB bootable CD-ROM): New section.
456
* stage2/disk_io.c (set_device): Use CH instead of *DEVICE to
457
test the first character of DEVICE, because DEVICE is
459
Reported by Bernhard Treutwein.
461
2004-04-15 Yoshinori K. Okuji <okuji@enbug.org>
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>.
468
* docs/grub.texi (Invoking grub-md5-crypt): Fixed the chapter
470
Reported by Martin Pool <mbp@sourcefrog.net>.
472
2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
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>.
479
2004-03-28 Pavel Roskin <proski@gnu.org>
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).
484
2004-03-27 Yoshinori K. Okuji <okuji@enbug.org>
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.
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.
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.
498
From Leonid Lisovskiy <lly@pisem.net>:
499
* stage2/start_eltorito.S: New file.
501
* stage2/stage2.c (run_menu): Use GRUB_INVALID_DRIVE instead of
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.
510
* stage2/fsys_iso9660.c: New file.
511
* stage2/iso9660.h: Likewise.
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.
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
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
529
(set_device): Use GRUB_INVALID_DRIVE instead of 0xFF.
530
(setup_part): Likewise.
532
* stage2/cmdline.c (init_cmdline): Use GRUB_INVALID_DRIVE.
534
* stage2/builtins.c (install_func): Use GRUB_INVALID_DRIVE.
535
(setup_func): Added iso9660_stage1_5.
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.
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.
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
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.
567
* stage1/stage1.h (GRUB_INVALID_DRIVE): New macro.
569
* stage1/stage1.S (boot_drive): Use the macro GRUB_INVALID_DRIVE.
570
(real_start): Likewise.
572
* lib/device.c (get_drive_geometry): Set GEOM->SECTOR_SIZE to
573
SECTOR_SIZE by default.
575
* configure.ac (--disable-iso9660): New option.
577
2004-03-13 Yoshinori K. Okuji <okuji@enbug.org>
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.
583
2004-03-12 Yoshinori K. Okuji <okuji@enbug.org>
585
* stage2/serial.c (serial_putchar): Handle the character code
586
127 as a backspace. Reported by Florian Engelhardt
587
<f.engelhardt@gmx.net>.
589
2004-03-12 Yoshinori K. Okuji <okuji@enbug.org>
591
From Boji Tony Kannanthanam <boji.t.kannanthanam@intel.com>:
592
* util/grub-install.in (convert): Add support for ATARAID
594
* lib/device.c (get_ataraid_disk_name) [__linux__]: New
596
(init_device_map) [__linux__]: Probe ATARAID disks.
598
* stage2/size_test (check): Don't use the local statement any
599
longer. It was unneeded actually. Reported by Paul Jarc.
601
2004-03-12 Yoshinori K. Okuji <okuji@enbug.org>
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
608
(get_floppy_disk_name) [__FreeBSD__ >= 4]: Use /dev/fd%d rather
610
(get_ide_disk_name) [__FreeBSD__ >= 4]: Use /dev/ad%d rather
612
(get_scsi_disk_name) [__FreeBSD__ >= 4]: Use /dev/da%d rather
614
* grub/asmstub.c (get_diskinfo): Check if ERRNO is EPERM as
617
2004-02-28 Jeroen Dekkers <jeroen@dekkers.cx>
619
* docs/grub.texi (partnew): Change @var{to} to @var{len}.
621
2004-02-18 Yoshinori K. Okuji <okuji@enbug.org>
623
From Yury V. Umanets <umka@namesys.com>:
624
* stage2/fsys_reiserfs.c (REISER3FS_SUPER_MAGIC_STRING): New
626
(reiserfs_mount): Added checks for ReiserFS 3.
627
(reiserfs_embed): Likewise.
629
2004-01-25 Yoshinori K. Okuji <okuji@enbug.org>
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.
636
2004-01-18 Yoshinori K. Okuji <okuji@enbug.org>
638
From Thomas Schwinge <kischde@gmx.net>:
639
* grub/Makefile.am (AM_CPPFLAGS): New variable.
640
(AM_CFLAGS): Removed all cpp flags.
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
660
From Egmont Koblinger <egmont@uhulinux.hu>:
661
* util/grub-install.in: Support an install devices in GRUB's
662
notation without parentheses.
664
* docs/grub.texi (Installing GRUB using grub-install): Added an
665
example of using grub-install without parentheses.
667
2004-01-18 Yoshinori K. Okuji <okuji@enbug.org>
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).
673
From Eric Kvaalen <E_Kvaalen.Arnesen@noos.fr>:
674
* docs/grub.texi: Many bug fixes.
676
2004-01-17 Yoshinori K. Okuji <okuji@enbug.org>
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>.
682
2004-01-11 Yoshinori K. Okuji <okuji@enbug.org>
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.
690
* stage2/terminfo.h (ti_set_term): Updated.
691
(ti_get_term): Likewise.
693
* stage2/shared.h (struct linux_kernel_header): New member,
694
initrd_max_address. Defined in the boot protocol 2.03 or higher.
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.
700
2003-12-30 Yoshinori K. Okuji <okuji@enbug.org>
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>
709
2003-11-30 Yoshinori K. Okuji <okuji@enbug.org>
711
* lib/device.c (read_device_map) (sho_warning): New internal
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>.
717
2003-10-19 Yoshinori K. Okuji <okuji@enbug.org>
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.
723
* util/Makefile.am (EXTRA_DIST): New variable.
724
(sbin_SCRIPTS): Removed mkbimage.
725
(noinst_SCRIPTS): Added mkbimage.
727
* stage1/Makefile.am (AM_ASFLAGS): Renamed to ...
728
(AM_CCASFLAGS): ... this.
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.
757
* configure.in: Removed.
758
* configure.ac: New file. Mostly derived from configure.in.
760
2003-10-19 Yoshinori OKUJI <okuji@enbug.org>
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.
767
2003-10-10 Robert Millan <robertmh@gnu.org>
769
* config.guess: Update from official source (CVS).
770
* config.sub: Likewise.
772
2003-09-18 Robert Millan <robertmh@gnu.org>
774
* docs/texinfo.tex: Update from ftp.gnu.org.
776
2003-09-05 KB Sriram <mail_kb@yahoo.com>
778
* stage2/fsys_fat.c: Fix missdetection of ext2fs as fatfs.
780
2003-09-05 Robert Millan <robertmh@gnu.org>
782
* docs/menu.lst (GNU/Linux): Add commented initrd command, which
783
is consistent with documentation.
785
2003-09-01 Robert Millan <robertmh@gnu.org>
787
* docs/menu.lst: Add NetBSD, OpenBSD, GNU/KFreeBSD and
790
2003-08-13 Jason Thomas <jason@intology.com.au>
792
* util/grub-install.in (resolve_symlink): New function to
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
799
Reported by Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>.
801
2003-08-12 Jochen Hoenicke <jochen@gnu.org>
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.
810
2003-08-09 Thierry Laronde <tlaronde@polynum.org>
812
* util/mkbimage: New File. `mkbimage' depends on GRUB and
813
existed elsewhere. It is now part of GRUB so that people can
815
* util/Makefile.am (sbin_SCRIPTS): Added script `mkbimage'
817
2003-08-01 Jason Thomas <jason@intology.com.au>
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
823
Patch from kesha@diedas.soften.ktu.lt
825
2003-06-17 Jochen Hoenicke <jochen@gnu.org>
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.
831
2003-05-04 Yoshinori K. Okuji <okuji@enbug.org>
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>.
838
2003-03-19 Yoshinori K. Okuji <okuji@enbug.org>
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.
844
2003-03-19 Yoshinori K. Okuji <okuji@enbug.org>
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>.
851
2003-03-10 Yoshinori K. Okuji <okuji@enbug.org>
853
From Andrew Walrond <andrew@walrond.org>:
854
* stage2/fsys_reiserfs.c (struct reiserfs_journal_header):
855
Remove an unnecessary ``long''.
857
2003-03-10 Yoshinori K. Okuji <okuji@enbug.org>
860
* stage2/builtins.c [SUPPORT_SERIAL] (terminfo_func): Unescape
861
arguments before copying them, and escape sequences before
863
* stage2/terminfo.h (TERMINFO_LEN): Changed to 40.
865
2003-02-20 Yoshinori K. Okuji <okuji@enbug.org>
867
* util/grub-install.in (find_device): Fix the sed script.
869
2003-02-17 Yoshinori K. Okuji <okuji@enbug.org>
871
* lib/device.c (check_device): If DEVICE is empty, just return
873
(get_scsi_disk_name) [__QNXNTO__]: Make NAME empty, because SCSI
874
disks are detected as IDE disks on QNX RTP.
876
From Taketo Kabe <kabe@sra-tohoku.co.jp>:
877
* lib/device.c (get_ide_disk_name) [__QNXNTO__]: Set NAME to
879
(get_floppy_disk_name) [__QNXNTO__]: Set NAME to "/dev/fdX".
880
* stage2/mb_info.h (struct AddrRangeDesc): Specified with the
882
* stage2/shared.h (struct mmar_desc): Likewise.
884
2003-01-29 Yoshinori K. Okuji <okuji@enbug.org>
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.
895
2003-01-25 Yoshinori K. Okuji <okuji@enbug.org>
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
902
2003-01-25 Yoshinori K. Okuji <okuji@enbug.org>
904
From Karsten Scheibler <karsten.scheibler@student.uni-halle.de>:
905
* stage2/terminfo.c (term): Don't use a C99-style initializer.
907
2003-01-16 Yoshinori K. Okuji <okuji@enbug.org>
909
From H.J. Lu <hjl@gnu.org>:
910
* stage2/disk_io.c (part_start): Use unsigned long to support
912
(part_length): Likewise.
913
* stage2/shared.h (part_start): Likewise.
914
(part_length): Likewise.
916
2003-01-05 Yoshinori K. Okuji <okuji@enbug.org>
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.
922
2003-01-02 Yoshinori K. Okuji <okuji@enbug.org>
925
* configure.in: Support building on x86_64 with gcc -m32.
927
2003-01-02 Yoshinori K. Okuji <okuji@enbug.org>
930
* stage2/fsys_ext2fs.c (ext2fs_dir): Initialize STR_CHK to shut
932
* stage2/fsys_minix.c (minix_dir): Likewise.
934
2002-12-21 Yoshinori K. Okuji <okuji@enbug.org>
936
* stage2/asm.S (gateA20): First, try a BIOS call (INT 15H,
937
AX=2400/2401). Use the keyboard controller, only if that failed.
939
2002-12-11 Yoshinori K. Okuji <okuji@enbug.org>
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.
948
* stage2/builtins.c (install_func): Store the fixed disk flag of
949
the destination drive in BOOT_DRIVE_MASK in Stage 1.
951
* stage1/stage1.h (STAGE1_BOOT_DRIVE_MASK): New macro.
953
* stage1/stage1.S (boot_drive_mask): New variable. It is or'ed
956
2002-12-09 Yoshinori K. Okuji <okuji@enbug.org>
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>.
962
2002-12-04 Yoshinori K. Okuji <okuji@enbug.org>
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.
967
2002-12-04 Yoshinori K. Okuji <okuji@enbug.org>
969
* stage2/stage2.c (print_entry): Put a right arrow, if the entry
970
is longer than 71 characters. Reported by Pavel Roskin.
972
2002-12-04 Yoshinori K. Okuji <okuji@enbug.org>
974
* stage2/disk_io.c (set_device): If '(n' is given, add 'd' into
975
DEVICE. Reported by Pavel Roskin.
977
2002-12-03 Yoshinori K. Okuji <okuji@enbug.org>
979
Change the terminal structure a bit, to turn the cursor state
980
explicitly. Suggested by Pavel Roskin.
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.
989
* stage2/stage2.c (run_menu): Call setcursor instead of
991
Call setcursor with 1 before starting a boot entry.
993
* stage2/shared.h (nocursor): Removed.
994
(setcursor): New prototype.
996
* stage2/hercules.c (herc_cursor_state): New variable.
997
(herc_turn_cursor): Removed.
998
(hercules_nocursor): Likewise.
999
(hercules_setcursor): New function.
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.
1006
* stage2/asm.S (console_cursor_state): New variable.
1007
(console_cursor_shape): Likewise.
1008
(console_setcursor): New function.
1009
(console_nocursor): Removed.
1011
* grub/asmstub.c (console_setcursor): New function.
1012
(hercules_setcursor): Likewise.
1013
(console_nocursor): Removed.
1014
(hercules_nocursor): Likewise.
1016
2002-12-03 Yoshinori K. Okuji <okuji@enbug.org>
1018
* docs/grub.texi (terminfo): Fix a misleading English sentence.
1019
Reported by Pavel Roskin.
1020
* stage2/builtins.c (builtin_terminfo): Likewise.
1022
2002-12-01 Yoshinori K. Okuji <okuji@enbug.org>
1024
From Alexander Langer <alex@big.endian.de>:
1025
* stage2/freebsd.h (RB_GDB): New macro.
1026
(RB_MUTE): Likewise.
1027
(RB_MULTIPLE): Likewise.
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,
1033
2002-12-01 Yoshinori K. Okuji <okuji@enbug.org>
1035
* docs/grub.texi (Reporting bugs): Specify the project page of
1036
the BTS instead of the BTS itself.
1038
2002-11-30 Yoshinori K. Okuji <okuji@enbug.org>
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.
1046
* docs/grub.texi (terminfo): New subsection.
1047
(Invoking grub-terminfo): New chapter.
1049
From Tilmann Bubeck <t.bubeck@reinform.de>:
1050
* stage2/Makefile.am (noinst_HEADERS): Added terminfo.h and
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
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
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.
1073
2002-11-30 Yoshinori K. Okuji <okuji@enbug.org>
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.
1079
2002-11-28 Yoshinori K. Okuji <okuji@enbug.org>
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.
1085
2002-11-15 Yoshinori K. Okuji <okuji@enbug.org>
1087
* docs/grub.texi (QNX): New subsection. Reported by
1088
Marian-Nicolae V. ION <marian_ion@noos.fr>.
1090
2002-10-28 Yoshinori K. Okuji <okuji@enbug.org>
1092
* grub/asmstub.c (console_translate_key): Deal with KEY_PPAGE
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
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>.
1102
2002-10-10 Jason Thomas <jason@topic.com.au>
1104
* stage2/builtins.c (setup_func): Added missing space to --force-lba
1105
option. Reported by Kenneth Crudup <kenny@panix.com>
1107
2002-10-06 Yoshinori K. Okuji <okuji@enbug.org>
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>.
1113
2002-10-06 Yoshinori K. Okuji <okuji@enbug.org>
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
1122
2002-09-13 Yoshinori K. Okuji <okuji@enbug.org>
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.
1128
2002-09-08 Yoshinori K. Okuji <okuji@enbug.org>
1130
* configure.in (--disable-serial): Fix a typo in the
1133
2002-08-20 Jason Thomas <jason@topic.com.au>
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.
1139
* stage2/term.h (color_state): New enum.
1140
(COLOR_STATE_STANDARD): Standard color to use when not using
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
1165
(print_border): Likewise.
1166
* stage2/stage2.c (run_menu): Reverse if (!) to if () for
1169
2002-07-12 Yoshinori K. Okuji <okuji@enbug.org>
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.
1208
2002-07-09 Yoshinori K. Okuji <okuji@enbug.org>
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.
1217
2002-07-06 Yoshinori K. Okuji <okuji@enbug.org>
1219
* stage2/shared.h (boot_part_offset): Removed.
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.
1225
* stage2/builtins.c (boot_func): Don't copy the partition
1227
(real_root_func): Check ERRNUM after calling set_bootdev.
1229
2002-07-04 Yoshinori K. Okuji <okuji@enbug.org>
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.
1234
2002-07-03 Yoshinori K. Okuji <okuji@enbug.org>
1236
* stage2/serial.c [!GRUB_UTIL] (inb): Added a delay into this
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.
1245
2002-07-03 Yoshinori K. Okuji <okuji@enbug.org>
1247
* stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed a typo.
1248
Reported by Ilguiz Latypov.
1250
2002-07-01 Yoshinori K. Okuji <okuji@enbug.org>
1252
* Makefile.am (AUTOMAKE_OPTIONS): New variable. Specify the
1253
required Automake version explicitly.
1255
2002-06-30 Yoshinori K. Okuji <okuji@enbug.org>
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.
1264
2002-06-30 Yoshinori K. Okuji <okuji@enbug.org>
1266
* stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed the
1267
conditional statement. Reported by Ilguiz Latypov.
1269
2002-06-24 Yoshinori K. Okuji <okuji@enbug.org>
1271
* MAINTENANCE: New file.
1273
2002-06-15 Yoshinori K. Okuji <okuji@enbug.org>
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
1281
2002-06-15 Yoshinori K. Okuji <okuji@enbug.org>
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>.
1287
2002-06-12 Yoshinori K. Okuji <okuji@enbug.org>
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
1294
2002-06-12 Yoshinori K. Okuji <okuji@enbug.org>
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.
1303
2002-06-12 Yoshinori K. Okuji <okuji@enbug.org>
1305
The terminal handling code is rewritten radically.
1307
* stage2/console.c: New file.
1308
* stage2/term.h: Likewise.
1310
* stage2/Makefile.am (noinst_HEADERS): Added term.h.
1311
(libgrub_a_SOURCES): Added serial.c.
1312
(pre_stage2_exec_SOURCES): Added console.c.
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.
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
1329
(terminal_func): Rewritten almost from scratch.
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.
1352
* stage2/cmdline.c (init_cmdline): Set COUNT_LINES to -1.
1354
* stage2/common.c [!STAGE1_5] (err_list): Removed
1355
ERR_NEED_SERIAL and added ERR_DEV_NEED_INIT.
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.
1364
* stage2/serial.c: Rewritten almost from scratch.
1365
* stage2/serial.h: Likewise.
1367
* stage2/shared.h [GRUB_UTIL] (DISP_UL): Set to the same value
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.
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.
1407
* grub/Makefile.am (AM_CFLAGS): Added -DSUPPORT_HERCULES=1.
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.
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.
1449
2002-06-01 Yoshinori K. Okuji <okuji@enbug.org>
1451
* docs/grub.texi (FAQ): Removed. See the GNU GRUB FAQ on the web
1454
2002-05-31 Yoshinori K. Okuji <okuji@enbug.org>
1456
* docs/grub.texi (Reporting bugs): Recommend using the BTS on
1457
Savannah rather than the list bug-grub.
1459
2002-05-25 Yoshinori K. Okuji <okuji@enbug.org>
1461
* stage2/builtins.c (boot_func): Load the boot partition
1462
information, only if the address of the boot partition entry is
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.
1472
2002-05-24 Yoshinori K. Okuji <okuji@enbug.org>
1474
* stage2/builtins.c (real_root_func): New function.
1475
(root_func): Just call real_root_func.
1476
(rootnoverify_func): Likewise.
1478
2002-05-23 Yoshinori K. Okuji <okuji@enbug.org>
1480
* configure.in (AM_INIT_AUTOMAKE): Changed the version number to
1483
2002-05-23 Yoshinori K. Okuji <okuji@enbug.org>
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>.
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.
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.
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.
1506
2002-05-22 Yoshinori K. Okuji <okuji@enbug.org>
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
1513
2002-05-20 Yoshinori K. Okuji <okuji@enbug.org>
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.
1520
2002-05-20 Yoshinori K. Okuji <okuji@enbug.org>
1522
* lib/device.c: Don't include linux/hdreg.h, linux/major.h,
1524
[__linux__] (HDIO_GETGEO): Defined.
1525
[__linux__] (hd_geometry): Likewise.
1526
[__linux__] (FLOPPY_MAJOR): Likewise.
1527
[__linux__] (MINORBITS): Likewise.
1528
[__linux__] (MAJOR): Likewise.
1530
2002-05-08 Yoshinori K. Okuji <okuji@enbug.org>
1532
* netboot/fsys_tftp.c (tftp_read): Don't call buf_fill unless
1535
2002-05-08 Yoshinori K. Okuji <okuji@enbug.org>
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.
1541
2002-04-30 Yoshinori K. Okuji <okuji@enbug.org>
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.
1548
2002-04-30 Yoshinori K. Okuji <okuji@enbug.org>
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.
1556
2002-04-29 Yoshinori K. Okuji <okuji@enbug.org>
1558
* stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Added a
1559
new option ``--silent''. This suppresses messages, if specified.
1561
2002-04-29 Yoshinori K. Okuji <okuji@enbug.org>
1563
* config.guess: New upstream version.
1564
* config.sub: Likewise.
1566
2002-04-20 Yoshinori K. Okuji <okuji@enbug.org>
1568
* netboot/config.c (PCI_NIC) [INCLUDE_DAVICOM]: Fix typos.
1569
Reported by Julien Perrot <julien.perrot@iie.cnam.fr>.
1571
2002-04-17 Yoshinori K. Okuji <okuji@enbug.org>
1573
* stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Set
1574
COUNT_LINES to -1, to disable the pager.
1576
2002-04-16 Yoshinori K. Okuji <okuji@enbug.org>
1578
* docs/grub.texi (Obtaining and Building GRUB): Update the link
1579
to the binutils site.
1581
2002-04-06 Pavel Roskin <proski@gnu.org>
1583
* util/grub-install.in: Fix hardcoded /dev/hda1.
1585
2002-04-06 Yoshinori K. Okuji <okuji@enbug.org>
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.
1594
2002-04-04 Yoshinori K. Okuji <okuji@enbug.org>
1596
* stage2/builtins.c (setup_func): Don't embed a drive number, if
1599
2002-03-29 Yoshinori K. Okuji <okuji@enbug.org>
1601
* docs/grub.texi (General commands): Added ``pager'' into the
1603
(pager): New subsection.
1604
(terminal): Added a description about the option
1607
* configure.in (AC_INIT_AUTOMAKE): Set the version number to
1610
2002-03-26 Yoshinori K. Okuji <okuji@enbug.org>
1612
* netboot/eepro100.c (eepro100_probe): Increase the delay at the
1615
2002-03-26 Yoshinori K. Okuji <okuji@enbug.org>
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.
1629
2002-03-24 Yoshinori K. Okuji <okuji@enbug.org>
1631
* stage2/stage2.c (run_menu): Call cls outside the loop to run
1633
* stage2/cmdline.c (run_script): Prompt a user's intervention,
1634
only when FALLBACK_ENTRY is negative.
1636
2002-02-11 Pavel Roskin <proski@gnu.org>
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
1644
2002-02-08 Yoshinori K. Okuji <okuji@enbug.org>
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
1653
2002-02-08 Yoshinori K. Okuji <okuji@enbug.org>
1655
* stage2/builtins.c (help_func): Show all the commands runnable
1656
with the command-line interface, if "--all" is specified.
1658
2002-02-08 Yoshinori K. Okuji <okuji@enbug.org>
1660
An internal pager is implemented.
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
1667
(vbeprobe_func): Remove the pager code specific to this
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.
1685
2002-02-08 Yoshinori K. Okuji <okuji@enbug.org>
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.
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.
1696
2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
1698
* stage2/builtins.c (setup_func): Add a VSTa fs entry into
1701
2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
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
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.
1748
(help_func): When no argument is specified, if the last entry
1749
was at the left column, print an extra newline.
1751
2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
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.
1757
2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
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
1763
2002-02-05 Yoshinori K. Okuji <okuji@enbug.org>
1765
* stage2/builtins.c (displaymem_func): Use hex digits to display
1768
2002-02-04 Jason Thomas <jason@topic.com.ah>
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.
1775
2002-01-20 Yoshinori K. Okuji <okuji@gnu.org>
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.
1781
2002-01-20 Yoshinori K. Okuji <okuji@gnu.org>
1783
* grub/asmstub.c (console_putchar): When not using curses,
1784
ignore a carriage return, because a newline in Unix is only a
1787
2002-01-18 Klaus Reichl <Klaus.Reichl@alcatel.at>
1789
* stage2/fsys_minix.c (minix_dir): Fixed bug getting filenames
1790
with MAXNAMELEN right.
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.
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
1801
2002-01-15 Yoshinori K. Okuji <okuji@gnu.org>
1803
* configure.in (AM_INIT_AUTOMAKE): The version number is
1806
2002-01-15 Yoshinori K. Okuji <okuji@gnu.org>
1808
* docs/grub.texi (Preset Menu): New chapter.
1810
2002-01-15 Yoshinori K. Okuji <okuji@gnu.org>
1812
* docs/grub.texi: Added some text about JFS and XFS.
1814
2002-01-08 Yoshinori K. Okuji <okuji@gnu.org>
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.
1828
2002-01-08 Yoshinori K. Okuji <okuji@gnu.org>
1830
* stage2/common.c [SUPPORT_DISKLESS]
1831
(setup_diskless_environment): Removed. The feature is moved to
1833
* stage2/stage2.c [SUPPORT_DISKLESS] (preset_menu): Set to the
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.
1841
2002-01-06 Yoshinori K. Okuji <okuji@gnu.org>
1843
The preset menu has a priority over the configuration file.
1844
Suggested by Christoph Plattner.
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
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
1860
2002-01-06 Yoshinori K. Okuji <okuji@gnu.org>
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
1866
2002-01-03 Yoshinori K. Okuji <okuji@gnu.org>
1868
Update the netboot stuff to Etherboot-5.0.5.
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.
1880
* netboot/Makefile.am (libdrivers_a_SOURCES): Added timer.c and
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.
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.
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.
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.
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.
1954
2002-01-02 Jeremy Katz <katzj@redhat.com>
1956
* util/grub-install.in: Support using mktemp as well as tempfile
1957
for secure temporary file creation.
1959
2002-01-02 Jeremy Katz <katzj@redhat.com>
1961
* stage2/md5.c (md5_password): Ensure the password exists before
1962
trying to check against the md5 crypted version.
1964
2001-12-30 Yoshinori K. Okuji <okuji@gnu.org>
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.
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
1976
* stage2/start.S (lba_mode) [NO_BUGGY_BIOS_IN_THE_WORLD]:
1979
2001-12-30 Yoshinori K. Okuji <okuji@gnu.org>
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.
1987
* stage2/char_io.c [STAGE1_5] (grub_memset): Defined.
1989
2001-12-30 Yoshinori K. Okuji <okuji@gnu.org>
1991
From John Goerzen <jgoerzen@complete.org>:
1992
* util/grub-install.in (convert): Added NetBSD support.
1994
2001-12-30 Yoshinori K. Okuji <okuji@gnu.org>
1996
* util/grub-install.in: Set GRUB_PREFIX and BOOTDIR to "/grub"
1997
and "${rootdir}" respectively in NetBSD.
1999
2001-12-30 Yoshinori K. Okuji <okuji@gnu.org>
2001
* stage2/builtins.c (builtin_geometry): Add extra space
2002
characters into the long description.
2003
(builtin_kernel): Likewise.
2004
(builtin_vbeprobe): Likewise.
2006
2001-12-19 Yoshinori K. Okuji <okuji@gnu.org>
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.
2012
2001-12-19 Yoshinori K. Okuji <okuji@gnu.org>
2014
* stage2/fsys_fat.c (fat_read): Fix the contradictory comment.
2015
Reported by Filip Van Raemdonck <mechanix@digibel.org>.
2017
2001-12-11 Yoshinori K. Okuji <okuji@gnu.org>
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.
2025
* stage2/smp-imps.c (imps_read_config_table): Add a break
2026
statement after the label ``default''.
2028
* util/mbchk.c: Include <stdlib.h> for the prototype of exit.
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
2036
2001-12-10 Yoshinori K. Okuji <okuji@gnu.org>
2038
* stage2/shared.h (ERR_NO_DISK_SPACE): New constant.
2039
* stage2/common.c (err_list): Added an entry for
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>.
2046
2001-12-10 Yoshinori K. Okuji <okuji@gnu.org>
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>.
2053
2001-11-29 Yoshinori K. Okuji <okuji@gnu.org>
2056
* stage2/disk_io.c (set_partition_hidden_flag): Complete rewrite
2057
of this function which now supports logical partitions.
2059
2001-11-12 Yoshinori K. Okuji <okuji@gnu.org>
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.
2088
2001-11-07 Yoshinori K. Okuji <okuji@gnu.org>
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>.
2094
2001-10-27 Yoshinori K. Okuji <okuji@gnu.org>
2096
JFS and XFS support is added.
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
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
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.
2139
2001-10-27 Yoshinori K. Okuji <okuji@gnu.org>
2141
* stage2/apm.S: Always disconnect from APM. Written by Erich
2144
* util/Makefile.am (noinst_DATA): Removed.
2145
(EXTRA_DIST): Likewise.
2147
2001-10-14 Gordon Matzigkeit <gord@fig.org>
2149
* configure.in: Explicitly call _AM_DEPENDENCIES(CC) for the
2150
benefit of older Autoconfs.
2152
2001-10-13 Yoshinori K. Okuji <okuji@gnu.org>
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.
2159
2001-10-13 Yoshinori K. Okuji <okuji@gnu.org>
2161
Don't use get_diskinfo_floppy. Reported by Ben Liblit
2162
<liblit@eecs.berkeley.edu>.
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.
2168
2001-10-13 Yoshinori K. Okuji <okuji@gnu.org>
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.
2182
2001-10-13 Yoshinori K. Okuji <okuji@gnu.org>
2184
From Jason Thomas <jason@topic.com.au>:
2185
* util/grub-install.in (convert): Add support for DAC960.
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.
2191
2001-10-11 Jochen Hoenicke <jochen@gnu.org>
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.
2199
2001-10-10 Jochen Hoenicke <jochen@gnu.org>
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>.
2207
2001-09-24 Jochen Hoenicke <jochen@gnu.org>
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.
2213
2001-08-08 OKUJI Yoshinori <okuji@gnu.org>
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.
2219
2001-08-08 OKUJI Yoshinori <okuji@gnu.org>
2221
* util/grub-md5-crypt.in: Prefix backquotes with backslashes in
2222
strings. From Fernando Silveira.
2224
2001-08-02 Gordon Matzigkeit <gord@fig.org>
2226
* stage2/common.c (init_bios_info): Ignore zero-length memory
2227
ranges. From Derrik Pates <dpates@dsdk12.net>.
2229
2001-07-26 Jochen Hoenicke <jochen@gnu.org>
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>
2237
2001-07-13 OKUJI Yoshinori <okuji@gnu.org>
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>.
2243
2001-07-07 OKUJI Yoshinori <okuji@gnu.org>
2245
* netboot/compile: New file. This was also missing... How many
2246
``compile''s does automake want?
2248
2001-07-07 OKUJI Yoshinori <okuji@gnu.org>
2250
From Jan Zerebecki <jan.list@elite-pferde.de>:
2251
* acinclude.m4 (grub_DEFINE_FILE): Escape double-quotations as
2254
2001-07-05 OKUJI Yoshinori <okuji@gnu.org>
2256
* configure.in (AM_INIT_AUTOMAKE): Set the version number to
2259
2001-07-05 OKUJI Yoshinori <okuji@gnu.org>
2261
Ughh! I forgot to add this file to the CVS.
2263
* docs/compile: New file.
2265
2001-07-05 OKUJI Yoshinori <okuji@gnu.org>
2267
* docs/grub.texi: Updated.
2269
2001-07-05 OKUJI Yoshinori <okuji@gnu.org>
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
2276
2001-07-04 OKUJI Yoshinori <okuji@gnu.org>
2278
* stage2/compile: New file.
2279
* docs/mdate-sh: Likewise.
2280
* docs/texinfo.tex: Likewise.
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.
2315
2001-07-03 OKUJI Yoshinori <okuji@gnu.org>
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.
2321
2001-06-22 OKUJI Yoshinori <okuji@gnu.org>
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.
2335
2001-06-22 OKUJI Yoshinori <okuji@gnu.org>
2337
VSTa filesystem support is added.
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
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.
2365
2001-06-22 OKUJI Yoshinori <okuji@gnu.org>
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
2373
2001-06-21 OKUJI Yoshinori <okuji@gnu.org>
2375
* docs/grub.texi: Update the location of the CVS repository
2376
[/home/cvs -> /cvsroot/grub].
2379
2001-06-19 OKUJI Yoshinori <okuji@gnu.org>
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>.
2387
2001-05-30 OKUJI Yoshinori <okuji@gnu.org>
2389
* docs/grub.texi: Fix some typos. Reported by Florian Hatat
2390
<mininet@wanadoo.fr>.
2392
2001-05-29 Pavel Roskin <proski@gnu.org>
2394
* configure.in (AC_OUTPUT): Remove debian/Makefile.
2396
2001-05-28 Gordon Matzigkeit <gord@fig.org>
2398
* Makefile.am (SUBDIRS): Remove reference to debian directory.
2399
Packaging is no longer done by the GRUB team.
2401
2001-05-03 Gordon Matzigkeit <gord@fig.org>
2403
* stage1/stage1.S (nt_magic): Explicitly reserve space for the NT
2406
2001-05-25 Klaus Reichl <Klaus.Reichl@alcatel.at>
2408
* stage2/stage2.c (print_entries_raw): New function.
2409
(run_menu): Use it to implement menu & command-list if on dumb
2412
Adjust FIRST_ENTRY only on non-dumb terminals.
2413
Setting of SHOW_MENU is honoured also on dumb
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.
2422
2001-05-14 Pavel Roskin <proski@gnu.org>
2424
* stage2/shared.h (ENTRY): Remove unnecessary `##'.
2426
2001-05-03 Jochen Hoenicke <jochen@gnu.org>
2428
* grub/asmstub.c (biosdisk): Work around a bug in linux's ez
2429
remapping. Problem reported by Ben Byer <bbyer@rice.edu>.
2431
2001-03-28 Gordon Matzigkeit <gord@fig.org>
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.
2436
2001-03-16 OKUJI Yoshinori <okuji@gnu.org>
2438
From Bodo Rueskamp <br@itchigo.com>:
2439
* stage2/boot.c (load_initrd): Avoid the last 64kb for
2442
2001-03-03 OKUJI Yoshinori <okuji@gnu.org>
2444
* docs/multiboot.texi (History): Written.
2446
2001-02-28 OKUJI Yoshinori <okuji@gnu.org>
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
2454
2001-02-28 OKUJI Yoshinori <okuji@gnu.org>
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>.
2461
2001-02-28 OKUJI Yoshinori <okuji@gnu.org>
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.
2469
2001-02-27 OKUJI Yoshinori <okuji@gnu.org>
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".
2475
2001-02-27 OKUJI Yoshinori <okuji@gnu.org>
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.
2481
* configure.in (--disable-hercules): New option.
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.
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
2501
(builtin_table) [SUPPORT_HERCULES]: Added a pointer to
2503
* stage2/char_io.c [SUPPORT_HERCULES]: Include <hercules.h>.
2504
[!STAGE1_5] (get_cmdline) [SUPPORT_HERCULES]: Added hercules
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
2517
* stage2/hercules.h: New file.
2518
* stage2/hercules.c: Likewise.
2520
2001-02-17 OKUJI Yoshinori <okuji@gnu.org>
2522
From "Treutwein; Bernhard"
2523
<Bernhard.Treutwein@Verwaltung.Uni-Muenchen.DE>:
2524
* docs/grub.texi (DOS/Windows): Improved the readability.
2526
2001-02-11 OKUJI Yoshinori <okuji@gnu.org>
2528
* docs/grub.texi (Command-line and menu commands): Renamed to ...
2529
(General commands): ... this.
2531
2001-02-08 OKUJI Yoshinori <okuji@gnu.org>
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>.
2539
2001-02-08 OKUJI Yoshinori <okuji@gnu.org>
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
2552
2001-02-03 OKUJI Yoshinori <okuji@gnu.org>
2554
From Erik Schoenfelder <schoenfr@gaertner.de>:
2555
* stage2/shared.h (LINUX_INITRD_MAX_ADDRESS): Changed from
2556
0x3C000000 to 0x38000000.
2558
2001-02-03 OKUJI Yoshinori <okuji@gnu.org>
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.
2564
2001-02-02 OKUJI Yoshinori <okuji@gnu.org>
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.
2570
* stage2/stage2.c (cmain): If DEFAULT_ENTRY is out of entries,
2571
reset DEFAULT_ENTRY to zero.
2573
2001-02-02 OKUJI Yoshinori <okuji@gnu.org>
2575
Make savedefault workable even with Stage 1.5. Reported by
2576
Thierry Laronde <thierry@cri74.org>.
2578
* grub/asmstub.c (chain_stage2): Added an additional argument,
2580
* stage2/asm.S [STAGE1_5] (chain_stage2): Set %ebp to
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.
2592
2001-02-02 OKUJI Yoshinori <okuji@gnu.org>
2594
* netboot/config.c [GRUB && INCLUDE_PCI] (pci_dispatch_table):
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.
2600
2001-01-27 OKUJI Yoshinori <okuji@gnu.org>
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.
2607
2001-01-27 OKUJI Yoshinori <okuji@gnu.org>
2609
From Bernhard Treutwein
2610
<Bernhard.Treutwein@Verwaltung.Uni-Muenchen.DE>:
2611
* docs/grub-new.texi (DOS/Windows): Made more readable.
2613
2001-01-27 OKUJI Yoshinori <okuji@gnu.org>
2615
* docs/multiboot.texi: Start reorganizing Multiboot
2618
2001-01-15 OKUJI Yoshinori <okuji@gnu.org>
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.
2627
2001-01-13 OKUJI Yoshinori <okuji@gnu.org>
2629
From Thierry Laronde <thierry.laronde@polynum.com>:
2630
* util/grub-md5-crypt.in (prefix): New variable.
2631
(exec_prefix): Likewise.
2632
(sbindir): Likewise.
2634
2001-01-12 OKUJI Yoshinori <okuji@gnu.org>
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
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.
2654
2001-01-11 OKUJI Yoshinori <okuji@gnu.org>
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.
2663
2001-01-11 Eugene Doudine <dudin@np.nk.nornik.ru>
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
2670
* netboot/main.c (ifconfig): New function.
2671
* netboot/etherboot.h (ifconfig): Added the prototype.
2673
2001-01-11 OKUJI Yoshinori <okuji@gnu.org>
2675
* docs/Makefile.am [BUILD_EXAMPLE_KERNEL] (noinst_DATA): New
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.
2684
* docs/kernel.c (cmain): Cast unsigned long variables to
2685
unsigned explicitly, to suppress GCC warnings.
2687
2001-01-08 OKUJI Yoshinori <okuji@gnu.org>
2689
* stage2/shared.h (BOOTSEC_BPB_HIDDEN_SECTORS): New macro.
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>.
2698
2001-01-07 OKUJI Yoshinori <okuji@gnu.org>
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.
2704
2001-01-04 Jochen Hoenicke <jochen@gnu.org>
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>.
2710
2000-12-22 OKUJI Yoshinori <okuji@gnu.org>
2712
* stage2/disk_io.c (make_saved_active): Change the variable name
2713
``MBR'' to lower case.
2714
(set_partition_hidden_flag): Likewise.
2716
2000-12-20 Jochen Hoenicke <jochen@gnu.org>
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.
2723
(FS_FILECORE): Likewise.
2724
(FS_EXT2FS): Likewise.
2726
2000-12-17 Jochen Hoenicke <jochen@gnu.org>
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
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
2736
(make_saved_active): Use rawwrite. Don't use SCRATCHSEG, as it is
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.
2754
2000-12-17 OKUJI Yoshinori <okuji@gnu.org>
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.
2760
2000-12-14 OKUJI Yoshinori <okuji@gnu.org>
2762
* docs/prog-ref.texi (Partition types): Rewrite the footnotes.
2763
Suggested by Ralf.Medow@t-online.de (Ralf Medow).
2765
2000-12-14 OKUJI Yoshinori <okuji@gnu.org>
2767
From Erik Schoenfelder <schoenfr@gaertner.de>:
2768
* util/grub-install.in (convert): Revised the fix for floppy
2771
2000-12-14 OKUJI Yoshinori <okuji@gnu.org>
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.
2778
2000-12-09 Jochen Hoenicke <jochen@gnu.org>
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>.
2784
2000-12-09 OKUJI Yoshinori <okuji@gnu.org>
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.
2790
2000-12-09 OKUJI Yoshinori <okuji@gnu.org>
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>.
2796
2000-12-05 Jochen Hoenicke <jochen@gnu.org>
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>.
2802
2000-11-27 Jochen Hoenicke <jochen@gnu.org>
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.
2812
2000-11-27 OKUJI Yoshinori <okuji@gnu.org>
2814
* stage2/common.c (init_bios_info) [!STAGE1_5]: Don't call
2815
track_int13, because the current implementation hangs up in some
2818
2000-11-27 OKUJI Yoshinori <okuji@gnu.org>
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>.
2825
2000-11-22 OKUJI Yoshinori <okuji@gnu.org>
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.
2832
2000-11-22 OKUJI Yoshinori <okuji@gnu.org>
2834
The code for the "INT 13H tracking technique" is somewhat
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.
2843
2000-11-15 OKUJI Yoshinori <okuji@gnu.org>
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
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.
2862
2000-11-11 OKUJI Yoshinori <okuji@gnu.org>
2864
From Jan Fricke <fricke@uni-greifswald.de>:
2865
* stage2/asm.S [!STAGE1_5] (set_vbe_mode): Add a missing `$'
2868
2000-11-11 OKUJI Yoshinori <okuji@gnu.org>
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.
2875
2000-11-09 OKUJI Yoshinori <okuji@gnu.org>
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.
2881
2000-11-05 OKUJI Yoshinori <okuji@gnu.org>
2883
* docs/user-ref.texi (Features): Update the URL of grub/98.
2885
2000-11-03 OKUJI Yoshinori <okuji@gnu.org>
2887
VBE support is _partially_ implemented.
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.
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
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.
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
2920
2000-11-01 OKUJI Yoshinori <okuji@gnu.org>
2922
* docs/help2man: Copied from help2man-1.23.
2924
2000-10-29 OKUJI Yoshinori <okuji@gnu.org>
2926
* stage2/asm.S [STAGE1_5]: Don't include setjmp.S or apm.S.
2928
2000-10-27 OKUJI Yoshinori <okuji@gnu.org>
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>.
2933
2000-10-25 Jochen Hoenicke <jochen@gnu.org>
2935
* stage2/builtins.c (md5crypt_func): Use all bits of currticks ()
2936
to generate the salt. The old code would often produce the same
2939
2000-10-25 OKUJI Yoshinori <okuji@gnu.org>
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!
2944
2000-10-24 Jochen Hoenicke <jochen@gnu.org>
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.
2949
2000-10-23 OKUJI Yoshinori <okuji@gnu.org>
2951
* docs/multiboot.texi: Upgraded to 0.6.92.
2952
(Boot information format): Re-designed the graphics table.
2954
2000-10-22 OKUJI Yoshinori <okuji@gnu.org>
2956
* docs/tutorial.texi: Miscellaneous updates.
2957
* docs/user-ref.texi: Likewise.
2958
* docs/appendices.texi: Likewise.
2960
2000-10-22 OKUJI Yoshinori <okuji@gnu.org>
2962
* util/grub-install.in (usage): Removed unnecessary commas.
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.
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.
2975
2000-10-22 OKUJI Yoshinori <okuji@gnu.org>
2977
From Matthias Granberry <matthias@slurpee.org>:
2978
* util/grub-install.in (convert): Added backslashes into
2981
2000-10-21 OKUJI Yoshinori <okuji@gnu.org>
2983
* stage2/md5.c (check_md5_password): Removed.
2984
(md5_password): New function. Mostly copied from
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
2994
* stage2/builtins.c [USE_MD5_PASSWORDS] (md5crypt_func): New
2996
[USE_MD5_PASSWORDS] (builtin_md5crypt): New variable.
2997
(builtin_table) [USE_MD5_PASSWORDS]: Added a pointer to
2999
* docs/tutorial.texi (Security): Added a paragraph about
3002
2000-10-21 OKUJI Yoshinori <okuji@gnu.org>
3004
* docs/user-ref.texi: Fixed several typos and some inappropriate
3005
texinfo commands, and update the descriptions about some
3008
2000-10-20 OKUJI Yoshinori <okuji@gnu.org>
3010
* stage2/builtins.c (displayapm_func): New function.
3011
(builtin_displayapm): New variable.
3012
(builtin_table): Added a pointer to BUILTIN_DISPLAYAPM.
3014
2000-10-20 OKUJI Yoshinori <okuji@gnu.org>
3016
APM BIOS table support is added, based on a patch by Matt Yourst
3019
* docs/multiboot.texi (Boot information format): Added the
3020
definition of APM table format.
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.
3027
* stage2/apm.S: New file.
3028
* stage2/common.c (init_bios_info) [!STAGE1_5]: Added APM BIOS
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.
3036
2000-10-19 OKUJI Yoshinori <okuji@gnu.org>
3038
Segregate functions which are copyrighted differently.
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.
3048
2000-10-18 OKUJI Yoshinori <okuji@gnu.org>
3050
* stage2/Makefile.am (noinst_HEADERS): Added md5.h. Reported by
3051
Volker Augustin <Volker.Augustin@stud.uni-regensburg.de>.
3053
2000-10-17 OKUJI Yoshinori <okuji@gnu.org>
3055
* configure.in (--disable-md5password): Renamed to ...
3056
(--disable-md5-password): ... this. Just for my preference.
3058
2000-10-17 Jochen Hoenicke <jochen@gnu.org>
3060
Added MD5 passwords and extended password command:
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
3085
* docs/user-ref.texi (Menu-specific commands): password command
3087
(Command-line and menu commands): ... to here. New features
3090
2000-10-17 OKUJI Yoshinori <okuji@gnu.org>
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.
3096
2000-10-16 OKUJI Yoshinori <okuji@gnu.org>
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>.
3103
2000-10-16 OKUJI Yoshinori <okuji@gnu.org>
3105
Some of the new Multiboot features are supported. APM support
3106
and VESA support are not strictly defined or implemented yet.
3108
* docs/multiboot.texi (Top): Increase the version number.
3109
(Boot information format): Changed the drive information format,
3110
because it was not straightforward.
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.
3131
2000-10-16 OKUJI Yoshinori <okuji@gnu.org>
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.
3142
2000-10-16 OKUJI Yoshinori <okuji@gnu.org>
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
3156
2000-10-15 OKUJI Yoshinori <okuji@gnu.org>
3158
From Roderich Schupp <rsch@ExperTeam.de>:
3159
* util/grub-install.in (convert): Added support for "native"
3162
2000-10-14 OKUJI Yoshinori <okuji@gnu.org>
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".
3168
2000-10-14 OKUJI Yoshinori <okuji@gnu.org>
3170
* stage2/builtins.c (setkey_func): If TO_KEY is NULL (i.e. the
3171
user specifies no argument), clear BIOS_KEY_MAP and
3173
If TO_KEY is non-NULL but FROM_KEY is NULL, set ERRNUM to
3174
ERR_BAD_ARGUMENT and return one.
3176
2000-10-13 OKUJI Yoshinori <okuji@gnu.org>
3178
* docs/grub.texi: Added an entry for the new chapter "Security",
3179
and the order of the chapters in the Tutorial Manual was
3181
* docs/tutorial.texi (Configuration): Moved to right after the
3183
(Security): New chapter.
3185
2000-10-10 OKUJI Yoshinori <okuji@gnu.org>
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.
3194
2000-10-10 OKUJI Yoshinori <okuji@gnu.org>
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>.
3201
2000-10-10 OKUJI Yoshinori <okuji@gnu.org>
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.
3208
2000-10-08 OKUJI Yoshinori <okuji@gnu.org>
3210
* util/grub-install.in (grub_prefix): New variable. The default
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.
3218
2000-10-08 OKUJI Yoshinori <okuji@gnu.org>
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>.
3224
2000-10-07 OKUJI Yoshinori <okuji@gnu.org>
3226
* lib/device.c [__linux__] (write_to_partition): Open DEV with
3227
O_RDWR instead of O_ORONLY.
3229
2000-10-06 Alessandro Rubini <rubini@gnu.org>
3231
* docs/user-ref.texi (Commands): Added missing commands and
3232
reworded part of the text.
3234
* stage2/builtins.c (serial_func): Unswap the setting of "speed"
3237
2000-10-06 OKUJI Yoshinori <okuji@gnu.org>
3239
* stage2/builtins.c (setup_func): Append "... " to the
3240
messages when calling embed_func and install_func, and print
3242
Don't jump to the label "fail", even when embed_func failed.
3244
2000-10-05 Gordon Matzigkeit <gord@fig.org>
3246
* stage2/disk_io.c (real_open_partition): Make sure that buf_geom
3247
corresponds to the current drive before using it.
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
3253
* docs/tutorial.texi: Add `@kbd{...}' to examples in order to
3254
differentiate between command output and characters the user
3256
* docs/user-ref.texi: Likewise.
3258
2000-10-05 OKUJI Yoshinori <okuji@gnu.org>
3260
* docs/grub.texi: Added an entry for the chapter "Serial
3262
* docs/tutorial.texi (Serial terminal): New chapter.
3264
2000-10-04 Gordon Matzigkeit <gord@fig.org>
3266
* util/grub-image (VERSION): Fix version calculation to tolerate
3267
`(GNU GRUB 0.5.96)'-style versions.
3269
* docs/grub.texi: Remove braces from `@unnumbered' sections so
3270
that texi2html doesn't complain.
3272
* debian/rules: Build HTML documentation to appease the Debian
3275
2000-10-04 OKUJI Yoshinori <okuji@gnu.org>
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
3282
2000-10-05 OKUJI Yoshinori <okuji@gnu.org>
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
3288
2000-10-01 OKUJI Yoshinori <okuji@gnu.org>
3290
* lib/device.c [__linux__]: Don't include <linux/cdrom.h>.
3291
[__linux__ && !CDROM_GET_CAPABILITY] (CDROM_GET_CAPABILITY):
3294
2000-10-01 OKUJI Yoshinori <okuji@gnu.org>
3296
* lib/device.c (get_drive_geometry) [__GNU__]: Get the number of
3297
total sectors by fstat. The rest are filled with arbitrary
3300
2000-09-30 OKUJI Yoshinori <okuji@gnu.org>
3302
* util/grub-install.in (convert): The code for gnu* (i.e.
3303
GNU/Hurd) was rewritten, since it didn't work for BSD
3305
Use "$tmp_disk *$" instead of "$tmp_disk" to get the drive name.
3307
2000-09-30 OKUJI Yoshinori <okuji@gnu.org>
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.
3313
* grub/asmstub.c (console_putchar)
3314
[HAVE_LIBCURSES_H && REFRESH_IMMEDIATELY]: Call refresh, to ease
3317
2000-09-30 OKUJI Yoshinori <okuji@gnu.org>
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
3328
2000-09-29 OKUJI Yoshinori <okuji@gnu.org>
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
3339
2000-09-29 OKUJI Yoshinori <okuji@gnu.org>
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.
3351
2000-09-27 OKUJI Yoshinori <okuji@gnu.org>
3353
* configure.in (--enable-serial): Changed to ...
3354
(--disable-serial): ... this. Now the serial support is enabled
3357
2000-09-27 OKUJI Yoshinori <okuji@gnu.org>
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
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.
3386
2000-09-26 OKUJI Yoshinori <okuji@gnu.org>
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".
3393
2000-09-26 OKUJI Yoshinori <okuji@gnu.org>
3395
Add --prefix=DIR to the command "setup".
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.
3407
2000-09-12 OKUJI Yoshinori <okuji@gnu.org>
3409
Add additional magic to avoid a bug in Linux. *sigh*
3411
* stage2/boot.c (load_image): Copy SRC to DEST first, and append
3412
a "mem=" option to DEST instead of prepending.
3414
2000-09-11 OKUJI Yoshinori <okuji@gnu.org>
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.
3423
2000-09-09 Alessandro Rubini <rubini@morgana.systemy.it>
3425
* stage1/stage1.S (notification_string): Print "GRUB " instead
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.
3436
2000-09-09 OKUJI Yoshinori <okuji@gnu.org>
3438
From Alessandro Rubini:
3439
* configure.in (CPPFLAGS): Added -malign-jumps=1,
3440
-malign-loops=1 and -malign-functions=1.
3442
2000-09-07 OKUJI Yoshinori <okuji@gnu.org>
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.
3450
2000-09-07 Alessandro Rubini <rubini@gnu.org>
3452
* docs/tutorial.texi: Fixed a few typos and minor imprecisions.
3453
* docs/prog-ref.texi: Likewise.
3454
* docs/user-ref.texi: Likewise.
3456
2000-09-07 OKUJI Yoshinori <okuji@gnu.org>
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.
3463
2000-09-06 OKUJI Yoshinori <okuji@gnu.org>
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.
3483
2000-09-06 OKUJI Yoshinori <okuji@gnu.org>
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.
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
3513
2000-09-05 OKUJI Yoshinori <okuji@gnu.org>
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
3519
* stage2/start.S (lba_mode) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
3521
* stage2/bios.c (biosdisk) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
3523
Reported by Jan Fricke <fricke@uni-greifswald.de> and Pixel
3524
<pixel@mandrakesoft.com>.
3526
2000-09-05 OKUJI Yoshinori <okuji@gnu.org>
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
3537
2000-09-04 OKUJI Yoshinori <okuji@gnu.org>
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
3542
(run_menu) [!GRUB_UTIL]: Don't call grub_printf here. Instead,
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.
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
3565
2000-09-04 OKUJI Yoshinori <okuji@gnu.org>
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.
3578
2000-09-03 OKUJI Yoshinori <okuji@gnu.org>
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.
3584
2000-09-02 OKUJI Yoshinori <okuji@gnu.org>
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
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.
3593
2000-09-01 Klaus Reichl <Klaus.Reichl@alcatel.at>
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).
3600
2000-08-31 Klaus Reichl <Klaus.Reichl@alcatel.at>
3602
* stage2/stage2.c (set_line): Go back one char, which is
3603
consistent with the original situation, when a timeout was
3605
(run_menu): If GRUB_TIMEOUT is stopped don't loop busy over
3606
CHECKKEY, just relax in GETKEY.
3608
* stage2/builtins.c (serial_func): --speed handling: corrected
3609
typo: set SPEED instead of PORT.
3611
2000-08-31 OKUJI Yoshinori <okuji@gnu.org>
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
3618
[!STAGE1_5] (getkey) [SUPPORT_SERIAL]: Don't check if both
3619
TERMINAL_CONSOLE and TERMINAL_SERIAL are set in TERMINAL.
3621
2000-08-31 OKUJI Yoshinori <okuji@gnu.org>
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
3629
2000-08-30 OKUJI Yoshinori <okuji@gnu.org>
3631
* configure.in (CPPFLAGS): Remove -Wundef by default. Add the
3632
option only if the C compiler supports it, because GCC 2.7.x
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.
3640
2000-08-30 OKUJI Yoshinori <okuji@gnu.org>
3642
The command-line interface is switched to single-line editing
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.
3655
2000-08-28 OKUJI Yoshinori <okuji@gnu.org>
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.
3664
2000-08-28 OKUJI Yoshinori <okuji@gnu.org>
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.
3673
2000-08-27 OKUJI Yoshinori <okuji@gnu.org>
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.
3679
2000-08-27 OKUJI Yoshinori <okuji@gnu.org>
3681
Preserve a magic number used by Windows NT in a MBR. Shit!
3682
Reported by Khimenko Victor.
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.
3694
2000-08-26 OKUJI Yoshinori <okuji@gnu.org>
3696
* stage2/char_io.c (translate_keycode) [SUPPORT_SERIAL]: Don't
3697
drain the input buffer, since that was irritating.
3699
2000-08-26 OKUJI Yoshinori <okuji@gnu.org>
3701
Don't save/restore fragile registers unnecessarily.
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.
3723
2000-08-25 OKUJI Yoshinori <okuji@gnu.org>
3725
* stage2/char_io.c [!STAGE1_5] (translate_keycode): New
3726
function. The serial part is stolen from the patch by Christoph
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.
3737
2000-08-24 OKUJI Yoshinori <okuji@gnu.org>
3739
* stage2/builtins.c [GRUB_UTIL]: Include stdio.h before
3740
shared.h. Reported by Mathieu Chouquet-Stringer
3741
<mchouque@cs.stevens-tech.edu>.
3743
2000-08-21 OKUJI Yoshinori <okuji@gnu.org>
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
3753
* grub/asmstub.c [SIMULATE_SLOWNESS_OF_SERIAL] (serial_speed):
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
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
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.
3778
2000-08-20 OKUJI Yoshinori <okuji@gnu.org>
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
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
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
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
3837
2000-08-20 OKUJI Yoshinori <okuji@gnu.org>
3839
Now the serial console support is partially working.
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
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.
3864
2000-08-15 OKUJI Yoshinori <okuji@gnu.org>
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>.
3871
* Makefile.am (NBLOADER_LINK): New variable.
3872
(nbloader_exec_LDFLAGS): Set to $(NBLOADER_LINK) instead of
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
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.
3892
(boot_stage2): Likewise.
3894
2000-08-13 OKUJI Yoshinori <okuji@gnu.org>
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.
3900
2000-08-13 OKUJI Yoshinori <okuji@gnu.org>
3902
Add a serial device emulation into the grub shell.
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
3915
* stage2/serial.h [GRUB_UTIL] (set_serial_device): Declared.
3917
2000-08-13 OKUJI Yoshinori <okuji@gnu.org>
3919
* stage2/asm.S (codestart) [SUPPORT_DISKLESS]: Don't reset a
3920
disk system. That is not only uncessary but also harmful.
3922
2000-08-12 OKUJI Yoshinori <okuji@gnu.org>
3924
Add a serial device driver (but only the driver).
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.
3934
2000-08-10 Pavel Roskin <proski@gnu.org>
3936
* docs/tutorial.texi: Minor fixes.
3938
2000-08-10 OKUJI Yoshinori <okuji@gnu.org>
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
3945
2000-08-09 OKUJI Yoshinori <okuji@gnu.org>
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
3951
(install_func): Set DEST_PARTITION to the partition where Stage
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
3963
If DEST_PARTITION is not 0xFFFFFF, use write_to_partition, to
3965
(setup_func) [GRUB_UTIL]: If --stage2 is specified, set
3966
STAGE2_ARG to the string pointing to the option. Otherwise, set
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
3978
2000-08-04 Jochen Hoenicke <jochen@gnu.org>
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.
3993
2000-08-01 Jochen Hoenicke <jochen@gnu.org>
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.
4006
2000-07-31 Pavel Roskin <proski@gnu.org>
4008
* grub/asmstub.c (biosdisk) [__linux__]: The first argument for
4009
_llseek renamed from "seeked_fd" to "filedes".
4011
2000-07-30 OKUJI Yoshinori <okuji@gnu.org>
4013
* docs/appendices.texi (FAQ): Added the answer for the separate
4014
boot partition problem.
4016
2000-07-30 OKUJI Yoshinori <okuji@gnu.org>
4018
Update the network support to Etherboot-4.6.4.
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.
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.
4036
* netboot/config.c: Updated.
4038
2000-07-29 OKUJI Yoshinori <okuji@gnu.org>
4040
The Linux zImage support is working now.
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
4046
2000-07-29 Jochen Hoenicke <jochen@gnu.org>
4048
* stage2/fsys_reiserfs.c (block_read): Changed the variable "len"
4049
to "j_len" (it shadowed a parameter).
4051
2000-07-29 OKUJI Yoshinori <okuji@gnu.org>
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
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
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
4070
(get_cmdline): Rename KILL to KILL_BUF.
4071
Rename the second argument for cl_print to REAL_ECHO_CHAR from
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
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
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
4087
2000-07-27 Gordon Matzigkeit <gord@fig.org>
4089
* util/grub-image.in: Initial cut at a script for creating GRUB
4091
* util/Makefile.am (noinst_SCRIPTS): Added grub-image.
4092
* configure.in (AC_OUTPUT): Added util/grub-image.
4094
2000-07-27 Jochen Hoenicke <jochen@gnu.org>
4096
* stage2/asm.S (check_int13_extensions): Fixed the effect of
4097
the --force-lba switch in stage2/stage1_5.
4099
2000-07-25 Jochen Hoenicke <jochen@gnu.org>
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
4106
2000-07-25 OKUJI Yoshinori <okuji@gnu.org>
4108
* stage2/asm.S [!STAGE1_5] (linux_text_len): New variable.
4109
[!STAGE1_5] (linux_boot): Don't set %eax to LINUX_SETUP
4111
Set %ecx to LINUX_TEXT_LEN instead of LINUX_KERNEL_MAXLEN.
4112
[!STAGE1_5] (big_linux_boot): Disable interrupts before changing
4114
Change %ss right before %sp.
4115
Reverse the arguments for ljmp. A segment must be after an
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.
4124
2000-07-24 OKUJI Yoshinori <okuji@gnu.org>
4126
Comply with the Linux/i386 boot protocol version 2.02.
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
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
4158
(CL_MY_END_ADDR): Set to RAW_addr(0x97FFF) instead of
4160
(CL_MAGIC_ADDR): Removed.
4161
(CL_OFFSET): Likewise.
4162
[!ASM_FILE] (struct linux_kernel_header): New structure tag.
4164
2000-07-23 OKUJI Yoshinori <okuji@gnu.org>
4166
* docs/tutorial.texi: Fix some syntax errors and ambiguous
4167
sentences. Suggested by M. Meiarashi <mes@st.rim.or.jp>.
4169
2000-07-14 Khimenko Victor <grub@khim.sch57.msk.ru>
4171
* stage2/boot.c (load_image): When getting the text length of a
4172
Linux kernel, use unsigned long instead of unsigned short.
4174
2000-07-13 OKUJI Yoshinori <okuji@gnu.org>
4176
* lib/device.c: Include errno.h. Reported by Thierry DELHAISE
4177
<thierry.delhaise@delhaise.com>.
4179
2000-07-12 OKUJI Yoshinori <okuji@gnu.org>
4181
Just to start implementing serial console support...
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.
4210
2000-07-12 OKUJI Yoshinori <okuji@gnu.org>
4212
* stage2/Makefile.am (libgrub_a_CFLAGS): Added
4213
-I$(top_srcdir)/lib.
4214
* stage2/builtins.c [GRUB_UTIL]: Include device.h.
4216
2000-07-12 OKUJI Yoshinori <okuji@gnu.org>
4218
Segreate OS-specific helper functions from asmstub.c.
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.
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.
4252
2000-07-02 OKUJI Yoshinori <okuji@gnu.org>
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
4258
2000-07-02 OKUJI Yoshinori <okuji@gnu.org>
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).
4264
2000-06-23 OKUJI Yoshinori <okuji@gnu.org>
4266
* stage2/boot.c (load_image): Take an additional argument
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.
4276
2000-06-22 OKUJI Yoshinori <okuji@gnu.org>
4278
* docs/tutorial.texi: Fixed some typos and syntax errors.
4279
* docs/user-ref.texi: Likewise.
4281
2000-06-21 OKUJI Yoshinori <okuji@gnu.org>
4283
* stage2/stage2.c (run_menu): Initialize CUR_ENTRY at the
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.
4298
2000-06-19 OKUJI Yoshinori <okuji@gnu.org>
4300
* docs/mdate-sh: Moved to ...
4301
* mdate-sh: ... here.
4302
* docs/texinfo.tex: Moved to ...
4303
* texinfo.tex: ... here.
4305
2000-06-09 OKUJI Yoshinori <okuji@gnu.org>
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
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,
4315
* stage2/common.c (fakemap): Adjusted to the new definition of
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.
4325
2000-06-18 OKUJI Yoshinori <okuji@gnu.org>
4327
* docs/appendices.texi (FAQ): Added an question about Linux's
4328
`mem=' option and the answer.
4330
2000-06-17 OKUJI Yoshinori <okuji@gnu.org>
4332
* stage2/boot.c (load_image): Pass a mem option to Linux, only
4333
if SRC has no substring "mem=".
4335
2000-06-17 OKUJI Yoshinori <okuji@gnu.org>
4337
* stage2/compile: Removed.
4338
* netboot/compile: Likewise.
4339
* compile: New file. Copied from Automake.
4341
2000-06-16 OKUJI Yoshinori <okuji@gnu.org>
4343
* stage2/boot.c (load_image): Don't remove the vga option after
4344
parsing it. Suggested by Tim Riker.
4346
2000-06-15 OKUJI Yoshinori <okuji@gnu.org>
4348
* stage2/asm.S (grub_halt): Use jmp instead of jc, if INT 15
4351
2000-06-15 OKUJI Yoshinori <okuji@gnu.org>
4353
* configure.in (AM_INIT_AUTOMAKE): Increase the version number.
4354
I wish that 0.5.96 will not be released actually...
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
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.
4369
2000-06-12 Gordon Matzigkeit <gord@fig.org>
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
4375
2000-06-11 OKUJI Yoshinori <okuji@gnu.org>
4377
* docs/tutorial.texi (GNU/Linux): Added a caution about the
4380
2000-06-11 OKUJI Yoshinori <okuji@gnu.org>
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.
4389
2000-06-08 OKUJI Yoshinori <okuji@gnu.org>
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".
4397
2000-06-08 OKUJI Yoshinori <okuji@gnu.org>
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
4406
2000-06-06 Jochen Hoenicke <jochen@gnu.org>
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
4421
2000-06-06 OKUJI Yoshinori <okuji@gnu.org>
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
4428
(decode_rfc1533) [GRUB]: If C is equal to
4429
RFC1533_VENDOR_CONFIGFILE, copy the contents of the tag to
4431
If C is equal to RFC1533_VENDOR_MAGIC, increment
4433
* netboot/etherboot.h [GRUB] (RFC1533_VENDOR_CONFIGFILE): New
4434
macro. Defined as 150.
4436
2000-06-03 OKUJI Yoshinori <okuji@gnu.org>
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.
4444
2000-06-02 OKUJI Yoshinori <okuji@gnu.org>
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.
4451
2000-06-01 OKUJI Yoshinori <okuji@gnu.org>
4453
From Chip Salzenberg:
4454
* stage2/cmdline.c (enter_cmdline) [SUPPORT_DISKLESS]: Redisplay
4455
network configuration after clearing screen, before first prompt.
4457
* stage2/cmdline.c: Include <shared.h> instead of "shared.h".
4458
[SUPPORT_DISKLESS]: Include <etherboot.h>.
4460
2000-06-01 OKUJI Yoshinori <okuji@gnu.org>
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.
4466
2000-05-31 OKUJI Yoshinori <okuji@gnu.org>
4468
* acinclude.m4 (grub_ASM_ABSOLUTE_WITHOUT_ASTERISK): New
4469
function. Check if GAS requires absolute indirect calls/jumps
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]:
4477
(pcibios_read_config_word) [!ABSOLUTE_WITHOUT_ASTERISK]:
4479
(pcibios_read_config_dword) [!ABSOLUTE_WITHOUT_ASTERISK]:
4481
(pcibios_write_config_byte) [!ABSOLUTE_WITHOUT_ASTERISK]:
4483
(pcibios_write_config_word) [!ABSOLUTE_WITHOUT_ASTERISK]:
4485
(pcibios_write_config_dword) [!ABSOLUTE_WITHOUT_ASTERISK]:
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.
4493
2000-05-29 Chip Salzenberg <chip@valinux.com>
4495
* stage2/shared.h (grub_memmove): Prototype to use void *.
4496
* stage2/char_io.c (grub_memmove): Define likewise.
4498
2000-05-30 Gordon Matzigkeit <gord@fig.org>
4500
* docs/user-ref.texi (Stage2 errors): Update error messages.
4502
2000-05-29 Pavel Roskin <pavel_roskin@geocities.com>
4504
* util/grub-install.in: Fix a typo that prevented error messages
4506
Copy and remove files individually and exit with an error as
4508
Show $log_file if --debug was given on the command line.
4510
2000-04-19 Gordon Matzigkeit <gord@fig.org>
4512
* stage2/cmdline.c (enter_cmdline): Don't give errors on empty
4515
* stage2/common.c (err_list): Clean up wordings slightly.
4517
2000-05-29 OKUJI Yoshinori <okuji@gnu.org>
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.
4528
2000-05-28 OKUJI Yoshinori <okuji@gnu.org>
4530
* stage2/asm.S (codestart): Fix a typo: DISKLESS_SUPPORT ->
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
4536
* stage2/shared.h (STACKOFF): Enclosed with parentheses.
4537
(PROTSTACKINIT): Likewise.
4539
2000-05-27 OKUJI Yoshinori <okuji@gnu.org>
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
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
4553
(noinst_DATA) [DISKLESS_SUPPORT]: Added nbloader, pxeloader and
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
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
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.
4590
2000-05-25 OKUJI Yoshinori <okuji@gnu.org>
4592
* netboot/fsys_tftp.c (buf_fill): Warn when amazing things
4594
(tftp_dir): Revert previous change. Don't use TFTP_MIN_PACKET
4595
but calculate the appropriate length.
4597
2000-05-23 OKUJI Yoshinori <okuji@gnu.org>
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.
4603
2000-05-22 OKUJI Yoshinori <okuji@gnu.org>
4605
Synchronize the documentation with the code.
4607
* docs/user-ref.texi: Added ReiserFS as a supported filesystem.
4608
Updated the descriptions about `password', `install', `kernel',
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.
4616
2000-05-21 OKUJI Yoshinori <okuji@gnu.org>
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.
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.
4634
2000-05-21 Chip Salzenberg <chip@valinux.com>
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
4641
2000-05-17 OKUJI Yoshinori <okuji@gnu.org>
4643
Update the network support to Etherboot-4.6.1.
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.
4654
2000-05-13 OKUJI Yoshinori <okuji@gnu.org>
4656
* util/grub-install.in: If the program `cp' fails, exit with the
4657
status code 1. Suggested by Pavel Roskin.
4659
2000-05-13 OKUJI Yoshinori <okuji@gnu.org>
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.
4666
2000-05-05 OKUJI Yoshinori <okuji@gnu.org>
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
4673
2000-05-05 OKUJI Yoshinori <okuji@gnu.org>
4675
Ignore any memory holes when passing the maximum memory address
4676
to non-Multiboot kernels (i.e. Linux and *BSD).
4678
* stage2/common.c [!STAGE1_5] (extended_memory): New global
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.
4693
2000-04-30 OKUJI Yoshinori <okuji@gnu.org>
4695
* stage1/stage1.S (message): Use lodsb instead of incw and movb.
4696
From Andrew Clausen <clausen@gnu.org>.
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
4702
2000-04-29 OKUJI Yoshinori <okuji@gnu.org>
4704
* stage2/builtins.c (setup_func): Use SECTOR_BITS instead of
4705
SECTOR_SIZE to compute BLOCKSIZE.
4707
2000-04-26 OKUJI Yoshinori <okuji@gnu.org>
4709
* netboot/depca.c: Copied from Etherboot-4.6.0.
4711
2000-04-23 OKUJI Yoshinori <okuji@gnu.org>
4713
More security-related features.
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
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
4738
2000-04-23 OKUJI Yoshinori <okuji@gnu.org>
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.
4744
2000-04-22 OKUJI Yoshinori <okuji@gnu.org>
4746
Update the network support to Etherboot 4.5.8.
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.
4760
* netboot/Makefile.am (libdrivers_a_SOURCES): Removed
4761
byteorder.h, if.h, netboot_config.h and netdevice.h, and added
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
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.
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.
4813
* netboot/config.c: Updated to Etherboot-4.5.8 and modified (see
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,
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 ...
4834
(osocket): Renamed to ...
4836
(bcounter): New variable.
4837
(buf_fill): When checking the block order, see BCOUNTER as well
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.
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.
4859
* netboot/osdep.h: Copied and modified (see below).
4860
[GRUB] (ETHERBOOT32): Used the same definition as Linux and
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".
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.
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.
4887
2000-02-29 Jochen Hoenicke <jochen@gnu.org>
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
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.
4899
2000-04-18 Pavel Roskin <pavel_roskin@geocities.com>
4901
* util/grub-install.in: Don't use `!' in `test' for more
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.
4912
2000-04-17 OKUJI Yoshinori <okuji@gnu.org>
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.
4918
* stage1/stage1.S (force_lba): New variable.
4919
(stage2_address): Moved forwards, to align some variables in
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
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
4947
(builtin_install): Added description about `--force-lba' into
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
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
4965
* configure.in (--disable-lba-support-bitmap): Removed.
4967
2000-04-15 OKUJI Yoshinori <okuji@gnu.org>
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>.
4973
2000-04-15 Jochen Hoenicke <jochen@gnu.org>
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
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.
4996
* stage2/builtins.c (embed_func): Call open_device instead of
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.
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
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 +
5017
(grub_close) [!NO_BLOCK_FILES]: If BLOCK_FILE is non-zero,
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
5024
2000-04-12 OKUJI Yoshinori <okuji@gnu.org>
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
5030
2000-04-10 OKUJI Yoshinori <okuji@gnu.org>
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>.
5036
2000-04-09 OKUJI Yoshinori <okuji@gnu.org>
5038
* stage1/depcomp: Removed, because it makes `make dist'
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*
5045
2000-04-05 OKUJI Yoshinori <okuji@gnu.org>
5047
* stage2/builtins.c (kernel_func): Added missing ``size''
5048
arguments into `grub_memcmp's. Reported by Christoph Plattner
5049
<christoph.plattner@dot.at>.
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>
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.
5065
* stage2/boot.c (load_initrd): Subtract 0x1000 (one page size)
5066
from MOVETO, to avoid a Linux 2.3.xx's bug.
5068
2000-04-03 OKUJI Yoshinori <okuji@gnu.org>
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.
5074
* stage2/boot.c (load_image): Added an optional argument
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
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.
5104
2000-04-03 OKUJI Yoshinori <okuji@gnu.org>
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
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.
5116
* grub/asmstub.c (init_device_map): Change the message
5117
"Probe devices..." to "Probing devices...". Suggested by Neal H
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>.
5126
2000-04-02 OKUJI Yoshinori <okuji@gnu.org>
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.
5132
2000-04-02 OKUJI Yoshinori <okuji@gnu.org>
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.").
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
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.
5159
2000-03-27 OKUJI Yoshinori <okuji@gnu.org>
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.
5166
2000-03-20 OKUJI Yoshinori <okuji@gnu.org>
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.
5178
2000-03-15 OKUJI Yoshinori <okuji@gnu.org>
5180
* netboot/Makefile.am (EXTRA_libdrivers_a_SOURCES): 3c89x0.h ->
5181
cs89x0.h. Just a typo.
5183
2000-03-10 Gordon Matzigkeit <gord@fig.org>
5185
* debian/rules: Strip mbchk.
5187
* debian/postinst: Fix up /usr/doc symlink creation.
5189
2000-03-01 OKUJI Yoshinori <okuji@gnu.org>
5191
* netboot/fsys_tftp.c (tftp_dir): Add BUF_READ into FILEMAX
5192
after BUF_EOF becomes non-zero. Reported by Per Lundberg.
5194
2000-03-01 OKUJI Yoshinori <okuji@gnu.org>
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>.
5200
2000-02-29 OKUJI Yoshinori <okuji@gnu.org>
5202
* grub/asmstub.c [__linux__]: Include <linux/kdev_t.h> for the
5203
macro MAJOR. From Kalle Olavi Niemitalo <tosi@ees2.oulu.fi>.
5205
2000-02-27 OKUJI Yoshinori <okuji@gnu.org>
5207
* docs/tutorial.texi (Network): New chapter.
5209
2000-02-26 OKUJI Yoshinori <okuji@gnu.org>
5211
* docs/help2man: Upgraded to 1.020.
5212
* docs/grub.8: Regenerated.
5213
* docs/grub-install.8: Likewise.
5214
* docs/mbchk.1: Likewise.
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.
5221
2000-02-25 OKUJI Yoshinori <okuji@gnu.org>
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.
5232
2000-02-24 OKUJI Yoshinori <okuji@gnu.org>
5234
* stage2/disk_io.c [!STAGE1_5] (print_fsys_type): Mask
5235
CURRENT_SLICE with 0xFF when printing the partition type.
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.
5242
2000-02-21 OKUJI Yoshinori <okuji@gnu.org>
5244
* stage2/disk_io.c (check_BSD_parts) [!STAGE1_5]: Use the term
5245
"BSD sub-partition" instead of "BSD slice" for consistency.
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
5256
(chain_stage2): Likewise.
5257
* grub/asmstub.c (chain_stage1): Adjusted to the prototype.
5258
(chain_stage2): Likewise.
5260
2000-02-21 OKUJI Yoshinori <okuji@gnu.org>
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.
5266
2000-02-20 OKUJI Yoshinori <okuji@gnu.org>
5268
* docs/user-ref.texi (Command-line-specific commands): Added a
5269
description about "cmp".
5270
* docs/appendices.texi (Reporting bugs): Rewritten.
5272
2000-02-20 OKUJI Yoshinori <okuji@gnu.org>
5274
Update the netboot code to Etherboot 4.4.3.
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.
5290
2000-02-19 OKUJI Yoshinori <okuji@gnu.org>
5292
* stage2/builtins.c (cmp_func): New function.
5293
(builtin_cmp): New variable.
5294
(builtin_table): Added a pointer to BUILTIN_CMP.
5296
* stage2/fsys_fat.c (fat_mount): Check if BPB.SECTS_PER_CLUST is
5297
zero after reading the BPB to avoid zero division.
5299
2000-02-18 OKUJI Yoshinori <okuji@gnu.org>
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.
5306
* netboot/3c59x.c: Removed.
5307
* netboot/Makefile.am (EXTRA_libdrivers_a_SOURCES): Deleted
5309
(3c59x_drivers): Deleted.
5310
(3c59x_o_CFLAGS): Likewise.
5311
* configure.in (--enable-3c59x): Likewise.
5313
2000-02-17 OKUJI Yoshinori <okuji@gnu.org>
5315
* configure.in (--enable-3c90x): Add -DINCLUDE_3C90X=1 instead
5316
of -DINCLUDE_3C90x=1. This was just a typo. Reported by Per
5319
2000-02-17 Jochen Hoenicke <jochen@gnu.org>
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.
5326
2000-02-16 Jochen Hoenicke <jochen@gnu.org>
5328
* stage2/char_io.c (grub_isspace): Make carriage return a white
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.
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
5342
* stage2/Makefile.am: Compile fat_stage1_5 with
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.
5362
2000-02-16 OKUJI Yoshinori <okuji@gnu.org>
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
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,
5385
* stage2/shared.h (boot_part_addr): Declared.
5386
(boot_part_offset): Likewise.
5388
2000-02-12 OKUJI Yoshinori <okuji@gnu.org>
5390
* stage2/builtins.c (geometry_func): Attempt to read the first
5391
sector to examine if LBA mode is really supported.
5393
* netboot/fsys_tftp.c (buf_fill) [TFTP_DEBUG]: Added some debug
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
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
5410
* netboot/main.c (print_network_configuration): The order of the
5411
arguments for grub_sprintf in the local function sprint_ip_addr
5414
* configure.in (--enable-packet_retransmission): Renamed to ...
5415
(--disable-packet-retransmission): ... this. Assume that a
5416
network is congested by default.
5418
2000-02-11 OKUJI Yoshinori <okuji@gnu.org>
5421
* stage2/shared.h [!GRUB_SHARED_HEADER] (GRUB_SHARED_HEADER):
5423
[GRUB_SHARED_HEADER]: Don't declare or define anything.
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.
5433
* netboot/config.c (eth_probe): Clear ARPTABLE after clearing
5435
* stage2/builtins.c (bootp_func): Call
5436
print_network_configuration if bootp succeeds.
5437
(rarp_func): Call print_network_configuration if rarp succeeds.
5439
2000-02-11 OKUJI Yoshinori <okuji@gnu.org>
5441
From Per Lundberg <plundis@byggdok.se>:
5442
* docs/multiboot.texi: Added graphics support.
5444
2000-02-10 OKUJI Yoshinori <okuji@gnu.org>
5446
* docs/multiboot.texi (Top): Downgrade the version to 0.6.90,
5447
since we need more work to release it as 0.7.
5449
2000-02-10 OKUJI Yoshinori <okuji@gnu.org>
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
5461
* docs/user-ref.texi (General Commands): Added descriptions
5462
about "bootp", "dhcp" and "rarp".
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.
5470
2000-02-09 OKUJI Yoshinori <okuji@gnu.org>
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.
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.
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.
5502
2000-02-08 OKUJI Yoshinori <okuji@gnu.org>
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>.
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
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.
5517
2000-02-07 OKUJI Yoshinori <okuji@gnu.org>
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
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
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.
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
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.
5592
* netboot/3c59x.c: Include etherboot.h instead netboot.h.
5593
* netboot/config.c: Copied from Etherboot and added the 3c59x
5595
* netboot/pci.h: Likewise.
5596
* netboot/fsys_tftp.c: Entirely rewritten based on main.c in
5599
* netboot/io.h: Removed.
5600
* netboot/ip.h: Likewise.
5601
* netboot/ip.c: Likewise.
5602
* netboot/netboot.h: Likewise.
5604
* netboot/Makefile.am (INCLUDES): Added -I$(top_srcdir)/stage2.
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.
5655
* stage2/char_io.c (nul_terminate): Changed the type of the
5656
return value to int. Return the original character changed to
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.
5664
2000-02-07 OKUJI Yoshinori <okuji@gnu.org>
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>.
5670
2000-02-03 OKUJI Yoshinori <okuji@gnu.org>
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>.
5679
* configure.in: Use AC_PATH_TOOL instead of AC_PATH_PROG.
5680
* stage2/asm.S (chain_stage1): Prepend `*' to the argument for
5682
(chain_stage2): Likewise.
5683
(big_linux_boot): Likewise.
5685
2000-01-19 OKUJI Yoshinori <okuji@gnu.org>
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.
5693
* docs/appendices.texi (FAQ): Added an item about the sucked
5696
2000-01-15 OKUJI Yoshinori <okuji@gnu.org>
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.
5705
2000-01-11 OKUJI Yoshinori <okuji@gnu.org>
5707
* docs/prog-ref.texi (LBA mode disk I/O): Added a footnote about
5710
2000-01-11 OKUJI Yoshinori <okuji@gnu.org>
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
5716
2000-01-10 OKUJI Yoshinori <okuji@gnu.org>
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>.
5724
* util/grub-install.in: Handle the new options `--root' and
5726
(rootdir): New variable.
5727
(usage): Print the help messages about the options --root and
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
5734
* docs/user-ref.texi (Invoking grub-install): Added the
5735
descriptions about --root and --grub-shell.
5736
* docs/grub-install.8: Regenerated.
5738
2000-01-08 OKUJI Yoshinori <okuji@gnu.org>
5740
* util/grub-install.in (grubdir_device): New variable.
5741
If GRUBDIR_DEVICE is not equal to ROOT_DEVICE, print an error
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.
5748
2000-01-05 OKUJI Yoshinori <okuji@gnu.org>
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.
5769
2000-01-03 OKUJI Yoshinori <okuji@gnu.org>
5771
* docs/multiboot.texi (Boot information format): Added the
5772
descriptions about the fields "config_table" and
5775
1999-12-31 OKUJI Yoshinori <okuji@gnu.org>
5777
* stage2/builtins.c (setup_func) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
5778
Specify the option `d', whether INSTALL_DRIVE is identical with
5780
* docs/user-ref.texi (Command-line-specific commands): Added a
5781
caution about buggy BIOSes which don't pass a booting drive
5784
* docs/src2texi: Added an extra space into the first line, for
5785
the portability issue.
5787
* docs/appendices.texi (Obtaining and Building GRUB): Update the
5788
information on the ftp site and the CVS repository.
5790
1999-12-30 OKUJI Yoshinori <okuji@gnu.org>
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".
5798
1999-12-30 OKUJI Yoshinori <okuji@gnu.org>
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.
5807
* docs/grub.texi: Use a single direntry command for all the
5808
entries instead of one per entry.
5810
1999-12-29 OKUJI Yoshinori <okuji@gnu.org>
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.
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.
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>.
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>.
5829
1999-12-06 Gordon Matzigkeit <gord@fig.org>
5831
* README (DEVELOPERS): Change CVS location to subversions.
5833
1999-11-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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>.
5840
1999-11-19 Gordon Matzigkeit <gord@fig.org>
5842
* grub/asmstub.c (getkey): Stop immediately if we get an EOF.
5844
* stage2/stage2.c (cmain): Tell enter_cmdline to run forever.
5845
(run_menu): Tell print_cmdline_message and enter_cmdline that we
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.
5853
1999-11-18 Gordon Matzigkeit <gord@fig.org>
5855
* debian/rules (binary-arch): Don't strip or generate shared
5856
library dependencies for /usr/sbin/grub-install, since it's a
5859
* util/grub-install.in: Create safe temporary log files using
5860
/bin/tempfile if it is executable.
5862
1999-11-17 Gordon Matzigkeit <gord@fig.org>
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.
5869
1999-11-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
5882
1999-11-19 Pavel Roskin <pavel_roskin@geocities.com>
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".
5891
1999-11-18 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
5901
1999-11-16 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
5908
1999-11-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
5918
1999-11-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
5921
* stage1/stage1.S (lba_mode): Jump to chs_mode if INT 13 AH=42h
5924
1999-11-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
5926
Do not use the device map file unless --device-map is specified.
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.
5936
1999-11-11 Michael Hohmuth <hohmuth@innocent.com>
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).
5946
1999-11-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
5959
* stage2/asm.S [!STAGE1_5] (currticks): Set %eax to %cx:%dx
5960
correctly. Reported by Michael Hohmuth.
5962
1999-11-06 Klaus Reichl <Klaus.Reichl@alcatel.at>
5964
* grub/asmstub.c (get_diskinfo) [__linux__]: After opening the
5965
drive, flush the cache, other progs may have left over something
5968
1999-11-03 Gordon Matzigkeit <gord@fig.org>
5970
* debian/rules: Add variables for cross-compilation.
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.
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.
5984
1999-11-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
5986
* grub/asmstub.c (grub_putchar) [HAVE_LIBCURSES]: Do not call
5987
wrefresh. This was just an accident. Sorry.
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
5993
(find_func): Clear ERRNUM before each of the attempts.
5995
1999-11-05 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6001
1999-11-03 Gordon Matzigkeit <gord@fig.org>
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.
6007
1999-10-30 Gordon Matzigkeit <gord@fig.org>
6009
* debian/rules (binary-arch): Compress man pages.
6010
Strip the grub shell.
6013
1999-11-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6020
1999-11-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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>.
6027
* stage2/builtins.c (device_func) [GRUB_UTIL]: Call
6028
nul_terminate before calling check_device.
6030
1999-11-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
6037
* stage2/builtins.c (color_func): Use the function
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
6050
* stage2/char_io.c [!STAGE1_5] (nul_terminate): New function.
6051
* stage2/shared.h (nul_terminate): Declared.
6053
1999-11-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6055
* docs/grub.texi: Add "I/O ports detection" into the menu.
6056
* docs/user-ref.texi: Added a description about the command
6058
* docs/prog-ref.texi (I/O ports detection): New chapter.
6060
1999-11-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6063
* stage2/asm.S (int1_handler): Use EXT_C(io_map) instead of
6065
(int1_handler): Use EXT_C(bios_key_map) instead of bios_key_map.
6066
* grub/asmstub.c [__OpenBSD__]: Include <sys/ioctl.h> and
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.
6074
1999-10-31 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6081
1999-10-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6103
1999-10-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
6110
(enter_cmdline): Clear ERRNUM after print_error.
6112
1999-10-28 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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.
6140
1999-10-28 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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.
6164
1999-10-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
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
6188
* stage2/shared.h (KEY_MAP_SIZE): Set to 32.
6190
(bios_key_map): Declared.
6192
1999-10-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6194
Now the BIOS drive remapping is functional.
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
6211
(drive_map): 4bytes-aligned.
6212
* stage2/disk_io.c (grub_close): Do not set ERRNUM even if
6213
FSYS_TYPE is NUM_FSYS.
6215
1999-10-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
6223
1999-10-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6231
1999-10-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6233
Add the prototype of a function to probe I/O ports used for a
6236
* stage2/asm.S [DEFINE_TRACK_INT13] (track_int13): New function.
6237
[DEFINE_TRACK_INT13] (int1_handler): New interrupt handler for
6239
[DEFINE_TRACK_INT13] (int3_handler): Likewise.
6240
[DEFINE_TRACK_INT13] (io_map): New variable.
6242
* stage2/builtins.c (quit_func) [!GRUB_UTIL]: Fix a typo.
6244
1999-10-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6246
The new GRUB manual becomes official.
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).
6254
1999-10-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6267
1999-10-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
6275
(Basic usage): Use @option instead of @code.
6276
(Invoking mbchk): Likewise.
6278
1999-10-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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
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
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.
6306
1999-10-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6308
From Michael Hohmuth <hohmuth@innocent.com>:
6309
* acconfig.h (HAVE_USCORE_USCORE_BSS_START_SYMBOL): Added the
6311
(HAVE_EDATA_SYMBOL): Likewise.
6312
(HAVE_USCORE_EDATA_SYMBOL): Likewise.
6313
* acinclude.m4 (grub_CHECK_USCORE_USCORE_BSS_START_SYMBOL): New
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.
6351
* stage2/asm.S (main): Clean out the bss.
6353
1999-10-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6361
1999-10-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6363
* docs/prog-ref.texi: New file.
6364
* docs/appendices.texi: Likewise.
6365
* docs/Makefile.am (UNFINISHED_MANUALS): Added prog-ref.texi and
6368
1999-10-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6370
* docs/user-ref.texi: New file.
6371
* docs/Makefile.am (UNFINISHED_MANUALS): Added user-red.texi.
6373
1999-10-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6375
Add BIOS drive remapping support for chain-loading some foolish
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
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.
6397
1999-10-20 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6406
1999-10-20 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6408
* stage2/char_io.c (memcheck): Fix the checks: "<=" -> "<".
6409
Reported by Mike Hicks <hick0088@umn.edu>.
6411
1999-10-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6423
1999-10-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6425
* docs/Makefile.am (UNFINISHED_MANUALS): New variable.
6426
(EXTRA_DIST): Added $(UNFINISHED_MANUALS).
6427
* docs/new-grub.texi: New file.
6429
1999-10-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6435
1999-10-18 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6443
1999-10-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6445
* docs/Makefile.am (.texi): Canceled because the dependecies can
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.
6450
1999-10-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6452
* stage2/boot.c (load_initrd): Change types of *RAMDISK and
6453
MOVETO to unsigned long.
6454
Apply the macro RAW_ADDR to MOVETO.
6456
1999-10-16 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6458
* docs/multiboot.texi: Include the example source files of a
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.
6476
1999-09-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6484
1999-09-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6486
* multiboot.texi: Rename Multiboot Standard to Multiboot
6487
Specification and upgrade the version to 0.7. Many cleanups
6490
1999-10-15 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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.
6502
1999-10-14 Pavel Roskin <pavel_roskin@geocities.com>
6504
* configure.in: Check for opendisk in libutil.
6505
* grub/asmstub.c [__FreeBSD__ || __NetBSD__]: Include
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
6514
1999-10-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
6534
* stage2/shared.h [GRUB_UTIL] (device_map_file): Declared.
6535
* docs/grub.8: Regenerated.
6537
1999-10-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
6550
* docs/menu.lst: Add examples of "fallback" and "color".
6552
1999-10-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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
6564
* stage2/shared.h (grub_strncat): Declared.
6566
* stage2/Makefile.am (stage2_size.h): ../stage2/stage2 ->
6567
pre_stage2. Reported by Pavel Roskin.
6569
1999-10-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6577
1999-10-10 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6589
1999-10-09 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6591
Stage1 supports both the CHS mode and the LBA mode.
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)
6621
(noinst_PROGRAMS): Removed stage2.exec, and added start.exec and
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.
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 ...
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
6656
1999-10-08 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
6667
(grub_ASM_ADDR32): Likewise.
6668
(grub_ASM_PREFIX_REQUIREMENT): Likewise.
6669
(grub_PROG_OBJCOPY_ABSOLUTE): Use CC instead of LD.
6671
1999-10-04 Pavel Roskin <pavel_roskin@geocities.com>
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.
6676
1999-10-04 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6679
* docs/grub.texi: Fix typos.
6680
* stage2/builtins.c (install_func): Reformat the warning message
6681
about the option `d'.
6683
1999-10-03 Gordon Matzigkeit <gord@fig.org>
6685
* stage2/builtins.c (install_func): Fix check for the Stage 2 id.
6688
* debian/Makefile.am (EXTRA_DIST): Add postinst and prerm.
6690
1999-10-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6692
* stage2/builtins.c (boot_func): Pass MBI.CMDLINE instead of ARG
6695
1999-10-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
6702
1999-10-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
6707
* docs/grub.texi (Command line): List the available key
6709
(Commands): Added descriptions about "geometry", "device" and
6712
1999-10-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6714
Now it is possible to build the grub shell with old BSD curses.
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.
6720
1999-09-30 Pavel Roskin <pavel_roskin@geocities.com>
6722
* stage2/disk_io.c (set_bootdev): Mask 0x7F instead of 0x79 of
6725
1999-10-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6727
* configure.in (--without-curses): New option. If WITH_CURSES is
6728
no, do not check for curses.
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
6734
Reported by Pavel Roskin.
6736
1999-09-30 Gordon Matzigkeit <gord@fig.org>
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.
6743
* stage2/cmdline.c (skip_to): Restructure, and count tabs as
6745
(find_command): Likewise.
6747
1999-09-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
6762
1999-09-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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.
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
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.
6789
1999-09-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6797
* stage2/disk_io.c (set_device) [!STAGE1_5]: Use RESULT instead
6798
of RETVAL to check if the analysis succeeds.
6800
1999-09-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6824
1999-09-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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):
6831
* stage2/builtins.c (install_func): When installing Stage 1.5,
6832
if set_device returns NULL, then set CURRENT_DRIVE to 0xFF and
6835
1999-09-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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
6852
1999-09-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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.
6878
1999-09-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6880
* acinclude.m4 (grub_CHECK_END_SYMBOL): Add a missing
6881
double-quote. Reported by Johannes Kroeger
6882
<hanne@squirrel.owl.de>.
6884
1999-09-14 Gordon Matzigkeit <gord@fig.org>
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.
6894
1999-09-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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>.
6902
1999-09-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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.
6932
1999-09-23 Pavel Roskin <pavel_roskin@geocities.com>
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
6939
1999-09-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6945
1999-09-20 Edmund GRIMLEY EVANS <edmundo@rano.demon.co.uk>
6947
* netboot/3c59x.c: INCLUDE_3c59x is replaced by INCLUDE_3C59X
6949
* netboot/config.c: Likewise.
6950
* netboot/io.h (__INS): New macro.
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,
6960
* netboot/pci.h (PCI_VENDOR_ID_VORTEX): New macro.
6961
(PCI_DEVICE_ID_VORTEX_3c595): Likewise. Defined as a random
6964
1999-09-20 Edward Killips <ekillips@triton.net>
6966
* stage2/disk_io.c (set_partition_hidden_flag): Set/clear the
6967
hidden flag, whether the hidden flag is set or not.
6969
1999-09-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
6976
1999-09-20 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6978
The argument ADDR for the command install is now optional.
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
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
6995
1999-09-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
6997
The completion code is heavily modified.
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
7011
(check_BSD_parts) [!STAGE1_5]: If DO_COMPLETION is non-zero, do
7013
(real_open_partition) [!STAGE1_5]: Likewise.
7014
[!STAGE1_5] (print_fsys_type): Likewise.
7015
[!STAGE1_5] (print_a_completion): The argument FILENAME is
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
7026
If IS_FILENAME is zero, then complete builtin commands and
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.
7040
1999-09-19 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7042
* acinclude.m4 (grub_ASM_PREFIX_REQUIREMENT): Do not call
7043
AC_DEFINE_UNQUOTEs within AC_CACHE_VAL. Define ADDR32 and DATA32
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.
7054
1999-09-17 Pavel Roskin <pavel_roskin@geocities.com>
7056
* acconfig.h (ADDR32): Removed. This entry is automatically
7057
created by autoheader.
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
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
7070
(MSG): Use ABS(x) instead of x.
7071
* stage2/asm.S (putchar): Renamed to ...
7072
(grub_putchar): ... this.
7074
1999-09-18 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7082
1999-09-18 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
7103
[GRUB_UTIL && HAVE_USCORE_START_SYMBOL]: The function start_addr
7105
[GRUB_UTIL && HAVE_END_SYMBOL]: The function end_addr returns
7107
[GRUB_UTIL && HAVE_USCORE_END_SYMBOL]: The function end_addr
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
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.
7118
1999-09-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7129
1999-09-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7131
Killing, yanking and manipulating the history are supported.
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
7154
In the case where C-u or C-k is pressed, copy the string being
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
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.
7165
1999-09-15 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7172
1999-09-15 Pavel Roskin <pavel_roskin@geocities.com>
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
7184
* stage1/stage1_lba.S: Likewise.
7186
1999-09-15 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7196
1999-09-14 Pavel Roskin <pavel_roskin@geocities.com>
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.
7201
1999-09-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7203
Now the grub shell works fine on FreeBSD. A patch by Pavel
7204
Roskin is modified and applied.
7206
* grub/asmstub.c (get_drive_geometry): New function.
7207
(get_diskinfo): Use get_drive_geometry to set the geometry of
7210
1999-09-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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
7236
* stage2/char_io.c (grub_sprintf): Added parenthesises to avoid
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".
7243
1999-09-13 Edmund GRIMLEY EVANS <edmundo@rano.demon.co.uk>
7245
The netboot support in the Dresden version of GRUB is integrated.
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
7273
(sane_partition) [!STAGE1_5]: If CURRENT_DRIVE is a network
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.
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.
7316
1999-09-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7326
1999-09-13 Pavel Roskin <pavel_roskin@geocities.com>
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.
7333
1999-09-11 Pavel Roskin <pavel_roskin@geocities.com>
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.
7344
1999-09-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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>.
7351
1999-09-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7357
1999-09-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7365
* stage2/builtins.c (geometry_func) [GRUB_UTIL]: Copy the
7366
modified geometry to GEOM and reset BUF_DRIVE. Reported by Pavel
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
7381
(get_floppy_disk_name): New function.
7382
(get_ide_disk_name): Likewise.
7383
(get_scsi_disk_name): Likewise.
7385
1999-09-10 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7396
1999-09-09 Gordon Matzigkeit <gord@fig.org>
7398
* docs/grub.texi (Commands): Synchronize descriptions with
7401
* stage2/builtins.c (hide_func): Use set_partition_hidden_flag.
7402
(unhide_func): Likewise.
7403
Many help message cleanups. From Pavel Roskin.
7405
* stage2/shared.h (set_partition_hidden_flag): Declare.
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
7412
1999-09-10 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7420
1999-09-08 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
7426
* stage2/cmdline.c (run_script): If ERRNUM is non-zero, wait an
7427
input character, whether FALLBACK is less than zero or not.
7429
1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7431
* stage2/builtins.c (configfile_func): New function.
7432
(builtin_configfile): New variable.
7433
(builtin_table): Added the pointer to BUILTIN_CONFIGFILE.
7435
1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7450
1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7452
* stage2/builtins.c (testload_func): Fix the typos: 0x2000000 ->
7453
0x200000 and 0x3000000 -> 0x300000.
7455
1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7465
1999-09-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7487
1999-09-05 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7489
The internal of the command handling is heavily modified, and
7490
a new command "help" is added.
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
7505
(fallback): Deleted.
7506
(password): 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.
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
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
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.
7569
1999-09-04 Pavel Roskin <pavel_roskin@geocities.com>
7571
* docs/menu.lst: More meaningful examples. Not using (0x80,0)
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
7579
* stage2/gunzip.c [NO_DECOMPRESSION]: Disable all code if
7580
decompression is disabled.
7582
1999-09-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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>.
7587
1999-09-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7589
* docs/help2man: Upgraded to 1.013.
7590
* docs/grub.8: Regenerated.
7592
1999-09-02 Pavel Roskin <pavel_roskin@geocities.com>
7594
* stage2/cmdline.c (enter_cmdline) [GRUB_UTIL]: Add a space in
7595
the LBA warning message.
7597
1999-09-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7599
The character `=' after a command is now optional.
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.
7610
1999-09-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7617
1999-08-31 Pavel Roskin <pavel_roskin@geocities.com>
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
7623
1999-08-31 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7625
* stage2/fsys_fat.c (fat_create_blocklist): Cast FAT_BUF to
7626
unsigned short * instead of unsigned long *. Suggested by Pavel
7629
1999-08-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7638
1999-08-29 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
7646
(minix_dir): Use NAMELEN instead of MINIX_NAME_LEN.
7648
1999-08-29 Pavel Roskin <pavel_roslin@geocities.com>
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.
7654
1999-08-29 Pavel Roskin <pavel_roskin@geocities.com>
7656
* stage2/fsys_fat.c (fat_create_blocklist): Return 1 for the
7657
root directory on FAT12 and FAT16.
7659
1999-08-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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.
7674
1999-08-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7682
1999-08-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7706
1999-08-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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.
7731
1999-08-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
7739
1999-08-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7741
Pavel Roskin's patch that adds new options to disable arbitrary
7742
filesystems is heavily modified and applied.
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@.
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.
7760
1999-08-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7768
1999-08-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
7773
* stage2/cmdline.c (enter_cmdline) [GRUB_UTIL]: In the command
7774
"geometry", print the device file name instead of CHS/LBA
7776
* stage2/shared.h (device_map): Declared.
7777
* grub/asmstub.c (device_map): Defined as a global variable
7778
instead of a local variable.
7780
1999-08-10 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7782
Support the NetBSD and OpenBSD partition slices.
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
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
7802
1999-08-09 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7808
1999-08-09 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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>.
7814
1999-08-08 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7822
* stage2/stage2.c (run_menu) [GRUB_UTIL]: Quit when pushing the
7825
1999-08-05 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7833
1999-08-05 Pavel Roskin <pavel_roskin@geocities.com>
7835
* stage2/boot.c (load_image): Use RAW_ADDR macro when loading
7838
1999-08-04 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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".
7844
1999-08-04 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7846
* boot.c (load_image): Fix a strcmp test. Reported by Pavel
7847
Roskin <pavel_roskin@geocities.com>.
7849
1999-08-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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,
7861
1999-07-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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.
7873
1999-07-30 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
7879
1999-07-15 Gordon Matzigkeit <gord@zen.fig.org>
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.
7884
1999-07-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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>.
7890
* grub/main.c (main): Call printf instead of grub_printf.
7891
Reported by Klaus Reichl <a8709182@unet.univie.ac.at>.
7893
1999-07-15 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7895
* stage2/cmdline.c (skip_to): Don't increase CMDLINE if the
7896
character to which CMDLINE points is NUL.
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.
7910
1999-07-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7912
The function ungetch is simulated so that the user can use a
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.
7921
1999-07-14 Pavel Roskin <pavel_roskin@geocities.com>
7923
* stage2/char_io.c (get_cmdline) [GRUB_UTIL]: Recognize
7924
backspace when ncurses fails to do this.
7926
* grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: Call wtimeout
7928
(getkey) [HAVE_LIBCURSES]: Likewise.
7930
1999-07-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7932
* stage1/stage1_lba.S (probe_values): New variable. This is not
7933
used actually, but prevents `install' command from failing
7936
1999-07-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7938
All constants in stage1s are moved to stage1.h and renamed
7939
appropriately, and include stage1.h instead.
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.
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
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
7985
* stage1/stage1_lba.S: Fix a bug that incorrectly assigns the
7986
segment of buffer address.
7988
1999-07-13 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7990
* stage2/boot.c (load_image): When removing "vga=...", memmove
7991
the length of VGA_END plus one.
7993
1999-07-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
7995
* stage2/bios.c (get_diskinfo): In LBA mode, compute
7996
TOTAL_SECTORS from DRP instead of GEOMETRY.
7997
Clear GEOMETRY->FLAGS first.
7999
* stage2/boot.c (load_image): Fix inverted lines.
8001
1999-07-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8003
Support Linux video mode selection.
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.
8014
1999-07-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8016
* stage2/char_io.c (print_error): Print ERRNUM in the format of
8018
(convert_to_ascii) [STAGE1_5]: Eliminate the `x' and `d'
8020
(grub_printf): Declare FORMAT as `const char *'.
8021
(grub_printf) [STAGE1_5]: Eliminate the `x' and `d' handling
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
8035
* stage2/shared.h (grub_printf) : Corrected.
8036
(grub_strncat): Likewise.
8037
(grub_memmove): Likewise.
8038
(grub_strstr): Likewise.
8039
(grub_strcmp): Likewise.
8041
1999-07-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8043
* stage1/stage1.S (sectors): Change the size to long.
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
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.
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.
8065
1999-06-28 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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>.
8071
1999-06-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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.
8090
1999-06-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8092
* configure.in (CFLAGS): Set to "-g", since only this flag is
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@.
8105
* stage2/asm.S (chain_stage2): Pass CURRENT_PARTITION and
8106
CURRENT_DRIVE, instead of INSTALL_PARTITION and BOOT_DRIVE.
8108
1999-06-27 Pavel Roskin <pavel_roskin@geocities.com>
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
8115
1999-06-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
8121
1999-06-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
8129
* docs/grub.8: Regenerated.
8131
1999-06-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8133
Build process is cleaned up. Stage 2 and Stage 1.5's are all
8134
built in the directory stage2.
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.
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).
8240
(INCLUDES): Likewise.
8241
(stage2_exec_LDADD): Likewise.
8242
(DEP_FILES): Likewise.
8243
(stage2_exec_SOURCES): Set to the actual source files instead of
8245
(DISTFILES): Deleted.
8246
(stage2.exec): Likewise.
8248
(@SHARED_SRC_RULES@): Likewise.
8249
(noinst_PROGRAMS): Set to executable formats of Stage 2 and
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.
8268
* stage2/size_test: New file, for checking for the sizes of
8269
Stage 2 and Stage 1.5's.
8271
1999-06-24 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8273
* stage1/stage1.S: Call testb instead of andb when checking if
8274
the drive is a floppy.
8276
1999-06-23 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
8282
* grub/main.c (main): Call sync first. Suggested by Pavel Roskin
8283
<pavel_roskin@geocities.com>.
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
8298
(opt_section): New variable.
8299
(section): Likewise.
8300
* docs/grub.8: Produced by help2man automatically.
8302
1999-06-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8304
* shared_src/char_io.c (get_cmdline): Add two missing `break's.
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
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.
8322
1999-06-22 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8324
* shared_src/Makefile.am (EXTRA_DIST): Add bios.c. Reported by
8325
Pavel Roskin <pavel_roskin@geocities.com>.
8327
1999-06-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8329
* docs/Makefile.am (html): Deleted.
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.
8346
1999-06-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
8353
* shared_src/bios.c (biosdisk): Clear the reserved member of DAP.
8355
1999-06-08 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8357
Color-menu support based on Peter Astrand
8358
<altic@lysator.liu.se>'s patch.
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
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
8377
1999-06-07 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8379
* e2fs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 31744.
8380
* fat_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Likewise.
8382
1999-06-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8384
The debug version of Stage 2 is removed.
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"
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
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.
8409
1999-06-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
8421
* shared_src/shared.h (verbose) [GRUB_UTIL]: Declared.
8422
(read_only) [GRUB_UTIL]: Likewise.
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
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.
8434
* shared_src/disk_io.c (set_device) [STAGE1_5]: Eliminate
8437
1999-06-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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
8446
(get_diskinfo): Treat -1 as non-caching state instead of 0.
8448
1999-06-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
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
8474
1999-05-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8476
* grub/asmstub.c (grub_stage2): Fix a memory leak that FP is
8479
1999-05-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8481
* grub/main.c: Replace OPT_DISABLE_CONFIG_FILE and
8482
OPT_DISABLE_CURSES with OPT_NO_CONFIG_FILE and OPT_NO_CURSES
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.
8491
1999-05-21 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8493
* docs/TODO: Moved to ...
8495
* docs/BUGS: Moved to ...
8497
* docs/COPYING: Removed.
8498
* docs/Makefile.am (EXTRA_DIST): Get rid of BUGS.
8499
* Makefile.am (EXTRA_DIST): Set to BUGS.
8501
1999-05-17 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8503
* acinclude.m4 (grub_ASM_EXT_C): Do not overrun the command
8504
shift. Reported by Pavel Roskin <pabel_roskin@geocities.com>.
8506
1999-05-14 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8508
* docs/Makefile.am (info_TEXINFOS): Added multiboot.texi.
8509
* docs/multiboot.texi: New file. From Kunihiro Ishiguro.
8511
1999-05-12 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8513
* grub/asmstub.c: Include <errno.h>. Reported by Kunihiro
8514
Ishiguro <kunihiro@zebra.org>.
8516
1999-05-11 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
8528
* grub/asmstub.c (nread): New function. Handle EINTR.
8530
(biosdisk) [I_AM_VERY_BRAVE]: When SUBFUNC is BIOSDISK_WRITE, call
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.
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.
8545
1999-05-03 Gordon Matzigkeit <gord@trick.fig.org>
8548
* shared_src/shared.h: Redeclare.
8550
* grub/main.c (main): Use strncpy rather than pointer assignment
8551
to set the config file name.
8553
* grub/asmstub.c: Make config_file a static array, not a pointer.
8554
Correct the value of VERSION_STRING.
8556
1999-04-10 Gordon Matzigkeit <gord@trick.fig.org>
8558
* debian/rules (build): Install into /lib instead of /share.
8560
1999-05-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8562
Preliminary non-interactive use support.
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,
8571
(usage): Print the help messages about these new options.
8572
(main): Handle them.
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.
8585
* shared_src/cmdline.c (enter_cmdline): Do not use getc, but use
8588
* shared_src/stage2.c (cmain) [GRUB_UTIL]: Check if USE_CONFIG_FILE
8591
* shared_src/shared.h (getc): Removed.
8592
(use_config_file) [GRUB_UTIL]: Add the declaration.
8593
(use_curses) [GRUB_UTIL]: Likewise.
8595
1999-05-02 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8597
* shared_src/asm.S (biosdisk_standard): Pop %ebp correctly, reported
8598
by Pavel Roskin <pavel_roskin@geocities.com>.
8600
1999-04-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8602
* docs/menu.lst: Rewritten, so that it contains up-to-date
8603
information and FAQish configuration examples.
8605
1999-04-09 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8607
* shared_src/asm.S (get_diskinfo_floppy): Correct the number of heads
8608
and the one of cylinders.
8610
1999-04-06 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8612
* grub/asmstub.c (get_diskinfo): Compute the total number of sectors
8615
* shared_src/asm.S (get_diskinfo_standard): Clear the data segment
8616
after calling int 0x13. Restore the base pointer after returning
8618
(get_diskinfo_floppy): Likewise.
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.
8623
1999-04-03 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
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.
8633
* shared_src/disk_io.c (real_open_partition): Set PART_LENGTH to
8634
BUF_GEOM.TOTAL_SECTORS.
8636
1999-04-01 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8638
* docs/texinfo.tex: Copied from automake-1.4a.
8640
* configure.in (SHARED_SRC_RULES): Add bios into shared sources.
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.
8648
* shared_src/Makefile.am (EXTRA_DIST): Added bios.c.
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.
8659
* shared_src/bios.c: New file.
8661
* shared_src/shared.h (struct geometry): Added new member,
8664
1999-03-28 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8666
* shared_src/stage2.c (print_entries): Correctly assign MENU_ENTRIES
8667
the entries starting from FIRST.
8669
1999-03-27 Gordon Matzigkeit <gord@trick.fig.org>
8671
* Change everything to use memset and memmove instead of bzero and
8672
bcopy. GNB's Not BSD.
8674
* shared_src/shared.h (grub_memset): Adapted from grub_bzero.
8675
(grub_memmove): Adapted from grub_bcopy.
8677
* grub/asmstub.c (checkkey): Fix unterminated comment.
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.
8687
From Bradford Hovinen:
8688
* shared_src/char_io.c (get_cmdline): Add new argument to hide
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.
8697
* grub/main.c (usage): Display defaults for stage2 options.
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.
8704
1999-03-27 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8706
* grub/asmstub.c (set_attrib): Use inch and addch, instead of
8707
chgat, because chgat doesn't work as expected.
8709
1999-03-26 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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.
8715
Use file descriptors instead of file pointers to support
8716
>4GB disks in Linux.
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.
8723
Add options so that the user can specify the config file.
8725
* grub/Makefile.am (CPPFLAGS): Use -fwritable-strings, because
8726
grub assumes that all strings resides at the data section.
8728
* grub/main.c: Define NO_REMAPPING_LIBC_FUNCTIONS before including
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
8735
(usage): Add the documentation for them.
8736
(main): Add handling code for OPT_CONFIG_FILE, OPT_INSTALL_PARTITION
8739
* grub/asmstub.c: Define NO_REMAPPING_LIBC_FUNCTIONS before including
8741
(config_file): Make it char * instead of char [].
8742
(getrtsecs): Return current time instead of 0xff.
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.
8749
1999-03-25 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
8751
* char_io.c (get_cmdline): Call cl_setcpos even if lpos == llen,
8752
because ncurses won't update the cursor position.
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.
8759
1999-03-22 Gordon Matzigkeit <gord@trick.fig.org>
8761
* shared_src/cmdline.c (enter_cmdline): Check the return value of
8762
set_device in the `root' command.
8764
* shared_src/char_io.c (memcheck): Special-case cur_part_desc and
8765
reenable memory checking.
8767
1999-03-21 Gordon Matzigkeit <gord@trick.fig.org>
8769
* shared_src/boot.c (load_image): Make sure we use the mapped
8770
address before actually writing data to memaddr.
8772
* shared_src/char_io.c (get_cmdline): Only zero-terminate if there
8773
were leading blanks. This prevents accidental truncation of
8776
* grub/asmstub.c (get_diskinfo): Cache device geometries as well
8778
Use the Linux HDIO_GETGEO ioctl to make a better guess at hard
8781
1999-03-16 Gordon Matzigkeit <gord@trick.fig.org>
8783
* shared_src/shared.h (geometry_t): Delete typedef, until we
8786
1999-03-16 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
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
8796
* shared_src/disk_io.c (buf_geom): Declare as struct geometry.
8797
* shared_src/filesys.h (SECTORS): Deleted.
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.
8806
1999-03-15 Gordon Matzigkeit <gord@trick.fig.org>
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.
8812
1999-03-14 Gordon Matzigkeit <gord@trick.fig.org>
8814
* shared_src/stage2.c (run_menu): Use A_REVERSE and A_NORMAL
8815
constants instead of magic numbers.
8817
* shared_src/shared.h (A_REVERSE): Renamed from ATTR_INVERSE for
8818
compatibility with curses.
8819
(A_NORMAL): Renamed from ATTR_NORMAL.
8821
* shared_src/cmdline.c (enter_cmdline): Change prompt to "grub> ".
8822
(enter_cmdline): Only abort the boot if we are in a script.
8824
* shared_src/stage2.c (run_menu): Change prompts to "grub edit> ".
8826
* shared_src/char_io.c (memcheck): Use RAW_ADDR to compute memory
8828
(get_cmdline): Change the `goto next line' code to account for
8829
newlines deleting to end of line under curses.
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.
8835
* configure.in (CPPFLAGS): Bump up GCC warnings to -Wall
8836
-Wmissing-prototypes -Wunused.
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
8844
* grub/asmstub.c: Fill in more stubs.
8846
1999-03-13 Gordon Matzigkeit <gord@trick.fig.org>
8848
* shared_src/gunzip.c (border): Rename to bitorder, to resolve
8850
* shared_src/stage2.c (timeout): Rename to grub_timeout.
8852
* configure.in: Check for curses libraries for use with
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.
8861
* shared_src/asm.S (asm_getkey): Renamed to getkey.
8863
* shared_src/char_io.c (getkey): Delete, because it's useless.
8865
* shared_src/shared.h: Resolve name clashes with libc by renaming
8866
overlapping functions to have grub_ prefixes, then defining
8869
* grub/asmstub.c (start_stage2): Make some assertions about our
8870
scratch memory area.
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.
8876
* grub/asmstub.c (get_mem_map): Implement, simulating 4MB
8878
(get_code_end): Implement, simulating with a malloced area.
8879
grub/asmstub.c (start_stage2): Initialize grub_scratch_mem.
8881
* shared_src/asm.S (get_mem_map): Some BIOSes expect the high word
8883
(get_code_end): Move this from common.c so that we can stub it out
8886
* debian/rules: Make sure info files end up in /usr/info, not
8889
1999-03-10 Gordon Matzigkeit <gord@trick.fig.org>
8891
* shared_src/asm.S (biosdisk): Make LBA mode work correctly. From
8893
Unconditionally define NO_INT13_FALLBACK until we release GRUB
8894
0.6. This will help debug any problems with the LBA support until
8897
1999-03-09 Gordon Matzigkeit <gord@trick.fig.org>
8899
* shared_src/asm.S (biosdisk): Compute location of
8900
disk_address_packet correctly. From OKUJI Yoshinori.
8902
1999-03-08 Gordon Matzigkeit <gord@trick.fig.org>
8904
* docs/grub.texi: New Texinfo documentation.
8906
* shared_src/disk_io.c (set_device): First stab at interpreting
8907
Mach-style partition naming.
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.
8912
* shared_src/cmdline.c (enter_cmdline): Return nonzero, and avoid
8913
the fallback command if we did an install.
8915
* shared_src/asm.S (_start): New explicit symbol to supress
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.
8930
1999-03-07 Gordon Matzigkeit <gord@trick.fig.org>
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.
8941
* shared_src/disk_inode.h: Fix typo: i_ic shouldn't be defined.
8943
* shared_src/fsys_ffs.c (block_map): Make static, since this
8944
function isn't used outside of its defining file.
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.
8951
1999-03-05 Gordon Matzigkeit <gord@trick.fig.org>
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.
8956
* shared_src/common.c (err_list): Change description of ERR_GEOM
8957
to be more informative.
8959
* Makefile.am (configure): Depend on debian/changelog.
8961
* configure.in (host_cpu): Make all fully i386-compatible CPUs be
8963
(AM_INIT_AUTOMAKE): Fetch values for PACKAGE and VERSION from
8964
debian/changelog, so that we only have one file to update.
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.
8973
* configure.in: Make sure $(host_cpu) and $(host_vendor) are
8974
substituted into the Makefile.
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.
8984
1999-03-03 Gordon Matzigkeit <gord@trick.fig.org>
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.
8991
1999-03-02 Gordon Matzigkeit <gord@trick.fig.org>
8993
* shared_src/disk_io.c (make_saved_active): Use BIOSDISK_READ and
8996
* shared_src/cmdline.c (enter_cmdline): Use BIOSDISK_WRITE.
8998
* shared_src/shared.h (BIOSDISK_SUBFUNC_READ,
8999
BIOSDISK_SUBFUNC_WRITE): Delete constants.
9001
* shared_src/asm.S (biosdisk): Change subfunc argument to be
9004
* configure.in: Drop redundant AC_PROG_INSTALL. From OKUJI
9007
1999-03-01 Gordon Matzigkeit <gord@trick.fig.org>
9009
* debian/rules (binary-arch): Properly install README.debian.
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.
9015
* debian/rules (binary-arch): Remove empty /sbin directory until
9016
/sbin/grub is installed. Use $(DESTDIR) instead of $(prefix) to
9019
* shared_src/asm.S (version_string): Set the version string from
9020
the VERSION specified in configure.in.
9022
* Change all Makefiles into Makefile.ams. Many major build
9023
environment changes to get Automake/Autoconf working nicely.
9025
1999-02-28 Gordon Matzigkeit <gord@trick.fig.org>
9027
* NEWS: Moved from docs/NEWS.
9029
* configure.in, acinclude.m4: New files for Autoconf. From OKUJI
9032
* AUTHORS, INSTALL: New files.
9034
1999-02-24 Gordon Matzigkeit <gord@trick.fig.org>
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).
9039
* Run GNU Indent on */*.[ch].
9041
1999-02-21 Gordon Matzigkeit <gord@trick.fig.org>
9043
* debian: Add to the distribution, since we maintain the GRUB
9044
Debian package ourselves.
9046
* grub/asmstub.c: New file to implement stubbed assembly functions
9049
* stage1/Makefile: Delete spurious dependencies on Makefile.
9050
* stage2/Makefile: Likewise.
9051
* stage2_debug/Makefile: Likewise.
9052
* grub/Makefile: Likewise.
9054
* shared_src/fsys_ext2fs.c (ext2fs_dir): Follow symbolic links
9055
rather than giving an error.
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.
9061
* shared_src/common.c (err_list): Add ERR_SYMLINK_LOOP.
9062
* shared_src/shared.h: Likewise.
9064
* shared_src/char_io.c (bcopy): Don't make any assumptions about
9065
the length of an unsigned long.
9067
* grub/Makefile: Treat CFLAGS, CPPFLAGS, LDFLAGS according to
9069
* stage2/Makefile: Likewise.
9070
* e2fs_stage1_5/Makefile: Likewise.
9071
* fat_stage1_5/Makefile: Likewise.
9072
* ffs_stage1_5/Makefile: Likewise.
9074
1999-02-20 Gordon Matzigkeit <gord@trick.fig.org>
9076
* docs/index.html: Rename to grub.html, so that we don't hide
9077
files in this directory from a web browser.
9079
1999-02-15 Gordon Matzigkeit <gord@trick.fig.org>
9081
* Makefile.end (PROGS): Add grub.
9083
* grub/main.c: New file.
9085
* grub/Makefile: New directory to contain the stage2 Unix program.
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.
9093
* shared_src/shared.h: Delete strcmp, declare substring.
9095
* shared_src/char_io.c (strcmp): Rename to `substring', because
9096
this function doesn't behave the same as libc's strcmp.
9098
1999-02-14 Gordon Matzigkeit <gord@trick.fig.org>
9100
* shared_src/shared.h: (addr32, data32): Delete definitions.
9102
* stage1/stage1.S: Modify to use GAS's new .code16 semantics.
9103
shared_src/asm.S: Likewise.
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
9112
* shared_src/shared.h: Add some assertions to check that buffer
9113
addresses are properly defined.
9115
1999-02-12 Gordon Matzigkeit <gord@trick.fig.org>
9117
* shared_src/stage2.c (run_menu): Pause if we failed to boot both
9118
the default and fallback entries.
9120
* configure: Check to make sure that GAS actually honors .code16
9123
1999-02-02 Gordon Matzigkeit <gord@trick.fig.org>
9125
* shared_src/asm.S: Fix typo that called interrupt 0xd (decimal
9126
13) instead of 0x13.
9128
1999-01-31 Gordon Matzigkeit <gord@trick.fig.org>
9130
* e2fs_stage1_5/Makefile: Avoid gratuitous dependencies on
9132
* fat_stage1_5/Makefile: Likewise.
9133
* ffs_stage1_5/Makefile: Likewise.
9135
* Makefile.end (PROGS): Add e2fs_stage1_5, fat_stage1_5, and
9137
(distclean): New GNU standard rule.
9139
1998-10-23 Gordon Matzigkeit <gord@trick.fig.org>
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.
9145
* shared_src/disk_io.c (print_fsys_type): Always print the
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