X-Git-Url: https://code.delx.au/refind/blobdiff_plain/ec097428f9fb581bb0842bb840b5713e176dd0f4..98fc627eb1821561982571ea1d734d148d15d4a0:/NEWS.txt diff --git a/NEWS.txt b/NEWS.txt index 534c400..ee7d361 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -1,6 +1,543 @@ -0.6.1 (12/??/2012): +0.7.9 (?/??/2014): +------------------ + +- Fixed mistaken identification of the MOK utility as the "MOK utility + utility." + +- Added detection of German-language FAT (non-)boot sector created by + iPartition to keep it out of the Mac boot menu. + +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.