X-Git-Url: https://code.delx.au/refind/blobdiff_plain/c88af30fa999cda624f7e9b77b3108e139457dd3..39f21d099c9fb310bae28b54dc68d266ed610ed7:/NEWS.txt diff --git a/NEWS.txt b/NEWS.txt index 5c89c5e..c5ce404 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -1,3 +1,374 @@ +0.6.3 (?/?/2013): +----------------- + +- Added the ability to specify a volume name or number in the + "dont_scan_dirs" token. + +- 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) or 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): ------------------