]> code.delx.au - refind/blobdiff - NEWS.txt
Version 0.6.12 release.
[refind] / NEWS.txt
index 30b57fe0048e1d13192cca2e6a9cdcc3c1dadf08..1b9a439832b4f77bb6d44e094fe76f675f3eeda6 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -1,4 +1,521 @@
-0.4.4 (6/??/2012):
+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