1 NEWS - list of user-visible changes between releases of GRUB
3 New in 0.97 - 2005-05-08:
4 * Fix the prototypes and the definitions of nested functions. This was
6 * Implement a more robust workaround for buggy BIOSes which don't pass
7 boot drive correctly (notably for HP Vectra).
9 New in 0.96 - 2005-01-30:
10 * The command "fallback" supports mutiple fallback entries.
11 * The command "savedefault" supports an optional argument which
12 is the number of next boot entry or the special keyword `fallback'.
13 * New utility "grub-set-default".
14 * New section "Making your system robust" in the manual.
16 New in 0.95 - 2004-06-13:
17 * Add support for ReiserFS 3.
18 * Fix support for FreeBSD 5.
19 * Support ATARAID for Linux in the grub shell and grub-install.
20 * Add CDROM support for El Torito with no emulation mode. You can use
21 (cd) as a CDROM drive in the config file.
22 * Option --no-mem-option is implied for Linux 2.4.18 and newer.
23 * Add support for UFS2.
25 New in 0.94 - 2004-01-25:
26 * Support building on x86-64 with gcc -m32.
27 * Use a BIOS call to turn on/off Gate A20. This should solve various
28 problems related to Gate A20 in modern BIOSes.
29 * Add a workaround for buggy BIOSes (notably HP Vectra series) which
30 don't pass the boot drive correctly.
31 * Display "GNU GRUB" instead of "GRUB" in the menu.
32 * Add support for QNX RTP into the grub shell.
33 * Add support for the initrd max address of a kernel header in Linux.
34 * Support 32 bit and 64 bit dev_t.
35 * Add support for an install device in GRUB's notation with no
36 parenthesis (e.g. grub-install hd0).
37 * Improve the manual a lot.
39 New in 0.93 - 2002-12-08:
40 * Define the behavior of the boot loader when the load end address is
41 zero and the bss end address is zero in the Multiboot Specification.
42 Also, add the support into GRUB.
43 * Finally, we have a Bug Tracking System! Now the preferable way to
44 report bugs is to use the BTS rather than sending e-mail to bug-grub.
45 See <http://bugcomm.enbug.org/?project=grub&mode=project>, for more
47 * The appendix "FAQ" in the manual is removed. See the GNU GRUB FAQ on
48 the web <http://www.gnu.org/software/grub/grub-faq.html> instead.
49 * The terminal handling code is rewritten radically, and many bugfixes
50 are made at the same time.
51 * The command "color" is effective even in the command-line.
52 * The command "terminal" takes two new options, ``--no-echo'' and
53 ``--no-edit''. If you specify ``--no-echo'', GRUB won't echo back
54 input characters. If you specify ``--no-edit'', GRUB will disable the
55 BASH-like editing feature. These options are useful when using an
56 intelligent terminal (such as the comint mode in GNU Emacs).
57 * The utility ``grub-md5-crypt'' prompts to retype a password and checks
58 if the passwords match.
59 * Support for booting Linux is rewritten, so GRUB now supports
61 * The menu interfaces supports Page Up, Page Down, and Right Key.
62 * New command "terminfo", for vt100-incompatible terminals.
63 * New options, ``-D'', ``-g'' and ``-m'' are supported for FreeBSD.
65 New in 0.92 - 2002-04-30:
66 * The command "displaymem" uses only hex digits for consistency.
67 * The netboot code goes back to the progress bars instead of dots, for
68 the notation of data transfers. And, that is displayed only in debug
69 mode, that is to say, nothing is displayed by default. Remember that
70 you can turn on debug mode via the command "debug".
71 * The command "help" doesn't show all the available commands by default,
72 when no argument is specified. Rarely used commands (such as
73 "testload") and useless commands in interactive use (such as
74 "savedefault") are hidden. If you want to see help messages for those
75 commands, specify the new option "--all".
76 * A built-in, `more'-like pager is added. When a command prints too many
77 lines to fit the screen, GRUB waits until you hit return key. This
78 feature can be turned off by the new command "pager".
79 * The command "terminal" accepts a new option, "--lines=LINES". You can
80 set the maximum number of lines arbitrarily with this option. If you
81 don't specify it, the maximum number will be 24.
82 * The command "terminal" accepts another new option, "--silent". You can
83 suppress the "Press any key to continue" message with this option.
84 * The mem= option for Linux is recognized and used to limit the maximum
86 * A fallback entry is executed immediately after a default entry,
87 without prompting a user's intervention, as the manual has ever been
89 * The utility ``grub-install'' makes sure that GRUB images have been
90 written to a physical disk completely. To assist this feature, a new
91 command "dump" is added.
93 New in 0.91 - 2002-01-21:
94 * Support for Linux DAC960 is added.
95 * JFS and XFS support is added.
96 * The commands "hide" and "unhide" support logical partitions.
97 * The utility ``grub-install'' supports NetBSD.
98 * The network support is updated to Etherboot-5.0.5.
99 * The manner of handling the preset menu changes. In the previous
100 implementation, the preset menu is used only when opening the
101 configuration file failed. Now try to use the preset menu first. And,
102 if the configuration file is available, it is read after readoing the
103 preset menu. In this case, menu entries in the preset menu (if any)
104 are overrided by the configuration file.
105 * Diskless support is a bit changed. In the previous, GRUB set up a
106 network automatically via a special function. In the current, the
107 function is gone and the preset menu feature is used (i.e. just
108 execute the command "bootp" as if you specified it in the preset
109 menu). This has no impact against most users, but you should take care
110 if using the preset menu for your own purpose, because GRUB doesn't
111 call "bootp" implicitly when the preset menu is used explicitly. In
112 this case, you would probably need to insert commands to initialize a
113 network into your preset menu.
114 * Important bugfixes are made for ReiserFS, APM, TFTP, LBA, etc.
116 New in 0.90 - 2001-07-11:
117 * The command "setkey" resets key mappings, when no argument is
119 * Linux devfs support is added.
120 * The utility ``grub-install'' accepts a new option, `--recheck'. If
121 this option is specified, probe a device map, even if it already
122 exists. You should use this option whenever you add/remove a disk.
123 * The command "password" supports a md5 password if the option `--md5'
124 is given. This command can now also be used to protect specific menu
125 items with their own passwords.
126 * New command, "displayapm".
127 * New command, "md5crypt".
128 * The new utility ``grub-md5-crypt'' is a frontend of the grub shell. It
129 encrypts a password in MD5 format.
130 * New commands, "testvbe" and "vbeprobe".
131 * The configure script accepts a new option, `--enable-preset-menu'. You
132 can embed an arbitrary configuration which will be used when Stage 2
133 cannot open a real configuration file, with this option. The argument
134 must be an existing file.
135 * EZ-BIOS support is added.
136 * Booting Windows from a logical partition is supported.
137 * The example Multiboot kernel in the directory "docs" is built, if you
138 specify the option `--enable-example-kernel' to the configure script.
139 * New command, "ifconfig".
140 * Linux software RAID support is added (only for RAID-1).
141 * Hercules support is added.
142 * The configure script now accepts `--disable-auto-linux-mem-opt', which
143 has the same meaning as you specify the option `--no-mem-option' to the
145 * Jump to the physical entry address of a Multiboot kernel when booting
146 it up. The old behavior was to use the virtual one, regardless of the
147 setting of the physical address.
148 * The commands "bootp" and "dhcp" accepts a new option
149 `--with-configfile', so that you can load a remotely specified
150 configuration file automatically, like the network boot images.
151 * VSTa filesystem support is added.
152 * ELF symbol loading support is added.
154 New in 0.5.96 - 2000-10-04:
155 * New commands, "reboot" and "halt".
156 * New command, "hiddenmenu". You can hide the menu interface by default
158 * You can specify `--no-mem-option' to the command "kernel", if you want
159 GRUB not to pass a Linux's mem option automatically.
160 * Now GRUB is compliant with the Linux/i386 boot protocol version 2.02.
161 * The network support is updated to Etherboot-4.6.4.
162 * Symlinks in ReiserFS are supported.
163 * Add a workaround into the grub shell, so that it works fine even under
165 * Add a new option `--stage2' into the commands "install" and "setup",
166 to let the grub shell know what the file name of Stage 2 is under your
167 operating system. You must specify the option correctly, if you cannot
168 unmount the partition where GRUB images reside. We'd recommend _not_
169 using those commands directly, but using the utility "grub-install"
170 instead, because this is safer.
171 * One violation against the Network Boot Image Proposal was found and
172 fixed. So now the image `nbgrub' can work fine even with a card such
174 * Serial terminal support is added. The configure script accepts
175 a new option `--disable-serial'. Unless it is specified, you can use
176 two new commands, "serial" and "terminal" in the command-line and the
177 menu. See the manual, for more details.
178 * Preserve the possible magic number used by Windows NT in a MBR.
179 * The command-line interface is switched to single-line editing mode.
180 * Only for developers: the configure script accepts
181 `--enable-serial-speed-simulation', which is useful when you want to
182 simulate the speed of a serial device on a psuedo terminal.
183 * Also only for developers: you can specify an optional argument to the
184 option `--hold' for the grub shell. The argument means how many
185 seconds the grub shell should wait until diving into the main routine.
186 * New command, "savedefault". Now you can save current entry number to
187 your disk with this command and then you can set the default boot
188 entry to it by the command "default saved".
189 * Add a new option `--prefix' into the command "setup", so that you can
190 specify the name of a directory which contains GRUB images. And, the
191 behavior of this command changed slightly, that is, this command now
192 searchs stage1 automatically under "/boot/grub" and "/grub", unless
193 you specify the option `--prefix'.
194 * The utility `grub-install' recognizes a separate boot partition
196 * New commands, "partnew" and "parttype". You can modify partition
197 tables with these commands.
199 New in 0.5.95 - 2000-06-27:
200 * NetBSD ELF kernel support is added. You have to specify the new option
201 to the command "kernel". See below.
202 * Added a new option `--type=TYPE' into the command "kernel". This
203 option suggests what type of kernel you want to load. TYPE must be
204 either of "netbsd", "freebsd", "openbsd", "linux", "biglinux" and
205 "multiboot". Actually, this option will be necessary only if you want
206 to load a NetBSD ELF kernel, because GRUB can automatically determine
207 a kernel type in the other cases.
208 * ReiserFS support is added.
209 * Added a new option `--force-lba' into the command "install". This
210 option disables some sanity checks for LBA mode (but not all). If you
211 are sure that your machine supports LBA mode but GRUB doesn't work in
212 LBA mode, you should specify it. It is necessary if your BIOS is too
213 buggy. In the previous version, it was a compile-time option, but you
214 don't have to recompile GRUB any longer.
215 * Likewise, now the command "setup" and the script "grub-install" also
216 accept `--force-lba' option. Specifying this option to "setup" or
217 "grub-install" has the same effect as to the command "install".
218 * The configure script doesn't accept the option
219 `--disable-lba-support-bitmap-check' any longer. Use the option above.
220 * The network support is updated to Etherboot-4.6.1. So now we have
221 3Com59x and DEPCA drivers.
222 * Now you can omit the configuration file argument to the command
223 "password". If you omit it, then GRUB will just unlock privileged
224 instructions (such as `c') when you enter a correct password.
225 * The new command "lock" can be used to prevent end-users from executing
226 arbitrary menu entries. This command will emit an error until the user
227 enters a correct password.
228 * Recognize the Linux extended partition type.
229 * Pass a correct memory size to Linux and *BSD.
230 * Diskless support is added. Now configure accepts --enable-diskless,
231 and "make" will produce two additional images, ``nbgrub'' for Net Boot
232 Image Proposal and ``pxegrub'' for Preboot Execution Environment. See
233 the documentation, for more details.
234 * The command "tftpserver" overrides a TFTP server address returned by a
235 BOOTP server, a DHCP server or a RARP server.
236 * Fix a serious bug about LBA support. It is possible that you don't
237 disable the LBA support bitmap check any longer. Please send a report,
238 if you must still disable it. We need to know if we should get rid of
241 New in 0.5.94 - 2000-03-06:
242 * Stage 1 supports both the LBA mode and the CHS mode.
243 * The NetBSD and OpenBSD boot bug is fixed.
244 * The more automatic installation command "setup" is added.
245 * The command "embed" embeds a Stage 1.5 in the sectors after a MBR.
246 * Support symbolic color name syntax in the command "color".
247 * The grub shell loads the BIOS drive mapping information from a device
248 map file if it is specified and can be opened. If not found, try to
249 create it based on the guessed information.
250 * NetBSD support in the grub shell is improved.
251 * A simple checker for the format of a Multiboot kernel, ``mbchk'', is
253 * The command "find" searches for a filename in all devices and print
254 the list of the devices which contain the file.
255 * The command "map" maps a drive to another drive so that we can
256 chain-load some foolish operating systems (such as DOS) even if such
257 an operating system resides at a non-first drive.
258 * The command "setkey" maps a key to another.
259 * The GRUB manual is rewritten, and now consists of three parts and
261 * The command "ioprobe" detects what I/O ports are used for a BIOS
263 * OpenBSD support in the grub shell is improved.
264 * The command "install" can now patch a Stage 2 with a different
265 filename from "/boot/grub/menu.lst" even if a Stage 1.5 is used.
266 * New program, ``grub-install''.
267 * The command "blocklist" prints the blocklist notation of a file.
268 * The command "chainloader" now accepts an option "--force", which is
269 required if you want to chain-load a boot loader defective in the
270 signature, such as SCO Unixware 7.1.
271 * The netboot support is heavily rewritten, based on Etherboot-4.4.3.
272 Most of the device drivers are stolen from it, so we now have many
273 network drivers. See netboot/README.netboot for more details.
274 * Now configure accepts the option `--disable-lba-support-bitmap-check'
275 to ignore an incorrect LBA support bitmap returned by a buggy BIOS. If
276 you are sure that your BIOS does support LBA mode but GRUB doesn't
277 work in LBA mode, recompile GRUB with this option specified. You can
278 check if GRUB accesses a drive in LBA mode by the command "geometry".
279 * New commands "bootp", "dhcp" and "rarp" can be used to initialize a
280 network device and get IP addresses from a network.
281 * Long filename support in the FAT filesystem is added.
282 * The command "cmp" compares each bytes in two files.
284 New in 0.5.93 - 1999-10-30:
285 * ELF format of FreeBSD kernel is supported.
286 * Support the partition ids for NetBSD and OpenBSD.
287 * Exit from the grub shell just by pushing the key `q' in the menu.
288 * New options for configure can disable some functions in Stage 2. See
289 the output from `configure --help' for more information.
290 * FAT32 support is added.
291 * Minix fs support is added.
292 * New commands "hide" and "unhide".
293 * The character `=' after a command is not necessary any longer, but it
294 is supported for backward compatibility.
295 * The command "help" displays helpful information about builtin
297 * The command "geometry" displays the information of a drive specified
298 and set the geometry to arbitrary C/H/S values if the optional
300 * The command "configfile" loads a configuration file interactively.
301 * The command "device" assigns a BIOS drive to an arbitrary filename in
303 * The option `--no-floppy' force the grub shell to assume that there is
304 no floppy, and the option `--probe-second-floppy' enables the probe of
305 the second floppy drive.
306 * Integrated the netboot support in the Dresden version of GRUB.
307 * FreeBSD support in the grub shell is improved.
308 * Killing (C-u and C-k), yanking (C-y) and manipulating the history
309 (C-p and C-n) are supported.
310 * The address argument for the command "install" is now optional.
311 * Better completion support.
312 * The command "cat" displays the contents of a file.
314 New in 0.5.92 - 1999-07-26:
315 * Bug fixes (i.e. Stage 1.5 can work fine again).
316 * The /sbin/grub stage2 simulator now works at least on GNU/Linux, and
317 uses the Linux HDIO_GETGEO ioctl to determine hard disk geometry.
318 * TAB not only lists filenames, but also completes a filename when the
320 * Password is not echoed back, put an asterisk for each of input
322 * stage2_debug is removed, and the debugging features are added into
324 * Color menu support.
325 * New command "quit".
326 * The man page for /sbin/grub.
327 * All documents become Texinfo.
328 * Linux video mode selection is supported.
329 * The new Stage 1 `stage1_lba' supports LBA addressing mode.
331 New in 0.5.91 - 1999-03-14, Gordon Matzigkeit:
332 * LBA and preliminary AWARD BIOS disk extension support.
333 * Started docs/grub.texi.
334 * /sbin/grub GUI now works (but it doesn't yet access disks properly).
335 Run `configure --enable-sbin-grub' to build this program in the grub
338 New in 0.5.90 - 1999-03-01, Gordon Matzigkeit:
340 * GRUB understands symlinks on ext2fs (but still not ffs).
341 * Many source code and build cleanups to comply with GNU standards.
343 New in 0.5 - 1998-08-20, Erich Boleyn:
345 * Improved error messages in the stage1 to be strings (easier to read
346 than the previous case of single characters), and removed any
347 display in the case of no error (less confusing).
349 * New document describing error conditions and messages.
351 * Improved configure/build process.
353 * Made the early bootup interrupt-safe. Wasn't doing cli/sti when
356 * GRUB now shuts off the floppy before transferring control to any
357 other programs/modules/loaders. (chain-loading doesn't matter here,
358 just loading 32-bit modules/kernels)
360 * Fixed a few stupid bugs, including a several in the ext2fs code.
362 * Linux boot format support extended from just "zImage" to include
363 "bzImage" and initial ramdisk (also called "initrd") support for
364 both. "initrd" support is untested, but the critical parts were
365 taken from a supplied patch and seem OK.
367 * Several new command features. See the command-listing for details.
369 New in 0.4 - 1998-03-19, Erich Boleyn:
371 * GRUB now correctly points ES:SI at a partition descriptor when
374 * Many minor bugs fixed (some in the build scripts).
376 * Intel MPS 1.4 config/check code is totally new, and the "syscmd="
377 command is completely removed. Check command-listing for details.
379 Version 0.4-pre, Erich Boleyn:
381 * Reorganized docs, moved most "NOTE" items to a FAQ (with new entries
384 * Now supports automatic decompression of any files loaded via the
385 GRUB stage2 filesystem code. Simply compress the file using GNU
386 gzip normally, then when loading, the GRUB internals will see the
387 contents in the decompressed state... i.e. all GRUB functions
388 operate normally as if it is the uncompressed file. An extra
389 version of the "module" loading function has been added which
390 disables this functionality if desired (in all the other cases, not
391 decompressing doesn't make sense).
393 * Changed device strings used in filesystem code to more logical
394 format. Added "relative" disk and partition capability, see
395 command-listing and filesystem syntax description for details.
397 * "install=" command vastly improved. Also moved to non-debug area.
398 Check command-listing and install documentation for details.
400 * Added several new commands: "rootnoverify=", "uppermem=", and a new
401 debug command "displaymem". Check command-listing for details.
403 * Added versioning numbers (and subsequently broke compatibility with
404 some of the previous code, so GRUB should be re-installed!).
406 * Added unattended booting support via new "fallback=" command.
408 * During debug probe of SMP configuration table compatible with Intel
409 MPS 1.4 standard, GRUB now checks for a pointer in the EBDA.
411 * Using a "default=" entry greater than 11 caused the UI to do funny
412 things (it didn't pre-scroll the list to the appropriate place).
414 * Reading files on FAT floppies had yet more problems related by many
415 users of version 0.3 6/17/96. Again, all known problems fixed.
417 * "Extended" partitions now work (still cannot make an extended
418 partition active with "makeactive" command).
420 * The build environment is greatly simplified, now using an
421 autoconf-like "configure" script.
423 New in 0.3-19960617 - 1996-06-17, Erich Boleyn:
425 * Yet more documentation improvements.
427 * Known bugs in floppy operation fixed (12-bit FAT didn't work for
428 most cases, and inserting other floppies didn't flush the filesystem
431 * NASTY uninitialized pointer bug causing "raw" floppy operation to
432 crash on several PCs is now fixed. This seems to have been the root
433 cause of all of the compatibility problems that have currently been
436 * debug-mode command added to automate most difficult step of
437 installation for common cases (new install method #4).
439 * Testing "mini-debugger" now merged with command-line when "DEBUG"
440 defined in compile (no SYSDEBUG option anymore). See description of
441 commands in the command-line for details.
443 New in 0.3-19960602 - 1996-06-02, Erich Boleyn:
445 * Completed initial licenses.
447 * Initial filesystem documentation written.
449 * Block-list and FAT filesystems now work as documented (in
450 particular, for the blocklist filesystem, shortcuts like "+1" for
451 "0+1,512" now work correctly).
453 * Fixed several problems (old and new) in the various filesystems (for
454 example, the ext2fs filesystem code is now much faster, as it caches
455 some mapping blocks where it didn't at all before). Filesystem
456 semantics are much more uniform as well (symbolic links and reading
457 a directory as a file now return errors where it would silently fail
460 * "makeactive" now works for standard PC partitions on hard disks (not
461 extended partitions... so any PC partition number above 3 will give
462 a "no such partition" error). If a BSD sub-partition is is used, it
463 will ignore it, and only use the primary PC partition number.
465 New in 0.3-19960520 - 1996-05-20, Erich Boleyn:
467 * Updated instructions (though still very sparse).
469 * New floppy probe (works much like the Linux floppy boot probe)
470 attempts to find the size of a floppy in a drive. Might still need
471 work! Please try on various floppy drives with various media!
473 * New floppy handler will claim a non-existent drive if the floppy
474 disk isn't present in the drive. (for example, it won't be on the
475 list of installed drives unless a floppy is present)
477 * Stage1 now compatible with both a hard disk MBR and the DOS BIOS
478 parameter block (see "install/README" for more details on how this
481 * Block-list filesystem partially works, as described in the file
482 "NOTES". Loading an a.out or elf kernel won't work with it, but all
483 other filetypes pretty much should. (certainly chain-loading works
486 NOTE: you must use the full format "0+1,512" for just he first
487 block... no parameters can be implicit in this version.. THis is
490 * Linux ext2 filesystem works. (it's very slow for big files, but
493 * Linux boot type now supported. Use a standard piggybacked image as
494 with LILO. Put in hack to support >64MB via GRUB placing the RAM
495 size as the first item on the command-line automatically. Must pass
496 root partition on command-line using normal Linux syntax... if not,
497 it uses it's builtin root partition.
499 * Supports chain-loading. For details, see "COMMANDS" and the
500 examples directory. (was able to boot DOS and Windows NT on my test
501 box). NOTE that the "root partition" must be set to work right.
502 "makeactive" is currently a no-op.
504 * Several weird bugs fixed. One important note: If you recompile, it
505 will warn about a clash with builtin "strcmp". This is normal...
506 do NOT remove the strcmp definition, as then GCC will possibly put
507 inline code from it's own builtin function in some places. (my
508 strcmp has slightly different functionality, hence the problem)
510 * Mini-debugger is currently broken.
512 New in 0.2 - 1996-04-12, Erich Boleyn:
514 * Completely new menu-based UI. See "COMMANDS" and the examples
515 directory for details. NOTE that the argument to a command must be
516 preceded by a space between it and the '=', in both the config file
517 and the command-line. This will be fixed.
519 New in 0.1 - 1996-03-31, Erich Boleyn:
521 * Newer version of Multiboot Standard (version 0.6) supported.
523 * Autodetects kernel types. Supports Multiboot, FreeBSD, NetBSD
524 (Linux isn't finished).
526 * Stage 1.5 works now. Default setup is now for working with a BSD
527 FFS floppy loading "/grub/stage2" as the main bootloader.
529 * Filesystem support improved. It didn't work on many floppies before
530 (problem with the partition-detection code).
532 * Memory probe now supports arbitrary amounts of RAM (some technical
533 limitations exist, see Multiboot standard version 0.6 for details).
535 * A mini-debugger is included by default, activated by hitting '~' on
536 the command-line (it might interfere with things, but it seems OK
537 for my alpha-testing). The commands are in the function
538 "enter_sysdebug" defined in "common.c". If you have an Intel MPS-
539 compatible machine, there are extra commands enabled for SMP cpu
540 testing. 'q' exits and goes back to what you were doing before.
542 New in 0.0-19960206 - 1996-02-06, Erich Boleyn:
544 * Newer version of Multiboot Standard (version 0.4) supported.
546 New in 0.0-19951210 - 1995-12-10, Erich Boleyn:
548 * You can now perform TAB-based completion listing of any valid
549 partially completed disk/partition/file-name combination. Try it
550 out to see what you like, examples are in the NOTES file under
553 * Fixed a bug causing the memory size routine to sometimes report
556 * Fixed some documentation (what little there is :-/ and a few
557 assembly bugs in the BIOS access routines that nobody reported yet,
558 so I won't detail it here.