]> code.delx.au - refind/blobdiff - NEWS.txt
New ability to specify volume labels in "dont_scan_dirs" token to
[refind] / NEWS.txt
index 4a91f8cb9942deca55ff022fc69c164cbf1153f6..c5ce4048463fa7281c6c7b50e2166c1d42f11af1 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -1,4 +1,455 @@
-0.3.3 (?/?/2012):
+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):
+------------------
+
+- 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:
@@ -9,9 +460,9 @@
     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: Now displays the proper number of entries when
-  first started and scrolling is done sensibly when too many entries exist
-  to fit 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):
 -----------------