X-Git-Url: https://code.delx.au/refind/blobdiff_plain/8e261d06ab599ac8eb4d0108a88c30a0a1b8f814..2a6ed1155086a30aaa01ced44b559183e7521083:/NEWS.txt diff --git a/NEWS.txt b/NEWS.txt index 6ae3946..220ec48 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -1,6 +1,1122 @@ -0.2.7 (?/??/2012): +0.8.1 (5/15/2014): ------------------ +- Fixed bug that could cause rEFInd to fail to detect boot loaders stored + on the root directory of a partition. + +- Added two new bitmap fonts to those distributed with rEFInd: Ubuntu Mono + and Nimbus Mono. Both come in 12-, 14-, 16-, and 24-point sizes. + +- Messages about pauses for scanning and re-scanning of boot loaders are + now suppressed when doing an initial delayed scan when scan_delay is 1 + second. + +- Improved centering of legacy boot option descriptions on some systems' + screens. + +- Fixed bug that could cause a BIOS-mode boot to boot from an inappropriate + device if that device had an innately high boot priority (as set by the + firmware). + +- Changed icons from ICNS to PNG form. There are several reasons to do + this, all of them minor; but together they're enough to warrant a change. + PNG is more common, and therefore more accessible to most users -- + particularly those who don't use OS X. The PNG files are smaller than + their ICNS equivalents. PNG supports a wider range of sizes (although I'm + not now using anything that ICNS doesn't support, I might in the future). + The icon-scaling support added a few versions ago makes ICNS's support + for multiple icon sizes relatively unimportant. + +- Reversed order of search for icons by extension: rEFInd now searches + for PNG files before ICNS files, rather than the other way around. This + makes it possible to override a volume icon for rEFInd by giving it the + name .VolumeIcon.png, even when a .VolumeIcon.icns file exists on the + volume and is used by OS X. + +- Fixed bug that caused .VolumeIcon.icns to take higher-than-intended + precedence in icon setting for OS X. + +- Chainloading to BIOS-mode boot loaders now works on UEFI-based PCs when + rEFInd is built with GNU-EFI, not just when built with Tianocore. + +0.8.0 (5/4/2014): +----------------- + +- The "dont_scan_volumes" parameter now also works with legacy-boot + volumes. Unlike with EFI volumes, where the option you pass must exactly + match an entire volume name, when applied to legacy-boot volumes, it + matches any part of the description that appears beneath the item when + you select it in the rEFInd main menu. + +- Can now boot in legacy mode from second (and probably later) hard disks! + +- rEFInd now limits the length of the firmware name string shown in the + system information screen to 65 characters. This is done because at least + one EFI presents a longer string by default, and this causes the entire + information display to come up empty on 800x600 displays. + +- rEFInd now uses the partition's name (as stored in the GPT data + structures) as a fallback for the filesystem's name if the latter can't + be found. Exceptions are if the partition name is one of three generic + names used by GPT fdisk: "Microsoft basic data", "Linux filesystem", or + "Apple HFS/HFS+". These are ignored in favor of the descriptive fallback + (e.g., "20 GiB Btrfs volume") + +- It's now possible to specify a volume by partition GUID number in a + manual boot stanza. This should be more reliable (albeit also more + awkward) than using a filesystem number (such as fs0: or fs1:). + +- Fixed memory-allocation bug that could cause error message displays, + and possibly hangs, when re-scanning boot loaders. + +0.7.9 (4/20/2014): +------------------ + +- Attempt to fix rEFInd perpetually re-scanning after ejecting a disc on + some Macs. + +- Added check to remove redundant (or non-functional if Secure Boot is + active) kernel entries for Ubuntu, which is now including two versions of + kernels, one signed and the other unsigned. + +- Fixed bug in install.sh that could cause it to display error messages + if the dmraid utility was not installed. + +- The HFS+ driver now reports a correct volume name. + +- Fixed some EFI filesystem driver bugs that could cause lockups under + some circumstances. These bugs could affect any of the filesystem + drivers. + +- Added "gdisk" option to the "showtools" configuration file token. When + active, this adds gdisk.efi or gdisk_{arch}.efi, if present in the + EFI\tools directory, to the tools row. + +- Fixed mistaken identification of the MOK utility as the "MOK utility + utility." + + +0.7.8 (3/9/2014): +----------------- + +- Added "debian" directory to source, which facilitates creation of Debian + packages. Packages built in this way are built with GNU-EFI and don't run + any post-installation script, so although the rEFInd binaries are on the + hard disk, they aren't installed to be bootable; you must manually run + install.sh. Also, at least on Ubuntu, the Make.common file's /usr/lib64 + references must be changed to /usr/lib. This is more of a proof of + concept and a "leg up" for distribution maintainers than anything else. + +- Two new options, big_icon_size and small_icon_size, set the size of + the first-row OS icons and of the second-row tool icons, respectively. + The big_icon_size option also indirectly sets the size of disk-type + badges; they're 1/4 the size of the big icons. Default values are 128 and + 48, respectively, to match the actual icon files provided with rEFInd. If + the icon you're using is of a different size than you've specified, + rEFInd scales it. For best quality, you should both provide icons drawn + to the right size and set the icon sizes in refind.conf. + +- rEFInd now automatically scales icons to fit the standard icon sizes. + This won't have any effect with the icons that come with rEFInd, but it + can help if you want to use another icon, since you needn't scale it in a + graphics program before using it. Note that rEFInd uses bitmap icons, so + scaling by a huge amount (say, a 16x16 icon to fit the standard 128x128 + OS icon) is not likely to look good. + +- Added new option, banner_scale, that tells rEFInd how to handle banners: + Set to "noscale" (the default), banners are not scaled, although they'll + be cropped if they're too big for the display. This is the same as the + behavior in previous versions. Set to "fillscreen", rEFInd now scales the + banner image (larger or smaller) to fill the display. + +- Adjusted the post-installation script in refind.spec (used to generate + RPMs, and therefore also indirectly Debian packages) to search for + existing shim program files under the filesnames shim.efi and shimx64.efi + rather than just shim.efi. Ubuntu uses shimx64.efi, so Debian packages + were failing to detect Ubuntu's shim in previous versions. (Note, + however, that Ubuntu's early shim 0.1 is unsuitable for use with rEFInd + The newer 0.4 version that's in the repositories now should work fine; + it's only when installing on an older system that's NOT been updated that + problems might arise. + +0.7.7 (1/3/2014): +----------------- + +- Can now specify complete paths, optionally including volumes, in + dont_scan_files. + +- Added shimx64.efi to the default dont_scan_files list. + +- Added windows_recovery_files token, to specify what program(s) launch a + Windows recovery utility; and the "windows_recovery" option to + "showtools," to control whether or not to display the Windows recovery + utility on the second row of icons. + +- The use_graphics_for, also_scan_dirs, dont_scan_dirs, dont_scan_files, + and scan_driver_dirs tokens in refind.conf now support "+" as the first + option, which causes the remaining options to be added to the default + value rather than replacing that value. (This has no practical effect for + scan_driver_dirs, though, since it has a null default value.) + +- Added support for specifying the configuration file at program launch, + via the "-c" parameter, as in "refind_x64.efi -c foo.conf" to use the + foo.conf file as the main configuration file. + +- Scans of ext2/3/4fs and ReiserFS partitions now omit partitions with + duplicate filesystem UUIDs. These are likely parts of RAID arrays and so + would have the same boot loaders or kernels as the first one with a given + UUID. + +- Added feature in install.sh: Script now tries to locate and mount an ESP + in Linux, if it's currently unmounted. + +- Fixed bug in mkrlconf.sh and install.sh that caused a stray line break + and PARTUUID= specification to appear in generated refind_linux.conf file + under some circumstances. + +0.7.6 (12/15/2013): +------------------- + +- Added support for multiple "default_selection" targets. These MUST be + comma-separated AND enclosed in quotes, as in: + default_selection "fred,ginger" + This example will launch "fred" by default if it's available; and if + it's not, rEFInd will attempt to launch "ginger" as the default. + +- Added support for time-sensitive "default_selection" setting. This token + may now have either one or three options. If one, it's interpreted as it + has been in the past, as setting a default that's independent of times. + If you follow this default by two times, however, those are interpreted + as the start and end times (in 24-hour format) for a default setting. For + instance, "default_selection foo 8:00 17:00" causes foo to be the default + from 8:00 (AM) to 17:00 (aka 5:00 PM). You can include multiple + "default_selection" lines to set different defaults for a variety of + times. If they're in conflict, the last one takes precedence. Note that + times are hardware clock's native value, which may be local time or UTC, + depending on your computer. + +- Added support for a blank-screen startup: Set "screensaver -1" and the + screen saver will be initialized when rEFInd starts. If you set a low + "timeout" value, the result will be a boot straight to the default OS + unless you hit a key soon after rEFInd starts. Once you hit a key, the + screensaver will be disabled. + +- Added --ownhfs {target} option to install.sh. This option causes rEFInd + to install to an HFS+ partition in a way that's more consistent with the + way the Mac's native boot loader is installed. Note that you should NOT + install to an already-bootable partition with this option, since it will + overwrite the existing boot loader, which would render OS X unbootable. + +0.7.5 (11/10/2013): +------------------- + +- Fixed bug that caused unbootable exFAT partitions to show up as + bootable on Macs with BIOS/CSM/legacy boot options enabled. + +- Fixed bug in install.sh that caused installs to the ESP on recent + versions of OS X to fail. + +- Fixed bug that caused rEFInd to hang on some Macs when multiple EFI + drivers were present. + +- Fixed bug that caused clear to default gray screen when launching OSes + with 'use_graphics_for' enabled, even when the rEFInd background is not + gray. Now rEFInd clears to the same background color used in its menu. + When launching OS X, though, the OS X boot loader will itself clear to + gray a second or so later; and when launching Linux, it will clear to + black a second or so later. + +0.7.4.1 (8/25/2013): +-------------------- + +- My initial 0.7.4 release broke legacy-boot ability on Macs, so I quickly + released this version using the original 0.7.4 filenames to fix the + problem. + +0.7.4 (8/25/2013): +------------------ + +- Fixed options passing to loader to include loader's filename as the first + option. This omission had no effect on most boot loaders, but caused + VMware's mboot64.efi to fail. + +- Added support for memtest86 as second-row option. Program must be + stored in EFI/tools, EFI/tools/memtest, EFI/tools/memtest86, EFI/memtest, + or EFI/memtest86; and must use the name memtest86.efi, memtest86_x64.efi, + memtest86x64.efi, or bootx64.efi (changing "x64" to "ia32" on IA-32 + systems). The memtest86 program is scanned for when the "showtools" + option includes the "memtest" or "memtest86" token, which it does by + default. + +- Added space to end of "Boot %s from %s" string; enables adding a space + to the end of the "default_selection" item (in quotes) to set a default + that matches a volume name that's identical to another one except for + extra characters at the end of the non-wanted volume's name. + +- Fixed bug that could cause rEFInd to hang when launching boot loaders + under some conditions. (Launching from Firewire drives on Macs is the + known case, but there may be others.) + +0.7.3 (8/7/2013): +----------------- + +- Fixed bug that caused missing media-type badges on BIOS-mode boot + loaders on Macs. + +- Fixed bug that caused failure when launching BIOS-mode OSes on Macs. + +0.7.2 (8/6/2013): +----------------- + +- Fixed bug that caused display glitches in the final entry on the first + row of icons if the second row of icons was empty. + +- Fixed bug that could cause incorrect scanning or even a rEFInd crash when + using volume specification in also_scan_dirs token. + +- Added protection against loading invalid drivers and other EFI programs. + (Some EFIs crash when attempting to load such drivers and programs.) + +- Added PreLoader.efi and shim-fedora.efi to default dont_scan_files list; + it's now "shim.efi, shim-fedora.efi, PreLoader.efi, TextMode.efi, + ebounce.efi, GraphicsConsole.efi, MokManager.efi, HashTool.efi, + HashTool-signed.efi". + +- Added icon for Funtoo Linux. + +- Fixed reading of volume badges from user-specified icons directory, which + was broken. + +- Fixed handling of /.VolumeBadge.icns (or /.VolumeBadge.png) files, which + was broken. + +0.7.1 (7/8/2013): +----------------- + +- Fixed build problem with recent development versions of EDK2. + +- Added scan for Boot Repair's backup of the Windows boot loader + (bkpbootmgfw.efi). If found, give separate entries for it and for + bootmgfw.efi, each with its own descriptive text label. + +- Fixed also_scan_dirs; used to have bug that caused it to ignore + volume specification, if present. + +- Fixed bug in driver cache that caused Btrfs driver to hang sometimes. + +0.7.0 (6/27/2013): +------------------ + +- Added Btrfs signature to rEFInd, so that it can identify the filesystem + type for volumes that lack labels. + +- Changed some critical filesystem driver pointers from 32-bit to 64-bit. + This *SHOULD* enable use of over-2TiB filesystems (for those filesystems + that support such large volumes). This capability is largely untested, + though. + +- Added a cache to the filesystem driver core, and therefore to all the + filesystem drivers. This cache greatly improves performance in + VirtualBox, and offers modest performance improvements on a few "real" + computers. The most dramatic improvement is on ext2/3fs under VirtualBox: + Loading a kernel and initrd used to take ~200 seconds on my system, but + now takes ~3 seconds! On most "real" hardware, the improvement is much + less dramatic -- an improvement of a second or less, presumably because + of cacheing within the EFI or on the hard disk itself. + +- Filter boot loaders based on a test of their validity; keeps out Linux + kernels without EFI stub loader code, loaders for the wrong architecture, + non-EFI loaders, etc. + +- New Btrfs driver, contributed by Samuel Liao based on GRUB 2.00 Btrfs + code. + +0.6.12 (6/18/2013): +------------------- + +- Changed the 64-bit EFI shell included in the CD-R and USB flash drive + images to a version 2 shell that should support the "bcfg" command. + +- Added support for PreBootloader to refind.spec's built-in installation + script. + +- Added support for the Linux Foundation's PreLoader to install.sh. It's + treated just like shim, including using the --shim option (or, now, + --preloader); but it searches for and copies HashTool.efi rather than + MokManager.efi, and filenames are adjusted appropriately. + +- Added code to determine Linux root filesystem from /etc/fstab file, if + it's on the same partition as the kernel and if the refind_linux.conf + file is not available. This enables rEFInd to boot Linux without any + rEFInd-specific configuration files on some (but not all) systems. + +0.6.11 (5/13/2013): +------------------- + +- New feature: rEFInd now ignores symbolic links to files on filesystems + that support them. This prevents the "vmlinuz" symbolic link that some + distributions create in the root directory from appearing in the loader + list. Note that this does NOT affect symbolic links to directories. + +- Added icons for Lubuntu and Kubuntu. + +- Improved the install.sh script so that it does a better job dealing with + directory names that contain spaces. + +- rEFInd now tries to guess the Linux distribution type based on the kernel + filename (Fedora and RHEL only) or the "ID" or "NAME" variables in + /etc/os-release on the kernel's partition. None of these is guaranteed to + work. A fallback of the Tux penguin icon remains in place in case rEFInd + can't find anything substantive enough for a guess. + +- Added "EFI\opensuse" to the locations searched for MOK utilities, since + OpenSUSE now uses that name. + +- Renamed "Reboot to Firmware User Interface" to "Reboot to Computer Setup + Utility" in menu. + +- Fixed bug in gptsync that caused it to hang if the disk had too few GPT + partitions to fill the MBR. + +0.6.10 (5/5/2013): +------------------ + +- Added support for "screensaver" token. If set to a positive integer, this + causes the screen to blank after the specified number of seconds of + inactivity. Pressing most keys (unfortunately NOT including Shift, Alt, + or Ctrl) will restore the display and restart the screen saver timeout. + +- Added icon for ChromeOS (os_chrome.icns in the icons subdirectory). + ChromeBooks reportedly boots using the fallback filename, but if a user + wants to install rEFInd on a ChromeBook, renaming the original EFI/BOOT + directory to EFI/chrome and then installing rEFInd in the fallback + filename will bring up this new icon for ChromeOS. + +- Added new option to reboot the computer into the firmware's user + interface. This option is active by default, or can be set via the + "firmware" option to the "showtools" token in refind.conf. It works + on only some computers, though; older computers lack this feature, and + when rEFInd is told to use this feature on such computers, the directive + is quietly ignored. + +- Upgraded LodePNG library from version 20121216 to 20130415 and + restructured rEFInd-specific modifications to simplify future upgrades. + +- Replaced hexadecimal error code with description if an error is + encountered when saving a screen shot. + +- Enable multiple screen shots: Rather than naming all screen shots + "screenshot.bmp", the name is now "screenshot_###.bmp", where "###" is a + sequence number, starting with "001". + +0.6.9 (4/25/2013): +------------------ + +- Modified default banner to include the new rEFInd icon, provided by Erik + Kemperman. + +- Worked around a suspected firmware bug that caused rEFInd 0.6.6 to 0.6.8 + to hang at startup on some systems (DUET and some Macs). + +- Modified rEFInd to search for gptsync under the names gptsync.efi and + gptsync_{arch}.efi, where {arch} is ia32 or x64. (Previous versions + searched only for gptsync.efi.) + +- Added gptsync program from rEFIt project, but with some changes to + improve flexibility and make it less likely that UEFI users will + accidentally trash their systems. + +- Changed timeout code so that the timeout continues if the keyboard is + disconnected. This can help in booting a headless server or a system with + a bluetooth or other keyboard that's not recognized by the EFI. + +0.6.8 (3/18/2013): +------------------ + +- Added workaround for presumed EFI bug that was causing "Invalid + Parameter" errors when scanning for boot loaders on some computers. + +- Added search for an EFI shell called shell.efi in the root directory + (previously this name was only accepted in EFI\tools). + +- Fixed bug in install.sh that caused it to fail on some systems (Fedora + 18, for instance) because of a problem identifying the ESP. + +- Fixed bug that caused icons named after boot loaders to not be used. + +0.6.7 (2/3/2013): +----------------- + +- Added a more explicit error message summarizing options when a launch of + a program results in a Secure Boot failure. + +- Changed MOK tool detection to scan all volumes, not just the rEFInd + home volume. This is desirable because the Linux Foundation's HashTool + can only scan its own volume, making it desirable to place copies of this + program on every volume that holds EFI boot loader binaries. + +- Added support for launching the Linux Foundation HashTool as a means of + managing MOKs (or MOK hashes, at any rate). + +- Fixed bug that caused rEFInd to present an entry for itself as a + Microsoft OS if it was launched as EFI/Microsoft/Boot/bootmgfw.efi. + +- Fixed bug that caused dont_scan_volumes option to be added to + also_scan_dirs list. + +- Fixed dont_scan_volumes so that it works with OS X boot loaders. + +- Fixed broken mixing of PNG and ICNS icons when using a user-specified + icons directory -- previously, an ICNS file in the default directory + would override a PNG file in the user-specified directory. + +0.6.6 (1/26/2013): +------------------ + +- rEFInd now ignores the fallback boot loader (EFI/BOOT/bootx64.efi or + EFI/BOOT/bootia32.efi) if it's identical to another boot loader on + the same volume. This is intended to help unclutter the display on + systems that run Windows, since Windows tends to duplicate its own boot + loader under the fallback name. + +- Added new "font" token to refind.conf, which enables specifying a font in + the form of a PNG file. This file must contain monospace glyphs for the + 95 characters from ASCII 32 to 126 (space through tilde), inclusive, plus + a glyph to be displayed for characters outside of this range, for a total + of 96 glyphs. + +- Replaced the old font (inherited from rEFInd) with an anti-aliased + version of Luxi Mono Regular 14 point. + +- Fixed bug that caused rEFInd to ignore manual boot stanzas in files + included via the "include" token in refind.conf. + +- Fixed bug that caused ASSERT error on some systems (and conceivably a + crash on startup on some) when default_selection line in refind.conf was + commented out or empty. + +- Fixed bug that caused "Binary is whitelisted" message to persist on + screen after loading MOK-signed drivers in Secure Boot mode. + +- Fixed bug that caused rEFInd to ignore the "icon" token in refind.conf + manual boot stanzas. + +- Fixed bug in install.sh that caused the script to fail to update + drivers when rEFInd was installed in EFI/BOOT/. + +0.6.5 (1/16/2013): +------------------ + +- Improved text color support: rEFInd now uses black text against light + backgrounds and white text against dark backgrounds. + +- Added support for PNGs as banners, icons, and selectors. + +- Added icon for ALT Linux. + +- Added "safemode" option to "hideui" token, to hide option to boot into + safe mode for OS X ("-v -x" option to boot.efi). + +- Added icon for Haiku (os_haiku.icns). + +- Enable transparency of icons & main-menu text when the banner icon is + sized to cover these areas. + +- Fixed bug that could cause rEFInd to crash if fed a banner image that's + too big. Note that "too big" can be substantially smaller than the screen + resolution! + +0.6.4 (1/8/2013): +----------------- + +- Revised install.sh to copy ext2fs driver, rather than ext4fs driver, for + ext2/3 filesystems. This can help keep non-functional entries from links + from /vmlinuz to /boot/vmlinuz out of the menu if the system uses ext4fs + on root and ext2fs or ext3fs on /boot. + +- Fixed a couple of memory management bugs that cause rEFInd to hang at + startup on some systems. + +0.6.3 (1/6/2013): +----------------- + +- Added the ability to specify a volume name or number in the + "dont_scan_dirs" and "also_scan_dirs" tokens. + +- Fixed a bug that caused removable EFI media to not appear in scan lists + if rEFInd was installed as EFI/BOOT/boot{arch}.efi on a hard disk. + +- Modified ISO-9660 driver so that it can handle discs with other than + 2048-byte sectors. This makes it useful for reading "hybrid ISO" images + burned to USB flash disks. + +- New mvrefind.sh script to move a rEFInd installation between a standard + location (typically EFI/refind) and one of the fallback locations + (EFI/BOOT or EFI/Microsoft/Boot). It can also do more exotic locations. + +- The install.sh script now installs to EFI/BOOT/bootx64.efi or + EFI/Microsoft/Boot/bootmgfw.efi if it's run in BIOS mode. This is + intended to give some chance of producing a bootable installation should + a user accidentally install Linux in EFI mode and then install rEFInd + from that installation. + +- The install.sh script now tries to find an existing rEFInd installation + and upgrade it, even if it's in EFI/BOOT or EFI/Microsoft/Boot rather + than in EFI/refind. + +- New "--yes" option to install.sh to help with unattended or automated + installations (as from an RPM or Debian package). + +0.6.2 (12/30/2012): +------------------- + +- Inclusion of a sample refind.spec file for the benefit of RPM + distribution maintainers who might want to include rEFInd. It's a bit + rough, but it gets you a good chunk of the way there.... + +- The EFI filesystem drivers can now be built with the GNU-EFI toolkit as + well as with the TianoCore EDK2. See the BUILDING.txt file for details on + how to build them with either toolkit. This improvement doesn't affect + users of my binary packages, but it should make it easier for Linux + distributions to adopt rEFInd into their package systems. + +- Tweaked refind.inf file for better build results using "native" TianoCore + EDK2 build process (vs. the Makefile-based build process that I use under + Linux). This won't affect those who use my binary builds or build under + Linux with the "make" command. + +- Fixed bug that prevented Secure Boot launches from working when rEFInd + was built with GNU-EFI rather than the TianoCore EDK2. + +- Substantial reworking of Secure Boot code, based on James Bottomley's + PreLoader program. This new code eliminates the limitation of launching + just one driver in Secure Boot mode and is likely to be more reliable + with future or obscure boot loaders. It should also work with non-x86-64 + systems, although this relies on a platform-specific shim program, which + to date exists only for x86-64. The basic features are the same as before + -- rEFInd relies on shim for authentication functions and will launch + programs that are signed by Secure Boot keys, shim keys, or MOKs. + +- Altered default for "textmode" option (when it's commented out) to not + adjust the text mode at all. (Prior versions set it to mode 0 by + default.) + +0.6.1 (12/21/2012): +------------------- + +- Added "--root" option to install.sh, to enable installation of rEFInd + to something other than the currently-running OS. This is intended for + use on emergency discs. + +- Thanks to Stefan Agner, the ext4fs driver now supports the "meta_bg" + filesystem feature, which distributes metadata throughout the disk. This + feature isn't used by default, but can be set at filesystem creation time + by passing the "-O meta_bg,^resize_inode" option to mke2fs. (Using + "^resize_inode" is necessary because meta_bg is incompatible with + resize_inode, which IS used by default.) This feature can be used on + ext3fs and ext2fs as well as on ext4fs, so the ext4fs driver can now + handle some ext3fs and ext2fs partitions that the ext2fs driver can't + handle. + +- Fixed some screen resolution-setting bugs. + +- Added the "words" that make up a filesystem's label (delimited by spaces, + dashes, or underscores) to the list of bases used to search for OS icons. + For instance, if the filesystem's label is "Arch", rEFInd searches for + os_Arch.icns; if it's "Fedora 17", it searches for os_Fedora.icns and + os_17.icns; and if it's "NEW_GENTOO", it searches for os_NEW.icns and + os_GENTOO.icns. + +- Refined hints displays to be more context-sensitive, particularly in text + mode. + +- Instead of displaying a blank filesystem label when a filesystem has + none, rEFInd now displays the size and/or type of the filesystem, as in + "boot EFI\foo\bar.efi from 200 MiB ext3 volume" rather than "boot + EFI\foo\bar.efi from". + +- Fixed a bug that caused the screen to clear after displaying an error + message but before displaying the "Hit any key to continue" message when + a boot loader launch failed. + +0.6.0 (12/16/2012): +------------------- + +- Fixed a memory allocation bug that could cause a program crash when + specifying certain values with the "also_scan_dirs", "dont_scan_volumes", + "dont_scan_dirs", "dont_scan_files", and "scan_driver_dirs" refind.conf + options. + +- Modified Linux kernel initrd-finding code so that if an initrd is + specified in refind_linux.conf, rEFInd will not add any initrd it finds. + This enables an override of the default initrd, and is likely to be + particularly helpful to Arch Linux users. + +- Added ext4fs driver! + +- Made "boot" the default value for "also_scan_dirs". + +- Added identifying screen header to line editor. + +- Fixed bug that caused rEFInd's display to be mis-sized upon return + from a program that set the resolution itself. + +- Adjusted "resolution" refind.conf parameter so that it can accept EITHER + a resolution as width and height OR a single digit as a UEFI mode number + (which is system-specific). This is done because some systems present the + same mode twice in their mode lists, perhaps varying in refresh rate, + monitor output, or some other salient characteristics; specifying the + mode number enables selecting the higher-numbered mode, whereas using + horizontal and vertical resolution values selects the lowest-numbered + mode. + +- Added "textmode" refind.conf parameter to set the text mode used in + text-only displays, and for the line editor and boot-time handoff + display even in graphics mode. + +- Fixed bug that caused tools (shell, etc.) to launch when they were + highlighted and F2 or Insert was pressed. + +- Added "editor" option to the "hideui" token in refind.conf, which + disables the boot options editor. + +- Added hints text to rEFInd main menu and sub-menus. This can be disabled + by setting the new "hints" option to the "hideui" token in refind.conf. + +- Added "boot with minimal options" entry to refind_linux.conf file + generated by install.sh. This entry boots without the options extracted + from the /etc/default/grub file. + +- Added keys subdirectory to main distribution, to hold public Secure + Boot/shim keys from known sources. + +- Changed install.sh --drivers option to --alldrivers, added new + --nodrivers option, and made the default on Linux to install the one + driver that's used on /boot (or the root filesystem if /boot isn't a + separate partition). Of course, this won't install a non-existent driver, + and it also won't work properly if run from an emergency disk unless you + mount a separate /boot partition at that location. + +- Fixed bug in install.sh that prevented creation of refind_linux.conf file + on Linux systems. + +0.5.1.1 (12/12/2012): +--------------------- + +- Fixed bug in install.sh that prevented it from working on OS X. + +0.5.1 (12/11/2012): +------------------- + +- Added support for "0" options to "textonly" and "scan_all_linux_kernels" + to reverse the usual meaning of these tokens. This is useful for + including these options in a secondary configuration file called with the + new "include" token to override a setting set in the main file. + +- Added "include" token for refind.conf, to enable including a secondary + configuration file from a primary one. + +- Modified install.sh so that it creates a simple refind_linux.conf file in + /boot, if that file doesn't already exist and if install.sh is run from + Linux. If that directory happens to be on a FAT, HFS+, ext2fs, ext3fs, or + ReiserFS volume, and if the necessary drivers are installed, the result + is that rEFInd will detect the Linux installation with no further + configuration on many systems. (Some may still require tweaking of kernel + options, though; for instance, adding "dolvm" on Gentoo systems that use + LVM.) + +- Added --shim and --localkeys options to install.sh to help simplify setup + on systems with Secure Boot active. + +- Fixed (maybe) bug that caused resolution options to not be displayed on + recent Macs with GOP graphics when specifying an invalid resolution in + refind.conf. + +- Fixed bug that caused some programs (EFI shells, in particular) to hang + when launching on some systems (DUET, in particular). + +- Implemented a fix to enable ELILO to launch with Secure Boot active. + This fix might help with some other boot loaders in Secure Boot mode, + too, but I don't know of any specifics. + +0.5.0 (12/6/2012): +------------------ + +- Added the ability to include quote marks ('"') in refind.conf and + refind_linux.conf tokens by doubling them up, as in: + "ro root=/dev/sda4 some_value=""this is it""" + This example results in the following string being passed as an + option: + ro root=/dev/sda4 some_value="this is it" + +- Changed refind.conf-sample to uncomment the scan_all_linux_kernels + option by default. If this option is deleted or commented out, the + program default remains to not scan all Linux kernels; but with + increasing numbers of distributions shipping with kernels that include + EFI stub loader support, setting the configuration file default to scan + for them makes sense. + +- Modified the "resolution" token so that it affects text mode as well + as graphics mode. On my systems, though, the actual text area is still + restricted to an 80x25 area. (This seems to be a firmware limitation; my + EFI shells are also so limited.) + +- Fixed a bug that caused the options line editor to blank out lines that + were not actually edited. + +- Added support for using Matthew Garrett's Shim program and its Machine + Owner Keys (MOKs) to extend Secure Boot capabilities. If rEFInd is + launched from Shim on a computer with Secure Boot active, rEFInd will + launch programs signed with either a standard UEFI Secure Boot key or a + MOK. For the moment, this feature works only on x86-64 systems. + +- Added new "dont_scan_files" (aka "don't_scan_files") token for + refind.conf. The effect is similar to dont_scan_dirs, but it creates a + blacklist of filenames within directories rather than directory names. + I'm initially using it to place shim.efi and MokManager.efi in the + blacklist to keep these programs out of the OS list. (MokManager.efi is + scanned separately as a tool; see below.) I've moved checks for + ebounce.efi, GraphicsConsole.efi, and TextMode.efi to this list. (These + three had previously been blacklisted by hard-coding in ScanLoaderDir().) + +- Added the directory from which rEFInd launched to dont_scan_dirs. This + works around a bug in which rEFInd would show itself as a bogus Windows + entry if it's installed as EFI/Microsoft/boot/bootmgfw.efi. + +- Added support for launching MokManager.efi for managing the Machine Owner + Keys (MOKs) maintained by the shim boot loader developed by Fedora and + SUSE. This program is scanned and presented as a second-row tool. + +- Added support for Apple's Recovery HD partition: If it's detected, a new + icon appears on the second row. This icon can be removed by explicitly + setting the "showtools" option in refind.conf and excluding the + "apple_recovery" option from that line. + +- Fixed bug that caused text-mode ("textonly" refind.conf option enabled) + menu entries to be right-aligned rather than left-aligned when rEFInd was + compiled with the TianoCore EDK2. + +- Added "--usedefault {devicename}" and "--drivers" options to the + install.sh script and changed the "esp" option to "--esp". + +0.4.7 (11/6/2012): +------------------ + +- Added an icon for gummiboot. + +- Added a boot option editor: Pressing the Insert or F2 key from a boot + tag's options menu opens a simple text-mode line editor on which the boot + options may be edited for a one-time boot with altered options. + +- Modified the "scan_delay" feature to delay and then perform a re-scan, + which may work better than the first attempt at this feature (which I'm + told isn't working as planned). + +- Modified rEFInd to add a space after the command-line options only when + launching Mac OS X. On some early Macs, the extra space (which had been + present by default, as a carryover from rEFIt) causes problems when + booting Linux kernels from FAT partitions. + +0.4.6 (10/6/2012): +------------------ + +- Fixed some minor memory management issues. + +- Added new "scan_delay" feature to impose a delay before scanning + for disks. + +- Changed default "scanfor" option from internal-external-optical to either + internal-external-optical-manual (for non-Macs) or + internal-hdbios-external-biosexternal-optical-cd-manual (for Macs). I've + done this for two reasons: + - Many Mac users have been confused by the fact that rEFInd needs + reconfiguration to detect Windows (or Linux installed in BIOS mode), + since rEFIt scans BIOS devices by default. Adding the BIOS options as + default for them should help them. + - Adding the "manual" option enables users to simply add manual boot + stanzas and have them work, which is more intuitive. Adding the + "manual" option will have no effect unless manual stanzas are created + or uncommented, so this part of the change won't affect users' working + default configurations. + +- Added new legacy (BIOS) boot support for UEFI-based PCs. + +0.4.5 (8/12/2012): +------------------ + +- Fixed bug that caused a failure to boot BIOS-based OSes on Macs. + +- Fixed bug in install.sh that caused it to fail to detect rEFItBlesser. + +0.4.4 (6/23/2012): +------------------ + +- Fixed bug that caused filesystem labels to be corrupted by rEFInd on + 32-bit systems. + +- Fixed bug that caused filesystem labels to be truncated in the drivers + on 32-bit systems. + +- Fixed bug in use_graphics_for option parsing that caused most options + to set graphics mode for OS X and/or Linux but not other boot + loaders/OSes. + +- Tweaked install script to better isolate the ESP under OS X. + +0.4.3 (6/21/2012): +------------------ + +- rEFInd now supports compilation using the TianoCore UDK2010/EDK2 + development kit in addition to GNU-EFI. + +- Added new "use_graphics_for" option to control which OSes to boot in + graphics mode. (This effect lasts for a fraction of a second on most + systems, since the boot loader that rEFInd launches is likely to set + graphics or text mode itself.) + +- Graphics-mode booting now clears the screen to the current rEFInd + background color (rather than black) and does NOT display boot messages. + The intent is for a smoother transition when booting OS X, or perhaps + other OSes that don't display boot loader messages. In practice, this + effect will be tiny for many OSes, since the boot loader generally clears + the screen within a fraction of a second of being launched; but the + "flicker" of a rEFInd message in that time can sometimes be distracting. + +- Filesystem drivers now work on EFI 1.x systems, such as Macs. + +- Removed "linux.conf" as a valid alternative name for "refind_linux.conf" + for holding Linux kernel options. The kernel developers plan to use + "linux.conf" themselves. + +0.4.2 (6/3/2012): +----------------- + +- Added a message to install.sh when run on Macs to remind users to update + the "scanfor" line in refind.conf if they need to boot BIOS-based OSes + via rEFInd. + +- Modified install.sh script to be smarter about running efibootmgr on + Linux. It now uses the whole path to the rEFInd binary as a key to + determine whether an existing entry exists, rather than just the filename + portion. If an entry exists and is the first entry in the boot order, the + script does nothing to the NVRAM entries. If such an entry exists but is + not the default, the script deletes that entry and creates a new one + (implicitly making it the first in the boot order). If such an entry does + not exist, the script creates a new one (again, making it the first in + the boot order). + +- Added "dont_scan_dirs" configuration file option, which adds directories + to a "blacklist" of directories that are NOT scanned for boot loaders. + +0.4.1 (5/25/2012): +------------------ + +- Added "scanning for new boot loaders" message to the re-scan function + (hitting Esc at the main menu). It usually flashes up too quickly to + be of importance, but if the scan function takes a while because of + access to a CD that must be spun up, it should make it clear that the + system hasn't hung. + +- Modified install.sh script to detect rEFItBlesser on Macs, and if + present, to ask the user if it should be removed. + +- Cleaned up the Make.common file for the filesystem drivers. + +- Changed HFS+ driver to return volume label of "HFS+ volume" rather than + an empty label. (The driver doesn't currently read the real volume + label.) + +- Fixed bug that could cause rEFInd to appear in its own menu after + running a shell and then re-scanning for boot loaders. + +0.4.0 (5/20/2012): +------------------ + +- Inclusion of drivers for ISO-9660, HFS+, ReiserFS, and ext2fs. Most of + these drivers originated with rEFIt, although the HFS+ driver seems to + have come from Oracle's VirtualBox, with some files from Apple. I hadn't + included these drivers previously because the build process proved + challenging. As it is, they don't work on my Mac Mini, I suspect because + the build process with the UDK2010 development kit may not work with the + EFI 1.x that Apple uses. + +- Addition of support for drivers in the "drivers_{arch}" subdirectory of + the main rEFInd binary directory (e.g., "drivers_x64" or "drivers_ia32"). + Drivers may continue to be placed in the "drivers" subdirectory. + +- Added new feature to eject CDs (and other removable media): Press F12 to + eject all such media. This function works only on some Macs, though (it + relies on an Apple-specific EFI extension, and this extension isn't even + implemented on all Macs, much less on UEFI-based PCs). + +- Fixed a problem that could cause GRUB 2 to fail to read its configuration + file when launched from rEFInd. + +0.3.5 (5/15/2012): +------------------ + +- Removed the GRUB 2 detection "reciped" added with 0.3.2, since I've + received reports that it's not working as intended. + +- Added re-scan feature: Press the Esc key to have rEFInd re-read its + configuration file, tell the EFI to scan for new filesystems, and re-scan + those filesystems for boot loaders. The main purpose is to enable + scanning a new removable medium that you insert after launching rEFInd; + however, it can also be used to immediately implement changes to the + configuration file or new drivers you load from an EFI shell. + +- Fixed a bug that could cause the scroll-right arrow to be replaced by the + scroll-left arrow under some circumstances. + +0.3.4 (5/9/2012): +----------------- + +- Added new configuration file option: "icons_dir", which sets the name + of the subdirectory in which icons are found. See the documentation or + sample configuration file for a full description. + +- Modified Makefile to generate rEFInd binary that includes architecture + code -- refind_ia32.efi or refind_x64.efi, rather than the generic + refind.efi. This is done mainly to help the install.sh script. The + program can be named anything you like on the disk. (The generic name + refind.efi is used on unknown architectures.) + +- Improved install.sh script: Fixed bug on OS X 10.7 and enable it to be + used after building from source code (or via new "make install" Makefile + target). + +- Improved screen redraws to produce less flicker when moving among the + second-row tags or to the last tag on the first row. + +0.3.3 (5/6/2012): +----------------- + +- Improved menu navigation: + - In graphics mode, left & right arrow keys move left & right, while up & + down arrows move between rows. + - Page Up and Page Down now move through chunks of visible tags (in both + text & graphics modes), jumping from one row to another only when at + the edge of the row. In text mode, the "rows" are broken down as in + graphics mode, but they aren't visibly distinguished on the screen. + +- Improved text-mode use: rEFInd now displays the proper number of entries + when first started in text mode and scrolling is done sensibly when too + many entries exist to fit on the screen. + +0.3.2 (5/4/2012): +----------------- + +- Added the install.sh script to install rEFInd on Linux and Mac OS X + systems. This script must be run as root (or via sudo). It requires + no options, but on Mac OS X, passing it the "esp" option causes it + to install rEFInd on the computer's ESP rather than the default of the + currently OS X boot partition. (Under Linux, the default is to install to + the ESP.) Note that there may be some unusual cases in which this script + will fail to work. + +- Does a better job of clearing the screen when launching OSes in text + mode. + +- Added detection "recipe" for GRUB 2's BIOS Boot Partition. + +- Fixed bogus detection of ESPs created by Linux's mkdosfs utility or + Windows as bootable partitions when "scanfor" includes BIOS scanning + options. + + +0.3.1 (4/27/2012): +------------------ + +- Fixed bug that caused spurious "Unsupported while scanning the root + directory" messages under some conitions on Macs. + +- Modified loader scanning code to sort boot loader entries within a + directory by modification time, so that the most recently-modified loader + is first among those in a given directory. Thus, if you specify a + directory name (or volume name, for loaders stored in the root directory + of a volume) as the default_selection, the most recent of those loaders + will be the default. This is intended to help with Linux kernel + maintenance when using the EFI stub loader; set up this way, the most + recent kernel copied to your kernel directory will be the default, + obviating the need to adjust the refind.conf file when adding a new + kernel. If you want to change the default among those in the default + directory, you can use "touch" to adjust the modification timestamp. + +- Tweaked code to find loader-specific .icns file so that it finds files + for Linux kernels without .efi extensions. In this case, files should be + named the same as the kernels they match, but with .icns extensions. For + instance, bzImage-3.3.2 should have an icon called bzImage-3.3.2.icns. + (The old code would have looked for an icon called bzImage-3.3.icns.) + +- Eliminated bogus OS loader tags for filenames that end in ".icns" when + the scan_all_linux_kernels option is set. + +0.3.0 (4/22/2012): +------------------ + +- I'm officially upgrading this project's status from "alpha" to "beta" and + giving it a bump from 0.2.x to 0.3.0. This doesn't reflect any major + milestone with this version; rather, it reflects my sense that rEFInd has + been "out there" for a while, and although I've gotten bug reports, + they've been minor and/or have been fixed. The program still has known + bugs, but my impression is that it is, overall, usable by ordinary users. + +- Added "resolution" option to refind.conf, which enables setting the video + resolution. To use it, pass two numeric values, as in "resolution 1024 + 768" to use a 1024x768 video mode. Note that not all modes are supported. + If you specify a non-supported video mode on a UEFI system, a message + appears listing the supported video modes and you must then press a key + to continue, using the default video mode (usually 800x600). + Unfortunately, I don't know the calls to get a list of supported video + modes on older EFI 1.x systems (including Macs), so on Macs setting an + incorrect video mode silently fails (you keep using the default mode). + This makes changing your video mode a hit-or-miss proposition on Macs. + CAUTION: It's possible to set a legal video mode that your monitor can't + handle, in which case you'll get a blank display until you boot an OS + that resets the video mode. + +- Fixed (maybe) a bug that caused rEFInd to crash when returning from an + EFI shell or other programs on Macs, particularly when rEFInd used + graphical mode. I'm not 100% sure this bug is squashed because I still + don't understand the cause and I only have one Mac for testing. See + comments in the ReinitRefitLib() function in refit/lib.c for more + details. + +- Added new refind.conf option: scan_all_linux_kernels, which causes Linux + kernels that lack ".efi" extensions to be included in scans for EFI boot + loaders. This may help integration with Linux distributions that don't + give their kernels such names by default. Beware, though: It can detect + unwanted files, such as older non-stub-loader kernels or .icns files used + to give kernels with .efi extensions custom icons. + +- Improved EFI boot loader detection on boards with Gigabyte's Hybrid EFI, + and perhaps other EFIs with a buggy StriCmp() function. Files with both + ".efi" and ".EFI" extensions should now be detected as boot loaders. + +- Fixed a bug that caused rEFInd to fail to scan for drivers if the + filesystem driver didn't set a volume name (that is, if the relevant + field was set to NULL rather than even an empty string). In such + situations, rEFInd now reports the volume name as "Unknown". + +0.2.7 (4/19/2012): +------------------ + +- After much trial and tribulation, I've overcome a GNU-EFI limitation and + enabled rEFInd to load EFI drivers. This feature was present in the + original build of rEFIt but was removed in the versions that could + compile under Linux, but now it's back -- and still being compiled under + Linux! To use it, you should place your drivers in a convenient directory + on the ESP (or whatever partition you use to launch rEFInd) and add a + "scan_driver_dirs" entry to refind.conf to tell rEFInd where to look. (As + always, you should specify the driver directory relative to the root of + the filesystem.) Note that you can't launch drivers from another + filesystem; they must be on the same volume that holds rEFInd. Those who + compile from source code should note that implementing this feature + necessitated using a more recent version of the GNU-EFI library. I'm + currently using version 3.0p, and version 3.0i does NOT work. I don't + know where the change occurred, but you may need to upgrade your GNU-EFI + installation. + - Fixed bug that caused rEFInd to show up in its own menu sometimes. - Added new refind.conf token: also_scan_dirs. When scanning volumes for