blob: cb37450a2ad3e1ecc353b1082acc11e2e5a86f37 [file] [log] [blame]
NEWS - list of user-visible changes between releases of GRUB
New in 0.97 - 2005-05-08:
* Fix the prototypes and the definitions of nested functions. This was
required for gcc-4.
* Implement a more robust workaround for buggy BIOSes which don't pass
boot drive correctly (notably for HP Vectra).
New in 0.96 - 2005-01-30:
* The command "fallback" supports mutiple fallback entries.
* The command "savedefault" supports an optional argument which
is the number of next boot entry or the special keyword `fallback'.
* New utility "grub-set-default".
* New section "Making your system robust" in the manual.
New in 0.95 - 2004-06-13:
* Add support for ReiserFS 3.
* Fix support for FreeBSD 5.
* Support ATARAID for Linux in the grub shell and grub-install.
* Add CDROM support for El Torito with no emulation mode. You can use
(cd) as a CDROM drive in the config file.
* Option --no-mem-option is implied for Linux 2.4.18 and newer.
* Add support for UFS2.
New in 0.94 - 2004-01-25:
* Support building on x86-64 with gcc -m32.
* Use a BIOS call to turn on/off Gate A20. This should solve various
problems related to Gate A20 in modern BIOSes.
* Add a workaround for buggy BIOSes (notably HP Vectra series) which
don't pass the boot drive correctly.
* Display "GNU GRUB" instead of "GRUB" in the menu.
* Add support for QNX RTP into the grub shell.
* Add support for the initrd max address of a kernel header in Linux.
* Support 32 bit and 64 bit dev_t.
* Add support for an install device in GRUB's notation with no
parenthesis (e.g. grub-install hd0).
* Improve the manual a lot.
New in 0.93 - 2002-12-08:
* Define the behavior of the boot loader when the load end address is
zero and the bss end address is zero in the Multiboot Specification.
Also, add the support into GRUB.
* Finally, we have a Bug Tracking System! Now the preferable way to
report bugs is to use the BTS rather than sending e-mail to bug-grub.
See <>, for more
* The appendix "FAQ" in the manual is removed. See the GNU GRUB FAQ on
the web <> instead.
* The terminal handling code is rewritten radically, and many bugfixes
are made at the same time.
* The command "color" is effective even in the command-line.
* The command "terminal" takes two new options, ``--no-echo'' and
``--no-edit''. If you specify ``--no-echo'', GRUB won't echo back
input characters. If you specify ``--no-edit'', GRUB will disable the
BASH-like editing feature. These options are useful when using an
intelligent terminal (such as the comint mode in GNU Emacs).
* The utility ``grub-md5-crypt'' prompts to retype a password and checks
if the passwords match.
* Support for booting Linux is rewritten, so GRUB now supports
large-EBDA systems.
* The menu interfaces supports Page Up, Page Down, and Right Key.
* New command "terminfo", for vt100-incompatible terminals.
* New options, ``-D'', ``-g'' and ``-m'' are supported for FreeBSD.
New in 0.92 - 2002-04-30:
* The command "displaymem" uses only hex digits for consistency.
* The netboot code goes back to the progress bars instead of dots, for
the notation of data transfers. And, that is displayed only in debug
mode, that is to say, nothing is displayed by default. Remember that
you can turn on debug mode via the command "debug".
* The command "help" doesn't show all the available commands by default,
when no argument is specified. Rarely used commands (such as
"testload") and useless commands in interactive use (such as
"savedefault") are hidden. If you want to see help messages for those
commands, specify the new option "--all".
* A built-in, `more'-like pager is added. When a command prints too many
lines to fit the screen, GRUB waits until you hit return key. This
feature can be turned off by the new command "pager".
* The command "terminal" accepts a new option, "--lines=LINES". You can
set the maximum number of lines arbitrarily with this option. If you
don't specify it, the maximum number will be 24.
* The command "terminal" accepts another new option, "--silent". You can
suppress the "Press any key to continue" message with this option.
* The mem= option for Linux is recognized and used to limit the maximum
address of initrd.
* A fallback entry is executed immediately after a default entry,
without prompting a user's intervention, as the manual has ever been
* The utility ``grub-install'' makes sure that GRUB images have been
written to a physical disk completely. To assist this feature, a new
command "dump" is added.
New in 0.91 - 2002-01-21:
* Support for Linux DAC960 is added.
* JFS and XFS support is added.
* The commands "hide" and "unhide" support logical partitions.
* The utility ``grub-install'' supports NetBSD.
* The network support is updated to Etherboot-5.0.5.
* The manner of handling the preset menu changes. In the previous
implementation, the preset menu is used only when opening the
configuration file failed. Now try to use the preset menu first. And,
if the configuration file is available, it is read after readoing the
preset menu. In this case, menu entries in the preset menu (if any)
are overrided by the configuration file.
* Diskless support is a bit changed. In the previous, GRUB set up a
network automatically via a special function. In the current, the
function is gone and the preset menu feature is used (i.e. just
execute the command "bootp" as if you specified it in the preset
menu). This has no impact against most users, but you should take care
if using the preset menu for your own purpose, because GRUB doesn't
call "bootp" implicitly when the preset menu is used explicitly. In
this case, you would probably need to insert commands to initialize a
network into your preset menu.
* Important bugfixes are made for ReiserFS, APM, TFTP, LBA, etc.
New in 0.90 - 2001-07-11:
* The command "setkey" resets key mappings, when no argument is
* Linux devfs support is added.
* The utility ``grub-install'' accepts a new option, `--recheck'. If
this option is specified, probe a device map, even if it already
exists. You should use this option whenever you add/remove a disk.
* The command "password" supports a md5 password if the option `--md5'
is given. This command can now also be used to protect specific menu
items with their own passwords.
* New command, "displayapm".
* New command, "md5crypt".
* The new utility ``grub-md5-crypt'' is a frontend of the grub shell. It
encrypts a password in MD5 format.
* New commands, "testvbe" and "vbeprobe".
* The configure script accepts a new option, `--enable-preset-menu'. You
can embed an arbitrary configuration which will be used when Stage 2
cannot open a real configuration file, with this option. The argument
must be an existing file.
* EZ-BIOS support is added.
* Booting Windows from a logical partition is supported.
* The example Multiboot kernel in the directory "docs" is built, if you
specify the option `--enable-example-kernel' to the configure script.
* New command, "ifconfig".
* Linux software RAID support is added (only for RAID-1).
* Hercules support is added.
* The configure script now accepts `--disable-auto-linux-mem-opt', which
has the same meaning as you specify the option `--no-mem-option' to the
command "kernel".
* Jump to the physical entry address of a Multiboot kernel when booting
it up. The old behavior was to use the virtual one, regardless of the
setting of the physical address.
* The commands "bootp" and "dhcp" accepts a new option
`--with-configfile', so that you can load a remotely specified
configuration file automatically, like the network boot images.
* VSTa filesystem support is added.
* ELF symbol loading support is added.
New in 0.5.96 - 2000-10-04:
* New commands, "reboot" and "halt".
* New command, "hiddenmenu". You can hide the menu interface by default
with this command.
* You can specify `--no-mem-option' to the command "kernel", if you want
GRUB not to pass a Linux's mem option automatically.
* Now GRUB is compliant with the Linux/i386 boot protocol version 2.02.
* The network support is updated to Etherboot-4.6.4.
* Symlinks in ReiserFS are supported.
* Add a workaround into the grub shell, so that it works fine even under
Linux 2.4.
* Add a new option `--stage2' into the commands "install" and "setup",
to let the grub shell know what the file name of Stage 2 is under your
operating system. You must specify the option correctly, if you cannot
unmount the partition where GRUB images reside. We'd recommend _not_
using those commands directly, but using the utility "grub-install"
instead, because this is safer.
* One violation against the Network Boot Image Proposal was found and
fixed. So now the image `nbgrub' can work fine even with a card such
as rtl8139.
* Serial terminal support is added. The configure script accepts
a new option `--disable-serial'. Unless it is specified, you can use
two new commands, "serial" and "terminal" in the command-line and the
menu. See the manual, for more details.
* Preserve the possible magic number used by Windows NT in a MBR.
* The command-line interface is switched to single-line editing mode.
* Only for developers: the configure script accepts
`--enable-serial-speed-simulation', which is useful when you want to
simulate the speed of a serial device on a psuedo terminal.
* Also only for developers: you can specify an optional argument to the
option `--hold' for the grub shell. The argument means how many
seconds the grub shell should wait until diving into the main routine.
* New command, "savedefault". Now you can save current entry number to
your disk with this command and then you can set the default boot
entry to it by the command "default saved".
* Add a new option `--prefix' into the command "setup", so that you can
specify the name of a directory which contains GRUB images. And, the
behavior of this command changed slightly, that is, this command now
searchs stage1 automatically under "/boot/grub" and "/grub", unless
you specify the option `--prefix'.
* The utility `grub-install' recognizes a separate boot partition
* New commands, "partnew" and "parttype". You can modify partition
tables with these commands.
New in 0.5.95 - 2000-06-27:
* NetBSD ELF kernel support is added. You have to specify the new option
to the command "kernel". See below.
* Added a new option `--type=TYPE' into the command "kernel". This
option suggests what type of kernel you want to load. TYPE must be
either of "netbsd", "freebsd", "openbsd", "linux", "biglinux" and
"multiboot". Actually, this option will be necessary only if you want
to load a NetBSD ELF kernel, because GRUB can automatically determine
a kernel type in the other cases.
* ReiserFS support is added.
* Added a new option `--force-lba' into the command "install". This
option disables some sanity checks for LBA mode (but not all). If you
are sure that your machine supports LBA mode but GRUB doesn't work in
LBA mode, you should specify it. It is necessary if your BIOS is too
buggy. In the previous version, it was a compile-time option, but you
don't have to recompile GRUB any longer.
* Likewise, now the command "setup" and the script "grub-install" also
accept `--force-lba' option. Specifying this option to "setup" or
"grub-install" has the same effect as to the command "install".
* The configure script doesn't accept the option
`--disable-lba-support-bitmap-check' any longer. Use the option above.
* The network support is updated to Etherboot-4.6.1. So now we have
3Com59x and DEPCA drivers.
* Now you can omit the configuration file argument to the command
"password". If you omit it, then GRUB will just unlock privileged
instructions (such as `c') when you enter a correct password.
* The new command "lock" can be used to prevent end-users from executing
arbitrary menu entries. This command will emit an error until the user
enters a correct password.
* Recognize the Linux extended partition type.
* Pass a correct memory size to Linux and *BSD.
* Diskless support is added. Now configure accepts --enable-diskless,
and "make" will produce two additional images, ``nbgrub'' for Net Boot
Image Proposal and ``pxegrub'' for Preboot Execution Environment. See
the documentation, for more details.
* The command "tftpserver" overrides a TFTP server address returned by a
BOOTP server, a DHCP server or a RARP server.
* Fix a serious bug about LBA support. It is possible that you don't
disable the LBA support bitmap check any longer. Please send a report,
if you must still disable it. We need to know if we should get rid of
the option.
New in 0.5.94 - 2000-03-06:
* Stage 1 supports both the LBA mode and the CHS mode.
* The NetBSD and OpenBSD boot bug is fixed.
* The more automatic installation command "setup" is added.
* The command "embed" embeds a Stage 1.5 in the sectors after a MBR.
* Support symbolic color name syntax in the command "color".
* The grub shell loads the BIOS drive mapping information from a device
map file if it is specified and can be opened. If not found, try to
create it based on the guessed information.
* NetBSD support in the grub shell is improved.
* A simple checker for the format of a Multiboot kernel, ``mbchk'', is
* The command "find" searches for a filename in all devices and print
the list of the devices which contain the file.
* The command "map" maps a drive to another drive so that we can
chain-load some foolish operating systems (such as DOS) even if such
an operating system resides at a non-first drive.
* The command "setkey" maps a key to another.
* The GRUB manual is rewritten, and now consists of three parts and
* The command "ioprobe" detects what I/O ports are used for a BIOS
* OpenBSD support in the grub shell is improved.
* The command "install" can now patch a Stage 2 with a different
filename from "/boot/grub/menu.lst" even if a Stage 1.5 is used.
* New program, ``grub-install''.
* The command "blocklist" prints the blocklist notation of a file.
* The command "chainloader" now accepts an option "--force", which is
required if you want to chain-load a boot loader defective in the
signature, such as SCO Unixware 7.1.
* The netboot support is heavily rewritten, based on Etherboot-4.4.3.
Most of the device drivers are stolen from it, so we now have many
network drivers. See netboot/README.netboot for more details.
* Now configure accepts the option `--disable-lba-support-bitmap-check'
to ignore an incorrect LBA support bitmap returned by a buggy BIOS. If
you are sure that your BIOS does support LBA mode but GRUB doesn't
work in LBA mode, recompile GRUB with this option specified. You can
check if GRUB accesses a drive in LBA mode by the command "geometry".
* New commands "bootp", "dhcp" and "rarp" can be used to initialize a
network device and get IP addresses from a network.
* Long filename support in the FAT filesystem is added.
* The command "cmp" compares each bytes in two files.
New in 0.5.93 - 1999-10-30:
* ELF format of FreeBSD kernel is supported.
* Support the partition ids for NetBSD and OpenBSD.
* Exit from the grub shell just by pushing the key `q' in the menu.
* New options for configure can disable some functions in Stage 2. See
the output from `configure --help' for more information.
* FAT32 support is added.
* Minix fs support is added.
* New commands "hide" and "unhide".
* The character `=' after a command is not necessary any longer, but it
is supported for backward compatibility.
* The command "help" displays helpful information about builtin
* The command "geometry" displays the information of a drive specified
and set the geometry to arbitrary C/H/S values if the optional
arguments are used.
* The command "configfile" loads a configuration file interactively.
* The command "device" assigns a BIOS drive to an arbitrary filename in
the grub shell.
* The option `--no-floppy' force the grub shell to assume that there is
no floppy, and the option `--probe-second-floppy' enables the probe of
the second floppy drive.
* Integrated the netboot support in the Dresden version of GRUB.
* FreeBSD support in the grub shell is improved.
* Killing (C-u and C-k), yanking (C-y) and manipulating the history
(C-p and C-n) are supported.
* The address argument for the command "install" is now optional.
* Better completion support.
* The command "cat" displays the contents of a file.
New in 0.5.92 - 1999-07-26:
* Bug fixes (i.e. Stage 1.5 can work fine again).
* The /sbin/grub stage2 simulator now works at least on GNU/Linux, and
uses the Linux HDIO_GETGEO ioctl to determine hard disk geometry.
* TAB not only lists filenames, but also completes a filename when the
filename is unique.
* Password is not echoed back, put an asterisk for each of input
* stage2_debug is removed, and the debugging features are added into
* Color menu support.
* New command "quit".
* The man page for /sbin/grub.
* All documents become Texinfo.
* Linux video mode selection is supported.
* The new Stage 1 `stage1_lba' supports LBA addressing mode.
New in 0.5.91 - 1999-03-14, Gordon Matzigkeit:
* LBA and preliminary AWARD BIOS disk extension support.
* Started docs/grub.texi.
* /sbin/grub GUI now works (but it doesn't yet access disks properly).
Run `configure --enable-sbin-grub' to build this program in the grub
New in 0.5.90 - 1999-03-01, Gordon Matzigkeit:
* Bug fixes.
* GRUB understands symlinks on ext2fs (but still not ffs).
* Many source code and build cleanups to comply with GNU standards.
New in 0.5 - 1998-08-20, Erich Boleyn:
* Improved error messages in the stage1 to be strings (easier to read
than the previous case of single characters), and removed any
display in the case of no error (less confusing).
* New document describing error conditions and messages.
* Improved configure/build process.
* Made the early bootup interrupt-safe. Wasn't doing cli/sti when
necessary sometimes.
* GRUB now shuts off the floppy before transferring control to any
other programs/modules/loaders. (chain-loading doesn't matter here,
just loading 32-bit modules/kernels)
* Fixed a few stupid bugs, including a several in the ext2fs code.
* Linux boot format support extended from just "zImage" to include
"bzImage" and initial ramdisk (also called "initrd") support for
both. "initrd" support is untested, but the critical parts were
taken from a supplied patch and seem OK.
* Several new command features. See the command-listing for details.
New in 0.4 - 1998-03-19, Erich Boleyn:
* GRUB now correctly points ES:SI at a partition descriptor when
* Many minor bugs fixed (some in the build scripts).
* Intel MPS 1.4 config/check code is totally new, and the "syscmd="
command is completely removed. Check command-listing for details.
Version 0.4-pre, Erich Boleyn:
* Reorganized docs, moved most "NOTE" items to a FAQ (with new entries
as well).
* Now supports automatic decompression of any files loaded via the
GRUB stage2 filesystem code. Simply compress the file using GNU
gzip normally, then when loading, the GRUB internals will see the
contents in the decompressed state... i.e. all GRUB functions
operate normally as if it is the uncompressed file. An extra
version of the "module" loading function has been added which
disables this functionality if desired (in all the other cases, not
decompressing doesn't make sense).
* Changed device strings used in filesystem code to more logical
format. Added "relative" disk and partition capability, see
command-listing and filesystem syntax description for details.
* "install=" command vastly improved. Also moved to non-debug area.
Check command-listing and install documentation for details.
* Added several new commands: "rootnoverify=", "uppermem=", and a new
debug command "displaymem". Check command-listing for details.
* Added versioning numbers (and subsequently broke compatibility with
some of the previous code, so GRUB should be re-installed!).
* Added unattended booting support via new "fallback=" command.
* During debug probe of SMP configuration table compatible with Intel
MPS 1.4 standard, GRUB now checks for a pointer in the EBDA.
* Using a "default=" entry greater than 11 caused the UI to do funny
things (it didn't pre-scroll the list to the appropriate place).
* Reading files on FAT floppies had yet more problems related by many
users of version 0.3 6/17/96. Again, all known problems fixed.
* "Extended" partitions now work (still cannot make an extended
partition active with "makeactive" command).
* The build environment is greatly simplified, now using an
autoconf-like "configure" script.
New in 0.3-19960617 - 1996-06-17, Erich Boleyn:
* Yet more documentation improvements.
* Known bugs in floppy operation fixed (12-bit FAT didn't work for
most cases, and inserting other floppies didn't flush the filesystem
* NASTY uninitialized pointer bug causing "raw" floppy operation to
crash on several PCs is now fixed. This seems to have been the root
cause of all of the compatibility problems that have currently been
* debug-mode command added to automate most difficult step of
installation for common cases (new install method #4).
* Testing "mini-debugger" now merged with command-line when "DEBUG"
defined in compile (no SYSDEBUG option anymore). See description of
commands in the command-line for details.
New in 0.3-19960602 - 1996-06-02, Erich Boleyn:
* Completed initial licenses.
* Initial filesystem documentation written.
* Block-list and FAT filesystems now work as documented (in
particular, for the blocklist filesystem, shortcuts like "+1" for
"0+1,512" now work correctly).
* Fixed several problems (old and new) in the various filesystems (for
example, the ext2fs filesystem code is now much faster, as it caches
some mapping blocks where it didn't at all before). Filesystem
semantics are much more uniform as well (symbolic links and reading
a directory as a file now return errors where it would silently fail
* "makeactive" now works for standard PC partitions on hard disks (not
extended partitions... so any PC partition number above 3 will give
a "no such partition" error). If a BSD sub-partition is is used, it
will ignore it, and only use the primary PC partition number.
New in 0.3-19960520 - 1996-05-20, Erich Boleyn:
* Updated instructions (though still very sparse).
* New floppy probe (works much like the Linux floppy boot probe)
attempts to find the size of a floppy in a drive. Might still need
work! Please try on various floppy drives with various media!
* New floppy handler will claim a non-existent drive if the floppy
disk isn't present in the drive. (for example, it won't be on the
list of installed drives unless a floppy is present)
* Stage1 now compatible with both a hard disk MBR and the DOS BIOS
parameter block (see "install/README" for more details on how this
can be used).
* Block-list filesystem partially works, as described in the file
"NOTES". Loading an a.out or elf kernel won't work with it, but all
other filetypes pretty much should. (certainly chain-loading works
NOTE: you must use the full format "0+1,512" for just he first
block... no parameters can be implicit in this version.. THis is
being fixed too.
* Linux ext2 filesystem works. (it's very slow for big files, but
this is being fixed)
* Linux boot type now supported. Use a standard piggybacked image as
with LILO. Put in hack to support >64MB via GRUB placing the RAM
size as the first item on the command-line automatically. Must pass
root partition on command-line using normal Linux syntax... if not,
it uses it's builtin root partition.
* Supports chain-loading. For details, see "COMMANDS" and the
examples directory. (was able to boot DOS and Windows NT on my test
box). NOTE that the "root partition" must be set to work right.
"makeactive" is currently a no-op.
* Several weird bugs fixed. One important note: If you recompile, it
will warn about a clash with builtin "strcmp". This is normal...
do NOT remove the strcmp definition, as then GCC will possibly put
inline code from it's own builtin function in some places. (my
strcmp has slightly different functionality, hence the problem)
* Mini-debugger is currently broken.
New in 0.2 - 1996-04-12, Erich Boleyn:
* Completely new menu-based UI. See "COMMANDS" and the examples
directory for details. NOTE that the argument to a command must be
preceded by a space between it and the '=', in both the config file
and the command-line. This will be fixed.
New in 0.1 - 1996-03-31, Erich Boleyn:
* Newer version of Multiboot Standard (version 0.6) supported.
* Autodetects kernel types. Supports Multiboot, FreeBSD, NetBSD
(Linux isn't finished).
* Stage 1.5 works now. Default setup is now for working with a BSD
FFS floppy loading "/grub/stage2" as the main bootloader.
* Filesystem support improved. It didn't work on many floppies before
(problem with the partition-detection code).
* Memory probe now supports arbitrary amounts of RAM (some technical
limitations exist, see Multiboot standard version 0.6 for details).
* A mini-debugger is included by default, activated by hitting '~' on
the command-line (it might interfere with things, but it seems OK
for my alpha-testing). The commands are in the function
"enter_sysdebug" defined in "common.c". If you have an Intel MPS-
compatible machine, there are extra commands enabled for SMP cpu
testing. 'q' exits and goes back to what you were doing before.
New in 0.0-19960206 - 1996-02-06, Erich Boleyn:
* Newer version of Multiboot Standard (version 0.4) supported.
New in 0.0-19951210 - 1995-12-10, Erich Boleyn:
* You can now perform TAB-based completion listing of any valid
partially completed disk/partition/file-name combination. Try it
out to see what you like, examples are in the NOTES file under
"Device completion".
* Fixed a bug causing the memory size routine to sometimes report
ridiculous values.
* Fixed some documentation (what little there is :-/ and a few
assembly bugs in the BIOS access routines that nobody reported yet,
so I won't detail it here.