ChangeLog revision 1b8adde7ba7d5e04395c141c5400dc2cffd7d809
842ae4bd224140319ae7feec1872b93dfd491143fielding2004-10-11 Jason Thomas <jason@staff.pnc.com.au>
842ae4bd224140319ae7feec1872b93dfd491143fielding Patch from Stefanus Du Toit <sjdutoit@uwaterloo.ca>
842ae4bd224140319ae7feec1872b93dfd491143fielding * docs/kernel.c.texi (cmain): Incremement mod by one, instead of
842ae4bd224140319ae7feec1872b93dfd491143fielding sizeof(module_t), since it's already a pointer of type module_t.
842ae4bd224140319ae7feec1872b93dfd491143fielding * docs/kernel.c (cmain): Do the same.
2d2eda71267231c2526be701fe655db125852c1ffielding2004-09-20 Yoshinori K. Okuji <okuji@enbug.org>
2d2eda71267231c2526be701fe655db125852c1ffielding * docs/internals.texi (Internals): Changed to an appendix.
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd * docs/grub.texi (@setchapternewpage): Changed to odd from off.
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd (@contents): Moved to the beginning.
ce9621257ef9e54c1bbe5ad8a5f445a1f211c2dcnd (Future): Changed to an appendix.
2d2eda71267231c2526be701fe655db125852c1ffielding2004-08-17 Yoshinori K. Okuji <okuji@enbug.org>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh * stage2/cmdline.c (run_script): Fix a reversed conditional.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh Reported by Alban Crequy <alban.crequy@apinc.org>.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh2004-08-07 Jason Thomas <jason@staff.pnc.com.au>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh From Michael Hohnbaum <hohnbaum@us.ibm.com>:
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh * stage2/fsys_ext2fs.c (ext2fs_read): Handle sparse files.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh2004-07-24 Yoshinori K. Okuji <okuji@enbug.org>
2d2eda71267231c2526be701fe655db125852c1ffielding * stage2/stage2.c (cmain): Terminate DEFAULT_FILE with NUL
2d2eda71267231c2526be701fe655db125852c1ffielding correctly. Reported by Alban Crequy <alban.crequy@apinc.org>.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein2004-07-21 Robert Millan <robertmh@gnu.org>
91a9b0a5d1aa9614c3d3361a66ebf570b5d0319cbrianp Patch from David Weinehall <tao@debian.org>
750d12c59545dbbac70390988de94f7e901b08f2niq * util/mkbimage: Fix XSI-isms (for supporting POSIX-only shells).
cccd31fa4a72fe23cc3249c06db181b274a55a69gstein2004-07-20 Robert Millan <robertmh@gnu.org>
31dcba758e3bed3258cbcb1de687c003ddb360c4pquerna * util/grub-install.in: Detect GNU/k*BSD systems as well.
cccd31fa4a72fe23cc3249c06db181b274a55a69gstein2004-07-16 Yoshinori K. Okuji <okuji@enbug.org>
cccd31fa4a72fe23cc3249c06db181b274a55a69gstein * util/grub-install.in (convert): Fix the sed statement for
cccd31fa4a72fe23cc3249c06db181b274a55a69gstein Linux. The expression was ambigious in some cases.
2d2eda71267231c2526be701fe655db125852c1ffielding2004-06-29 Robert Millan <robertmh@gnu.org>
2d2eda71267231c2526be701fe655db125852c1ffielding * util/grub-set-default.in: Fix minor syntax error (non-escaped
2d2eda71267231c2526be701fe655db125852c1ffielding characters).
2d2eda71267231c2526be701fe655db125852c1ffielding2004-06-24 Robert Millan <robertmh@gnu.org>
2d2eda71267231c2526be701fe655db125852c1ffielding Fixes for FHS compliance. (/usr/share is for arch-independant data)
2d2eda71267231c2526be701fe655db125852c1ffielding * stage1/Makefile.am: Move stage files to pkglibdir.
2d2eda71267231c2526be701fe655db125852c1ffielding * util/grub-image.in: Look for stage files in pkglibdir.
2d2eda71267231c2526be701fe655db125852c1ffielding * util/grub-install.in: Improve usage message.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh2004-06-20 Yoshinori K. Okuji <okuji@enbug.org>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh This is a big change on saving a default entry. This change
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh makes it possible to set up a quite robust system using GRUB.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh Now we do not use the second sector of Stage 2 to store an
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh entry number but use the file /boot/grub/default. This file
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh must be generated by grub-set-default, although this file is
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh plain-text.
2d2eda71267231c2526be701fe655db125852c1ffielding * util/grub-install.in (grub_set_default): New variable.
28c1248e01240900c762bf6aaa27c514a1454713jorton Use /grub instead of /boot/grub on OpenBSD as well as NetBSD.
2d2eda71267231c2526be701fe655db125852c1ffielding Run grub-set-default to make a default file.
2d2eda71267231c2526be701fe655db125852c1ffielding * util/Makefile.am (sbin_SCRIPTS): Added grub-set-default.
2d2eda71267231c2526be701fe655db125852c1ffielding * stage2/stage2.c (run_menu): Change the fallback handling to
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh support multiple fallback entries.
2d2eda71267231c2526be701fe655db125852c1ffielding (cmain): Likewise. Also, get a saved entry from a default file
28c1248e01240900c762bf6aaa27c514a1454713jorton if possible, before reading a config file.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh * stage2/shared.h (DEFAULT_FILE_BUF): New macro.
2d2eda71267231c2526be701fe655db125852c1ffielding (DEFAULT_FILE_BUFLEN): Likewise.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (CMDLINE_BUF): Set to DEFAULT_FILE_BUF + DEFAULT_FILE_BUFLEN.
2d2eda71267231c2526be701fe655db125852c1ffielding (MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - MENU_BUF.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (fallback_entry): Removed.
28c1248e01240900c762bf6aaa27c514a1454713jorton (fallback_entries): Declared.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (fallback_entryno): Likewise.
2d2eda71267231c2526be701fe655db125852c1ffielding (MAX_FALLBACK_ENTRIES): New macro.
742318b93e89c311f66b55f426c4d9cf2c14628bjim * stage2/cmdline.c (run_script): Use FALLBACK_ENTRYNO instead of
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh FALLBACK_ENTRY.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh * stage2/builtins.c (fallback_entry): Removed.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (fallback_entryno): New variable.
2d2eda71267231c2526be701fe655db125852c1ffielding (fallback_entries): Likewise.
2d2eda71267231c2526be701fe655db125852c1ffielding (init_config): Initialize FALLBACK_ENTRYNO and FALLBACK_ENTRIES.
2d2eda71267231c2526be701fe655db125852c1ffielding (fallback_func): Rewritten completely.
2d2eda71267231c2526be701fe655db125852c1ffielding (savedefault_func): Likewise.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh * docs/grub.texi (grub-set-default): New direntry.
2d2eda71267231c2526be701fe655db125852c1ffielding (Installation): Describe grub-set-default for manual
2d2eda71267231c2526be701fe655db125852c1ffielding installations.
2d2eda71267231c2526be701fe655db125852c1ffielding (Making your system robust): New section.
2d2eda71267231c2526be701fe655db125852c1ffielding (Booting once-only): New subsection.
2d2eda71267231c2526be701fe655db125852c1ffielding (Booting fallback systems): Likewise.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (fallback): Describe multiple fallback entries.
2d2eda71267231c2526be701fe655db125852c1ffielding (savedefault): Describe an optional argument.
2d2eda71267231c2526be701fe655db125852c1ffielding (Invoking grub-set-default): New chapter.
2d2eda71267231c2526be701fe655db125852c1ffielding (Future): Replaced with a description about GRUB 2.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh * configure.ac (AC_CONFIG_FILES): Added util/grub-set-default.
2d2eda71267231c2526be701fe655db125852c1ffielding2004-06-19 Yoshinori K. Okuji <okuji@enbug.org>
2d2eda71267231c2526be701fe655db125852c1ffielding * stage2/ufs2.h (int8_t): Renamed to ...
2d2eda71267231c2526be701fe655db125852c1ffielding (grub_uint8_t): ... this.
2d2eda71267231c2526be701fe655db125852c1ffielding (int16_t): Renamed to ...
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (grub_int16_t): ... this.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (int32_t): Renamed to ...
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes (grub_int32_t): ... this.
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes (int64_t): Renamed to ...
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes (grub_int64_t): ... this.
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes (uint8_t): Renamed to ...
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes (grub_uint8_t): ... this.
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes (uint16_t): Renamed to ...
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes (grub_uint16_t): ... this.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (uint32_t): Renamed to ...
da8a2fe58892003fc689a5f027e98677e9198d43rbb (grub_uint32_t): ... this.
bccb9a318593e2ca45ba26fd43f45a10c8a887acjwoolley (uint64_t): Renamed to ...
da8a2fe58892003fc689a5f027e98677e9198d43rbb (grub_uint64_t): ... this.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (u_char): Renamed to ...
c880637396a01f4acfcf7e35fe423ced2d86c3b4nd (grub_u_char): ... this.
c880637396a01f4acfcf7e35fe423ced2d86c3b4nd (u_int): Renamed to ...
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (grub_u_int): ... this.
c880637396a01f4acfcf7e35fe423ced2d86c3b4nd (u_int8_t): Renamed to ...
c880637396a01f4acfcf7e35fe423ced2d86c3b4nd (grub_u_int8_t): ... this.
337514a6db2f194f40400746891abd1ffcc1931crbb (u_int16_t): Renamed to ...
337514a6db2f194f40400746891abd1ffcc1931crbb (grub_u_int16_t): ... this.
337514a6db2f194f40400746891abd1ffcc1931crbb (u_int32_t): Renamed to ...
337514a6db2f194f40400746891abd1ffcc1931crbb (grub_u_int32_t): ... this.
337514a6db2f194f40400746891abd1ffcc1931crbb (u_int64_t): Renamed to ...
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein (grub_u_int64_t): ... this.
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein (ino_t): Renamed to ...
337514a6db2f194f40400746891abd1ffcc1931crbb (grub_ino_t): ... this.
337514a6db2f194f40400746891abd1ffcc1931crbb All callers are changed.
337514a6db2f194f40400746891abd1ffcc1931crbb2004-06-14 Jeroen Dekkers <jeroen@dekkers.cx>
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein * stage2/ufs2.h (__uint8_t): Remove.
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein (__uint16_t): Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb (__uint32_t): Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb (__uint64_t): Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb (ino_t): Typedef to uint32_t.
337514a6db2f194f40400746891abd1ffcc1931crbb2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein2005-05-08 Yoshinori K. Okuji <okuji@enbug.org>
337514a6db2f194f40400746891abd1ffcc1931crbb * configure.ac (AC_INIT): Upgraded to 0.97.
337514a6db2f194f40400746891abd1ffcc1931crbb * compile: Copied from Automake 1.9.4.
337514a6db2f194f40400746891abd1ffcc1931crbb * config.guess: Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb * config.sub: Likewise.
346029f34d03eb20d84fc35664426d3874b00f9ewrowe * depcomp: Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb * install-sh: Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb * missing: Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb * mkinstalldirs: Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb * mdate-sh: Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb2005-05-08 Yoshinori K. Okuji <okuji@enbug.org>
337514a6db2f194f40400746891abd1ffcc1931crbb * stage2/fsys_xfs.c (next_dentry): Use arrays of arrays instead of
337514a6db2f194f40400746891abd1ffcc1931crbb arrays of pointers for USUAL, to avoid read-only strings. Reported
742318b93e89c311f66b55f426c4d9cf2c14628bjim by Sven Wegener <swegener@gentoo.org>.
346029f34d03eb20d84fc35664426d3874b00f9ewrowe2005-03-28 Yoshinori K. Okuji <okuji@enbug.org>
928f342270fd8ca02a36f484072d35063121171ftrawick * lib/device.c (get_drive_geometry): Use ST.ST_SIZE instead of
337514a6db2f194f40400746891abd1ffcc1931crbb ST.ST_BLOCKS to get the total number of sectors, because st_blocks
337514a6db2f194f40400746891abd1ffcc1931crbb is not the same if it is a sparse file.
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
337514a6db2f194f40400746891abd1ffcc1931crbb * stage2/stage2.c (cmain): Initialize DEFAULT_FILE to an empty
337514a6db2f194f40400746891abd1ffcc1931crbb string. Reported by NATORI Shin <natori@adm.s.u-tokyo.ac.jp>.
337514a6db2f194f40400746891abd1ffcc1931crbb2005-03-15 Yoshinori K. Okuji <okuji@enbug.org>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe * stage2/fsys_fat.c (fat_mount): Ignore the 3rd bit of a media
2d2eda71267231c2526be701fe655db125852c1ffielding descriptor, because some BIOSes overwrite this value, according
2d2eda71267231c2526be701fe655db125852c1ffielding to the storage mode (e.g. USB Floppy or USB HDD).
2d2eda71267231c2526be701fe655db125852c1ffielding2005-02-16 Yoshinori K. Okuji <okuji@enbug.org>
337514a6db2f194f40400746891abd1ffcc1931crbb * grub/asmstub.c (grub_stage2): Remove the attribute `volatile'
337514a6db2f194f40400746891abd1ffcc1931crbb from doit. I hope this change is safe for all compilers.
337514a6db2f194f40400746891abd1ffcc1931crbb2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
337514a6db2f194f40400746891abd1ffcc1931crbb * stage2/builtins.c (install_func): If DEST_DRIVE is a hard
3d96ee83babeec32482c9082c9426340cee8c44dwrowe disk, enable the workaround in Stage 1 by replacing the jmp
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein with double nop's.
337514a6db2f194f40400746891abd1ffcc1931crbb * stage1/stage1.h (STAGE1_BOOT_DRIVE_CHECK): New macro.
337514a6db2f194f40400746891abd1ffcc1931crbb (STAGE1_BOOT_DRIVE_MASK): Removed.
337514a6db2f194f40400746891abd1ffcc1931crbb * stage1/stage1.S (boot_drive_check): New label. This implements
3d96ee83babeec32482c9082c9426340cee8c44dwrowe a different workaround for buggy BIOSes which don't pass boot
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein drive correctly. This is effective for BIOSes which pass a value
9c78f8d71737dfbbbf4da2f9acb397567a10e88bsf without the seventh bit (0x80).
9c78f8d71737dfbbbf4da2f9acb397567a10e88bsf (boot_drive_mask): Removed.
9c78f8d71737dfbbbf4da2f9acb397567a10e88bsf2005-02-03 Yoshinori K. Okuji <okuji@enbug.org>
9c78f8d71737dfbbbf4da2f9acb397567a10e88bsf * grub/asmstub.c (console_current_color): Make it global as
9c78f8d71737dfbbbf4da2f9acb397567a10e88bsf (grub_stage2): Tweak the declaration and the definition of the
9c78f8d71737dfbbbf4da2f9acb397567a10e88bsf nested function doit.
337514a6db2f194f40400746891abd1ffcc1931crbb2005-02-02 Yoshinori K. Okuji <okuji@enbug.org>
337514a6db2f194f40400746891abd1ffcc1931crbb * stage2/smp-imps.h (imps_any_new_apics): Removed.
337514a6db2f194f40400746891abd1ffcc1931crbb (imps_enabled): Likewise.
c21ddeacdc8bb17fe61b9e2d7d1fa6f2f7e40d84dreid (imps_lapic_addr): Likewise.
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein (imps_num_cpus): Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb (imps_cpu_apic_map): Likewise.
742318b93e89c311f66b55f426c4d9cf2c14628bjim (imps_apic_cpu_map): Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb * stage2/Makefile.am (libgrub_a_CFLAGS): Remove
337514a6db2f194f40400746891abd1ffcc1931crbb -fwritable-strings. Not required for the grub shell actually.
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein * grub/Makefile.am (AM_CFLAGS): Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb2005-02-01 Yoshinori K. Okuji <okuji@enbug.org>
337514a6db2f194f40400746891abd1ffcc1931crbb * grub/asmstub.c (grub_stage2): Use auto instead of static for
337514a6db2f194f40400746891abd1ffcc1931crbb nested functions.
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein * stage2/char_io.c (memcheck) [GRUB_UTIL]: Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb * stage2/builtins.c (blocklist_func): Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb (color_func): Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb (install_func): Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb (setkey_func): Likewise.
337514a6db2f194f40400746891abd1ffcc1931crbb * lib/device.c (read_device_map): Likewise.
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein2005-01-30 Yoshinori K. Okuji <okuji@enbug.org>
a8c55845ffa7170766e410dbd799353127b628f9nd * configure.ac (AC_INIT): Upgraded to 0.96.
c880637396a01f4acfcf7e35fe423ced2d86c3b4nd2004-10-11 Jason Thomas <jason@staff.pnc.com.au>
a8c55845ffa7170766e410dbd799353127b628f9nd Patch from Stefanus Du Toit <sjdutoit@uwaterloo.ca>
c880637396a01f4acfcf7e35fe423ced2d86c3b4nd * docs/kernel.c.texi (cmain): Incremement mod by one, instead of
337514a6db2f194f40400746891abd1ffcc1931crbb sizeof(module_t), since it's already a pointer of type module_t.
337514a6db2f194f40400746891abd1ffcc1931crbb * docs/kernel.c (cmain): Do the same.
337514a6db2f194f40400746891abd1ffcc1931crbb2004-09-20 Yoshinori K. Okuji <okuji@enbug.org>
3d96ee83babeec32482c9082c9426340cee8c44dwrowe * docs/internals.texi (Internals): Changed to an appendix.
3d96ee83babeec32482c9082c9426340cee8c44dwrowe * docs/grub.texi (@setchapternewpage): Changed to odd from off.
2d2eda71267231c2526be701fe655db125852c1ffielding (@contents): Moved to the beginning.
2d2eda71267231c2526be701fe655db125852c1ffielding (Future): Changed to an appendix.
2d2eda71267231c2526be701fe655db125852c1ffielding2004-08-17 Yoshinori K. Okuji <okuji@enbug.org>
2d2eda71267231c2526be701fe655db125852c1ffielding * stage2/cmdline.c (run_script): Fix a reversed conditional.
2d2eda71267231c2526be701fe655db125852c1ffielding Reported by Alban Crequy <alban.crequy@apinc.org>.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh2004-08-07 Jason Thomas <jason@staff.pnc.com.au>
337514a6db2f194f40400746891abd1ffcc1931crbb From Michael Hohnbaum <hohnbaum@us.ibm.com>:
742318b93e89c311f66b55f426c4d9cf2c14628bjim * stage2/fsys_ext2fs.c (ext2fs_read): Handle sparse files.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh2004-07-24 Yoshinori K. Okuji <okuji@enbug.org>
337514a6db2f194f40400746891abd1ffcc1931crbb * stage2/stage2.c (cmain): Terminate DEFAULT_FILE with NUL
62db15de4c1f335a64d45821796ae197cff94ef8rbb correctly. Reported by Alban Crequy <alban.crequy@apinc.org>.
2d2eda71267231c2526be701fe655db125852c1ffielding2004-07-21 Robert Millan <robertmh@gnu.org>
742318b93e89c311f66b55f426c4d9cf2c14628bjim Patch from David Weinehall <tao@debian.org>
337514a6db2f194f40400746891abd1ffcc1931crbb * util/mkbimage: Fix XSI-isms (for supporting POSIX-only shells).
337514a6db2f194f40400746891abd1ffcc1931crbb2004-07-20 Robert Millan <robertmh@gnu.org>
337514a6db2f194f40400746891abd1ffcc1931crbb * util/grub-install.in: Detect GNU/k*BSD systems as well.
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein2004-07-16 Yoshinori K. Okuji <okuji@enbug.org>
337514a6db2f194f40400746891abd1ffcc1931crbb * util/grub-install.in (convert): Fix the sed statement for
337514a6db2f194f40400746891abd1ffcc1931crbb Linux. The expression was ambigious in some cases.
337514a6db2f194f40400746891abd1ffcc1931crbb2004-06-29 Robert Millan <robertmh@gnu.org>
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein * util/grub-set-default.in: Fix minor syntax error (non-escaped
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes characters).
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes2004-06-24 Robert Millan <robertmh@gnu.org>
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes Fixes for FHS compliance. (/usr/share is for arch-independant data)
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes * stage1/Makefile.am: Move stage files to pkglibdir.
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes * util/grub-image.in: Look for stage files in pkglibdir.
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes * util/grub-install.in: Improve usage message.
2d2eda71267231c2526be701fe655db125852c1ffielding2004-06-20 Yoshinori K. Okuji <okuji@enbug.org>
2d2eda71267231c2526be701fe655db125852c1ffielding This is a big change on saving a default entry. This change
2d2eda71267231c2526be701fe655db125852c1ffielding makes it possible to set up a quite robust system using GRUB.
c032b37ad682c1da5382258811e8e35a8ec0d78dwrowe Now we do not use the second sector of Stage 2 to store an
2d2eda71267231c2526be701fe655db125852c1ffielding entry number but use the file /boot/grub/default. This file
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf must be generated by grub-set-default, although this file is
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf plain-text.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf * util/grub-install.in (grub_set_default): New variable.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf Use /grub instead of /boot/grub on OpenBSD as well as NetBSD.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf Run grub-set-default to make a default file.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf * util/Makefile.am (sbin_SCRIPTS): Added grub-set-default.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf * stage2/stage2.c (run_menu): Change the fallback handling to
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf support multiple fallback entries.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf (cmain): Likewise. Also, get a saved entry from a default file
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf if possible, before reading a config file.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf * stage2/shared.h (DEFAULT_FILE_BUF): New macro.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf (DEFAULT_FILE_BUFLEN): Likewise.
9bec939825399ac2816ea0d912d2e3c3b2ed91f4sf (CMDLINE_BUF): Set to DEFAULT_FILE_BUF + DEFAULT_FILE_BUFLEN.
9bec939825399ac2816ea0d912d2e3c3b2ed91f4sf (MENU_BUFLEN): Set to 0x8000 + PASSWORD_BUF - MENU_BUF.
9bec939825399ac2816ea0d912d2e3c3b2ed91f4sf (fallback_entry): Removed.
9bec939825399ac2816ea0d912d2e3c3b2ed91f4sf (fallback_entries): Declared.
9bec939825399ac2816ea0d912d2e3c3b2ed91f4sf (fallback_entryno): Likewise.
9bec939825399ac2816ea0d912d2e3c3b2ed91f4sf (MAX_FALLBACK_ENTRIES): New macro.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf * stage2/cmdline.c (run_script): Use FALLBACK_ENTRYNO instead of
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf FALLBACK_ENTRY.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf * stage2/builtins.c (fallback_entry): Removed.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf (fallback_entryno): New variable.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf (fallback_entries): Likewise.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf (init_config): Initialize FALLBACK_ENTRYNO and FALLBACK_ENTRIES.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf (fallback_func): Rewritten completely.
7184de27ec1d62a83c41cdeac0953ca9fd661e8csf (savedefault_func): Likewise.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh * docs/grub.texi (grub-set-default): New direntry.
742318b93e89c311f66b55f426c4d9cf2c14628bjim (Installation): Describe grub-set-default for manual
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh installations.
e7ef09295c8cb70f5c28b9b86367eb8c15bffdfegregames (Making your system robust): New section.
742318b93e89c311f66b55f426c4d9cf2c14628bjim (Booting once-only): New subsection.
1fb3394b4c26f8e295a9895cbd672a65bafbdc22trawick (Booting fallback systems): Likewise.
b980ad7fdc218b4855cde9f75a747527f50c554dwrowe (fallback): Describe multiple fallback entries.
7a2edaa0193cbb0d79a65a8461a609a9402aea49brianp (savedefault): Describe an optional argument.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (Invoking grub-set-default): New chapter.
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp (Future): Replaced with a description about GRUB 2.
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp * configure.ac (AC_CONFIG_FILES): Added util/grub-set-default.
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp2004-06-19 Yoshinori K. Okuji <okuji@enbug.org>
78b8e4dd910f03af0a602bc4b63ad7bc69868ee3sf * stage2/ufs2.h (int8_t): Renamed to ...
78b8e4dd910f03af0a602bc4b63ad7bc69868ee3sf (grub_uint8_t): ... this.
78b8e4dd910f03af0a602bc4b63ad7bc69868ee3sf (int16_t): Renamed to ...
78b8e4dd910f03af0a602bc4b63ad7bc69868ee3sf (grub_int16_t): ... this.
78b8e4dd910f03af0a602bc4b63ad7bc69868ee3sf (int32_t): Renamed to ...
78b8e4dd910f03af0a602bc4b63ad7bc69868ee3sf (grub_int32_t): ... this.
78b8e4dd910f03af0a602bc4b63ad7bc69868ee3sf (int64_t): Renamed to ...
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (grub_int64_t): ... this.
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (uint8_t): Renamed to ...
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (grub_uint8_t): ... this.
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (uint16_t): Renamed to ...
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (grub_uint16_t): ... this.
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (uint32_t): Renamed to ...
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (grub_uint32_t): ... this.
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (uint64_t): Renamed to ...
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (grub_uint64_t): ... this.
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (u_char): Renamed to ...
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (grub_u_char): ... this.
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (u_int): Renamed to ...
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (grub_u_int): ... this.
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (u_int8_t): Renamed to ...
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (grub_u_int8_t): ... this.
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (u_int16_t): Renamed to ...
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (grub_u_int16_t): ... this.
33510984c759eb3da154ceb0db9b75fa0031d3b4sf (u_int32_t): Renamed to ...
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (grub_u_int32_t): ... this.
b7d57cabc22d92e9ff6ab63202dda24f987b6a83gstein (u_int64_t): Renamed to ...
b7d57cabc22d92e9ff6ab63202dda24f987b6a83gstein (grub_u_int64_t): ... this.
b7d57cabc22d92e9ff6ab63202dda24f987b6a83gstein (ino_t): Renamed to ...
b7d57cabc22d92e9ff6ab63202dda24f987b6a83gstein (grub_ino_t): ... this.
b7d57cabc22d92e9ff6ab63202dda24f987b6a83gstein All callers are changed.
b7d57cabc22d92e9ff6ab63202dda24f987b6a83gstein2004-06-14 Jeroen Dekkers <jeroen@dekkers.cx>
1472e44fdcd32f00cd579bc2dde36deaa0f155datrawick * stage2/ufs2.h (__uint8_t): Remove.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (__uint16_t): Likewise.
b597281295360dba8ac57b7606c5f5c1ef2b69b0trawick (__uint32_t): Likewise.
b597281295360dba8ac57b7606c5f5c1ef2b69b0trawick (__uint64_t): Likewise.
e7ef09295c8cb70f5c28b9b86367eb8c15bffdfegregames (ino_t): Typedef to uint32_t.
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp2004-06-13 Yoshinori K. Okuji <okuji@enbug.org>
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp * configure.ac (AC_INIT): Upgraded to 0.95.
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf2004-05-23 Yoshinori K. Okuji <okuji@enbug.org>
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp * stage2/char_io.c (grub_isspace): Use a switch sentense instead
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp of an if sentense, because that reduces the size.
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp * lib/device.c (read_device_map): Change the max number of DRIVE
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp to 127 from 8. This was too strict.
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp * stage2/asm.S (stop_floppy): Call pusha and popa outside the
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp block of real mode code. Reported by Guillem Jover
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp <guillem@debian.org>.
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp2004-05-20 Damian Ivereigh <damian@cisco.com>
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp * netboot/main.c: Fixed bootp only code so that options
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp work properly. This fix is obvious when compared with the
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp2004-05-17 Pavel Roskin <proski@gnu.org>
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp * stage2/char_io.c (safe_parse_maxint): Disable for stage 1.5.
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp (grub_tolower): Disable for stage 1.5 except fat_stage1_5.
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp (grub_memcmp): Disable for stage 1.5 except iso9660_stage1_5.
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp2004-05-14 Yoshinori K. Okuji <okuji@enbug.org>
a2b181763cb35fd899feb4a436aeadaa80bf91eabrianp From Sergey Matveychuk <sem@ciam.ru>:
2d2eda71267231c2526be701fe655db125852c1ffielding * stage2/size_test: Added a check for ufs2_stage1_5.
acb0dcdb18c2593d9f5c01cb424b1dba2d372552niq * stage2/shared.h (STAGE2_ID_UFS2_STAGE1_5): New macro.
2d2eda71267231c2526be701fe655db125852c1ffielding [FSYS_UFS2] (STAGE2_ID): Set to STAGE2_ID_UFS2_STAGE1_5.
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar * stage2/filesys.h (FSYS_UFS2_NUM): New macro.
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar [FSYS_UFS2] (ufs2_mount): New prototype.
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar [FSYS_UFS2] (ufs2_read): Likewise.
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar [FSYS_UFS2] (ufs2_dir): Likewise.
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar [FSYS_UFS2] (ufs2_embed): Likewise.
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar (NUM_FSYS): Added FSYS_UFS2_NUM.
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar * stage2/disk_io.c (fsys_table): Added an ufs2 entry.
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar * stage2/builtins.c (setup_func): Added ufs2 into the
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar STAGE1_5_MAP.
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar * stage2/Makefile.am (libgrub_a_SOURCES): Added fsys_ufs2.c.
fec106c7688e279dfde4403bc3c935fec97c1d62sf (libgrub_a_CFLAGS): Added -DFSYS_UFS2=1.
fec106c7688e279dfde4403bc3c935fec97c1d62sf (pkgdata_DATA): Added ufs2_stage1_5.
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar (noinst_PROGRAMS): Added ufs2_stage1_5.exec.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (ufs2_stage1_5_exec_SOURCES): New variable.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (ufs2_stage1_5_exec_CFLAGS): Likewise.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh (ufs2_stage1_5_exec_CCASFLAGS): Likewise.
a4f1fcfd8a0dc1d6296d9f5a94b1ccb57b9492eadougm (ufs2_stage1_5_exec_LDFLAGS): Likewise.
a4f1fcfd8a0dc1d6296d9f5a94b1ccb57b9492eadougm * grub/Makefile.am (AM_CPPFLAGS): Added -DFSYS_ISO9660=1,
a4f1fcfd8a0dc1d6296d9f5a94b1ccb57b9492eadougm -DFSYS_JFS=1, -DFSYS_REISERFS=1, -DFSYS_UFS2=1, -DFSYS_VSTAFS=1,
a4f1fcfd8a0dc1d6296d9f5a94b1ccb57b9492eadougm -DFSYS_XFS=1, and -DUSE_MD5_PASSWORDS=1.
a4f1fcfd8a0dc1d6296d9f5a94b1ccb57b9492eadougm * configure.ac (--disable-ufs2): New option.
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh2004-05-10 Robert Millan <robertmh@gnu.org>
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh * lib/device.c: Mangle __FreeBSD_* macro usage to support
2d2eda71267231c2526be701fe655db125852c1ffielding kFreeBSD-based non-FreeBSD systems (i.e. GNU/kFreeBSD).
9d129b55f5a43abf43865c6b0eb6dd19bc22aba8ianh Implement runtime detection of version of kFreeBSD. Now if
2d2eda71267231c2526be701fe655db125852c1ffielding we build against kFreeBSD 5.x headers the GRUB shell will work on
2d2eda71267231c2526be701fe655db125852c1ffielding Replace `u_int_t' types with portable `unsigned int' and old
2d2eda71267231c2526be701fe655db125852c1ffielding reference to `geometry' structure to new `geom' one.
2d2eda71267231c2526be701fe655db125852c1ffielding * docs/menu.lst: Split GNU/kFreeBSD and GNU/kNetBSD as separate
2d2eda71267231c2526be701fe655db125852c1ffielding options than FreeBSD and NetBSD, respectively. There are minor
2d2eda71267231c2526be701fe655db125852c1ffielding differences now (different paths).
103a93c625bcde1a6a7a5155b64dcda36f612180pquerna2004-05-03 Pavel Roskin <proski@gnu.org>
2d2eda71267231c2526be701fe655db125852c1ffielding * stage2/char_io.c (convert_to_ascii): Remove "%b" support.
2d2eda71267231c2526be701fe655db125852c1ffielding It's non-standard and is not used anymore.
2d2eda71267231c2526be701fe655db125852c1ffielding (grub_printf): Likewise.
2d2eda71267231c2526be701fe655db125852c1ffielding2004-04-29 Robert Millan <robertmh@gnu.org>
1472e44fdcd32f00cd579bc2dde36deaa0f155datrawick From Yann Dirson <dirson@debian.org>:
1472e44fdcd32f00cd579bc2dde36deaa0f155datrawick * util/mkbimage: Misc syntax fixes.
2d2eda71267231c2526be701fe655db125852c1ffielding2004-04-29 Jeroen Dekkers <jeroen@dekkers.cx>
11e076839c8d5a82d55e710194d0daac51390dbdsf * stage2/char_io.c (grub_memcmp): Define for stage1.5 too.
11e076839c8d5a82d55e710194d0daac51390dbdsf * stage2/fsys_iso9660.c (iso9660_mount): Use memcmp() instead of
2d2eda71267231c2526be701fe655db125852c1ffielding __builtin_memcmp().
2d2eda71267231c2526be701fe655db125852c1ffielding (iso9660_dir): Likewise.
2d2eda71267231c2526be701fe655db125852c1ffielding2004-04-26 Christian Jones <chjones@aleph0.com>
2d2eda71267231c2526be701fe655db125852c1ffielding * docs/grub.texi (Making a GRUB bootable CD-ROM): minor edits,
2d2eda71267231c2526be701fe655db125852c1ffielding including a few compatibility notes and a change to
2d2eda71267231c2526be701fe655db125852c1ffielding -boot-load-size 4 for the mkisofs command.
2d2eda71267231c2526be701fe655db125852c1ffielding2004-04-22 Jeroen Dekkers <jeroen@dekkers.cx>
2d2eda71267231c2526be701fe655db125852c1ffielding * Makefile.am (AUTOMAKE_OPTIONS): Add "gnu".
2d2eda71267231c2526be701fe655db125852c1ffielding * configure.ac: Update to work with automake 1.8, quote all
2d2eda71267231c2526be701fe655db125852c1ffielding AC_DEFUN's correctly and provide descriptions for AC_DEFINE's.
3a9bc6532fbe8439fc748d8ffedb87415904d16ajim * stage1/Makefile.am (.exec): Use suffix rules instead of pattern
3a9bc6532fbe8439fc748d8ffedb87415904d16ajim * stage2/Makefile.am (.exec): Likewise.
3a9bc6532fbe8439fc748d8ffedb87415904d16ajim2004-04-18 Yoshinori K. Okuji <okuji@enbug.org>
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben * docs/grub.texi (Making a GRUB bootable CD-ROM): New section.
b1476ba063e6d9577cd86db3db5dd98ff6bc78b9rbb * stage2/disk_io.c (set_device): Use CH instead of *DEVICE to
b1476ba063e6d9577cd86db3db5dd98ff6bc78b9rbb test the first character of DEVICE, because DEVICE is
b1476ba063e6d9577cd86db3db5dd98ff6bc78b9rbb incremented.
b1476ba063e6d9577cd86db3db5dd98ff6bc78b9rbb Reported by Bernhard Treutwein.
b1476ba063e6d9577cd86db3db5dd98ff6bc78b9rbb2004-04-15 Yoshinori K. Okuji <okuji@enbug.org>
b1476ba063e6d9577cd86db3db5dd98ff6bc78b9rbb * netboot/fsys_tftp.c (buf_fill): Cast 1 to unsigned short
b1476ba063e6d9577cd86db3db5dd98ff6bc78b9rbb explicitly so that the constant doesn't extend unsigned short
b1476ba063e6d9577cd86db3db5dd98ff6bc78b9rbb to int automatically.
d5d164b22a2004abed640cb52fc275f00ed92f69jerenkrantz Reported by Eduard Guzovsky <eguzovsk@enterasys.com>.
2d2eda71267231c2526be701fe655db125852c1ffielding * docs/grub.texi (Invoking grub-md5-crypt): Fixed the chapter
a4f1fcfd8a0dc1d6296d9f5a94b1ccb57b9492eadougm Reported by Martin Pool <mbp@sourcefrog.net>.
a4f1fcfd8a0dc1d6296d9f5a94b1ccb57b9492eadougm2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
2fa5b5878e7567e2875807c3e2a2b3b0d3ef74bewrowe * configure.ac (STAGE2_CFLAGS): Check if -fno-stack-protector is
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf supported by GCC. If yes, added the option. This is necessary
ef5650b61a8e35f3cc93ec07e73efc17ea329894jorton for OpenBSD, because the stack protector defines additional
2d2eda71267231c2526be701fe655db125852c1ffielding symbols. Reported by uc.sheda <uc.sheda@laposte.net>.
117e2968318323d2ad2187fcd4de379d2eca245cwrowe2004-03-28 Pavel Roskin <proski@gnu.org>
117e2968318323d2ad2187fcd4de379d2eca245cwrowe * stage2/boot.c: Imply --no-mem-option for Linux kernels with
b6501729855bbddb3c8e2913d77e66e20c95ed58wrowe protocol version 2.03 and above (Linux 2.4.18 and newer).
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar2004-03-27 Yoshinori K. Okuji <okuji@enbug.org>
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar * stage2/char_io.c [!GRUB_UTIL] (memcpy): New function. It is
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar defined as an alias of grub_memmove. This is copied from GRUB 2.
b8daf4c5ea3d5bb2111b1b021de6d3cd891e403bcoar * stage2/disk_io.c (print_completions): Simplified conditionals
8496c88debb9962575dac2b1ef9b81984d7bd759brianp to make it easier to edit the file with Emacs.
8496c88debb9962575dac2b1ef9b81984d7bd759brianp Added support for (cd).
8496c88debb9962575dac2b1ef9b81984d7bd759brianp (set_device): Likewise.
8496c88debb9962575dac2b1ef9b81984d7bd759brianp * stage2/common.c (init_bios_info): Check if BOOT_DRIVE is a
8496c88debb9962575dac2b1ef9b81984d7bd759brianp CDROM drive. If it is true, set CDROM_DRIVE to BOOT_DRIVE.
8496c88debb9962575dac2b1ef9b81984d7bd759brianp (cdrom_drive): New variable.
3d43d1454a609c00b8f35a19b416b86b85a029e6wrowe From Leonid Lisovskiy <lly@pisem.net>:
3d43d1454a609c00b8f35a19b416b86b85a029e6wrowe * stage2/stage2.c (run_menu): Use GRUB_INVALID_DRIVE instead of
b0e644d86ac27261e1db35f7b693a3aed5b7df66jim * stage2/shared.h (STAGE2_ID_ISO9660_STAGE1_5): New macro.
b0e644d86ac27261e1db35f7b693a3aed5b7df66jim [FSYS_ISO9660] (STAGE2_ID): Set to STAGE2_ID_ISO9660_STAGE1_5.
b0e644d86ac27261e1db35f7b693a3aed5b7df66jim (struct geometry): Added a new member ``sector_size''.
b212cf25bc2f38a2696ecd5f9b80e8c6283fe8c9sf (BIOSDISK_FLAG_CDROM): New macro.
b212cf25bc2f38a2696ecd5f9b80e8c6283fe8c9sf (cdrom_drive): Declared.
6b15044d54a096e6323ff1540f1a491e8de7622dsf * stage2/filesys.h (FSYS_ISO9660_NUM): New macro.
6b15044d54a096e6323ff1540f1a491e8de7622dsf [FSYS_ISO9660] (iso9660_mount): Declared.
6b15044d54a096e6323ff1540f1a491e8de7622dsf [FSYS_ISO9660] (iso9660_read): Likewise.
6b15044d54a096e6323ff1540f1a491e8de7622dsf [FSYS_ISO9660] (iso9660_dir): Likewise.
6b15044d54a096e6323ff1540f1a491e8de7622dsf (NUM_FSYS): Added FSYS_ISO9660_NUM.
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf * stage2/disk_io.c (fsys_table) [FSYS_ISO9660]: Added iso9660.
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf (current_drive): Use GRUB_INVALID_DRIVE.
efd83d1dd1a25688a3093c5a542ae16bacef62ddsf (log2): New function.
3770ed746d69c7a4111cba9966169bd5d7a509a6poirier (rawread): Use BUF_GEOM.SECTOR_SIZE instead of SECTOR_SIZE.
113961f0559eb026ea0d379cb7350f82bc09d710druggeri Change the type of BUFADDR from int to char *.
113961f0559eb026ea0d379cb7350f82bc09d710druggeri Use a virtual track to make sure that one track fits in the
7a975d0413ba303546b7619e4785cb641f7f09fdcovener (sane_partition): Allow CURRENT_DRIVE to be CDROM_DRIVE, because
7a975d0413ba303546b7619e4785cb641f7f09fdcovener a bios drive for a CD-ROM is often assigned to greater than
7a975d0413ba303546b7619e4785cb641f7f09fdcovener (set_device): Use GRUB_INVALID_DRIVE instead of 0xFF.
7a975d0413ba303546b7619e4785cb641f7f09fdcovener (setup_part): Likewise.
f7acc4b00a8bf92fea10fce6ac09aa57eafec0ecjim * stage2/cmdline.c (init_cmdline): Use GRUB_INVALID_DRIVE.
f7acc4b00a8bf92fea10fce6ac09aa57eafec0ecjim * stage2/builtins.c (install_func): Use GRUB_INVALID_DRIVE.
f7acc4b00a8bf92fea10fce6ac09aa57eafec0ecjim (setup_func): Added iso9660_stage1_5.
6a80c3c6f4b8ea7ba5e89402b8b779b09ce020e0covener * stage2/bios.c (biosdisk): Don't fall back to the CHS mode
6a80c3c6f4b8ea7ba5e89402b8b779b09ce020e0covener if the drive is a CDROM.
2d2eda71267231c2526be701fe655db125852c1ffielding (get_cdinfo): New function.
2d2eda71267231c2526be701fe655db125852c1ffielding (get_diskinfo): Call get_cdinfo if the drive is greater than or
9c233808c898095865fcc0a2dc1cf594d0d8faf3sf equal to 0x88 or the drive supports LBA.
9c233808c898095865fcc0a2dc1cf594d0d8faf3sf Set the sector size to SECTOR_SIZE if it is not a CD-ROM.
9c233808c898095865fcc0a2dc1cf594d0d8faf3sf * stage2/asm.S (biosdisk_int13_extensions): Take a word
2d2eda71267231c2526be701fe655db125852c1ffielding argument AX instead of a byte argument AH.
2d2eda71267231c2526be701fe655db125852c1ffielding (get_diskinfo_int13_extensions): Removed.
2d2eda71267231c2526be701fe655db125852c1ffielding (libgrub_a_SOURCES): Added fsys_iso9660.c.
2d2eda71267231c2526be701fe655db125852c1ffielding (libgrub_a_CFLAGS): Added -DFSYS_ISO9660=1.
2d2eda71267231c2526be701fe655db125852c1ffielding (pkgdata_DATA): Added iso9660_stage1_5 and stage2_eltorito.
2d2eda71267231c2526be701fe655db125852c1ffielding (noinst_PROGRAMS): Added iso9660_stage1_5.exec and
2d2eda71267231c2526be701fe655db125852c1ffielding (noinst_DATA): Added start_eltorito.
0e6e93183d91142d7cf9ffbf502114ff77bd9e19ben (pre_stage2_exec_SOURCES): Added fsys_iso9660.c.
742318b93e89c311f66b55f426c4d9cf2c14628bjim (START_ELTORITO_LINK): New variable.
2d2eda71267231c2526be701fe655db125852c1ffielding (start_eltorito_exec_SOURCES): Likewise.
2d2eda71267231c2526be701fe655db125852c1ffielding (start_eltorito_exec_CCASFLAGS): Likewise.
2d2eda71267231c2526be701fe655db125852c1ffielding (start_eltorito_exec_LDFLAGS): Likewise.
2fa5b5878e7567e2875807c3e2a2b3b0d3ef74bewrowe (start_eltorito_exec-start.$(OBJEXT)): New dependency.
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm (stage2_eltorito): New target.
c880637396a01f4acfcf7e35fe423ced2d86c3b4nd (iso9660_stage1_5_exec_SOURCES): New variable.
c880637396a01f4acfcf7e35fe423ced2d86c3b4nd (iso9660_stage1_5_exec_CFLAGS): Likewise.
c880637396a01f4acfcf7e35fe423ced2d86c3b4nd (iso9660_stage1_5_exec_CCASFLAGS): Likewise.
c880637396a01f4acfcf7e35fe423ced2d86c3b4nd (iso9660_stage1_5_exec_LDFLAGS): Likewise.
89211a3153be8b03353c3bfbca45fed67cb80f0bpquerna * stage1/stage1.h (GRUB_INVALID_DRIVE): New macro.
641a873d29928927230edb2c6d1a09e6ad5a1af8wrowe * stage1/stage1.S (boot_drive): Use the macro GRUB_INVALID_DRIVE.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf (real_start): Likewise.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf * lib/device.c (get_drive_geometry): Set GEOM->SECTOR_SIZE to
e302f38fd646764ce1a1e1c578d794aef514a9e5sf SECTOR_SIZE by default.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf * configure.ac (--disable-iso9660): New option.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf2004-03-13 Yoshinori K. Okuji <okuji@enbug.org>
641a873d29928927230edb2c6d1a09e6ad5a1af8wrowe From Daniele Zelante <zeldan@email.it>:
641a873d29928927230edb2c6d1a09e6ad5a1af8wrowe * stage2/asm.S (stop_floppy): Use INT 13, AH=00h to stop the
641a873d29928927230edb2c6d1a09e6ad5a1af8wrowe floppy controller instead of a direct I/O.
641a873d29928927230edb2c6d1a09e6ad5a1af8wrowe2004-03-12 Yoshinori K. Okuji <okuji@enbug.org>
641a873d29928927230edb2c6d1a09e6ad5a1af8wrowe * stage2/serial.c (serial_putchar): Handle the character code
bd3f5647b96d378d9c75c954e3f13582af32c643sf 127 as a backspace. Reported by Florian Engelhardt
bd3f5647b96d378d9c75c954e3f13582af32c643sf <f.engelhardt@gmx.net>.
dc69753e117f46ae62c62769e71ab170fbc96829sf2004-03-12 Yoshinori K. Okuji <okuji@enbug.org>
dc69753e117f46ae62c62769e71ab170fbc96829sf From Boji Tony Kannanthanam <boji.t.kannanthanam@intel.com>:
dc69753e117f46ae62c62769e71ab170fbc96829sf * util/grub-install.in (convert): Add support for ATARAID
4576c1a9ef54cd1e5555ee07d016a7f559f80338sf device names.
4576c1a9ef54cd1e5555ee07d016a7f559f80338sf * lib/device.c (get_ataraid_disk_name) [__linux__]: New
4576c1a9ef54cd1e5555ee07d016a7f559f80338sf (init_device_map) [__linux__]: Probe ATARAID disks.
2d2eda71267231c2526be701fe655db125852c1ffielding * stage2/size_test (check): Don't use the local statement any
2d2eda71267231c2526be701fe655db125852c1ffielding longer. It was unneeded actually. Reported by Paul Jarc.
2864362ca8266097928e84f101010bdf814ffa08stoddard2004-03-12 Yoshinori K. Okuji <okuji@enbug.org>
2d2eda71267231c2526be701fe655db125852c1ffielding From Sergey Matveychuk <sem@ciam.ru>:
1ccd992d37d62c8cb2056126f2234f64ec189bfddougm * lib/device.c (get_drive_geometry): Do not open the same device
2d2eda71267231c2526be701fe655db125852c1ffielding more than once unnecessarily.
2d2eda71267231c2526be701fe655db125852c1ffielding (get_drive_geometry) [__FreeBSD_version >= 500040]: Use new
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein ioctl methods.
e9209cd49f6e3329c4d46e3933ece39ef3f7604agstein (get_floppy_disk_name) [__FreeBSD__ >= 4]: Use /dev/fd%d rather
6b15044d54a096e6323ff1540f1a491e8de7622dsf (get_ide_disk_name) [__FreeBSD__ >= 4]: Use /dev/ad%d rather
2d2eda71267231c2526be701fe655db125852c1ffielding (get_scsi_disk_name) [__FreeBSD__ >= 4]: Use /dev/da%d rather
231ca3b40df46af2a63d006ebde6b745f73c40b2sf * grub/asmstub.c (get_diskinfo): Check if ERRNO is EPERM as
df38daceaa0d8d19bb7e23f6e9bcec258466441djorton2004-02-28 Jeroen Dekkers <jeroen@dekkers.cx>
2d2eda71267231c2526be701fe655db125852c1ffielding * docs/grub.texi (partnew): Change @var{to} to @var{len}.
89211a3153be8b03353c3bfbca45fed67cb80f0bpquerna2004-02-18 Yoshinori K. Okuji <okuji@enbug.org>
0ac3e6ab2ea0a3ee3fa0918bd0bec5ad8422afa8sf From Yury V. Umanets <umka@namesys.com>:
0ac3e6ab2ea0a3ee3fa0918bd0bec5ad8422afa8sf * stage2/fsys_reiserfs.c (REISER3FS_SUPER_MAGIC_STRING): New
0ac3e6ab2ea0a3ee3fa0918bd0bec5ad8422afa8sf (reiserfs_mount): Added checks for ReiserFS 3.
0ac3e6ab2ea0a3ee3fa0918bd0bec5ad8422afa8sf (reiserfs_embed): Likewise.
0ac3e6ab2ea0a3ee3fa0918bd0bec5ad8422afa8sf2004-01-25 Yoshinori K. Okuji <okuji@enbug.org>
0ac3e6ab2ea0a3ee3fa0918bd0bec5ad8422afa8sf * docs/grub.texi (Obtaining and Building GRUB): Instead of
0ac3e6ab2ea0a3ee3fa0918bd0bec5ad8422afa8sf describing how to use the anoncvs method, specify the URL of
0ac3e6ab2ea0a3ee3fa0918bd0bec5ad8422afa8sf the description page on Savannah.
0ac3e6ab2ea0a3ee3fa0918bd0bec5ad8422afa8sf Reported by Bernhard Treutwein.
0ac3e6ab2ea0a3ee3fa0918bd0bec5ad8422afa8sf2004-01-18 Yoshinori K. Okuji <okuji@enbug.org>
bd6f55fcc632c166165842eb23dcc1105ddde364sf From Thomas Schwinge <kischde@gmx.net>:
bd6f55fcc632c166165842eb23dcc1105ddde364sf * grub/Makefile.am (AM_CPPFLAGS): New variable.
bd6f55fcc632c166165842eb23dcc1105ddde364sf (AM_CFLAGS): Removed all cpp flags.
bd6f55fcc632c166165842eb23dcc1105ddde364sf * stage2/xfs.h (__int8_t): Renamed to ...
bd6f55fcc632c166165842eb23dcc1105ddde364sf (xfs_int8_t): ... this.
bd6f55fcc632c166165842eb23dcc1105ddde364sf (__uint8_t): Renamed to ...
bd6f55fcc632c166165842eb23dcc1105ddde364sf (xfs_uint8_t): ... this.
bd6f55fcc632c166165842eb23dcc1105ddde364sf (__int16_t): Renamed to ...
bd6f55fcc632c166165842eb23dcc1105ddde364sf (xfs_int16_t): ... this.
bd6f55fcc632c166165842eb23dcc1105ddde364sf (__uint16_t): Renamed to ...
0ac3e6ab2ea0a3ee3fa0918bd0bec5ad8422afa8sf (xfs_uint16_t): ... this.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein (__int32_t): Renamed to ...
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein (xfs_int32_t): ... this.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein (__uint32_t): Renamed to ...
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein (xfs_uint32_t): ... this.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein (__int64_t): Renamed to ...
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein (xfs_int64_t): ... this.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein (__uint64_t): Renamed to ...
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein (xfs_uint64_t): ... this.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein All callers are changed.x
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein From Egmont Koblinger <egmont@uhulinux.hu>:
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein * util/grub-install.in: Support an install devices in GRUB's
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein notation without parentheses.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein * docs/grub.texi (Installing GRUB using grub-install): Added an
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein example of using grub-install without parentheses.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein2004-01-18 Yoshinori K. Okuji <okuji@enbug.org>
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein * util/grub-install.in: Use the first word of GRUB_SHELL when
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein checking if the grub shell is present. This is necessary to
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein support options to the grub shell (e.g. grub --read-only).
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein From Eric Kvaalen <E_Kvaalen.Arnesen@noos.fr>:
91a9b0a5d1aa9614c3d3361a66ebf570b5d0319cbrianp * docs/grub.texi: Many bug fixes.
ed6608b05c17ad82dd9391739af837256bdffb42fuankg2004-01-17 Yoshinori K. Okuji <okuji@enbug.org>
ed6608b05c17ad82dd9391739af837256bdffb42fuankg * lib/device.c [__linux__] (MAJOR): Support 32 bit and 64 bit
91a9b0a5d1aa9614c3d3361a66ebf570b5d0319cbrianp dev_t. This code is stolen from glibc.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein Suggested by Shen Feng <shen@nanjing-fnst.com>.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein2004-01-11 Yoshinori K. Okuji <okuji@enbug.org>
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein * stage2/terminfo.c (ti_set_term): Use a pointer to struct
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein terminfo instead to avoid GCC's bug, which inserts a reference
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein to memcpy implicitly.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein (ti_get_term): Likewise.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein All callers are fixed.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein * stage2/terminfo.h (ti_set_term): Updated.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein (ti_get_term): Likewise.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein * stage2/shared.h (struct linux_kernel_header): New member,
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein initrd_max_address. Defined in the boot protocol 2.03 or higher.
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein * stage2/boot.c (load_initrd): If the boot protocol is greater
e33a549ef7ad9ce23f4719d91de915e9ecedaecfgstein than or equal to 2.03, use the field ``initrd_max_address''
1f279dc92a60df9f61bf58468162aab0eef072e4brianp instead of LINUX_INITRD_MAX_ADDRESS.
1f279dc92a60df9f61bf58468162aab0eef072e4brianp2003-12-30 Yoshinori K. Okuji <okuji@enbug.org>
1f279dc92a60df9f61bf58468162aab0eef072e4brianp * stage2/fsys_ext2fs.c (ext2_is_fast_symlink): New function.
1f279dc92a60df9f61bf58468162aab0eef072e4brianp (ext2fs_dir): Use ext2_is_fast_symlink to check if the current
1f279dc92a60df9f61bf58468162aab0eef072e4brianp inode is a fast or slow symlink. This change was required
1f279dc92a60df9f61bf58468162aab0eef072e4brianp because Linux now uses acl seriously (i.e. incompatibility).
8dafcef6cd2a5b17ef2e7cc799942ea724a87e87covener Reported by Chris PeBenito <pebenito@gentoo.org> and Seemant
8dafcef6cd2a5b17ef2e7cc799942ea724a87e87covener Kulleen <seemant@gentoo.org>
7317a32e0c621c9a28f6f10e83e6c5dc63e3f3bdsf2003-11-30 Yoshinori K. Okuji <okuji@enbug.org>
e302f38fd646764ce1a1e1c578d794aef514a9e5sf * lib/device.c (read_device_map) (sho_warning): New internal
e302f38fd646764ce1a1e1c578d794aef514a9e5sf (read_device_map): If DRIVE is greater than 8, emit a warning
e302f38fd646764ce1a1e1c578d794aef514a9e5sf and ignore the drive, rather than exiting abnormally.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf Reported by Greg Newby <newby@arsc.edu>.
151c212faae454927d5348fbcb579840ab2f71d5sf2003-10-19 Yoshinori K. Okuji <okuji@enbug.org>
151c212faae454927d5348fbcb579840ab2f71d5sf Migrated to newer autotools. Also, don't install mkbimage
e302f38fd646764ce1a1e1c578d794aef514a9e5sf because its name is too general and it does not conform to the
e302f38fd646764ce1a1e1c578d794aef514a9e5sf GNU Coding Standards in some points.
151c212faae454927d5348fbcb579840ab2f71d5sf * util/Makefile.am (EXTRA_DIST): New variable.
151c212faae454927d5348fbcb579840ab2f71d5sf (sbin_SCRIPTS): Removed mkbimage.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf (noinst_SCRIPTS): Added mkbimage.
151c212faae454927d5348fbcb579840ab2f71d5sf * stage1/Makefile.am (AM_ASFLAGS): Renamed to ...
147597b0b7a25df752f3496c445aec0ab105edf6trawick (AM_CCASFLAGS): ... this.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf * stage2/Makefile.am (pre_stage2_exec_ASFLAGS): Renamed to ...
151c212faae454927d5348fbcb579840ab2f71d5sf (pre_stage2_exec_CCASFLAGS): ... this.
151c212faae454927d5348fbcb579840ab2f71d5sf (start_exec_ASFLAGS): Renamed to ...
e302f38fd646764ce1a1e1c578d794aef514a9e5sf (start_exec_CCASFLAGS): ... this.
8ce3706192075de18c0c994184b9540277bc2634trawick (e2fs_stage1_5_exec_ASFLAGS): Renamed to ...
e302f38fd646764ce1a1e1c578d794aef514a9e5sf (e2fs_stage1_5_exec_CCASFLAGS): ... this.
151c212faae454927d5348fbcb579840ab2f71d5sf (fat_stage1_5_exec_ASFLAGS): Renamed to ...
f91e8c44b15a74bedaa027128a695950807e2968sf (fat_stage1_5_exec_CCASFLAGS): ... this.
f91e8c44b15a74bedaa027128a695950807e2968sf (ffs_stage1_5_exec_ASFLAGS): Renamed to ...
f91e8c44b15a74bedaa027128a695950807e2968sf (ffs_stage1_5_exec_CCASFLAGS): ... this.
f91e8c44b15a74bedaa027128a695950807e2968sf (minix_stage1_5_exec_ASFLAGS): Renamed to ...
e302f38fd646764ce1a1e1c578d794aef514a9e5sf (minix_stage1_5_exec_CCASFLAGS): ... this.
151c212faae454927d5348fbcb579840ab2f71d5sf (reiserfs_stage1_5_exec_ASFLAGS): Renamed to ...
e302f38fd646764ce1a1e1c578d794aef514a9e5sf (reiserfs_stage1_5_exec_CCASFLAGS): ... this.
151c212faae454927d5348fbcb579840ab2f71d5sf (vstafs_stage1_5_exec_ASFLAGS): Renamed to ...
151c212faae454927d5348fbcb579840ab2f71d5sf (vstafs_stage1_5_exec_CCASFLAGS): ... this.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf (jfs_stage1_5_exec_ASFLAGS): Renamed to ...
f91e8c44b15a74bedaa027128a695950807e2968sf (jfs_stage1_5_exec_CCASFLAGS): ... this.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf (xfs_stage1_5_exec_ASFLAGS): Renamed to ...
151c212faae454927d5348fbcb579840ab2f71d5sf (xfs_stage1_5_exec_CCASFLAGS): ... this.
151c212faae454927d5348fbcb579840ab2f71d5sf (diskless_exec_ASFLAGS): Renamed to ...
e302f38fd646764ce1a1e1c578d794aef514a9e5sf (diskless_exec_CCASFLAGS): ... this.
151c212faae454927d5348fbcb579840ab2f71d5sf (nbloader_exec_ASFLAGS): Renamed to ...
151c212faae454927d5348fbcb579840ab2f71d5sf (nbloader_exec_CCASFLAGS): ... this.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf (pxeloader_exec_ASFLAGS): Renamed to ...
151c212faae454927d5348fbcb579840ab2f71d5sf (pxeloader_exec_CCASFLAGS): ... this.
7f630e66c9c37e797e1c06bf7b259c0859538978trawick * configure.ac: New file. Mostly derived from configure.in.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf2003-10-19 Yoshinori OKUJI <okuji@enbug.org>
e302f38fd646764ce1a1e1c578d794aef514a9e5sf From KB Sriram <mail_kb@yahoo.com>:
e302f38fd646764ce1a1e1c578d794aef514a9e5sf * stage2/disk_io.c (set_device) [SUPPORT_NETBOOT]: Added support
762e5050fc7e77baf4eefccf5ab42474125494ffsf for a completion of a network device.
762e5050fc7e77baf4eefccf5ab42474125494ffsf (print_completions): Likewise.
762e5050fc7e77baf4eefccf5ab42474125494ffsf2003-10-10 Robert Millan <robertmh@gnu.org>
e302f38fd646764ce1a1e1c578d794aef514a9e5sf * config.guess: Update from official source (CVS).
e302f38fd646764ce1a1e1c578d794aef514a9e5sf * config.sub: Likewise.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf2003-09-18 Robert Millan <robertmh@gnu.org>
e302f38fd646764ce1a1e1c578d794aef514a9e5sf2003-09-05 KB Sriram <mail_kb@yahoo.com>
e302f38fd646764ce1a1e1c578d794aef514a9e5sf * stage2/fsys_fat.c: Fix missdetection of ext2fs as fatfs.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf2003-09-05 Robert Millan <robertmh@gnu.org>
e302f38fd646764ce1a1e1c578d794aef514a9e5sf * docs/menu.lst (GNU/Linux): Add commented initrd command, which
e302f38fd646764ce1a1e1c578d794aef514a9e5sf is consistent with documentation.
151c212faae454927d5348fbcb579840ab2f71d5sf2003-09-01 Robert Millan <robertmh@gnu.org>
151c212faae454927d5348fbcb579840ab2f71d5sf2003-08-13 Jason Thomas <jason@intology.com.au>
151c212faae454927d5348fbcb579840ab2f71d5sf * util/grub-install.in (resolve_symlink): New function to
151c212faae454927d5348fbcb579840ab2f71d5sf resolve symlinks.
151c212faae454927d5348fbcb579840ab2f71d5sf (find_device): Moved symlink code to new function.
151c212faae454927d5348fbcb579840ab2f71d5sf Before we convert the install_device we attempt to resolve it if
151c212faae454927d5348fbcb579840ab2f71d5sf its a symlink using the new function.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf * util/mbchk.c (check_multiboot): The sense of an error message
151c212faae454927d5348fbcb579840ab2f71d5sf was inverted.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf Reported by Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf2003-08-12 Jochen Hoenicke <jochen@gnu.org>
e302f38fd646764ce1a1e1c578d794aef514a9e5sf * stage2/fsys_reiserfs.c (read_tree_node): Fixed a typo; only
151c212faae454927d5348fbcb579840ab2f71d5sf matters for very large fs when tree doesn't fit in cache.
151c212faae454927d5348fbcb579840ab2f71d5sf (IH_KEY_OFFSET): Don't check for INFO->version. There are
e302f38fd646764ce1a1e1c578d794aef514a9e5sf actually old version file systems that use new version items.
e302f38fd646764ce1a1e1c578d794aef514a9e5sf (IH_KEY_ISTYPE): Likewise.
f91e8c44b15a74bedaa027128a695950807e2968sf (reiserfs_dir): Likewise.
f91e8c44b15a74bedaa027128a695950807e2968sf2003-08-09 Thierry Laronde <tlaronde@polynum.org>
f91e8c44b15a74bedaa027128a695950807e2968sf * util/mkbimage: New File. `mkbimage' depends on GRUB and
652271bc50e266cf3caeb84884b8f789f465bb9fsf existed elsewhere. It is now part of GRUB so that people can
f91e8c44b15a74bedaa027128a695950807e2968sf * util/Makefile.am (sbin_SCRIPTS): Added script `mkbimage'
f91e8c44b15a74bedaa027128a695950807e2968sf2003-08-01 Jason Thomas <jason@intology.com.au>
f91e8c44b15a74bedaa027128a695950807e2968sf * util/grub-install.in: support --no-floppy
f91e8c44b15a74bedaa027128a695950807e2968sf This allow users to specify the --no-floppy option which
b8e5134b5779bf5505a9e5241cf8c930cc4aac5esf is passed onto the grub shell, so it does not probe the floppy
e302f38fd646764ce1a1e1c578d794aef514a9e5sf Patch from kesha@diedas.soften.ktu.lt
e520939be8c3cb1b685e3248fff701d447bdfc86nd2003-06-17 Jochen Hoenicke <jochen@gnu.org>
e520939be8c3cb1b685e3248fff701d447bdfc86nd * stage2/fsys_reiserfs.c (reiserfs_mount): Clear the node cache.
e520939be8c3cb1b685e3248fff701d447bdfc86nd This fixes a problem where files from other partitions appear at
e520939be8c3cb1b685e3248fff701d447bdfc86nd the wrong partition. Problem reported by Johan Regin.
e520939be8c3cb1b685e3248fff701d447bdfc86nd2003-05-04 Yoshinori K. Okuji <okuji@enbug.org>
367d146f245f3b1c9f77c18e6ec591b52e0b344cbnicholes * docs/grub.texi (partnew): Fixed the inconsistency between the
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes implementation and the documentation. The last argument is the
367d146f245f3b1c9f77c18e6ec591b52e0b344cbnicholes length instead of the ending address.
367d146f245f3b1c9f77c18e6ec591b52e0b344cbnicholes Reported by Daniel Farrell <s2108287@student.rmit.edu.au>.
367d146f245f3b1c9f77c18e6ec591b52e0b344cbnicholes2003-03-19 Yoshinori K. Okuji <okuji@enbug.org>
367d146f245f3b1c9f77c18e6ec591b52e0b344cbnicholes From Adam Lackorzynski <adam@os.inf.tu-dresden.de>:
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes * stage2/shared.h (KEY_NPAGE): Changed to 0x5100.
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes (KEY_PPAGE): Changed to 0x4900.
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes2003-03-19 Yoshinori K. Okuji <okuji@enbug.org>
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes * stage2/boot.c (load_image): Check if DATA_LEN plus SECTOR_SIZE
0d26b42fc1735e110c6dc83b114c56257b20070bbnicholes is less than or equal to MULTIBOOT_SEARCH, instead of if
1f279dc92a60df9f61bf58468162aab0eef072e4brianp DATA_LEN is less than or equal to MULTIBOOT_SEARCH.
1f279dc92a60df9f61bf58468162aab0eef072e4brianp Reported by Neelkanth Natu <neelnatu@yahoo.com>.
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf2003-03-10 Yoshinori K. Okuji <okuji@enbug.org>
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf From Andrew Walrond <andrew@walrond.org>:
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf * stage2/fsys_reiserfs.c (struct reiserfs_journal_header):
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf Remove an unnecessary ``long''.
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf2003-03-10 Yoshinori K. Okuji <okuji@enbug.org>
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf From Tilmann Bubeck:
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf * stage2/builtins.c [SUPPORT_SERIAL] (terminfo_func): Unescape
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf arguments before copying them, and escape sequences before
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf printing them.
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf * stage2/terminfo.h (TERMINFO_LEN): Changed to 40.
01d315c948a50cb511dbaee108b9571ee9a4d287jim2003-02-20 Yoshinori K. Okuji <okuji@enbug.org>
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf * util/grub-install.in (find_device): Fix the sed script.
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf2003-02-17 Yoshinori K. Okuji <okuji@enbug.org>
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf * lib/device.c (check_device): If DEVICE is empty, just return
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf (get_scsi_disk_name) [__QNXNTO__]: Make NAME empty, because SCSI
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf disks are detected as IDE disks on QNX RTP.
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf From Taketo Kabe <kabe@sra-tohoku.co.jp>:
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf * lib/device.c (get_ide_disk_name) [__QNXNTO__]: Set NAME to
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf (get_floppy_disk_name) [__QNXNTO__]: Set NAME to "/dev/fdX".
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf * stage2/mb_info.h (struct AddrRangeDesc): Specified with the
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf attribute packed.
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf * stage2/shared.h (struct mmar_desc): Likewise.
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf2003-01-29 Yoshinori K. Okuji <okuji@enbug.org>
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf From Ilguiz Latypov:
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf * configure.in: Fix a syntax error in a sed script.
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf * stage2/bios.c (get_diskinfo): PhoenixBIOS 4.0 Revision 6.0
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf for ZF Micro might understand the greater buffer size for the
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf "get drive parameters" int 0x13 call in its own way.
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf Supposedly the BIOS assumes even bigger space is available and
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf thus corrupts the stack. This is why we specify the exactly
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf necessary size of 0x42 bytes.
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf2003-01-25 Yoshinori K. Okuji <okuji@enbug.org>
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf From Steven Dick <ssd.gnu@mmae.ucf.edu>:
2d2eda71267231c2526be701fe655db125852c1ffielding * stage2/pc_slice.h (PC_SLICE_TYPE_DELL_UTIL): New macro.
2d2eda71267231c2526be701fe655db125852c1ffielding (IS_PC_SLICE_TYPE_FAT): Recognize PC_SLIDE_TYPE_DELL_UTIL as
11e076839c8d5a82d55e710194d0daac51390dbdsf2003-01-25 Yoshinori K. Okuji <okuji@enbug.org>
* stage2/terminfo.c (term): Don't use a C99-style initializer.
From H.J. Lu <hjl@gnu.org>:
* stage2/disk_io.c (part_start): Use unsigned long to support
* stage2/shared.h (part_start): Likewise.
* configure.in (CFLAGS): When the default CFLAGS is used,
* configure.in: Support building on x86_64 with gcc -m32.
* stage2/fsys_ext2fs.c (ext2fs_dir): Initialize STR_CHK to shut
* stage2/fsys_minix.c (minix_dir): Likewise.
* stage2/asm.S (gateA20): First, try a BIOS call (INT 15H,
* stage2/builtins.c (install_func): Store the fixed disk flag of
* stage1/stage1.h (STAGE1_BOOT_DRIVE_MASK): New macro.
* stage1/stage1.S (boot_drive_mask): New variable. It is or'ed
* stage2/char_io.c (init_page): Change the software name from
* stage2/builtins.c (embed_func): When checking if the disk can
* stage2/stage2.c (print_entry): Put a right arrow, if the entry
* stage2/disk_io.c (set_device): If '(n' is given, add 'd' into
* stage2/term.h (struct term_entry): Remove the member
* stage2/stage2.c (run_menu): Call setcursor instead of
* stage2/shared.h (nocursor): Removed.
* stage2/hercules.c (herc_cursor_state): New variable.
* stage2/char_io.c (get_cmdline): Turn on the cursor at the
* stage2/asm.S (console_cursor_state): New variable.
* grub/asmstub.c (console_setcursor): New function.
* docs/grub.texi (terminfo): Fix a misleading English sentence.
* stage2/builtins.c (builtin_terminfo): Likewise.
* stage2/freebsd.h (RB_GDB): New macro.
* stage2/boot.c (bsd_boot): Set the bits of RB_MULTIPLE, RB_GDB
* docs/grub.texi (Reporting bugs): Specify the project page of
* docs/Makefile.am (man_MANS): Added grub-terminfo.8.
* utils/grub-terminfo.in: New file.
* util/Makefile.am (sbin_SCRIPTS): Added grub-terminfo.
* docs/grub.texi (terminfo): New subsection.
* stage2/terminfo.c: New file.
* stage2/terminfo.h: Likewise.
* stage2/tparm.c: Likewise.
* stage2/tparm.h: Likewise.
* stage2/stage2.c (get_line_from_config): Fix handling of
* stage2/char_io.c (grub_putstr): New function.
* stage2/serial.c (serial_gotoxy): Use ti_cursor_address.
* stage2/disk_io.c (rawread): Make sure that SECTOR is valid.
* stage2/asm.S (console_cls): Write spaces to the entire screen
instead of getting/setting the video mode, because this flickers
* docs/grub.texi (QNX): New subsection. Reported by
* grub/asmstub.c (console_translate_key): Deal with KEY_PPAGE
* stage2/serial.c (serial_translate_key_sequence): Added two new
* stage2/asm.S (translation_table): Added entries for KEY_PPAGE
* stage2/stage2.c (run_menu): Deal with Page Up and Page Down.
* stage2/builtins.c (setup_func): Added missing space to --force-lba
* stage2/asm.S (gateA20): Output a dummy command (0xff), as a
* configure.in (falign_loop_flag): New variable. Set to if GCC
because `-malign-*' are obsolete in GCC 3.x. Reported by Jeremy
* stage2/serial.c (fill_input_buf): Take a new argument NOWAIT.
* configure.in (--disable-serial): Fix a typo in the
* stage2/term.h (color_state): New enum.
* stage2/hercules.c (herc_highlight_state): Removed.
* stage2/console.c (console_highlight_state): Removed.
* stage2/serial.c (serial_highlight): Renamed to
* grub/asmstub.c (console_highlight): Renamed to
* stage2/stage2.c (print_entry): Set color states using new
* stage2/stage2.c (run_menu): Reverse if (!) to if () for
* stage2/boot.c (load_image): Rewrite the Linux booting support
* stage2/shared.h (LINUX_MAX_SETUP_SECTS): Set to 64.
* stage2/asm.S [!STAGE1_5] (linux_data_tmp_addr): New variable.
* grub/asmstub.c (linux_data_tmp_addr): New variable.
* stage2/boot.c (load_image): Recognize newer FreeBSD kernels.
* stage2/i386-elf.h (EI_OSABI): New macro.
* stage2/shared.h (boot_part_offset): Removed.
* stage2/disk_io.c (set_bootdev): Copy the partition information
* stage2/builtins.c (boot_func): Don't copy the partition
grub) instead of the group id (i.e. 68) for the URL of the BTS.
* stage2/serial.c [!GRUB_UTIL] (inb): Added a delay into this
* stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed a typo.
* Makefile.am (AUTOMAKE_OPTIONS): New variable. Specify the
* stage2/builtins.c [SUPPORT_SERIAL || SUPPORT_HERCULES]
* stage2/serial.c [!GRUB_UTIL] (serial_hw_fetch): Fixed the
* stage2/disk_io.c [SUPPORT_NETBOOT] (GRUB): Defined.
[SUPPORT_NETBOOT]: Include etherboot.h.
* stage2/fsys_xfs.c (le32): Don't use bswap, but use xchgb and
* netboot/main.c (ifconfig): If GW is specified, clear out the
* util/grub-md5-crypt.in: Prompt to retype a password, and check
* stage2/console.c: New file.
* stage2/term.h: Likewise.
(libgrub_a_SOURCES): Added serial.c.
(pre_stage2_exec_SOURCES): Added console.c.
* stage2/asm.S (console_putchar): Rewritten from scratch.
* stage2/cmdline.c (init_cmdline): Set COUNT_LINES to -1.
* stage2/common.c [!STAGE1_5] (err_list): Removed
* stage2/hercules.c: Rewritten almost from scratch.
* stage2/hercules.h (herc_putchar): Removed.
* stage2/serial.c: Rewritten almost from scratch.
* stage2/serial.h: Likewise.
* stage2/shared.h [GRUB_UTIL] (DISP_UL): Set to the same value
(console_cls): Removed, because this is declared in term.h.
* grub/Makefile.am (AM_CFLAGS): Added -DSUPPORT_HERCULES=1.
* docs/grub.texi (FAQ): Removed. See the GNU GRUB FAQ on the web
* docs/grub.texi (Reporting bugs): Recommend using the BTS on
* stage2/builtins.c (boot_func): Load the boot partition
* stage2/disk_io.c (boot_part_addr): Initialized with zero
* stage2/builtins.c (real_root_func): New function.
* configure.in (AM_INIT_AUTOMAKE): Changed the version number to
* util/mbchk.c (check_multiboot): Don't check if the load
* docs/multiboot.texi (The address fields of Multiboot header):
* stage2/builtins.c (boot_func): If DEBUG is true, print
* lib/device.c (read_device_map): Show an error message and exit
* util/grub-install.in: If there is any dulicated entry, print
or linux/kdev_t.h.
* netboot/fsys_tftp.c (tftp_read): Don't call buf_fill unless
* stage2/boot.c (load_image): For Linux, check if DATA_LEN is
* stage2/boot.c (load_image): For Linux, don't check if the
* stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Added a
* config.guess: New upstream version.
* config.sub: Likewise.
* netboot/config.c (PCI_NIC) [INCLUDE_DAVICOM]: Fix typos.
* stage2/builtins.c [SUPPORT_SERIAL] (terminal_func): Set
* docs/grub.texi (Obtaining and Building GRUB): Update the link
* stage2/builtins.c [GRUB_UTIL] (dump_func): New function.
* util/grub-install.in: Make sure that GRUB reads the same
* stage2/builtins.c (setup_func): Don't embed a drive number, if
* docs/grub.texi (General commands): Added ``pager'' into the
* configure.in (AC_INIT_AUTOMAKE): Set the version number to
* netboot/eepro100.c (eepro100_probe): Increase the delay at the
* stage2/boot.c (linux_mem_size): New variable.
* stage2/char_io.c (safe_parse_maxint): Use ERR_NUMBER_OVERFLOW
* stage2/common.c [!STAGE1_5] (err_list): Added
* stage2/shared.h (ERR_NUMBER_OVERFLOW): New constant.
* stage2/stage2.c (run_menu): Call cls outside the loop to run
* stage2/cmdline.c (run_script): Prompt a user's intervention,
* util/grub-install.in (find_device): New function - find block
problem on Linux with devfs and old device names in /etc/fstab.
* grub/main.c (OPT_NO_PAGER): New macro.
* stage2/builtins.c (help_func): Show all the commands runnable
* stage2/builtins.c (pager_func): New function.
* stage2/char_io.c (max_lines) [!STAGE1_5]: New variable.
* stage2/cmdline.c (enter_cmdline): If USE_PAGER is true, set
* stage2/shared.h (max_lines) [!STAGE1_5]: Declared.
* stage2/fsys_jfs.c (jfs_read) [STAGE1_5]: Set and reset
* stage2/fsys_xfs.c (xfs_read) [STAGE1_5]: Likewise.
* stage2/stage1_5.c (saved_sector): Initialized with -1.
set (i.e. it is equal to -1), print an error and stop.
* stage2/builtins.c (setup_func): Add a VSTa fs entry into
* stage2/shared.h (BUILTIN_HELP_LIST): New macro. Used for
* stage2/builtins.c (builtin_blocklist): Added the attribute
* stage2/shared.h (BUILTIN_HIDDEN): Renamed to ...
* netboot/misc.c (twiddle): Go back to the bar progress, copied
from etherboot-5.0.5/src/misc.c. Execute the code only if DEBUG
* stage2/builtins.c (displaymem_func): Use hex digits to display
* stage2/Makefile.am (libgrub_a_CFLAGS): Fixed a typo.
* grub/asmstub.c (console_putchar): When not using curses,
* stage2/fsys_minix.c (minix_dir): Fixed bug getting filenames
* stage2/char_io.c (get_cmdline, cl_refresh): If TERMINAL_DUMB
* grub/main.c (use_curses): Initialize to 0 if !HAVE_LIBCURSES
* configure.in (AM_INIT_AUTOMAKE): The version number is
* docs/grub.texi (Preset Menu): New chapter.
* docs/grub.texi: Added some text about JFS and XFS.
* grub/main.c (use_preset_menu): New variable.
* stage2/shared.h (use_preset_menu): Declared.
* stage2/stage2.c [PRESET_MENU_STRING || SUPPORT_DISKLESS]
* stage2/common.c [SUPPORT_DISKLESS]
* stage2/stage2.c [SUPPORT_DISKLESS] (preset_menu): Set to the
* stage2/stage2.c [PRESET_MENU_STRING] (open_preset_menu):
* netboot/misc.c (inet_aton): Don't check if *P is an asterisk,
* configure.in (--enable-3c590): Removed. This was a mistake.
(EXTRA_DIST): Added sis900.txt.
(3c595_drivers): Remove 3c590.o from this.
* netboot/davicom.c: New file, from Etherboot-5.0.5.
* netboot/eepro.c: Likewise.
* netboot/natsemi.c: Likewise.
* netboot/ni5010.c: Likewise.
* netboot/sis900.c: Likewise.
* netboot/sis900.h: Likewise.
* netboot/sis900.txt: Likewise.
* netboot/timer.c: Likewise.
* netboot/timer.h: Likewise.
* netboot/w89c840.c: Likewise.
* netboot/fa311.c: Likewise.
* netboot/tlan.c: Likewise.
* netboot/3c509.c: Copied from Etherboot-5.0.5.
* netboot/3c509.h: Likewise.
* netboot/3c595.c: Likewise.
* netboot/3c90x.c: Likewise.
* netboot/3c90x.txt: Likewise.
* netboot/cards.h: Likewise.
* netboot/cs89x0.c: Likewise.
* netboot/depca.c: Likewise.
* netboot/eepro100.c: Likewise.
* netboot/epic100.c: Likewise.
* netboot/i82586.c: Likewise.
* netboot/lance.c: Likewise.
* netboot/linux-asm-string.h: Likewise.
* netboot/nic.h: Likewise.
* netboot/ns8390.c: Likewise.
* netboot/ns8390.h: Likewise.
* netboot/otulip.c: Likewise.
* netboot/pci.h: Likewise.
* netboot/rtl8139.c: Likewise.
* netboot/sk_g16.c: Likewise.
* netboot/smc9000.c: Likewise.
* netboot/tiara.c: Likewise.
* netboot/tulip.c: Likewise.
* netboot/via-rhine.c: Likewise.
* netboot/config.c: Applied a diff between Etherboot-4.6.4 and
* netboot/main.c: Likewise.
* netboot/pci.c: Likewise.
* netboot/etherboot.h: Rewritten mostly from scratch, based on
* netboot/misc.c: Likewise.
* netboot/osdep.h: Likewise.
* netboot/fsys_tftp.c (GRUB): Defined.
* stage2/builtins.c [SUPPORT_NETBOOT] (GRUB): Defined.
* stage2/cmdline.c [SUPPORT_DISKLESS] (GRUB): Defined.
* stage2/common.c [SUPPORT_DISKLESS] (GRUB): Likewise.
* util/grub-install.in: Support using mktemp as well as tempfile
* stage2/md5.c (md5_password): Ensure the password exists before
* stage1/stage1.S: Don't call INT 13, AH=48H, because it is
* stage2/start.S (lba_mode) [NO_BUGGY_BIOS_IN_THE_WORLD]:
* stage2/bios.c (get_diskinfo): Clear out the structure DRP
4.0 Release 6.0 fail, if DRP.FLAGS is not zero. Setting the
* stage2/char_io.c [STAGE1_5] (grub_memset): Defined.
* util/grub-install.in (convert): Added NetBSD support.
* util/grub-install.in: Set GRUB_PREFIX and BOOTDIR to "/grub"
* stage2/builtins.c (builtin_geometry): Add extra space
* stage1/stage1.S (real_start): Added a workaround for AST BIOS,
* stage2/fsys_fat.c (fat_read): Fix the contradictory comment.
* stage2/builtins.c (displayapm_func): Don't use multi-line
warnings from gcc-3.0.x.
* stage2/cmdline.c (print_cmdline_message): Likewise.
* util/mbchk.c (usage): Likewise.
* stage2/smp-imps.c (imps_read_config_table): Add a break
* stage2/serial.c (serial_port): Initialize with 0 instead of
* stage2/shared.h (ERR_NO_DISK_SPACE): New constant.
* stage2/common.c (err_list): Added an entry for
* docs/grub.texi (Stage2 errors): Added the description.
* stage2/builtins.c (embed_func): Use ERR_NO_DISK_SPACE instead
* stage2/disk_io.c (set_partition_hidden_flag): Complete rewrite
* docs/grub.texi: The copyright of this file is only held by
* stage1/stage1.S: Likewise.
* stage2/asm.S: Likewise.
* stage2/boot.c: Likewise.
* stage2/builtins.c: Likewise.
* stage2/char_io.c: Likewise.
* stage2/cmdline.c: Likewise.
* stage2/common.c: Likewise.
* stage2/disk_io.c: Likewise.
* stage2/fat.h: Likewise.
* stage2/filesys.h: Likewise.
* stage2/freebsd.h: Likewise.
* stage2/fsys_ext2fs.c: Likewise.
* stage2/fsys_fat.c: Likewise.
* stage2/fsys_ffs.c: Likewise.
* stage2/gunzip.c: Likewise.
* stage2/i386-elf.h: Likewise.
* stage2/mb_header.h: Likewise.
* stage2/mb_info.h: Likewise.
* stage2/pc_slice.h: Likewise.
* stage2/shared.h: Likewise.
* stage2/stage1_5.c: Likewise.
* stage2/stage2.c: Likewise.
* stage2/start.S: Likewise.
* stage2/builtins.c (terminal_func) [!SUPPORT_SERIAL]: Disable
* configure.in (--disable-jfs): New option.
(noinst_PROGRAMS): Added jfs_stage1_5.exec and
* stage2/builtins.c (setup_func): Add items for JFS and XFS into
* stage2/disk_io.c (fsys_table): Added entries for JFS and XFS.
* stage2/filesys.h [FSYS_JFS] (FSYS_JFS_NUM): Set to 1.
* stage2/shared.h (STAGE2_ID_JFS_STAGE1_5): New macro.
* stage2/fsys_jfs.c: New file.
* stage2/fsys_xfs.c: Likewise.
* stage2/jfs.h: Likewise.
* stage2/xfs.h: Likewise.
* stage2/apm.S: Always disconnect from APM. Written by Erich
* util/Makefile.am (noinst_DATA): Removed.
* configure.in: Explicitly call _AM_DEPENDENCIES(CC) for the
* netboot/fsys_tftp.c (tftp_read): Move the unused data
* stage2/asm.S (get_diskinfo_floppy): Removed (by cpp).
* stage2/bios.c (get_diskinfo_floppy): Removed.
* docs/grub.texi (Stage2 errors): Added documentation on the
* grub/asmstub.c (serial_exists): New function.
* stage2/serial.c (serial_exists): Likewise.
* stage2/serial.h (serial_exists): New prototype.
* stage2/shared.h (grub_error_t): ERR_NEED_SERIAL is added.
* stage2/builtins.c (terminal_func) [SUPPORT_SERIAL]: If a
* stage2/common.c (err_list): Added an item for ERR_NEED_SERIAL.
* util/grub-install.in (convert): Add support for DAC960.
* lib/device.c (get_dac960_disk_name): New function.
* stage2/fsys_reiserfs.c (reiserfs_super_block): Updated
e.g. journal on another disk or unexpected journal parameters.
* stage2/fsys_reiserfs.c (reiserfs_mount): Don't look at
* stage2/fsys_reiserfs.c (reiserfs_dir): Set errnum to
* stage2/asm.S [!STAGE1_5] (grub_halt): Set the level of APM
* util/grub-md5-crypt.in: Prefix backquotes with backslashes in
* stage2/common.c (init_bios_info): Ignore zero-length memory
* stage2/Makefile.am (libgrub_a_CFLAGS): Enable USE_MD5_PASSWORDS
for libgrub. Previously that was implicitly done by configure.in
* util/grub-install.in (convert): Recognize the naming scheme
* netboot/compile: New file. This was also missing... How many
* acinclude.m4 (grub_DEFINE_FILE): Escape double-quotations as
* configure.in (AM_INIT_AUTOMAKE): Set the version number to
* docs/compile: New file.
* docs/grub.texi: Updated.
* stage2/boot.c (load_initrd) [!NO_DECOMPRESSION]: Set
* stage2/compile: New file.
* docs/mdate-sh: Likewise.
* docs/texinfo.tex: Likewise.
* texinfo.tex: Likewise.
* config.guess: Updated from automake-1.4h.
* config.sub: Likewise.
* configure.in (AS): New variable.
* stage1/Makefile.am (AM_CFLAGS): Renamed to ...
* stage2/Makefile.am (pre_stage2_exec_ASFLAGS): New variable.
(start_exec-start.o): Renamed to ...
(nbloader_exec-nbloader.o): Renamed to ...
* stage2/i386-elf.h (Elf32_Shdr): New type.
* stage2/boot.c (load_image): Added ELF symbol loading support.
* stage2/char_io.c [STAGE1_5] (grub_strcmp): Defined, even
* stage2/fsys_vstafs.c [!FSYS_VSTAFS]: Don't define anything.
* stage2/configure.in (--disable-vstafs): New option.
(libgrub_a_SOURCES): Added fsys_vstafs.c.
(noinst_PROGRAMS): Added vstafs_stage1_5.exec.
(pre_stage2_exec_SOURCES): Added fsys_vstafs.c.
* stage2/disk_io.c (fsys_table): Added an entry for vstafs.
* stage2/filesys.h [FSYS_VSTAFS] (FSYS_VSTAFS_NUM): Defined as
* stage2/pc_slice.h (PC_SLICE_TYPE_VSTAFS): New macro.
* stage2/shared.h (STAGE2_ID_VSTAFS_STAGE1_5): Likewise.
* stage2/vstafs.h: New file.
* stage2/fsys_vstafs.c: Likewise.
* stage2/builtins.c (configfile_func): Added a prototype.
* docs/grub.texi: Update the location of the CVS repository
* stage2/boot.c (load_image): If the image is a Multiboot ELF OS
* docs/grub.texi: Fix some typos. Reported by Florian Hatat
* Makefile.am (SUBDIRS): Remove reference to debian directory.
* stage1/stage1.S (nt_magic): Explicitly reserve space for the NT
* stage2/stage2.c (print_entries_raw): New function.
* stage2/shared.h (ENTRY): Remove unnecessary `##'.
* grub/asmstub.c (biosdisk): Work around a bug in linux's ez
* stage2/boot.c (load_image): Don't cast entry_addr to an int, or
* stage2/boot.c (load_initrd): Avoid the last 64kb for
Linux 2.2.x bug.
* docs/multiboot.texi (History): Written.
* lib/device.c (get_ide_disk_name) [__FreeBSD__]: Add support
for FreeBSD-4.0 or later. Use "/dev/rad0".
* util/grub-install.in (convert): Add code for FreeBSD
* stage2/stage2.c (cmain): If the default entry is wrong, set it
* acconfig.h (AUTO_LINUX_MEM_OPT): New entry.
* configure.in (--disable-auto-linux-mem-opt): New option.
* stage2/builtins.c (kernel_func) [!AUTO_LINUX_MEM_OPT]: Add
* stage2/builtins.c (chainloader_func): Don't check if the
* configure.in (--disable-hercules): New option.
(pre_stage2_exec_SOURCES): Added hercules.c.
* stage2/asm.S [!STAGE1_5] (set_attrib) Renamed to ...
* stage2/builtins.c [SUPPORT_HERCULES] (terminal_func): Added
* stage2/shared.h (console_set_attrib): Declared.
* stage2/stage2.c (run_menu) [SUPPORT_HERCULES]: Added hercules
* stage2/hercules.h: New file.
* stage2/hercules.c: Likewise.
* docs/grub.texi (Command-line and menu commands): Renamed to ...
* stage2/asm.S [STAGE1_5] (chain_stage2): Save the second sector
* docs/grub-new.texi: Moved to ...
* docs/internals.texi: New file.
* docs/prog-ref.texi: Removed.
* docs/user-ref.texi: Likewise.
* docs/tutorial.texi: Likewise.
* docs/appendices.texi: Likewise.
* stage2/shared.h (LINUX_INITRD_MAX_ADDRESS): Changed from
* stage2/builtins.c (savedefault_func)
* stage2/builtins.c (savedefault_func)
* stage2/stage2.c (cmain): If DEFAULT_ENTRY is out of entries,
* grub/asmstub.c (chain_stage2): Added an additional argument,
* stage2/asm.S [STAGE1_5] (chain_stage2): Set %ebp to
* stage2/disk_io.c [STAGE1_5] (disk_read_hook): Defined.
* stage2/fsys_ext2fs.c (ext2fs_read) [STAGE1_5]: Likewise.
* stage2/fsys_fat.c (fat_read) [STAGE1_5]: Likewise.
* stage2/fsys_ffs.c (ffs_read) [STAGE1_5]: Likewise.
* stage2/fsys_minix.c (minix_read) [STAGE1_5]: Likewise.
* stage2/fsys_reiserfs.c (reiserfs_read) [STAGE1_5]: Likewise.
* netboot/config.c [GRUB && INCLUDE_PCI] (pci_dispatch_table):
* stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_RAID): New macro.
* stage2/fsys_ext2fs.c (ext2fs_mount): Add a check for
* docs/multiboot.texi: Start reorganizing Multiboot
* docs/user-ref.texi (Command-line and menu commands): Update
* stage2/builtins.c (setkey_func): When checking if TO_KEY and
* util/grub-md5-crypt.in (prefix): New variable.
* docs/multiboot.h [__ELF__] (MULTIBOOT_HEADER_FLAGS): Defined
* docs/Makefile.am (EXTRA_PROGRAMS): New variable.
[BUILD_EXAMPLE_KERNEL] (boot.o): New dependency.
* stage2/builtins.c [SUPPORT_NETBOOT] (ifconfig_func): Always
* netboot/main.c (arp_server_override): Removed.
* netboot/etherboot.h (arp_server_override): Likewise.
* stage2/builtins.c [SUPPORT_NETBOOT] (ifconfig_func): New
* netboot/main.c (ifconfig): New function.
* netboot/etherboot.h (ifconfig): Added the prototype.
* docs/Makefile.am [BUILD_EXAMPLE_KERNEL] (noinst_DATA): New
* configure.in (--enable-example-kernel): New option.
* docs/kernel.c (cmain): Cast unsigned long variables to
* stage2/shared.h (BOOTSEC_BPB_HIDDEN_SECTORS): New macro.
* stage2/builtins.c (chainloader_func): If CURRENT_PARTITION is
* stage2/builtins.c (boot_func): In the chain-loading mode,
* stage2/builtins.c (embed_func): Call open_partition() even for
* stage2/disk_io.c (make_saved_active): Change the variable name
* stage2/fsys_ext2.c (ext2fs_mount): Detect ext2 partitions in
a OpenBSD/NetBSD FS_EXT2FS slice.
* stage2/disk_io.c (rawread): Check if there is a EZD partition
* stage2/disk_io.h (rawwrite): New function.
* stage2/pc_slice.h (PC_SLICE_TYPE_EZD): New macro.
* stage2/builtins.c (embed_info): New variable to store the
* stage2/builtins.c (chainloader_func): Set ERRNUM to
* docs/prog-ref.texi (Partition types): Rewrite the footnotes.
* util/grub-install.in (convert): Revised the fix for floppy
* stage2/bios.c (get_diskinfo): Append 16 bytes dummy data to
* stage2/disk_io.c (next_partition): Mask out bsd partition sub
* util/grub-install.in (convert): If a floppy device is
* lib/device.c [__linux__] (write_to_partition): Use strcpy
* stage2/fsys_minix.c (minix_mount): Corrected the check for
* stage2/fsys_reiserfs.c: Handle items with old version key on
* stage2/common.c (init_bios_info) [!STAGE1_5]: Don't call
* grub/asmstub.c (serial_init) [!O_SYNC]: Don't specify O_SYNC
* stage2/builtins.c (testvbe_func): Don't set the bit 14 of a
* stage2/asm.S [!STAGE1_5] (track_int13): Don't replace an int13
* acconfig.h (PRESET_MENU_STRING): New entry.
* acinclude.m4 (grub_DEFINE_FILE): New M4 macro.
* configure.in (--enable-preset-menu): New option.
* stage2/stage2.c [PRESET_MENU_STRING] (preset_menu): New
* stage2/asm.S [!STAGE1_5] (set_vbe_mode): Add a missing `$'
* stage2/bios.c (get_diskinfo): If BIOS supports LBA but doesn't
* stage2/disk_io.c (make_saved_active): Set ERRNUM to
* docs/user-ref.texi (Features): Update the URL of grub/98.
* stage2/mb_header.h (multiboot_header): Added new fields,
* stage2/mb_info.h (multiboot_info): Added new fields,
* stage2/shared.h (vbe_controller): New structure.
* stage2/asm.S [!STAGE1_5] (get_vbe_controller_info): New
* grub/asmstub.c (get_vbe_controller_info): Likewise.
* stage2/builtins.c (testvbe_func): New function.
* docs/help2man: Copied from help2man-1.23.
* lib/device.c (read_device_map): Don't parse a line, if it is
* stage2/builtins.c (md5crypt_func): Use all bits of currticks ()
* stage2/apm.S (get_apm_info): Fix a serious typo: prot_to_real
* stage2/builtins.c (setup_func): When invoking install with an
embedded stage1_5 give the path to menu.lst as real_config_file.
* docs/multiboot.texi: Upgraded to 0.6.92.
* docs/tutorial.texi: Miscellaneous updates.
* docs/user-ref.texi: Likewise.
* docs/appendices.texi: Likewise.
* util/grub-install.in (usage): Removed unnecessary commas.
* util/grub-md5-crypt.in: New file.
* util/Makefile.am (sbin_SCRIPTS): Added grub-md5-crypt.
* docs/Makefile.am (man_MANS): Added grub-md5-crypt.8.
* docs/grub-md5-crypt.8: New file. Generated by help2man.
* docs/grub.texi (grub-md5-crypt): New direntry.
* docs/user-ref.texi (Invoking grub-md5-crypt): New chapter.
* util/grub-install.in (convert): Added backslashes into
* stage2/md5.c (check_md5_password): Removed.
* stage2/md5.h (check_md5_password): Changed to just a macro.
* stage2/char_io.c [!STAGE1_5] (grub_strstr): Rewriten, because
* stage2/builtins.c [USE_MD5_PASSWORDS] (md5crypt_func): New
* docs/tutorial.texi (Security): Added a paragraph about
* docs/user-ref.texi: Fixed several typos and some inappropriate
* stage2/builtins.c (displayapm_func): New function.
* docs/multiboot.texi (Boot information format): Added the
* stage2/mb_info.h (apm_info): New structure.
* stage2/asm.S (apm_bios_info): New variable.
Include "apm.S".
* stage2/apm.S: New file.
* stage2/common.c (init_bios_info) [!STAGE1_5]: Added APM BIOS
* stage2/shared.h (apm_bios_info): Declared.
* grub/asmstub.c (apm_bios_info): New variable.
* stage2/setjmp.S: New file.
* stage2/setjmp.S (grub_setjmp): ... here.
* stage2/asm.S (grub_longjmp): Moved to ...
* stage2/setjmp.S (grub_longjmp): ... here.
* configure.in (--disable-md5password): Renamed to ...
* configure.in (--disable-md5password): New option.
* stage2/md5.c: New file.
* stage2/shared.h (password_t): New type.
* stage2/cmdline.c (run_script): Don't show commands that have
* stage2/builtins.c (password_type): New variable.
* stage2/stage2.c (run_menu): Call check_password to check password.
* docs/tutorial.texi (Security): Describe the new features of the
* docs/user-ref.texi (Menu-specific commands): password command
* stage2/builtins.c (setkey_func): Clear the all elements of
* stage2/boot.c (load_image): When handling Linux cmdline, don't
* docs/multiboot.texi (Top): Increase the version number.
* grub/asmstub.c (io_map): New variable.
* stage2/common.c (init_bios_info) [!STAGE1_5]: Added support
* stage2/mb_info.h (drive_info): New structure.
* stage2/asm.S (get_rom_config_table): New function.
* stage2/shared.h (get_rom_config_table): Declared.
* util/grub-install.in (convert): Check only if the file exists,
the name "/dev/floppy/N" instead.
"/dev/discs/discN" instead.
* util/grub-install.in (convert): Added support for "native"
* docs/tutorial.texi (Serial terminal): Fixed a typo.
* docs/user-ref.texi (GRUB images): New chapter.
* docs/grub.texi: Added an entry for the chapter "GRUB images".
* docs/grub.texi: Added an entry for the new chapter "Security",
* docs/tutorial.texi (Configuration): Moved to right after the
* util/grub-install.in (root_device): Use the regular expression
* stage2/start.S (copy_buffer): Use pusha and popa instead of
* stage2/builtins.c (setkey_func): Check if
* util/grub-install.in (grub_prefix): New variable. The default
is "/boot/grub".
* stage2/builtins.c (find_func): Clear ERRNUM after the last
* lib/device.c [__linux__] (write_to_partition): Open DEV with
* docs/user-ref.texi (Commands): Added missing commands and
* stage2/builtins.c (serial_func): Unswap the setting of "speed"
* stage2/builtins.c (setup_func): Append "... " to the
* stage2/disk_io.c (real_open_partition): Make sure that buf_geom
* lib/device.c (get_drive_geometry): Use fstat if the native
* docs/tutorial.texi: Add `@kbd{...}' to examples in order to
* docs/user-ref.texi: Likewise.
* docs/grub.texi: Added an entry for the chapter "Serial
* docs/tutorial.texi (Serial terminal): New chapter.
* util/grub-image (VERSION): Fix version calculation to tolerate
* docs/grub.texi: Remove braces from `@unnumbered' sections so
* debian/rules: Build HTML documentation to appease the Debian
* stage2/fsys_reiserfs.c (reiserfs_mount): Compare PART_LENGTH
* configure.in (AM_INIT_AUTOMAKE): The version number is set to
* lib/device.c (get_drive_geometry) [__GNU__]: Get the number of
GNU/Hurd) was rewritten, since it didn't work for BSD
* stage2/fsys_reiserfs.c (reiserfs_mount): Check if the length
* grub/asmstub.c (console_putchar)
* stage2/builtins.c (partnew_func): New function.
* stage2/builtins.c (find_func): New variable GOT_FILE is set to
* stage2/disk_io.c (check_BSD_parts): Removed.
* stage2/shared.h (next_partition): Declared.
* configure.in (--enable-serial): Changed to ...
* stage2/char_io.c [!STAGE1_5] (get_cmdline) [!SUPPORT_SERIAL]:
* stage2/builtins.c [!SUPPORT_NETBOOT] (bootp_func): Undefined.
* util/grub-install.in (bootdir_device): New variable. If
* stage2/builtins.c (setup_func): New nested function,
Remove the prefix "/boot/grub" in STAGE1_5_MAP.
"/boot/grub/menu.lst". Instead, check if ARG contains
If not specified, check "/boot/grub/stage1" and, if not found,
check "/grub/stage1". If a stage1 was found, set PREFIX to the
* stage2/boot.c (load_image): Copy SRC to DEST first, and append
* stage2/fsys_minix.c (minix_mount): Check if CURRENT_SLICE is a
* stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_MINIX): New macro.
* stage1/stage1.S (notification_string): Print "GRUB " instead
* stage2/start.S [STAGE1_5] (notification_string): Print
* configure.in (CPPFLAGS): Added -malign-jumps=1,
* lib/device.c (get_drive_geometry) [__FreeBSD__ || __NetBSD__
function from asmstub.c.
* docs/tutorial.texi: Fixed a few typos and minor imprecisions.
* docs/prog-ref.texi: Likewise.
* docs/user-ref.texi: Likewise.
* stage2/builtins.c (terminal_func): Rename TIMEOUT to TO, to
* grub/asmstub.c (serial_checkkey): Likewise.
* stage2/char_io.c [!STAGE1_5] (auto_fill): New variable.
* stage2/shared.h (auto_fill): Declared.
* stage2/stage2.c (run_menu): In the menu interface, disable the
auto fill mode (i.e. set AUTO_FILL to zero), and enable it again
(cmain): Initialize AUTO_FILL (i.e. set it to one) in the
* grub/asmstub.c (saved_entryno): New variable. This is a dummy.
* stage1/stage1.h (COMPAT_VERSION_MINOR): Incremented.
* stage2/asm.S (saved_entryno): New variable.
%ebp. %ebp is set in start.S.
* stage2/builtins.c (current_entryno): New variable.
* stage2/shared.h (STAGE2_SAVED_ENTRYNO): New macro.
* stage2/stage2.c (run_menu): Set CURRENT_ENTRYNO to FIRST_ENTRY
* stage2/start.S (start): Save the sector number of the second
* stage1/stage1.S (lba_mode) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
* stage2/start.S (lba_mode) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
* stage2/bios.c (biosdisk) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
* stage2/char_io.c (print_error) [!STAGE1_5]: Print ERRNUM like
* util/grub-install.in: When checking if an error occurred, use
* docs/user-ref.texi (Stage1.5 errors): Updated, since the error
* stage2/stage2.c (run_menu) [GRUB_UTIL]: Set DISP_UP and
* stage2/shared.h (ACS_ULCORNER): Always define this ourselves,
* stage2/char_io.c [SUPPORT_SERIAL] (serial_cls): If the
* stage2/builtins.c (terminal_func) [SUPPORT_SERIAL]: When
* stage2/stage2.c (run_menu): If SHOW_MENU is zero, print a
* util/grub-install.in: Fix a typo: grub_dir -> grubdir.
* stage2/builtins.c (install_func) [GRUB_UTIL]: Open a Stage 2
* stage2/stage2.c (run_menu): Don't use either `p' or `n' to
* stage2/stage2.c (run_menu): Setup and use disp_up, disp_down
* stage2/stage2.c (set_line): Go back one char, which is
* stage2/builtins.c (serial_func): --speed handling: corrected
* stage2/builtins.c (terminal_func): Added two new options,
* stage2/char_io.c [!STAGE1_5] (getkey): Use logical AND
* stage1/stage1.S (MOV_MEM_TO_AL): New macro.
directly, because binutils-2.9.1.0.x doesn't produce a short
* configure.in (CPPFLAGS): Remove -Wundef by default. Add the
option only if the C compiler supports it, because GCC 2.7.x
* grub/main.c (longopts): The type of the argument for "hold" is
* stage2/char_io.c [!STAGE1_5] (get_cmdline): Extensively
* stage2/shared.h (TERMINAL_DUMB): Likewise.
* grub/asmstub.c (console_putchar) [HAVE_LIBCURSES]: If
* stage2/asm.S (console_putchar): Don't print a carriage return
* stage2/char_io.c (grub_putchar): Call grub_putchar with the
* stage1/stage1.h (STAGE1_WINDOWS_NT_MAGIC): New macro.
* stage1/stage1.S (copy_buffer): Use pusha and popa, instead of
pushing/poping %cx and %si separately, to reduce the code size.
* stage2/builtins.c (install_func): If DEST_DRIVE is a hard
* stage2/char_io.c (translate_keycode) [SUPPORT_SERIAL]: Don't
Don't save/restore fragile registers unnecessarily.
* stage2/char_io.c [!STAGE1_5] (translate_keycode): New
* stage2/stage2.c (run_menu): Wrap getkey with the macro
* stage2/shared.h (translate_keycode): Declared.
shared.h. Reported by Mathieu Chouquet-Stringer
* configure.in (--enable-serial-speed-emulation): New option.
* grub/Makefile.am (SERIAL_FLAGS): New variable. Set
* grub/asmstub.c [SIMULATE_SLOWNESS_OF_SERIAL] (serial_speed):
* stage2/builtins.c (serial_func) [SUPPORT_SERIAL]: Added
* stage2/cmdline.c (restart_cmdline_env): New variable.
* stage2/shared.h (BUILTIN_SCRIPT): New macro.
* configure.in (--enable-serial): New option. Serial terminal
* grub/Makefile.am (AM_CFLAGS): Added -DSUPPORT_SERIAL=1.
* grub/asmstub.c (cls): Renamed to ...
* stage2/Makefile.am (libgrub_a_CFLAGS): Added
* stage2/asm.S [!STAGE1_5] (cls): Renamed to ...
* stage2/builtins.c (terminal_func): If the bit flag
* stage2/char_io.c [!STAGE1_5] (gotoxy): New function.
* stage2/serial.h (serial_cls): Declared.
* stage2/shared.h (console_cls): Likewise.
* stage2/stage2.c (print_entries): If serial terminal is
* grub/asmstub.c (serial_checkkey): Specify a pointer to TIMEOUT
* Makefile.am (NBLOADER_LINK): New variable.
* stage2/nbi.h (NBI_DEST_ADDR): Changed to 0x10000.
* stage2/nbloader.S: Added .code16 directive at the start of the
* grub/main.c (main): Move the version number inside the
* stage2/serial.h [GRUB_UTIL] (set_serial_device): Declared.
* stage2/asm.S (codestart) [SUPPORT_DISKLESS]: Don't reset a
* stage2/serial.c: New file.
* stage2/serial.h: Likewise.
(pre_stage2_exec_SOURCES): Added serial.c.
* docs/tutorial.texi: Minor fixes.
* docs/tutorial.texi (Installation): Divided into three sections
* lib/device.c (_LARGEFILE_SOURCE): Defined.
* lib/device.h [__linux__] (write_to_partition): Declared.
* util/grub-install.in: Specify the option "--stage2" for the
* stage2/fsys_fat.c (fat_superblock): clust_eof_marker added.
* stage2/fsys_reiserfs.c (journal_init): Fixed calculation of
* stage2/fsys_reiserfs.c: Symlink support added.
* grub/asmstub.c (biosdisk) [__linux__]: The first argument for
* docs/appendices.texi (FAQ): Added the answer for the separate
* netboot/3c509.c: Copied from Etherboot-4.6.4.
* netboot/3c509.h: Likewise.
* netboot/cards.h: Likewise.
* netboot/ns8390.c: Likewise.
* netboot/sk_g16.c: Likewise.
* netboot/sk_g16.h: Likewise.
* netboot/tulip.c: Likewise.
* netboot/pci.h: Likewise.
* netboot/main.c (dhcpdiscover): Updated.
* netboot/README.netboot: Added the information about the new
* configure.in (--enable-ns8390-force-16bit): New option.
* netboot/config.c: Updated.
* stage2/asm.S (linux_boot): Add 3 into %ecx and shift %ecx to
* stage2/fsys_reiserfs.c (block_read): Changed the variable "len"
* configure.in (CPPFLAGS): Added -Wshadow, -Wpointer-arith and
* stage2/shared.h [!ASM_FILE] (multi_boot): Change the name of
* lib/device.h (init_device_map): Change the name of the third
* lib/device.c (read_device_map): Rename the internal function
* stage2/builtins.c (install_func): Rename CONFIG_FILE to
* stage2/char_io.c (convert_to_ascii): Rename the internal
* stage2/stage2.c (run_menu): Rename the internal variable
* stage2/disk_inode_ffs.h: Check if BYTE_MSF is defined before
* stage2/fsys_ext2fs.c (ext2fs_dir): Check if E2DEBUG is
* grub/asmstub.c: Check if __GLIBC__ is defined before checking
* util/grub-image.in: Initial cut at a script for creating GRUB
* util/Makefile.am (noinst_SCRIPTS): Added grub-image.
* stage2/asm.S (check_int13_extensions): Fixed the effect of
the --force-lba switch in stage2/stage1_5.
* stage2/fsys_fat.c (fat_mount): Fixed calculation of num_clust.
* stage2/asm.S [!STAGE1_5] (linux_text_len): New variable.
* stage2/boot.c (load_image): Set LINUX_TEXT_LEN to TEXT_LEN,
* stage2/shared.h (LINUX_VID_MODE_OFFSET): Removed.
Comply with the Linux/i386 boot protocol version 2.02.
* stage2/asm.S [!STAGE1_5] (linux_boot): Set the length of moved
* stage2/boot.c (load_image): Rewrite the Linux support code
* stage2/shared.h (LINUX_MAGIC_SIGNATURE): New macro.
* docs/tutorial.texi: Fix some syntax errors and ambiguous
* stage2/boot.c (load_image): When getting the text length of a
* stage2/asm.S (grub_putchar): Renamed to ...
* stage2/char_io.c [!STAGE1_5] (getkey): New function.
* stage2/shared.h [!STAGE1_5] (terminal): Declared.
* stage2/builtins.c (terminal): New global variable. The default
* grub/asmstub.c (grub_putchar): Renamed to ...
* stage2/Makefile.am (libgrub_a_CFLAGS): Added
Segreate OS-specific helper functions from asmstub.c.
[HAVE_OPENDISK]: Don't include util.h.
Include device.h.
* grub/main.c (no_floppy): Removed.
* lib/Makefile.am (AM_CFLAGS): New variable.
* lib/device.h: New file.
* lib/device.c: Likewise.
* stage2/shared.h (no_floppy): Removed.
* grub/main.c (usage): Enclose the mail address with parentheses
* docs/appendices.texi (Obtaining and Building GRUB): Indicate
you can now use a public release (i.e. 2.10).
* stage2/boot.c (load_image): Take an additional argument
* stage2/shared.h (load_image): Added the new argument.
* stage2/builtins.c (kernel_func): If `--no-mem-option' is
* docs/tutorial.texi: Fixed some typos and syntax errors.
* docs/user-ref.texi: Likewise.
* stage2/stage2.c (run_menu): Initialize CUR_ENTRY at the
* stage2/builtins.c (show_menu): New global variable.
* stage2/shared.h (show_menu): Declared.
* docs/mdate-sh: Moved to ...
* docs/texinfo.tex: Moved to ...
* texinfo.tex: ... here.
* stage2/mb_info.h (AddrRangeDesc): Use one 64bits field instead
* stage2/builtins.c (displaymem_func): Print BaseAddr >> 32,
* stage2/common.c (fakemap): Adjusted to the new definition of
* docs/appendices.texi (FAQ): Added an question about Linux's
* stage2/boot.c (load_image): Pass a mem option to Linux, only
* stage2/compile: Removed.
* netboot/compile: Likewise.
* stage2/boot.c (load_image): Don't remove the vga option after
* stage2/asm.S (grub_halt): Use jmp instead of jc, if INT 15
* configure.in (AM_INIT_AUTOMAKE): Increase the version number.
* stage2/builtins.c (halt_func): New function.
* stage2/asm.S (grub_halt): New function.
* stage2/shared.h (grub_halt): Declared.
* grub/asmstub.c (grub_reboot): New function.
* stage2/stage2.c (run_menu): Don't display the menu if the
* util/grub-install.in (convert): When $host_os is linux*, use
quite inconsistent with hard disks? Why not /dev/fd[a-z]?)
* docs/tutorial.texi (Network): The body is moved to ...
* docs/user-ref.texi (General commands): Added a description
* netboot/main.c (decode_rfc1533) [GRUB]: Eliminate trailing
* stage2/fsys_reiserfs.c: Added journaling to reiser.
* netboot/main.c (dhcprequest) [GRUB]: Set the length of the
* netboot/etherboot.h [GRUB] (RFC1533_VENDOR_CONFIGFILE): New
* stage2/asm.S (check_int13_extensions): Check the bitmap only
* stage2/bios.c (get_diskinfo): Get rid of the wrong check for
the bit 0 of DRP.FLAGS. Now the bitmap check is correctly
* docs/user-ref.texi (Invoking the grub shell): Added a caution.
* stage2/cmdline.c (enter_cmdline) [SUPPORT_DISKLESS]: Redisplay
[SUPPORT_DISKLESS]: Include <etherboot.h>.
* stage2/builtins.c (setup_func): Check if INSTALL_DRIVE is a
* acinclude.m4 (grub_ASM_ABSOLUTE_WITHOUT_ASTERISK): New
function. Check if GAS requires absolute indirect calls/jumps
* configure.in: Call grub_ASM_ABSOLUTE_WITHOUT_ASTERISK.
* acconfig.h (ABSOLUTE_WITHOUT_ASTERISK): New macro entry.
* netboot/pci.c (bios32_service) [!ABSOLUTE_WITHOUT_ASTERISK]:
* stage2/asm.S (chain_stage1) [!ABSOLUTE_WITHOUT_ASTERISK]:
* stage2/shared.h (grub_memmove): Prototype to use void *.
* stage2/char_io.c (grub_memmove): Define likewise.
* docs/user-ref.texi (Stage2 errors): Update error messages.
* util/grub-install.in: Fix a typo that prevented error messages
* stage2/cmdline.c (enter_cmdline): Don't give errors on empty
* stage2/common.c (err_list): Clean up wordings slightly.
* netboot/misc.c [GRUB] (inet_aton): Defined.
* netboot/main.c (arp_server_override): New function.
* netboot/etherboot.h [GRUB] (arp_server_override): Declared.
* stage2/builtins.c (tftpserver_func): New function.
* stage2/asm.S (codestart): Fix a typo: DISKLESS_SUPPORT ->
* stage2/nbloader.S: Fix the image length and the memory length
* stage2/shared.h (STACKOFF): Enclosed with parentheses.
* configure.in (--enable-diskless): New option. Set a
(noinst_PROGRAMS) [DISKLESS_SUPPORT]: Added nbloader.exec,
(BUILT_SOURCES) [DISKLESS_SUPPORT]: Added diskless_size.h.
(diskless_size.h): New target.
(nbloader_exec-nbloader.o): New dependency.
* stage2/asm.S (install_partition): Set to 0xFFFFFF instead of
[SUPPORT_DISKLESS]: Include etherboot.h.
* stage2/nbloader.S: New file.
* stage2/pxeloader.S: Likewise.
* stage2/nbi.h: Likewise.
* netboot/fsys_tftp.c (buf_fill): Warn when amazing things
* netboot/fsys_tftp.c (tftp_dir): Append "0\0" to the request
* docs/user-ref.texi: Added ReiserFS as a supported filesystem.
* docs/tutorial.texi: Updated the subsection for NetBSD.
* stage2/asm.S (set_int13_handler): Don't use MBI to get the
directly and set %eax to it, since MBI.MEM_LOWER may not be the
* grub/asmstub.c (CONVENTIONAL_MEMSIZE): Changed to 640 * 1024
* stage2/common.c (mmap_avail_at): New function, abstracted out
(init_bios_info): Use mmap_avail_at for _both_ MBI.MEM_UPPER and
* netboot/config.c (pci_nic_list) [INCLUDE_TULIP]: Added an
* netboot/epic100.c: Just copied.
* netboot/pci.h: Likewise.
* netboot/tulip.c: Likewise.
* netboot/etherboot.h (tftp): Change the type of the first
* netboot/main.c (tftp): Likewise.
* util/grub-install.in: If the program `cp' fails, exit with the
* stage2/pc_slice.h (PC_SLICE_TYPE_LINUX_EXTENDED): New macro.
* stage2/common.c (init_bios_info) [!STAGE1_5]: When the memory
to non-Multiboot kernels (i.e. Linux and *BSD).
* stage2/common.c [!STAGE1_5] (extended_memory): New global
Set EXTENDED_MEMORY to MBI.MEM_UPPER by default.
If MBI.MMAP_LENGTH is not zero, set EXTENDED_MEMORY to the
If MBI.MMAP_LENGTH is zero but get_eisamemsize returns other
* stage2/shared.h [!STAGE1_5] (extended_memory): Declared.
* stage2/boot.c (load_image): Always pass the "mem=" option to a
Linux kernel, using EXTENDED_MEMORY instead of MBI.MEM_UPPER.
(bsd_boot): Use EXTENDED_MEMORY instead of MBI.MEM_UPPER.
* stage1/stage1.S (message): Use lodsb instead of incw and movb.
* stage1/stage1.S (copy_buffer): Set %cx to 0x100 and use movsw
* stage2/builtins.c (setup_func): Use SECTOR_BITS instead of
* netboot/depca.c: Copied from Etherboot-4.6.0.
* stage2/builtins.c (auth): New global variable.
* stage2/common.c (err_list): Added an entry for ERR_PRIVILEGED.
* stage2/stage2.c (run_menu): If AUTH is true, show the messages
* stage2/shared.h (grub_error_t): Added a new constant
* docs/user-ref.texi (Command-line-specific commands): Don't use
* configure.in (--enable-3c590): New option.
* netboot/Makefile.am (libdrivers_a_SOURCES): Removed
* netboot/3c90x.c: Updated to Etherboot-4.5.8.
* netboot/3c90x.txt: Likewise.
* netboot/cs89x0.c: Likewise.
* netboot/cs89x0.h: Likewise.
* netboot/eepro100.c: Likewise.
* netboot/epic100.c: Likewise.
* netboot/epic100.h: Likewise.
* netboot/i82586.c: Likewise.
* netboot/lance.c: Likewise.
* netboot/linux-asm-io.h: Likewise.
* netboot/linux-asm-string.h: Likewise.
* netboot/nic.h: Likewise.
* netboot/ns8390.c: Likewise.
* netboot/ns8390.h: Likewise.
* netboot/pci.c: Likewise.
* netboot/pci.h: Likewise.
* netboot/rtl8139.c: Likewise.
* netboot/sk_g16.c: Likewise.
* netboot/sk_g16.h: Likewise.
* netboot/smc9000.c: Likewise.
* netboot/smc9000.h: Likewise.
* netboot/tiara.c: Likewise.
* netboot/tulip.c: Likewise.
* netboot/via-rhine.c: Likewise.
* netboot/config.c: Updated to Etherboot-4.5.8 and modified (see
* netboot/etherboot.h: Likewise,
[GRUB]: Include <shared.h>.
* netboot/misc.c (sleep): Copied.
* netboot/osdep.h: Copied and modified (see below).
[GRUB]: Include "linux-asm-io.h".
* netboot/byteorder.h: Removed.
* netboot/if.h: Likewise.
* netboot/netboot_config.h: Likewise.
* netboot/netdevice.h: Likewise.
* netboot/ntulip.c: Likewise.
* netboot/ntulip.txt: Likewise.
* netboot/tulip.h: Likewise.
* netboot/3c595.c: New file. Copied from Etherboot-4.5.8.
* netboot/3c595.h: Likewise.
* netboot/cards.h: Likewise.
* netboot/cs89x0.txt: Likewise.
* netboot/depca.c: Likewise.
* netboot/otulip.c: Likewise.
* netboot/otulip.h: Likewise.
* netboot/tulip.txt: Likewise.
* stage2/common.c (err_list): Added message for ERR_UNALIGNED.
* stage2/shared.h [!STAGE1_5] (disk_read_hook,disk_read_func): New
* stage2/disk_io.c (rawread) [!STAGE1_5]: Call disk_read_func with
* stage2/builtin.c (disk_read_print_func): Print offset and length.
* util/grub-install.in: Don't use `!' in `test' for more
The user doesn't have to recompile GRUB for his/her buggy BIOS
* stage1/stage1.S (force_lba): New variable.
* stage1/stage1.h (COMPAT_VERSION_MINOR): Set to 1.
* stage2/asm.S (force_lba): New variable.
* stage2/bios.c (get_diskinfo): Don't use #ifdef for
non-zero. If so, don't check the bit 0 of DRP.FLAG.
* stage2/builtins.c (install_func): Check if a new option
* stage2/shared.h (STAGE2_FORCE_LBA): New macro.
* util/grub-install.in (force_lba): New variable. Set to an
* configure.in (--disable-lba-support-bitmap): Removed.
* util/grub-install.in (root_device): Append `/' to ${rootdir},
* configure.in: Added --disable-reiserfs option.
(noinst_PROGRAMS): Added reiserfs_stage1_5.exec.
(pre_stage2_exec_SOURCES): Added fsys_reiserfs.c.
* stage2/disk_io.c (fsys_table): Added reiserfs entry.
* stage2/filesys.h (FSYS_REISERFS_NUM): New macro.
reiserfs_embed): Declare external function from fsys_reiserfs.c.
* stage2/builtins.c (setup_func): Added reiserfs to
* stage2/shared.h (STAGE2_ID_REISERFS_STAGE1_5): New macro.
* stage2/fsys_reiserfs.c: New file.
* stage2/builtins.c (embed_func): Call open_device instead of
* stage2/filesys.h (fsys_table): New entry embed_func.
* stage2/disk_io.c (fsys_table): Fill embed_func entries. The
* stage2/fsys_ffs.c (ffs_embed): New function.
* stage2/shared.h (SECTOR_SHIFT): New constant with
* stage2/shared.h [!NO_BLOCK_FILES] (block_files): No longer
* stage2/disk_io.c [!NO_BLOCK_FILES] (block_files): Likewise.
* stage2/fsys_fat.c (log2): New inline function.
(fat_mount): Use log2 instead of calculating the size/bit by a
* configure.in: Use AC_PATH_PROG instead of AC_PATH_TOOL,
* stage2/stage2.c (run_menu): In the case where C is `o', check
* stage1/depcomp: Removed, because it makes `make dist'
* stage2/builtins.c (kernel_func): Added missing ``size''
* stage2/boot.c (load_initrd): Mask the address with 0x3FFFFFFF
[__FreeBSD__ || __NetBSD__ || __OpenBSD__]: Include <sys/cdio.h>
* stage2/boot.c (load_initrd): Subtract 0x1000 (one page size)
from MOVETO, to avoid a Linux 2.3.xx's bug.
* stage2/boot.c (load_image): Added an optional argument
(bsd_boot): If TYPE is not KERNEL_TYPE_FREEBSD (i.e. NetBSD or
* stage2/shared.h (load_image): Added the argument
* stage2/builtins.c (kernel_func): Added a new option,
* stage2/stage2.c (run_menu) [GRUB_UTIL]: Removed a nested
* stage2/builtins.c (unhide_func): Don't modify SAVED_DRIVE or
* stage2/disk_io.c (set_partition_hidden_flag): Use
* grub/asmstub.c (init_device_map): Change the message
* stage2/pc_slice.h (PC_SLICE_TYPE_HIDDEN_FLAG): Move the
* stage2/builtins.c (setup_func): Don't read a stage 1.5 to get
If embed_func fails (i.e. ERRNUM is non-zero), goto fail.
* stage2/common.c (init_bios_info): Removed a nested
* util/grub-install.in: Quote most of the references to
* stage2/builtins.c (setup_func): Change each of the messages
* stage2/char_io.c (convert_to_ascii) [!STAGE1_5]: Accept 'X'
* grub.texi: Several awkward English sentences are fixed.
* tutorial.texi: Likewise.
* user-ref.texi: Likewise.
* appendices.texi: Likewise.
* stage1/depcomp: New file. Automake forces to install it. This
* configure.in (AM_INIT_AUTOMAKE): Don't get the package name
and the version from debian/changelog. This is a workaround.
* stage2/Makefile.am (nodist_pkgdata_DATA): Renamed to ...
(start_exec-start.o): New rule.
cs89x0.h. Just a typo.
* debian/rules: Strip mbchk.
* netboot/fsys_tftp.c (tftp_dir): Add BUF_READ into FILEMAX
* stage2/builtins.c (color_func): Return 1 if safe_parse_maxint
* docs/tutorial.texi (Network): New chapter.
* docs/help2man: Upgraded to 1.020.
* docs/grub.8: Regenerated.
* docs/grub-install.8: Likewise.
* docs/mbchk.1: Likewise.
* docs/tutorial.texi (Boot): Rewritten heavily. Added the notes
on FreeBSD, NetBSD, OpenBSD, DOS/Windows and SCO UnixWare.
* netboot/fsys_tftp.c (tftp_read): Set BUF_READ to zero if
* stage2/disk_io.c [!STAGE1_5] (print_fsys_type): Mask
major number of ST.ST_RDEV is FLOPPY_MAJOR.
* stage2/disk_io.c (check_BSD_parts) [!STAGE1_5]: Use the term
* stage2/builtins.c (boot_func): Copy the partition table to
* stage2/disk_io.c (real_open_partition) [!STAGE1_5]: Set
* stage2/shared.h (BOOT_PART_TABLE): New macro.
* grub/asmstub.c (chain_stage1): Adjusted to the prototype.
* stage2/disk_io.c (check_BSD_parts) [!STAGE1_5]: If the BSD
* docs/user-ref.texi (Command-line-specific commands): Added a
* docs/appendices.texi (Reporting bugs): Rewritten.
* netboot/netboot_config.h: Copied from etherboot-4.4.3.
* netboot/cs89x0.h: Likewise.
* netboot/cs89x0.c: Likewise.
* netboot/i82586.c: Likewise.
* netboot/lance.c: Likewise.
* netboot/linux-asm-string.h: Likewise.
* netboot/nic.h: Likewise.
* netboot/ntulip.c: Likewise.
* netboot/osdep.h: Likewise.
* netboot/pci.h: Likewise.
* netboot/pci.c: Likewise.
* netboot/rtl8139.c: Likewise.
* netboot/tiara.c: Likewise.
* stage2/builtins.c (cmp_func): New function.
* stage2/disk_io.c [!STAGE1_5] (make_saved_active): Make sure
* netboot/3c59x.c: Removed.
* netboot/Makefile.am (EXTRA_libdrivers_a_SOURCES): Deleted
* configure.in (--enable-3c59x): Likewise.
* configure.in (--enable-3c90x): Add -DINCLUDE_3C90X=1 instead
* stage2/fsys_fat.c (fat_read): Forgot to increase BUF.
* stage2/char_io.c (grub_isspace): Make carriage return a white
* stage2/fsys_fat.c (fat_dir): Long filename support.
* stage2/fat.h (FAT_LONGDIR_ID, FAT_LONGDIR_ALIASCHECKSUM,
* stage2/fsys_fat.c (fat_create_blocklist): Deleted, instead
* stage2/disk_io.c (fsys_table): Use fat_read.
* stage2/filesys.h: Declare fat_read, remove NO_BLOCK_FILES
* stage2/Makefile.am: Compile fat_stage1_5 with
* stage2/fat.h (fat_bpb): New structure describing bpb.
* stage2/fsys_fat.c (fat_superblock): New structure containing
* stage2/builtins.c (chainloader_func): Embed the partition
* stage2/disk_io.c [!STAGE1_5] (boot_part_addr): New variable.
* stage2/shared.h (boot_part_addr): Declared.
* stage2/builtins.c (geometry_func): Attempt to read the first
* netboot/fsys_tftp.c (buf_fill) [TFTP_DEBUG]: Added some debug
* netboot/main.c (print_network_configuration): The order of the
* configure.in (--enable-packet_retransmission): Renamed to ...
* stage2/shared.h [!GRUB_SHARED_HEADER] (GRUB_SHARED_HEADER):
* netboot/main.c (print_network_configuration): New function.
* netboot/etherboot (print_network_configuration): Declared.
* netboot/config.c (eth_probe): Clear ARPTABLE after clearing
* stage2/builtins.c (bootp_func): Call
* docs/multiboot.texi: Added graphics support.
* docs/multiboot.texi (Top): Downgrade the version to 0.6.90,
* stage2/Makefile.am [NETBOOT_SUPPORT] (STAGE2_COMPILE): Added
* stage2/builtins.c (bootp_func): New function.
* docs/user-ref.texi (General Commands): Added descriptions
* netboot/main.c (bootp) [!NO_DHCP_SUPPORT]: Added casts to
<linux/pci.h> even if __FreeBSD__ is undefined.
* stage2/fsys_fat.c (fat_create_blocklist): The previous change
* netboot/config.c (eth_probe): If PROBED is set to non-zero,
* netboot/main.c (rarp): Call eth_probe and return zero if
* netboot/etherboot.h (NO_DHCP_SUPPORT): Undefined.
* stage2/builtins.c (print_root_device): Use the macro
* stage2/disk_io.c [!STAGE1_5] (sane_partition): Likewise.
* grub/asmstub.c (biosdisk) [__linux__]: Use _llseek when
* configure.in (--disable-lba-support-bitmap-check): New option.
* stage1/stage1.S (real_start): Check if AH=0x42 is supported if
* configure.in (--enable-tftp): Deleted.
* netboot/main.c: New file. Copied and modified.
* netboot/linux-asm-io.h: Likewise.
* netboot/etherboot.h: Likewise.
* netboot/misc.c: Likewise.
* netboot/via-rhine.c: Likewise.
* netboot/3c90x.c: Likewise.
* netboot/3c90x.txt: Likewise.
* netboot/epic100.c: Likewise.
* netboot/epic100.h: Likewise.
* netboot/i82586.c: Likewise.
* netboot/linux-asm-string.h: Likewise.
* netboot/ntulip.c: Likewise.
* netboot/ntulip.txt: Likewise.
* netboot/osdep.h: Likewise.
* netboot/rtl8139.c: Likewise.
* netboot/sk_g16.c: Likewise.
* netboot/sk_g16.h: Likewise.
* netboot/smc9000.c: Likewise.
* netboot/smc9000.h: Likewise.
* netboot/tiara.c: Likewise.
* netboot/tulip.c: Likewise.
* netboot/tulip.h: Likewise.
* netboot/README.netboot: New file. Most information is stolen
* netboot/3c509.c: Copied from Etherboot. The original is
* netboot/3c509.h: Likewise.
* netboot/cs89x0.c: Likewise.
* netboot/eepro100.c: Likewise.
* netboot/lance.c: Likewise.
* netboot/ns8390.c: Likewise.
* netboot/ns8390.h: Likewise.
* netboot/pci.c: Likewise.
* netboot/config.c: Copied from Etherboot and added the 3c59x
* netboot/pci.h: Likewise.
* netboot/io.h: Removed.
* netboot/ip.h: Likewise.
* netboot/ip.c: Likewise.
* netboot/netboot.h: Likewise.
* netboot/Makefile.am (INCLUDES): Added -I$(top_srcdir)/stage2.
* stage2/char_io.c (nul_terminate): Changed the type of the
* stage2/shared.h (NETWORK_DRIVE): New macro.
* stage2/gunzip.c (gunzip_test_header): Removed the TFTP check
* stage2/asm.S: Undo the previous changes. Is
* stage2/cmdline.c (enter_cmdline): Set BUF_DRIVE to -1 before
* stage2/char_io.c (get_cmdline): Set BUF_DRIVE to -1 before the
* configure.in: Use AC_PATH_TOOL instead of AC_PATH_PROG.
* stage2/asm.S (chain_stage1): Prepend `*' to the argument for
* util/grub-install.in (--root): Renamed to ...
* docs/user-ref.texi (Invoking grub-install): Adjusted to the
* docs/grub-install.8: Regenerated.
* docs/appendices.texi (FAQ): Added an item about the sucked
* stage2/builtins.c (chainloader_func): If --force is specified
* docs/tutorial.texi (Chain-loading): Added a caution about some
* docs/user-ref.texi (Command-line-specific commands): Added a
* docs/prog-ref.texi (LBA mode disk I/O): Added a footnote about
* stage1/stage1.S [!NO_BUGGY_BIOS_IN_THE_WORLD]: Don't check if
* stage2/bios.c (NO_INT13_FALLBACK): Undefined.
bit 0 in DRP.FLAGS is set, because at least one BIOS does not
* util/grub-install.in: Handle the new options `--root' and
* docs/user-ref.texi (Invoking grub-install): Added the
* docs/grub-install.8: Regenerated.
* util/grub-install.in (grubdir_device): New variable.
* stage2/asm.S (grub_setjmp): New function. Stolen from the
* stage2/shared.h [GRUB_UTIL] (grub_jmp_buf): New type.
* stage2/builtins.c (configfile_func): Use grub_longjmp instead
* stage2/stage2.c (restart_env): New variable.
* docs/multiboot.texi (Boot information format): Added the
* stage2/builtins.c (setup_func) [!NO_BUGGY_BIOS_IN_THE_WORLD]:
* docs/user-ref.texi (Command-line-specific commands): Added a
* docs/src2texi: Added an extra space into the first line, for
* docs/appendices.texi (Obtaining and Building GRUB): Update the
* stage2/builtins.c (blocklist_func): New function.
* docs/user-ref.texi (Command-line-specific commands): Added a
* stage2/disk_io.c (grub_seek): New function.
* stage2/shared.h (grub_seek): Declared.
* stage2/boot.c (load_image): Use grub_seek instead of setting
* stage2/builtins.c (install_func): Likewise.
* docs/grub.texi: Use a single direntry command for all the
* grub/asmstub.c (check_device) [__linux__]: Check if DEVICE is
* stage2/Makefile.am (nodist_noinst_DATA): Renamed to ...
* stage2/bios.c (get_diskinfo): Set the LBA flag in GEOMETRY
only if bit 0 in DRP.FLAGS is set. Reported by Zack Weinberg
* grub/asmstub.c (init_device_map): Increase the number of
* stage2/disk_io.c (real_open_partition): If SLICE_NO is greater
* grub/asmstub.c (getkey): Stop immediately if we get an EOF.
* stage2/stage2.c (cmain): Tell enter_cmdline to run forever.
* stage2/cmdline.c (enter_cmdline): New argument, FOREVER, for
* debian/rules (binary-arch): Don't strip or generate shared
library dependencies for /usr/sbin/grub-install, since it's a
* util/grub-install.in: Create safe temporary log files using
/bin/tempfile if it is executable.
* stage1/Makefile.am (LDFLAGS): Consolidate multiple -Wl flags.
* stage2/Makefile.am (PRE_STAGE2_LINK): Likewise.
* util/grub-install.in (debug): New variable.
* stage2/Makefile.am (noinst_DATA): Renamed to ...
* util/Makefile.am: sbin_SCRIPS -> sbin_SCRIPTS.
* util/grub-install.in: grub_dir -> grubdir.
* configure.in: Output grub-install.
* util/Makefile.am (sbin_SCRIPTS): New variable.
* util/grub-install.in: New file.
* docs/Makefile.am (man_MANS): Added grub-install.8.
* docs/grub-install.8: New file. Generated by help2man.
* docs/user-ref.texi (Invoking grub-install): New chapter.
* stage1/stage1.S: Check for the API subset support bitmap
* stage2/builtins.c (install_func): When using a Stage 1.5, set
* stage2/disk_io.c (set_device) [STAGE1_5]: Always set
* stage1/stage1.S (lba_mode): Jump to chs_mode if INT 13 AH=42h
* grub/main.c (device_map_file): Set to 0.
* grub/asmstub.c (init_device_map): If DEVICE_MAP_FILE is NULL,
* docs/grub.8: Regenerated.
* stage2/boot.c (load_image): grub_close was called after
* stage2/stage1_5.c (cmain): Call grub_close after grub_read.
* stage1/Makefile.am (BUILT_SOURCES): Removed.
* stage2/builtins.c (print_root_device): New function.
* stage2/disk_io.c [!STAGE1_5] (print_completions): Call
* stage2/char_io.c [!STAGE1_5] (get_cmdline): Clear ERRNUM after
* stage2/asm.S [!STAGE1_5] (currticks): Set %eax to %cx:%dx
* grub/asmstub.c (get_diskinfo) [__linux__]: After opening the
* debian/rules: Add variables for cross-compilation.
* debian/control (Standards-Version): Update to version 3.1.0.
info into /usr/share/info in accordance with FHS.
(binary-arch): Likewise, and put docs into /usr/share/doc.
* debian/prerm: Likewise.
* stage2/Makefile.am (CLEANFILES): Change to
* stage1/Makefile.am (CLEANFILES): Likewise.
* grub/asmstub.c (grub_putchar) [HAVE_LIBCURSES]: Do not call
* stage2/builtins.c (embed_func): The sector argument for the
* docs/multiboot.texi (Boot information format): Add the members
* util/mbchk.c (main): Move the version number inside the
* debian/rules (binary-arch): Compress man pages.
* docs/tutorial.texi: Fix typos by ispell.
* docs/user-ref.texi: Likewise.
* docs/prog-ref.texi: Likewise.
* docs/appendices.texi: Likewise.
* stage2/fsys_ext2fs.c (struct ext2_dir_entry): Changed the type
it. This is stolen from linux/ext2_fs.h in Linux 2.2.13.
* stage2/builtins.c (device_func) [GRUB_UTIL]: Call
* stage2/disk_io.c (real_open_partition): Check for the right
* stage2/builtins.c (color_func): Use the function
* stage2/char_io.c [!STAGE1_5] (nul_terminate): New function.
* stage2/shared.h (nul_terminate): Declared.
* docs/grub.texi: Add "I/O ports detection" into the menu.
* docs/user-ref.texi: Added a description about the command
* docs/prog-ref.texi (I/O ports detection): New chapter.
* stage2/asm.S (int1_handler): Use EXT_C(io_map) instead of
* grub/asmstub.c (init_device_map): Add a floppy device name
* stage2/char_io.c [!STAGE1_5] (get_cmdline): Clear ERRNUM after
* stage2/asm.S (track_int13): Defined unconditionally. Do not
* stage2/builtins.c (ioprobe_func): New function.
* stage2/shared.h (IO_MAP_SIZE): New macro.
* stage2/char_io.c (print_error) [!STAGE1_5]: Print "Error:"
* stage2/cmdline.c (run_script): If ERRNUM is non-zero, set
* stage2/stage2.c (run_menu) [GRUB_UTIL]: Do not use IBM special
* stage2/shared.h [!ACS_ULCORNER] (ACS_ULCORNER): New macro.
* stage2/builtins.c (keycode_func): Removed.
* stage2/common.c [!STAGE1_5] (err_list): Added
* stage2/shared.h (grub_error_t): Added ERR_BAD_ARGUMENT.
* stage2/asm.S [!STAGE1_5] (remap_ascii_char): New function.
* grub/asmstub.c (ascii_key_map): New variable.
* docs/user-ref.texi (General commands): Added a description
* stage2/disk_io.c (set_device) [!STAGE1_5]: Remove the
* docs/help2man: Upgraded to 1.016.
* docs/mbchk.1: Regenerated.
* docs/grub.8: Likewise.
* grub/asmstub.c: Rename KEY_MAP to BIOS_KEY_MAP.
* stage2/asm.S [!STAGE1_5] (set_int15_handler): Use 0 instead of
* stage2/builtins.c (keycode_func): Check if FROM is greater
* stage2/shared.h (KEY_MAP_SIZE): Set to 32.
* stage2/asm.S [DEFINE_TRACK_INT13] (track_int13): Use %edi
* stage2/disk_io.c (grub_close): Do not set ERRNUM even if
* stage1/stage1.S: Long jump to real_start, because some bogus
* stage2/asm.S [DEFINE_TRACK_INT13] (int3_handler): Save the
* stage2/asm.S [DEFINE_TRACK_INT13] (track_int13): New function.
* stage2/builtins.c (quit_func) [!GRUB_UTIL]: Fix a typo.
* docs/new-grub.texi: Removed.
* docs/Makefile.am (grub_TEXINFOS): New variable.
* stage2/builtins.c (device_func) [!GRUB_UTIL]: Set ERRNUM to
* docs/tutorial.texi: Rename "Device Syntax" to "Filename".
* docs/new-grub.texi: "Device Syntax" -> "Filename".
* docs/user-ref.texi: Fix typos and added some cross-references.
* docs/prog-ref.texi: Likewise.
* docs/appendices.texi: Likewise.
* stage2/builtins.c (map_func): If BIOS_DRIVE_MAP already
* docs/user-ref.texi (Command): Use the list of `@deffn's
* stage2/asm.S [!STAGE1_5] (set_int15_handler): New function.
* stage2/shared.h (KEY_MAP_SIZE): New macro.
* stage2/builtins.c (boot_func): Do not allow I to be equal to
* grub/asmstub.c (set_int15_handler): New function.
* acconfig.h (HAVE_USCORE_USCORE_BSS_START_SYMBOL): Added the
* acinclude.m4 (grub_CHECK_USCORE_USCORE_BSS_START_SYMBOL): New
* configure.in: Check for __bss, edata and _edata.
* netboot/fsys_tftp.c (tftp_close): New function.
* stage2/boot.c (load_image): Call grub_close before return.
* stage2/builtins.c (cat_func): Likewise.
* stage2/disk_io.c (fsys_table): Add the `close' member into
* stage2/filesys.h [FSYS_TFTP] (tftp_close): Declared.
* stage2/shared.h (grub_close): Declared.
* stage2/stage1_5.c (cmain): Call grub_close after grub_open.
* stage2/stage2.c (cmain): Clear ERRNUM after calling
* stage2/asm.S (main): Clean out the bss.
* docs/new-grub.texi: Updated.
* docs/user-ref.texi: Likewise.
* docs/tutorial.texi: Likewise.
* docs/prog-ref.texi: Likewise.
* docs/appendices.texi: Likewise.
* docs/prog-ref.texi: New file.
* docs/appendices.texi: Likewise.
* docs/user-ref.texi: New file.
* stage2/builtins.c (bios_drive_map): New variable.
* stage2/asm.S (ABS): New macro.
* stage2/shared.h (DRIVE_MAP_SIZE): New macro.
* grub/asmstub.c (set_int13_handler): New function. Do nothing.
* stage2/builtins.c (find_func): Print only the device names.
* docs/tutorial.texi: New file.
(%.h.texi): Likewise.
(%.S.texi): Likewise.
* stage2/char_io.c (memcheck): Fix the checks: "<=" -> "<".
* stage2/builtins.c (find_func): New function.
* docs/Makefile.am (UNFINISHED_MANUALS): New variable.
* docs/new-grub.texi: New file.
* docs/Makefile.am (man_MANS): Added mbchk.1.
* docs/mbchk.1: New file. Generated by help2man.
* Makefile.am (SUBDIRS): Added util.
* util/Makefile.am: New file.
* util/mbchk.c: Likewise.
* util/Makefile.in: Likewise. Generated by automake.
* docs/Makefile.am (.texi): Canceled because the dependecies can
* stage2/builtins.c (embed_func): Set BUF_TRACK to -1 before
* stage2/boot.c (load_initrd): Change types of *RAMDISK and
* docs/multiboot.texi: Include the example source files of a
* docs/src2texi: New file.
* docs/boot.S: Likewise.
* docs/multiboot.h: Likewise.
* docs/kernel.c: Likewise.
* docs/boot.S.texi: Likewise.
* docs/multiboot.h.texi: Likewise.
* docs/kernel.c.texi: Likewise.
* docs/Makefile.am (EXAMPLES): New varilable.
(%.c.texi): New target.
(%.h.texi): Likewise.
(%.S.texi): Likewise.
* multiboot.texi (BIOS device mapping techniques): New section.
Stolen from bios_mapping.txt in grub-0.5.
* multiboot.texi: Rename Multiboot Standard to Multiboot
* stage2/builtins.c (setup_func): Save CURRENT_DRIVE and
* configure.in: Check for opendisk in libutil.
* grub/asmstub.c [__FreeBSD__ || __NetBSD__]: Include
<sys/ioctl.h>.
[HAVE_OPENDISK]: Include <util.h>.
* grub/asmstub.c (assign_device_name): If DEVICE is NULL, set
(init_device_map): ... here. This new function also reads/writes
* grub/main.c (device_map_file): New variable.
* stage2/shared.h [GRUB_UTIL] (device_map_file): Declared.
* docs/grub.8: Regenerated.
* stage2/builtins.c (color_func): Do not set NORMAL_COLOR or
* docs/grub.texi (Commands): Adjusted to the long doc of
* docs/menu.lst: Add examples of "fallback" and "color".
* stage2/char_io.c [!STAGE1_5] (get_cmdline): If C is a newline
* stage2/builtins.c (embed_func): New function.
* stage2/shared.h (grub_strncat): Declared.
* acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): main -> cmain.
* stage2/boot.c (load_image): Only CUR_ADDR, not ENTRY_ADDR
* stage2/asm.S [!STAGE1_5] (start): New label to force ld quiet.
* stage2/builtins.c (install_func): Rewritten heavily almost
* stage1/stage1.h (STAGE1_STAGE2_SECTOR): 0x40 -> 0x41.
* stage1/Makefile.am (nodist_pkgdata_DATA): Removed stage1_lba.
(noinst_PROGRAMS): Removed stage1_lba.exec.
(stage1_exec_SOURCES): Removed stage2_size.h.
(stage2_size.h): Deleted.
* stage1/stage1.S: Rewritten from scratch.
* stage1/stage1_lba.S: Deleted.
* stage1/stage1.h (COMPAT_VERSION_MAJOR): Set to 3.
* stage2/start.S: New file.
* stage2/Makefile.am (noinst_DATA): New variable.
(stage2_size.h): New rule.
(e2fs_stage1_5_exec_SOURCES): Added start.S.
* stage2/asm.S (start): Renamed to ...
* stage2/shared.h (BOOTSEC_LISTSIZE): New macro.
* stage2/stage1_5.c: Change the second argument for chain_stage2
* configure.in (--with-binutils): New option to specify a
* acinclude.m4 (grub_ASM_USCORE): Add CFLAGS into
* stage2/freebsd.h (struct bootinfo): New member, bi_bios_dev.
* docs/grub.texi: Fix typos.
* stage2/builtins.c (install_func): Reformat the warning message
* stage2/builtins.c (install_func): Fix check for the Stage 2 id.
* debian/Makefile.am (EXTRA_DIST): Add postinst and prerm.
* stage2/gunzip.c (gunzip_test_header): Check if CURRENT_DRIVE
* stage2/builtins.c (cat_func): Do not read the whole of a file
* docs/grub.texi (Command line): List the available key
* stage2/shared.h [!A_NORMAL] (A_NORMAL): Set to zero.
* stage2/disk_io.c (set_bootdev): Mask 0x7F instead of 0x79 of
* configure.in (--without-curses): New option. If WITH_CURSES is
* stage2/disk_io.c (set_device) [STAGE1_5]: Change the type of
* stage2/builtins.c (install_func): Always check for the Stage 2
* debian/postinst: New file to call install-info.
* debian/prerm: Likewise.
* debian/rules (binary-arch): Add postinst and prerm, compress the
* stage2/cmdline.c (skip_to): Restructure, and count tabs as
* grub/getopt.c: Moved to ...
* lib/getopt.c: ... here.
* grub/getopt1.c: Moved to ...
* lib/getopt1.c: ... here.
* grub/getopt.h: Moved to ...
* lib/getopt.h: ... here.
* grub/Makefile.am (AM_CFLAGS): Added -I$(top_srcdir)/lib.
(grub_LDADD): Added ../lib/libcommon.a.
* lib/Makefile.am: New file.
* Makefile.am (SUBDIRS): Added lib.
* stage2/defs.h (time_t): Renamed to ...
* stage2/disk_inode.h (FFS_MAX_FASTLINK_SIZE): Use mach_daddr_t
* stage2/fs.h (BBLOCK): Use mach_daddr_t instead of addr_t.
* acinclude.m4 (grub_CHECK_START_SYMBOL): Use AC_TRY_LINK
* stage2/disk_io.c (set_device) [!STAGE1_5]: Use RESULT instead
* stage2/builtins.c (install_func): If the Stage 2 id in FILE is
* stage2/disk_io.c (real_open_partition): Made global.
* stage2/shared.h (real_open_partition): Declared.
* stage2/fsys_ext2fs.c (ext2fs_dir): Do not print a newline even
* stage2/fsys_ffs.c (ffs_dir): Likewise.
* stage2/fsys_fat.c (fat_dir): Likewise.
* stage2/fsys_minix.c (minix_dir): Likewise.
* stage1/stage1.S [!FFS_STAGE1_5] (blocklist_default_len): Do
9 instead, because of a binutils-2.9.1.0.x bug.
* stage1/stage1_lba.S [!FFS_STAGE1_5] (blocklist_default_len):
* stage2/builtins.c (install_func): When installing Stage 1.5,
* stage2/char_io.c [!STAGE1_5] (get_cmdline): In cl_insert, call
* stage2/disk_io.c [!STAGE1_5] (print_completions): In the
* acinclude.m4 (grub_CHECK_USCORE_END_SYMBOL): Do not call
* stage2/Makefile.am (STAGE1_5_COMPILE): Do not define
* stage2/asm.S (config_file) [STAGE1_5]: Set the first 4 bytes
to 0xffffffff and the following to "/boot/grub/stage2".
(config_file) [!STAGE1_5]: Set to "/boot/grub/menu.lst".
* stage2/builtins.c (install_func): Read a Stage 2 before
* stage2/disk_io.c [STAGE1_5] (sane_partition): Eliminated.
* acinclude.m4 (grub_CHECK_END_SYMBOL): Add a missing
* stage1/stage1.S (blocklist_default_start): New label for default
* stage1/stage1_lba.S (blocklist_default_start): Likewise.
* acinclude.m4 (grub_ASM_ADDR32): First, create a template
source file "conftest.s.in", and then, replace @ADDR32@ with
* stage2/builtins.c (debug_fs_print_func): Renamed to ...
* stage2/disk_io.c [!STAGE1_5] (debug_fs): Renamed to ...
* stage2/fsys_ext2fs.c (ext2fs_read) [!STAGE1_5]: Use
* stage2/fsys_ffs.c (ffs_read) [!STAGE1_5]: Likewise.
* stage2/fsys_minix.c (minix_read) [!STAGE1_5]: Likewise.
* stage2/shared.h [!STAGE1_5] (debug_fs): Renamed to ...
* docs/grub.texi: Likewise, replace debug_fs and debug_fs_func
* stage2/builtins.c (install_func): New local function,
* acinclude.m4 (grub_ASM_USCORE): Do not define HAVE_ASM_USCORE
* netboot/3c59x.c: INCLUDE_3c59x is replaced by INCLUDE_3C59X
* netboot/config.c: Likewise.
* netboot/io.h (__INS): New macro.
* netboot/pci.h (PCI_VENDOR_ID_VORTEX): New macro.
* stage2/builtins.c (install_func): Do not set DEBUG_FS at the
* stage2/builtins.c (install_func): If parsing ADDR fails, set
* docs/grub.texi: Synchronize the description about install to
builtins.c. Remove explicit address arguments from all the
* docs/menu.lst: Do not specify the address argument for
* stage2/char_io.c [!STAGE1_5] (get_cmdline): In the completion
* stage2/disk_io.c [!STAGE1_5] (do_completion): New variable.
* stage2/shared.h (COMPLETION_BUF): New macro.
* acinclude.m4 (grub_ASM_PREFIX_REQUIREMENT): Do not call
* acconfig.h (ADDR32): Removed. This entry is automatically
* acinclude.m4 (grub_ASM_ADD32): Use ADDR32 instead of addr32.
* configure.in: Call grub_ASM_PREFIX_REQUIREMENT before
* stage1/stage1.S (after_BPB): Use ABS(firstlist) instead of
* stage1/stage1_lba.S (after_BPB): Use ABS(firstlist) instead of
* stage2/asm.S (putchar): Renamed to ...
* stage2/gunzip.c (reset_linalloc): Use the macro RAW_ADDR
* stage2/shared.h [!GRUB_UTIL] (RAW_ADDR): Added parenthesises
* acinclude.m4 (grub_CHECK_START_SYMBOL): New function.
* configure.in: Call grub_CHECK_START_SYMBOL and
* acconfig.h (HAVE_START_SYMBOL): Added the "undef" entry.
* stage2/char_io.c (memcheck): Rename the argument START to
* stage2/asm.S (get_code_end) [HAVE_END_SYMBOL]: Use $end as the
* stage2/disk_io.c [!STAGE1_5] (cur_part_desc): Made static.
* stage2/char_io.c [!STAGE1_5] (get_cmdline): The argument
* stage2/stage2.c (cmain): Initialize the kill buffer.
* stage2/shared.h (cur_cmdline): Removed.
* stage2/boot.c (cur_cmdline): Removed.
* stage2/char_io.c [!STAGE1_5] (grub_strcpy): New function.
* stage2/size_test: Do not check for the size of Stage 2.
stage2_size.h before creating it.
* Makefile.am (SUBDIRS): Put stage1 after stage2 so that stage2
* stage1/Makefile.am (BUILT_SOURCES): New varilable.
(stage1_exec_SOURCES): Added stage2_size.h.
(stage2_size.h): New rule.
* stage1/stage1_lba.S: Likewise.
* netboot/config.h: Moved to ...
* netboot/netboot_config.h: ... here.
* netboot/fsys_tftp.c: Likewise.
* netboot/ip.c: Likewise.
and added netboot_config.h.
* grub/asmstub.c [__linux__]: On GLibc 2.0 and newer use lseek,
don't include <linux/fs.h> and define BLKFLSBUF if needed.
* grub/asmstub.c (get_drive_geometry): New function.
* configure.in (--enable-ne): Made the description more clear.
* stage2/Makefile.am (stage2_exec_LDADD): Defined only if
* netboot/Makefile.am (LIBDRIVERS): New variable. If
NETBOOT_SUPPORT is true, set to libdriver.a, otherwise set to an
* stage2/char_io.c (grub_sprintf): Added parenthesises to avoid
* stage2/gunzip.c (gunzip_test_header): Check if FSYS_TYPE is
* Makefile.am (SUBDIRS): Added netboot.
* configure.in (--enable-tftp): New option.
Do AC_OUTPUT for netboot/Makefile as well.
* stage1/stage1.S: Set the number of sectors for Stage 2 to 130.
* stage1/stage1_lba.S: Likewise.
* stage2/Makefile.am (stage2_exec_LDADD): Added
* stage2/asm.S [!STAGE1_5] (currticks): New function.
* stage2/char_io.c [!STAGE1_5] (grub_sprintf): Likewise.
* stage2/disk_io.c (fsys_table) [FSYS_TFTP]: Added an entry for
* stage2/filesys.h [FSYS_TFTP] (FSYS_TFTP_NUM): Defined as 1.
* stage2/gunzip.c (gunzip_test_header): If FILEMAX >= 16MB, do
* stage2/shared.h (sprintf): New macro.
* stage2/size_test: Set the maximum size of Stage 2 to 66560.
* netboot/3c509.c: New file.
* netboot/3c509.h: Likewise.
* netboot/3c59x.c: Likewise.
* netboot/Makefile.am: Likewise.
* netboot/Makefile.in: Likewise.
* netboot/byteorder.h: Likewise.
* netboot/compile: Likewise.
* netboot/config.c: Likewise.
* netboot/config.h: Likewise.
* netboot/cs89x0.c: Likewise.
* netboot/cs89x0.h: Likewise.
* netboot/eepro100.c: Likewise.
* netboot/fsys_tftp.c: Likewise.
* netboot/if.h: Likewise.
* netboot/io.h: Likewise.
* netboot/ip.c: Likewise.
* netboot/ip.h: Likewise.
* netboot/lance.c: Likewise.
* netboot/netboot.h: Likewise.
* netboot/netdevice.h: Likewise.
* netboot/nic.h: Likewise.
* netboot/ns8390.c: Likewise.
* netboot/ns8390.h: Likewise.
* netboot/pci.c: Likewise.
* netboot/pci.h: Likewise.
* configure.in (--enable-maintainer-mode): Do not use our own
* docs/Makefile.am (grub.8): Regenerated if MAINTAINER_MODE is
* stage2/pc_slice.h (IS_PC_SLICE_TYPE_EXTENDED): New macro.
* stage2/disk_io.c (real_open_partition): Use
* acconfig.h: New file for autoheader support.
* acinclude.m4 (grub_ASM_EXT_C) Renamed to ...
* configure.in: Added AM_CONFIG_HEADER. Autoconf 2.13 is now
* stage2/shared.h (EXT_C): Defined.
* stage2/boot.c (load_image): Use CURRENT_DRIVE and
* stage2/disk_io.c (sane_partition) [STAGE1_5]: Defined.
* stage2/builtins.c (device_func) [GRUB_UTIL]: Use check_device
* grub/asmstub.c (check_device): New function.
* stage2/builtins.c (geometry_func) [GRUB_UTIL]: Copy the
* grub/main.c (no_floppy): New variable.
* grub/asmstub.c (grub_stage2): Print a message before the probe
* stage2/builtins.c (device_func): New function.
* grub/asmstub.c (disks): Made global.
* docs/grub.texi (Commands): Synchronize descriptions with
* stage2/builtins.c (hide_func): Use set_partition_hidden_flag.
* stage2/shared.h (set_partition_hidden_flag): Declare.
* stage2/disk_io.c (set_partition_hidden_flag): New function
* grub/asmstub.c (_FILE_OFFSET_BITS): Defined.
* stage2/stage2.c (run_menu): If run_script is successfully
* stage2/cmdline.c (run_script): If ERRNUM is non-zero, wait an
* stage2/builtins.c (configfile_func): New function.
* stage2/asm.S [!STAGE1_5] (chain_stage2): Deleted.
* stage2/char_io.c (grub_strncat): Likewise.
* stage2/common.c [STAGE1_5] (saved_mem_upper): Likewise.
* stage2/smp-imps.c (imps_release_cpus): Likewise.
* stage2/builtins.c (testload_func): Fix the typos: 0x2000000 ->
* stage2/fsys_ffs.c (mapblock_offset): New variable.
* stage2/cmdline.c (find_command): If COMMAND is less than
* stage2/builtins.c (builtin_chainloader): Capitalize the
* stage1/stage1.S: Set the number of sectors for Stage 2 to 110.
* stage1/stage1_lba.S: Likewise.
* stage2/builtins.c: New file.
* stage2/boot.c (load_image): Return kernel_t instead int.
* stage2/char_io.c (get_cmdline): Do not accept the argument
* stage2/shared.h (PASSWORD_BUF): New macro.
* stage2/size_test: Set the maximum size of Stage 2 to 56320.
* stage2/stage2.c (grub_timeout): Deleted.
* docs/menu.lst: More meaningful examples. Not using (0x80,0)
* stage2/stage2.c (run_menu): Erase the entered password before
* stage2/char_io.c (get_cmdline): Restore command-line even if
* configure.in: --disable-gunzip disables decompression in
* stage2/gunzip.c [NO_DECOMPRESSION]: Disable all code if
* stage2/boot.c (load_image): Use PHDR->P_PADDR instead of
* docs/help2man: Upgraded to 1.013.
* docs/grub.8: Regenerated.
* stage2/cmdline.c (enter_cmdline) [GRUB_UTIL]: Add a space in
* stage2/char_io.c (get_cmdline): Search for a space or a equal
* stage2/cmdline.c (skip_to): Treat the character `=' as a space
* docs/menu.lst: Likewise.
* docs/grub.texi: Likewise.
* grub/asmstub.c (env_for_exit): New variable.
* stage2/boot.c [GRUB_UTIL] (bsd_boot_entry): New function.
* stage2/fsys_fat.c (fat_create_blocklist): Cast FAT_BUF to
* stage2/cmdline.c (commands): Added hide and unhide.
* stage2/disk_io.c (unhide_partition): New function.
* stage2/pc_slice.h (PC_SLICE_TYPE_HIDDEN_FLAG): New macro.
* stage2/fsys_minix.c (namelen): New variable.
* stage2/fsys_fat.c (fat_create_blocklist): Return 1 for the
* stage2/boot.c (load_image): Accept two arguments, KERNEL and
* stage2/cmdline.c (enter_cmdline): Use MB_CMDLINE instead of
* stage2/shared.h (MB_CMDLINE_BUF): New macro.
* docs/Makefile.am [GRUB_MAINT] (grub.8): The argument for the
* docs/grub.8: Regenerated.
* docs/grub.texi: Do not use the name "the Stage 2 emulator" any
* stage2/fsys_minix.c: New file.
* stage2/size_test: Added a check for the size of minix_stage1_5.
(noinst_PROGRAMS): Added minix_stage1_5.exec.
(stage2_exec_SOURCES): Added fsys_minix.c.
* stage2/pc_slice.h (PC_SLICE_TYPE_MINIX): New macro.
* stage2/disk_io.c (fsys_table) [FSYS_MINIX]: Added minix entry.
* stage2/filesys.h [FSYS_MINIX] (FSYS_MINIX_NUM): Set to 1.
* stage2/shared.h (STAGE2_ID_MINIX_STAGE1_5): New macro.
* grub/Makefile.am (AM_CFLAGS): Added -DFSYS_MINIX=1.
* configure.in (--disable-minix): New option.
* stage2/fat.h (FAT_BPB_FAT_SECTORS_16): New macro.
* stage2/fsys_fat.c (root_dir): New variable.
* stage2/pc_slice.h (PC_SLICE_TYPE_FAT32): New macro.
* stage2/fsys_ffs.c (ffs_mount): Do not shift the fs type
* stage2/fsys_fat.c (fat_mount): Do not shift the fs type
* configure.in (--disable-ext2fs): New option.
* grub/Makefile.am (AM_CFLAGS): Added -DFSYS_EXT2FS=1,
* stage2/Makefile.am (libgrub_a_CFLAGS): Likewise.
* stage2/fsys_ext2fs.c [!FSYS_EXT2FS]: Do not define anything.
* stage2/fsys_fat.c [!FSYS_FAT]: Likewise.
* stage2/fsys_ffs.c [!FSYS_FFS]: Likewise.
* stage1/stage1_lba.S: Use STAGE1_DRP_ADDR for the address of
* stage1/stage1.h (STAGE1_DRP_ADDR): New macro.
* stage2/bios.c (get_diskinfo): In LBA mode, set TOTAL_SECTORS
to the low 32bits of DRP.TOTAL_SECTORS instead of the multiple
* stage2/cmdline.c (enter_cmdline) [GRUB_UTIL]: In the command
"geometry", print the device file name instead of CHS/LBA
* stage2/shared.h (device_map): Declared.
* grub/asmstub.c (device_map): Defined as a global variable
* stage2/pc_slice.h (PC_SLICE_TYPE_BSD): Deleted.
* stage2/fsys_ffs.c (ffs_mount): Use the macro
* stage2/fsys_ext2fs.c (ext2fs_mount): Likewise.
* stage2/fsys_fat.c (fat_mount): Likewise.
* stage2/disk_io.c (check_BSD_parts): Set the low bits of
* stage2/cmdline.c (commands): Added geometry.
* stage2/stage2.c (run_menu): Terminate the string PASSWORD
* stage2/stage2.c (set_line_normal): New function.
* stage2/stage2.c (run_menu) [GRUB_UTIL]: Quit when pushing the
* acinclude.m4 (grub_ASM_PREFIX_REQUIREMENT): New function.
* configure.in: Call grub_ASM_PREFIX_REQUIREMENT, and define
* stage2/asm.S: Replace addr32 and data32 prefixes with ADDR32
* stage2/boot.c (load_image): Use RAW_ADDR macro when loading
an a.out kernel.
* stage2/asm.S: Make each of the addr32 and data32 prefixes
* boot.c (load_image): Fix a strcmp test. Reported by Pavel
* stage2/i386-elf.h (EI_BRAND): New macro.
* stage2/boot.c (load_image): If the kernel is ELF, check if it
only if MBI.FLAGS has the flag MB_INFO_AOUT_SYMS. Otherwise,
* grub/getopt.c: New file. Copied from texinfo-3.12n.
* grub/getopt1.c: Likewise.
* grub/getopt.h: Likewise.
* grub/asmstub.c (grub_stage2): Fix a misordering in the output
* stage2/asm.S (get_diskinfo_standard): If the number of sectors
grub.texi so that it works with Debian's version of texinfo.
* stage2/bios.c (get_diskinfo): When DRIVE is a floppy drive,
* grub/main.c (main): Call printf instead of grub_printf.
* stage2/cmdline.c (skip_to): Don't increase CMDLINE if the
(stage2_exec_SOURCES): Added smp-imps.c.
* stage2/cmdline.c [!GRUB_UTIL] (IMPS_DEBUG) (KERNEL_PRINT)
* stage2/smp-imps.c (IMPS_DEBUG) (KERNEL_PRINT)
* grub/asmstub.c [HAVE_LIBCURSES] (save_char): New variable.
* stage2/char_io.c (get_cmdline) [GRUB_UTIL]: Recognize
* grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: Call wtimeout
* stage1/stage1_lba.S (probe_values): New variable. This is not
All constants in stage1s are moved to stage1.h and renamed
appropriately, and include stage1.h instead.
* grub/Makefile.am (AM_CFLAGS): Added the include path to stage1.
* stage2/Makefile.am (INCLUDES): New variable.
* stage1/stage1.h: New file.
* stage1/stage1.S (SIGNATURE): Renamed to ...
* stage1/stage1.h (STAGE1_SIGNATURE): ... this.
* stage1/stage1.S (BPBEND): Renamed to ...
* stage1/stage1.h (STAGE1_BPBEND): ... this.
* stage1/stage1.S (PARTSTART): Renamed to ...
* stage1/stage1.h (STAGE1_PARTSTART): ... this.
* stage1/stage1.S (MINPARMSIZ): Renamed to ...
* stage1/stage1.h (STAGE1_MINPARMSIZE): ... this.
* stage1/stage1.S (LISTSIZ): Renamed to ...
* stage1/stage1.h (STAGE1_LISTSIZE): ... this.
* stage1/stage1.S (REALSTACK): Renamed to ...
* stage1/stage1.h (STAGE1_STACKSEG): ... this.
* stage1/stage1.S (BUFFERSEG): Renamed to ...
* stage1/stage1.h (STAGE1_BUFFERSEG): ... this.
* stage1/stage1.S (BIOS_HD_FLAG): Renamed to ...
* stage1/stage1.h (STAGE1_BIOS_HD_FLAG): ... this.
* stage1/stage1_lba.S (SIGNATURE): Removed.
* stage1/stage1_lba.S (BPBEND): Likewise.
* stage1/stage1_lba.S (PARTSTART): Likewise.
* stage1/stage1_lba.S (MINPARMSIZ): Likewise.
* stage1/stage1_lba.S (LISTSIZ): Likewise.
* stage1/stage1_lba.S (REALSTACK): Likewise.
* stage1/stage1_lba.S (BUFFERSEG): Likewise.
* stage1/stage1_lba.S (BIOS_HD_FLAG): Likewise.
* stage1/stage1.S (stage1_id): New variable.
* stage1/stage1_lba.S (stage1_id): Likewise.
* stage1/stage1.h (COMPAT_VERSION_MINOR): Set to 2.
* stage2/cmdline.c (enter_cmdline) [!GRUB_UTIL]: When running
message, because /sbin/grub cannot detect if LBA is supported or
* stage1/stage1_lba.S: Fix a bug that incorrectly assigns the
* stage2/boot.c (load_image): When removing "vga=...", memmove
* stage2/bios.c (get_diskinfo): In LBA mode, compute
* stage2/boot.c (load_image): Fix inverted lines.
* stage2/shared.h (LINUX_VID_MODE_OFFSET): New macro.
* stage2/boot.c (load_image): Added Linux video mode selection.
* stage2/char_io.c [!STAGE1_5] (grub_strlen): New function.
* stage2/char_io.c (print_error): Print ERRNUM in the format of
* stage2/shared.h (grub_printf) : Corrected.
* stage1/stage1.S (sectors): Change the size to long.
* stage1/stage1_lba.S: New file.
* stage1/Makefile.am (nodist_pkgdata_DATA): Added stage1_lba.
(noinst_PROGRAMS): Added stage1_lba.exec.
* grub/main.c (main): The third argument for strtoul is changed
* stage2/shared.h (STAGE2_STAGE2_ID): New macro.
* stage2/asm.S (stage2_id): New variable.
* stage1/stage1.S: Change the minor version to 1.
* configure.in (CFLAGS): Set to "-g", since only this flag is
* grub/Makefile.am (AM_CFLAGS): Prepended @GRUB_CFLAGS@.
* stage1/Makefile.am (AM_CFLAGS): Prepended @STAGE1_CFLAGS@.
* stage2/Makefile.am (libgrub_a_CFLAGS): Prepened @GRUB_CFLAGS@.
* stage2/asm.S (chain_stage2): Pass CURRENT_PARTITION and
* configure.in: set CFLAGS to "-Os -g" for compilers which
* stage2/disk_io.c (attempt_mount) [STAGE1_5]: Set FSYS_TYPE to
* Makefile.am (SUBDIRS): Change the order of the directories so
* docs/help2man: Copied from help2man-1.012, which contains my
* docs/grub.8: Regenerated.
* Makefile.am (SUBDIRS): e2fs_stage1_5, ffs_stage1_5,
* configure.in: Call AC_PROG_RANLIB.
(AC_INIT): Change the argument to stage2/stage2.c.
* docs/Makefile.am (HELP2MAN): The prefix $(srcdir) is removed.
* e2fs_stage1_5/Makefile.am: Deleted.
* e2fs_stage1_5/Makefile.in: Likewise.
* fat_stage1_5/Makefile.am: Likewise.
* fat_stage1_5/Makefile.in: Likewise.
* ffs_stage1_5/Makefile.am: Likewise.
* ffs_stage1_5/Makefile.in: Likewise.
* grub/Makefile.am (CLEANFILES): Likewise.
(grub_LDADD): Set to the library libgrub.a and @GRUB_LIBS@.
* shared_src/Makefile.am: Deleted.
* shared_src/Makefile.in: Likewise.
* shared_src/apic.h: Moved to ...
* stage2/apic.h: ... here.
* shared_src/asm.S: Moved to ...
* stage2/asm.S: ... here.
* shared_src/bios.c: Moved to ...
* stage2/bios.c: ... here.
* shared_src/boot.c: Moved to ...
* stage2/boot.c: ... here.
* shared_src/char_io.c: Moved to ...
* stage2/char_io.c: ... here.
* shared_src/cmdline.c: Moved to ...
* stage2/cmdline.c: ... here.
* shared_src/common.c: Moved to ...
* stage2/common.c: ... here.
* shared_src/defs.h: Moved to ...
* stage2/defs.h: ... here.
* shared_src/dir.h: Moved to ...
* stage2/dir.h: ... here.
* shared_src/disk_inode.h: Moved to ...
* stage2/disk_inode.h: ... here.
* shared_src/disk_inode_ffs.h: Moved to ...
* stage2/disk_inode_ffs.h: ... here.
* shared_src/disk_io.c: Moved to ...
* stage2/disk_io.c: ... here.
* shared_src/fat.h: Moved to ...
* stage2/fat.h: ... here.
* shared_src/filesys.h: Moved to ...
* stage2/filesys.h: ... here.
* shared_src/freebsd.h: Moved to ...
* stage2/freebsd.h: ... here.
* shared_src/fs.h: Moved to ...
* stage2/fs.h: ... here.
* shared_src/fsys_ext2fs.c: Moved to ...
* stage2/fsys_ext2fs.c: ... here.
* shared_src/fsys_fat.c: Moved to ...
* stage2/fsys_fat.c: ... here.
* shared_src/fsys_ffs.c: Moved to ...
* stage2/fsys_ffs.c: ... here.
* shared_src/gunzip.c: Moved to ...
* stage2/gunzip.c: ... here.
* shared_src/i386-elf.h: Moved to ...
* stage2/i386-elf.h: ... here.
* shared_src/imgact_aout.h: Moved to ...
* stage2/imgact_aout.h: ... here.
* shared_src/mb_header.h: Moved to ...
* stage2/mb_header.h: ... here.
* shared_src/mb_info.h: Moved to ...
* stage2/mb_info.h: ... here.
* shared_src/pc_slice.h: Moved to ...
* stage2/pc_slice.h: ... here.
* shared_src/shared.h: Moved to ...
* stage2/shared.h: ... here.
* shared_src/smp-imps.c: Moved to ...
* stage2/smp-imps.c: ... here.
* shared_src/smp-imps.h: Moved to ...
* stage2/smp-imps.h: ... here.
* shared_src/stage1_5.c: Moved to ...
* stage2/stage1_5.c: ... here.
* shared_src/stage2.c: Moved to ...
* stage2/stage2.c: ... here.
* stage1/Makefile.am (pkgdata_DATA): Renamed to ...
* stage2/Makefile.am: Completely rewritten from scratch.
(EXTRA_DIST): Set to smp-imps.c and $(noinst_SCRIPTS).
(stage2.exec): Likewise.
* stage2/size_test: New file, for checking for the sizes of
* stage1/stage1.S: Call testb instead of andb when checking if
* grub/main.c (main): Call sync first. Suggested by Pavel Roskin
* configure.in: Curses libraries are always checked.
(--enable-sbin-grub): Deleted. Now /sbin/grub is always built.
* grub/Makefile.am (EXTRA_PROGRAMS): Deleted.
* docs/Makefile.am (man_MANS): New variable.
[GRUB_MAINT]: Define the rule for the /sbin/grub manual.
* docs/help2man: Copied from texinfo-3.12i.
* docs/grub.8: Produced by help2man automatically.
* shared_src/char_io.c (get_cmdline): Add two missing `break's.
* shared_src/cmdline.c (commands): Add quit.
* shared_src/shared.h (cmdline_t): New enum type.
* shared_src/stage2.c (menu_t): New enum type.
* docs/Makefile.am (html): Deleted.
* docs/boot-proposal.html: Removed.
* docs/errors.html: Likewise.
* docs/faq.html: Likewise.
* docs/grub.html: Likewise.
* docs/install.html: Likewise.
* docs/mem64mb.html: Likewise.
* docs/technical.html: Likewise.
* docs/using.html: Likewise.
* docs/PC_partitioning.txt: Likewise.
* docs/bios_mapping.txt: Likewise.
* docs/commands.txt: Likewise.
* docs/embedded_data.txt: Likewise.
* docs/filesystem.txt: Likewise.
* shared_src/disk_io.c (real_open_partition): Check if
* shared_src/pc_slice.c (PC_SLICE_TYPE_WIN95_EXTENDED): New
* shared_src/bios.c (biosdisk): Clear the reserved member of DAP.
* shared_src/asm.S (nocursor): New function.
* shared_src/cmdline.c (normal_color): New variable.
* shared_src/shared.h (normal_color): Declared.
* shared_src/stage2.c (print_border) [!GRUB_UTIL]: Color the
* e2fs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 31744.
* fat_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Likewise.
* shared_src/cmdline.c: The imps code is now defined if GRUB_UTIL
* shared_src/disk_io.c (devread) [!STAGE1_5]: If DEBUG_FS and
* shared_src/asm.S (patch_code): Defined unconditionally.
* stage1/stage1.S (firstlist) [!FFS_STAGE1_5]: Increase the
* configure.in: The option --enable-debug is removed, and do
not output "stage2_debug/Makefile".
* Makefile.am (SUBDIRS): stage2_debug is removed.
* stage2_debug/Makefile.am: Deleted.
* stage2_debug/Makefile.in: Likewise.
* grub/main.c (verbose): New variable.
about how to restart /sbin/grub.
* shared_src/shared.h (verbose) [GRUB_UTIL]: Declared.
* grub/asmstub.c (hex_dump): New function.
* shared_src/disk_io.c (set_device) [STAGE1_5]: Eliminate
* grub/asmstub.c: Do not use I_AM_VERY_BRAVE any more.
* shared_src/disk_io.c (print_a_completion): New function
* shared_src/fsys_ext2fs.c (ext2fs_dir) [!STAGE1_5]: Use
* shared_src/fsys_ffs.c (ffs_dir) [!STAGE1_5]: Likewise.
* shared_src/fsys_fat.c (fat_dir) [!STAGE1_5]: Likewise.
* shared_src/shared.h (print_a_completion): Declared.
* shared_src/cmdline.c (enter_cmdline): Explicitly cast
* shared_src/char_io.c (get_cmdline): Update LPOS and LLEN_OLD
* shared_src/stage2.c (get_line_from_config): Fix LITERAL
* grub/asmstub.c (grub_stage2): Fix a memory leak that FP is
* grub/main.c: Replace OPT_DISABLE_CONFIG_FILE and
* docs/TODO: Moved to ...
* docs/BUGS: Moved to ...
* docs/COPYING: Removed.
* docs/Makefile.am (EXTRA_DIST): Get rid of BUGS.
* Makefile.am (EXTRA_DIST): Set to BUGS.
* acinclude.m4 (grub_ASM_EXT_C): Do not overrun the command
* docs/multiboot.texi: New file. From Kunihiro Ishiguro.
* shared_src/asm.S (start) [STAGE1_5]: Jump to 0x0:0x2000.
* shared_src/cmdline.c (enter_cmdline): Doesn't check for the jump
* shared_src/diskio.c (grub_open): Call setup_part even in stage1.5.
* shared_src/char_io.c [STAGE1_5]: Eliminate unnecessary functions
* grub/asmstub.c (nread): New function. Handle EINTR.
* shared_src/fsys_ext2fs.c (off_t): Renamed to ...
* shared_src/defs.h (off_t): Renamed to ...
* shared_src/fs.h (BBOFF): Use mach_off_t instead of off_t.
* e2fs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 81920.
* fat_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Likewise.
* ffs_stage1_5/Makefile.am (IMPORTANT_SIZE_LIMIT): Set to 7168.
* shared_src/shared.h: Redeclare.
* grub/main.c (main): Use strncpy rather than pointer assignment
* grub/asmstub.c: Make config_file a static array, not a pointer.
* debian/rules (build): Install into /lib instead of /share.
* grub/main.c (use_config_file): New variable.
* grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: If ! USE_CURSES,
* shared_src/cmdline.c (enter_cmdline): Do not use getc, but use
* shared_src/stage2.c (cmain) [GRUB_UTIL]: Check if USE_CONFIG_FILE
* shared_src/shared.h (getc): Removed.
* shared_src/asm.S (biosdisk_standard): Pop %ebp correctly, reported
* docs/menu.lst: Rewritten, so that it contains up-to-date
* shared_src/asm.S (get_diskinfo_floppy): Correct the number of heads
* grub/asmstub.c (get_diskinfo): Compute the total number of sectors
* shared_src/asm.S (get_diskinfo_standard): Clear the data segment
* shared_src/bios.c (get_diskinfo): Always set the size of DRP to
* shared_src/shared.h (struct geometry): Declare total_sectors as
* shared_src/bios.c (biosdisk) [!NO_INT13_FALLBACK]: Recompute
* shared_src/disk_io.c (real_open_partition): Set PART_LENGTH to
* docs/texinfo.tex: Copied from automake-1.4a.
* configure.in (SHARED_SRC_RULES): Add bios into shared sources.
* fat_stage1_5/Makefile.am (fat_stage1_5_exec_LDADD): Likewise.
* ffs_stage1_5/Makefile.am (ffs_stage1_5_exec_LDADD): Likewise.
* stage2/Makefile.am (stage2_exec_LDADD): Likewise.
* stage2_debug/Makefile.am (stage2_debug_exec_LDADD): Likewise.
* shared_src/bios.c: New file.
* shared_src/shared.h (struct geometry): Added new member,
* shared_src/stage2.c (print_entries): Correctly assign MENU_ENTRIES
* shared_src/shared.h (grub_memset): Adapted from grub_bzero.
* grub/asmstub.c (checkkey): Fix unterminated comment.
* shared_src/char_io.c (grub_printf): Renamed from printf.
* shared_src/char_io.c (get_cmdline): Add new argument to hide
* shared_src/shared.h (get_cmdline): Fix declaration.
* shared_src/stage2.c (run_menu): Use get_cmdline with an
* grub/main.c (usage): Display defaults for stage2 options.
* grub/asmstub.c [WITHOUT_LIBC_STUBS]: Renamed from
* grub/main.c: Likewise.
* shared_src/shared.h: Likewise.
* grub/asmstub.c (set_attrib): Use inch and addch, instead of
* grub/asmstub.c (grub_stage2) [HAVE_LIBCURSES]: Call nodelay.
* grub/asmstub.c (grub_stage2): Call close instead of fclose.
* grub/Makefile.am (CPPFLAGS): Use -fwritable-strings, because
* grub/main.c: Define NO_REMAPPING_LIBC_FUNCTIONS before including
* grub/asmstub.c: Define NO_REMAPPING_LIBC_FUNCTIONS before including
* shared_src/shared.h [NO_REMAPPING_LIBC_FUNCTIONS]: Don't define
* char_io.c (get_cmdline): Call cl_setcpos even if lpos == llen,
* grub/main.c (OPT_HOLD): New macro.
* shared_src/cmdline.c (enter_cmdline): Check the return value of
* shared_src/char_io.c (memcheck): Special-case cur_part_desc and
* shared_src/boot.c (load_image): Make sure we use the mapped
* shared_src/char_io.c (get_cmdline): Only zero-terminate if there
* grub/asmstub.c (get_diskinfo): Cache device geometries as well
* shared_src/shared.h (geometry_t): Delete typedef, until we
* shared_src/asm.S (biosdisk): Use a structure for geometry
* shared_src/boot.c (bsd_boot): Compute BIOS geometries for BSD.
* shared_src/cmdline.c (enter_cmdline): Declare dest_geom as
* shared_src/disk_io.c (buf_geom): Declare as struct geometry.
* shared_src/filesys.h (SECTORS): Deleted.
* shared_src/shared.h (BIOSDISK_FLAG_LBA_EXTENSION): New macro.
* grub/asmstub.c (doit): Nested function to get a clean stack
* shared_src/stage2.c (run_menu): Use A_REVERSE and A_NORMAL
* shared_src/shared.h (A_REVERSE): Renamed from ATTR_INVERSE for
* shared_src/cmdline.c (enter_cmdline): Change prompt to "grub> ".
* shared_src/stage2.c (run_menu): Change prompts to "grub edit> ".
* shared_src/char_io.c (memcheck): Use RAW_ADDR to compute memory
* configure.in (CPPFLAGS): Bump up GCC warnings to -Wall
* shared_src/shared.h: Delete stupid declarations, and totally
(inb, outb): Move to cmdline.c, since it's only used there.
* grub/asmstub.c: Fill in more stubs.
* shared_src/gunzip.c (border): Rename to bitorder, to resolve
* shared_src/stage2.c (timeout): Rename to grub_timeout.
* configure.in: Check for curses libraries for use with
* shared_src/shared.h (KEY_DELETE): Rename to KEY_DC, for
* shared_src/asm.S (asm_getkey): Renamed to getkey.
* shared_src/char_io.c (getkey): Delete, because it's useless.
* shared_src/shared.h: Resolve name clashes with libc by renaming
* grub/asmstub.c (start_stage2): Make some assertions about our
* shared_src/shared.h (end): Delete declaration.
(RAW_ADDR, RAW_SEG): Macros to redirect /sbin/grub memory requests
* grub/asmstub.c (get_mem_map): Implement, simulating 4MB
grub/asmstub.c (start_stage2): Initialize grub_scratch_mem.
* shared_src/asm.S (get_mem_map): Some BIOSes expect the high word
(get_code_end): Move this from common.c so that we can stub it out
* shared_src/asm.S (biosdisk): Make LBA mode work correctly. From
* shared_src/asm.S (biosdisk): Compute location of
* docs/grub.texi: New Texinfo documentation.
* shared_src/disk_io.c (set_device): First stab at interpreting
* shared_src/stage2.c (run_menu): Don't say it was a failure if
* shared_src/cmdline.c (enter_cmdline): Return nonzero, and avoid
* shared_src/asm.S (_start): New explicit symbol to supress
* e2fs_stage1_5/Makefile.am (NO_FANCY_STUFF): Renamed to STAGE1_5,
* fat_stage1_5/Makefile.am: Likewise.
* ffs_stage1_5/Makefile.am: Likewise.
* shared_src/asm.S: Likewise.
* shared_src/char_io.c: Likewise.
* shared_src/common.c: Likewise.
* shared_src/disk_io.c: Likewise.
* shared_src/fsys_ext2fs.c: Likewise.
* shared_src/fsys_ffs.c: Likewise.
* shared_src/shared.h: Likewise.
* configure.in (SHARED_SRC_RULES): Automatically generate
e2fs_stage1_5/Makefile.am: Use them.
fat_stage1_5/Makefile.am: Likewise.
ffs_stage1_5/Makefile.am: Likewise.
grub/Makefile.am: Likewise.
stage2/Makefile.am: Likewise.
stage2_debug/Makefile.am: Likewise.
* shared_src/disk_inode.h: Fix typo: i_ic shouldn't be defined.
* shared_src/fsys_ffs.c (block_map): Make static, since this
* shared_src/disk_io.c [NO_FANCY_STUFF]: Eliminate a whole bunch
* shared_src/fsys_ffs.c: Likewise.
* shared_src/char_io.c: Likewise.
* shared_src/char_io.c (getkey): Don't set BUF_DRIVE to -1.
* shared_src/common.c (err_list): Change description of ERR_GEOM
* configure.in (host_cpu): Make all fully i386-compatible CPUs be
debian/changelog, so that we only have one file to update.
* shared_src/asm.S (get_diskinfo): Fix a few bit-twiddling bugs in
* configure.in: Make sure $(host_cpu) and $(host_vendor) are
* e2fs_stage1_5/Makefile.am (pkgdatadir): Install files in
* fat_stage1_5/Makefile.am: Likewise.
* ffs_stage1_5/Makefile.am: Likewise.
* stage1/Makefile.am: Likewise.
* stage2/Makefile.am: Likewise.
* stage2_debug/Makefile.am: Likewise.
* shared_src/asm.S (biosdisk): Use LBA mode if high nibble of
* shared_src/disk_io.c (make_saved_active): Use BIOSDISK_READ and
* shared_src/cmdline.c (enter_cmdline): Use BIOSDISK_WRITE.
* shared_src/shared.h (BIOSDISK_SUBFUNC_READ,
* shared_src/asm.S (biosdisk): Change subfunc argument to be
* configure.in: Drop redundant AC_PROG_INSTALL. From OKUJI
* acinclude.m4 (grub_OBJCOPY_ABSOLUTE): Don't forget to move the
* debian/rules (binary-arch): Remove empty /sbin directory until
/sbin/grub is installed. Use $(DESTDIR) instead of $(prefix) to
* shared_src/asm.S (version_string): Set the version string from
the VERSION specified in configure.in.
* Change all Makefiles into Makefile.ams. Many major build
environment changes to get Automake/Autoconf working nicely.
* NEWS: Moved from docs/NEWS.
* stage1/stage1.S (after_BPB): Do a hard disk probe first, so that
* grub/asmstub.c: New file to implement stubbed assembly functions
* stage1/Makefile: Delete spurious dependencies on Makefile.
* stage2/Makefile: Likewise.
* stage2_debug/Makefile: Likewise.
* grub/Makefile: Likewise.
* shared_src/fsys_ext2fs.c (ext2fs_dir): Follow symbolic links
* shared_src/common.c (err_list): Use labeled elements to
* shared_src/shared.h: Make error codes into an enumerated type.
* shared_src/common.c (err_list): Add ERR_SYMLINK_LOOP.
* shared_src/shared.h: Likewise.
* shared_src/char_io.c (bcopy): Don't make any assumptions about
* grub/Makefile: Treat CFLAGS, CPPFLAGS, LDFLAGS according to
* stage2/Makefile: Likewise.
* e2fs_stage1_5/Makefile: Likewise.
* fat_stage1_5/Makefile: Likewise.
* ffs_stage1_5/Makefile: Likewise.
* Makefile.end (PROGS): Add grub.
* grub/main.c: New file.
* grub/Makefile: New directory to contain the stage2 Unix program.
* shared_src/cmdline.c: Use substring.
* shared_src/fsys_ext2fs.c: Likewise.
* shared_src/fsys_fat.c: Likewise.
* shared_src/fsys_ffs.c: Likewise.
* shared_src/stage2.c: Likewise.
* shared_src/shared.h: Delete strcmp, declare substring.
* shared_src/char_io.c (strcmp): Rename to `substring', because
* shared_src/shared.h: (addr32, data32): Delete definitions.
* stage1/stage1.S: Modify to use GAS's new .code16 semantics.
shared_src/asm.S: Likewise.
* shared_src/shared.h: Add some assertions to check that buffer
* shared_src/stage2.c (run_menu): Pause if we failed to boot both
* shared_src/asm.S: Fix typo that called interrupt 0xd (decimal
* e2fs_stage1_5/Makefile: Avoid gratuitous dependencies on
* fat_stage1_5/Makefile: Likewise.
* ffs_stage1_5/Makefile: Likewise.
* Makefile.end (PROGS): Add e2fs_stage1_5, fat_stage1_5, and
* shared_src/disk_io.c (print_fsys_type): Always print the
* shared_src/stage2.c (run_menu): Check to make sure that the