]> code.delx.au - refind/blob - NEWS.txt
Version 0.8.7 release.
[refind] / NEWS.txt
1 0.8.7 (3/1/2015):
2 -----------------
3
4 - Fixed install.sh bug that caused inappropriate installation under the
5 name bootx64.efi (or bootia32.efi) under Linux, with a failure to update
6 the boot entries in NVRAM, has been fixed.
7
8 - Added identification of XFS as filesystem type in volume descriptions.
9
10 - More fixes to filesystem type detection code. Previous version sometimes
11 identified FAT or NTFS (or anything with a boot loader) as a whole-disk
12 device rather than the correct filesystem type.
13
14 - Added protections to the code to reduce the risk of crashes that might
15 occur when dereferencing NULL pointers in various situations.
16
17 - I'm deprecating the use of filesystem numbers (as in "fs0:") because
18 they're unreliable -- filesystem numbers can change between boots and
19 might not be the same as those used in an EFI shell or other program.
20 Sooner or later I'll remove code supporting this feature. In the
21 meantime, if it doesn't work for you, please switch to using filesystem
22 labels, partition labels, or partition GUIDs.
23
24 - Added detection of FreeBSD's BIOS-mode GPT boot loader. Previously,
25 rEFInd could detect FreeBSD's BIOS-mode MBR boot loader, which gave
26 FreeBSD an appropriate icon on Macs; but the BIOS-mode GPT boot loader
27 code is different, so some recent FreeBSD installations showed up with
28 generic grey diamond icons. This change creates FreeBSD icons instead.
29
30 - Added "Secure Boot [active|inactive]" notice to "about" menu for x86
31 (32-bit) systems, since there are now a few 32-bit UEFI systems that
32 support Secure Boot. (AFAIK, these are mostly tablets and convertibles
33 such as the ASUS T100.)
34
35 - Added KeyTool.efi and KeyTool-signed.efi to list of MOK managers. KeyTool
36 is the "super-deluxe" Secure Boot key and hash manager provided as part
37 of the efitools package.
38
39 - Fixed more instances of "invalid parameter" errors on some EFIs.
40
41 - Improved Secure Boot detection in install.sh.
42
43 - install.sh should no longer complain when copying Shim or MokManager over
44 itself.
45
46 0.8.6 (2/8/2015):
47 -----------------
48
49 - Removed special case of ignoring an HFS+ name of "HFS+ volume", since the
50 old rEFInd HFS+ driver that produced this name for all HFS+ volumes has
51 long since been updated to deliver a real name.
52
53 - Addition of new Windows 8 OS icon. On Macs and for BIOS/legacy boots, the
54 new icon is now used for Windows Vista, 7, and 8, while the old one is
55 used for earlier versions of Windows. For EFI-mode boots, the new icon is
56 used universally.
57
58 - If the NTFS driver is loaded, rEFInd now scans NTFS volumes on Macs for
59 the presence of Windows boot files, and removes any NTFS volume that
60 lacks such files from the BIOS/legacy boot list. This should help
61 unclutter the display on Macs that contain NTFS data partitions.
62
63 - Fixed bug that caused misidentification of both whole disks and NTFS
64 volumes as being FAT. (This bug affected the identification of devices
65 and locations in the rEFInd menu, not actual access to devices.)
66
67 - Code refactoring to clear out legacy-boot functions from the
68 ever-expanding refind/main.c file.
69
70 - Added new "badges" option to the "hideui" token in refind.conf. This
71 option hides the device-type badges associated with the OS boot options.
72
73 - Reverted rEFIt commit r472, introduced in rEFInd 0.8.5 to support more
74 BMP images because I've received bug reports that it's causing existing
75 selection images to fail to load.
76
77 - Fixed install.sh bug that caused misidentification of installation
78 directory under OS X if an already-mounted ESP has spaces in its path.
79
80 - Fixed Mac-specific install.sh bug that could cause misidentification of
81 the ESP on disks with partition numbers of 10 or above.
82
83
84 0.8.5 (2/1/2015):
85 -----------------
86
87 - Added NTFS EFI filesystem driver.
88
89 - Minor improvements to filesystem driver framework code.
90
91 - Changes to
92
93 - Fixed bug in Btrfs driver's address reference.
94
95 - Improved install.sh to make it smarter about figuring out where to
96 install on Macs. Specifically, this version now upgrades existing
97 installations, if found (as it always has under Linux), rather than
98 blindly install to EFI/BOOT; it installs to EFI/refind if not existing
99 installation is found; it installs using the --shortform option to bless,
100 which seems to eliminate the 30-second delay problem; and it can handle
101 an HFS+ ESP, which it treats as a separate HFS+ volume (as if the user
102 had used --ownhfs). These changes do not affect behavior under Linux.
103
104 - Added missing check of architecture type for several tools.
105
106 - Applied rEFIt commit r472, which adds support for BMP images with negative
107 height fields, indicating that the image is NOT vertically flipped. This
108 commit and r467 were not incorporated in the original rEFInd because I
109 forked it from a Debian rEFIt package that had been patched to build
110 under GNU-EFI, and was apparently based on a slightly earlier version.
111
112 - Applied rEFIt commit r467, which improves Mac handling of legacy boots
113 from other than the first hard disk.
114
115
116 0.8.4 (12/8/2014):
117 ------------------
118
119 - Tweaked default for dont_scan_volumes: Removed "Recovery HD". This change
120 better suits the needs of OS X 10.10 ("Yosemite") installations, but may
121 result in some stray Recovery HD entries on some Macs.
122
123 - Updated icons for Fedora and Ubuntu and added an icon for Xubuntu.
124
125 - Added new configuration option, "enable_and_lock_vmx", which sets an
126 Intel CPU feature that's required for some types of virtualization to
127 work. Most EFIs enable setting this feature in their own setup utilities,
128 but some (such as most Macs) don't.
129
130 - If rEFInd can't locate an icons directory (either the default or one
131 specified by the icons_dir token), the program switches to text-only
132 mode.
133
134 - If a loader contains the string "grub" and no other clue to the loader's
135 OS association exists, search for os_grub.{png|icns} (which is not
136 provided with rEFInd) or os_linux.{png|icns}. (Previous versions provided
137 a generic loader icon for GRUB.)
138
139 - Fixed bug that caused dont_scan_files to not work with special-case
140 boot loaders (for OS X and Windows) when specifying the complete path to
141 the loader (e.g., EFI/Microsoft/Boot/bootmgfw.efi).
142
143 - Added support for the iPXE network boot tool (see BUILDING.txt for
144 building and basic use instructions).
145
146 0.8.3 (7/6/2014):
147 -----------------
148
149 - Added new feature: Setting "timeout = -1" in refind.conf causes rEFInd to
150 immediately boot the default option UNLESS a keypress is in the buffer
151 when rEFInd launches. In that case, if the keypress corresponds to a
152 shortcut key, the associated boot loader is launched; or if not, the menu
153 is displayed.
154
155 - Added new icons for Clover boot loader and for Mythbuntu Linux
156 distribution.
157
158 - rEFInd now displays the partition's label, when one is available, when
159 offering a BIOS-mode boot option for a partition with no filesystem
160 driver. This works only on Macs doing BIOS-mode booting.
161
162 - Removed GPLv2 code from the FSW core files. This was done because the
163 Btrfs driver is derived from the GRUB Btrfs driver, which is licensed
164 under the GPLv3. Ironically, the GPLv2 and GPLv3 are incompatible
165 licenses, so ensuring that the Btrfs driver doesn't rely on GPLv2 code
166 was legally necessary. In most cases, I reverted to the original rEFIt
167 code, although I kept my own cache code; since I wrote it, I can
168 change its license to a BSD license.
169
170 - Fixed bug that caused rEFInd to unload drivers immediately after loading
171 them. This didn't affect rEFInd's own drivers because they didn't include
172 the unload hooks, but it did affect some other drivers.
173
174 - Changed default scan_all_linux_kernels setting from "false" to "true",
175 and commented the option out in refind.conf-sample. This should not
176 affect most people, since refind.conf-sample had this option commented
177 out, and most rEFInd users either use it that way or don't have Linux
178 kernels installed at all. I've made this change because I want rEFInd to
179 "do the right thing" by default in as many cases as possible. For a while
180 now, rEFInd has been excluding non-bootable files from its menu, and most
181 kernels "in the wild" now include the EFI stub. Thus, enabling this
182 support by default seems worthwhile. If you prefer to not scan Linux
183 kernels by default, simply uncomment the "scan_all_linux_kernels" line
184 and ensure it's set to "false".
185
186 0.8.2.1 (6/8/2014):
187 -------------------
188
189 - Removed stray bit of debugging code that caused a prompt to press a
190 key to appear at rEFInd startup.
191
192 0.8.2 (6/8/2014):
193 -----------------
194
195 - Changed behavior when default_selection is not set: It now boots the
196 previously-booted loader, assuming it's still available; if not, rEFInd
197 boots the first loader (as it does now). Behavior is unchanged if
198 default_selection is set. Note that this behavior depends on the ability
199 of rEFInd to store an EFI variable in NVRAM. It therefore fails on
200 systems with flaky NVRAM storage. You can view the previously-booted
201 loader in the
202 /sys/firmware/efi/efivars/PreviousBoot-36d08fa7-cf0b-42f5-8f14-68df73ed3740
203 variable under Linux.
204
205 - Added icon for Mageia Linux (os_mageia.png).
206
207 - Fixed bug that could misidentify a not-quite-GUID as a GUID in a
208 manual boot stanza's "volume" line.
209
210 - I've updated my personal build system, and therefore the rEFInd Makefiles
211 and related files, to use TianoCore UDK2014 rather than UDK2010.
212
213 - Added "deep_uefi_legacy_scan" token. When not set (the default), rEFInd
214 does not modify EFI NVRAM settings when scanning for BIOS-mode boot
215 loaders on UEFI-based (non-Mac) computers. Some computers require
216 uncommenting this setting for rEFInd to reliably detect some BIOS-mode
217 boot devices. Passing "0", "off", or "false" as an option resets it to
218 the default value (useful in a loaded secondary configuration file to
219 override a setting in the main file).
220
221 0.8.1 (5/15/2014):
222 ------------------
223
224 - Fixed bug that could cause rEFInd to fail to detect boot loaders stored
225 on the root directory of a partition.
226
227 - Added two new bitmap fonts to those distributed with rEFInd: Ubuntu Mono
228 and Nimbus Mono. Both come in 12-, 14-, 16-, and 24-point sizes.
229
230 - Messages about pauses for scanning and re-scanning of boot loaders are
231 now suppressed when doing an initial delayed scan when scan_delay is 1
232 second.
233
234 - Improved centering of legacy boot option descriptions on some systems'
235 screens.
236
237 - Fixed bug that could cause a BIOS-mode boot to boot from an inappropriate
238 device if that device had an innately high boot priority (as set by the
239 firmware).
240
241 - Changed icons from ICNS to PNG form. There are several reasons to do
242 this, all of them minor; but together they're enough to warrant a change.
243 PNG is more common, and therefore more accessible to most users --
244 particularly those who don't use OS X. The PNG files are smaller than
245 their ICNS equivalents. PNG supports a wider range of sizes (although I'm
246 not now using anything that ICNS doesn't support, I might in the future).
247 The icon-scaling support added a few versions ago makes ICNS's support
248 for multiple icon sizes relatively unimportant.
249
250 - Reversed order of search for icons by extension: rEFInd now searches
251 for PNG files before ICNS files, rather than the other way around. This
252 makes it possible to override a volume icon for rEFInd by giving it the
253 name .VolumeIcon.png, even when a .VolumeIcon.icns file exists on the
254 volume and is used by OS X.
255
256 - Fixed bug that caused .VolumeIcon.icns to take higher-than-intended
257 precedence in icon setting for OS X.
258
259 - Chainloading to BIOS-mode boot loaders now works on UEFI-based PCs when
260 rEFInd is built with GNU-EFI, not just when built with Tianocore.
261
262 0.8.0 (5/4/2014):
263 -----------------
264
265 - The "dont_scan_volumes" parameter now also works with legacy-boot
266 volumes. Unlike with EFI volumes, where the option you pass must exactly
267 match an entire volume name, when applied to legacy-boot volumes, it
268 matches any part of the description that appears beneath the item when
269 you select it in the rEFInd main menu.
270
271 - Can now boot in legacy mode from second (and probably later) hard disks!
272
273 - rEFInd now limits the length of the firmware name string shown in the
274 system information screen to 65 characters. This is done because at least
275 one EFI presents a longer string by default, and this causes the entire
276 information display to come up empty on 800x600 displays.
277
278 - rEFInd now uses the partition's name (as stored in the GPT data
279 structures) as a fallback for the filesystem's name if the latter can't
280 be found. Exceptions are if the partition name is one of three generic
281 names used by GPT fdisk: "Microsoft basic data", "Linux filesystem", or
282 "Apple HFS/HFS+". These are ignored in favor of the descriptive fallback
283 (e.g., "20 GiB Btrfs volume")
284
285 - It's now possible to specify a volume by partition GUID number in a
286 manual boot stanza. This should be more reliable (albeit also more
287 awkward) than using a filesystem number (such as fs0: or fs1:).
288
289 - Fixed memory-allocation bug that could cause error message displays,
290 and possibly hangs, when re-scanning boot loaders.
291
292 0.7.9 (4/20/2014):
293 ------------------
294
295 - Attempt to fix rEFInd perpetually re-scanning after ejecting a disc on
296 some Macs.
297
298 - Added check to remove redundant (or non-functional if Secure Boot is
299 active) kernel entries for Ubuntu, which is now including two versions of
300 kernels, one signed and the other unsigned.
301
302 - Fixed bug in install.sh that could cause it to display error messages
303 if the dmraid utility was not installed.
304
305 - The HFS+ driver now reports a correct volume name.
306
307 - Fixed some EFI filesystem driver bugs that could cause lockups under
308 some circumstances. These bugs could affect any of the filesystem
309 drivers.
310
311 - Added "gdisk" option to the "showtools" configuration file token. When
312 active, this adds gdisk.efi or gdisk_{arch}.efi, if present in the
313 EFI\tools directory, to the tools row.
314
315 - Fixed mistaken identification of the MOK utility as the "MOK utility
316 utility."
317
318
319 0.7.8 (3/9/2014):
320 -----------------
321
322 - Added "debian" directory to source, which facilitates creation of Debian
323 packages. Packages built in this way are built with GNU-EFI and don't run
324 any post-installation script, so although the rEFInd binaries are on the
325 hard disk, they aren't installed to be bootable; you must manually run
326 install.sh. Also, at least on Ubuntu, the Make.common file's /usr/lib64
327 references must be changed to /usr/lib. This is more of a proof of
328 concept and a "leg up" for distribution maintainers than anything else.
329
330 - Two new options, big_icon_size and small_icon_size, set the size of
331 the first-row OS icons and of the second-row tool icons, respectively.
332 The big_icon_size option also indirectly sets the size of disk-type
333 badges; they're 1/4 the size of the big icons. Default values are 128 and
334 48, respectively, to match the actual icon files provided with rEFInd. If
335 the icon you're using is of a different size than you've specified,
336 rEFInd scales it. For best quality, you should both provide icons drawn
337 to the right size and set the icon sizes in refind.conf.
338
339 - rEFInd now automatically scales icons to fit the standard icon sizes.
340 This won't have any effect with the icons that come with rEFInd, but it
341 can help if you want to use another icon, since you needn't scale it in a
342 graphics program before using it. Note that rEFInd uses bitmap icons, so
343 scaling by a huge amount (say, a 16x16 icon to fit the standard 128x128
344 OS icon) is not likely to look good.
345
346 - Added new option, banner_scale, that tells rEFInd how to handle banners:
347 Set to "noscale" (the default), banners are not scaled, although they'll
348 be cropped if they're too big for the display. This is the same as the
349 behavior in previous versions. Set to "fillscreen", rEFInd now scales the
350 banner image (larger or smaller) to fill the display.
351
352 - Adjusted the post-installation script in refind.spec (used to generate
353 RPMs, and therefore also indirectly Debian packages) to search for
354 existing shim program files under the filesnames shim.efi and shimx64.efi
355 rather than just shim.efi. Ubuntu uses shimx64.efi, so Debian packages
356 were failing to detect Ubuntu's shim in previous versions. (Note,
357 however, that Ubuntu's early shim 0.1 is unsuitable for use with rEFInd
358 The newer 0.4 version that's in the repositories now should work fine;
359 it's only when installing on an older system that's NOT been updated that
360 problems might arise.
361
362 0.7.7 (1/3/2014):
363 -----------------
364
365 - Can now specify complete paths, optionally including volumes, in
366 dont_scan_files.
367
368 - Added shimx64.efi to the default dont_scan_files list.
369
370 - Added windows_recovery_files token, to specify what program(s) launch a
371 Windows recovery utility; and the "windows_recovery" option to
372 "showtools," to control whether or not to display the Windows recovery
373 utility on the second row of icons.
374
375 - The use_graphics_for, also_scan_dirs, dont_scan_dirs, dont_scan_files,
376 and scan_driver_dirs tokens in refind.conf now support "+" as the first
377 option, which causes the remaining options to be added to the default
378 value rather than replacing that value. (This has no practical effect for
379 scan_driver_dirs, though, since it has a null default value.)
380
381 - Added support for specifying the configuration file at program launch,
382 via the "-c" parameter, as in "refind_x64.efi -c foo.conf" to use the
383 foo.conf file as the main configuration file.
384
385 - Scans of ext2/3/4fs and ReiserFS partitions now omit partitions with
386 duplicate filesystem UUIDs. These are likely parts of RAID arrays and so
387 would have the same boot loaders or kernels as the first one with a given
388 UUID.
389
390 - Added feature in install.sh: Script now tries to locate and mount an ESP
391 in Linux, if it's currently unmounted.
392
393 - Fixed bug in mkrlconf.sh and install.sh that caused a stray line break
394 and PARTUUID= specification to appear in generated refind_linux.conf file
395 under some circumstances.
396
397 0.7.6 (12/15/2013):
398 -------------------
399
400 - Added support for multiple "default_selection" targets. These MUST be
401 comma-separated AND enclosed in quotes, as in:
402 default_selection "fred,ginger"
403 This example will launch "fred" by default if it's available; and if
404 it's not, rEFInd will attempt to launch "ginger" as the default.
405
406 - Added support for time-sensitive "default_selection" setting. This token
407 may now have either one or three options. If one, it's interpreted as it
408 has been in the past, as setting a default that's independent of times.
409 If you follow this default by two times, however, those are interpreted
410 as the start and end times (in 24-hour format) for a default setting. For
411 instance, "default_selection foo 8:00 17:00" causes foo to be the default
412 from 8:00 (AM) to 17:00 (aka 5:00 PM). You can include multiple
413 "default_selection" lines to set different defaults for a variety of
414 times. If they're in conflict, the last one takes precedence. Note that
415 times are hardware clock's native value, which may be local time or UTC,
416 depending on your computer.
417
418 - Added support for a blank-screen startup: Set "screensaver -1" and the
419 screen saver will be initialized when rEFInd starts. If you set a low
420 "timeout" value, the result will be a boot straight to the default OS
421 unless you hit a key soon after rEFInd starts. Once you hit a key, the
422 screensaver will be disabled.
423
424 - Added --ownhfs {target} option to install.sh. This option causes rEFInd
425 to install to an HFS+ partition in a way that's more consistent with the
426 way the Mac's native boot loader is installed. Note that you should NOT
427 install to an already-bootable partition with this option, since it will
428 overwrite the existing boot loader, which would render OS X unbootable.
429
430 0.7.5 (11/10/2013):
431 -------------------
432
433 - Fixed bug that caused unbootable exFAT partitions to show up as
434 bootable on Macs with BIOS/CSM/legacy boot options enabled.
435
436 - Fixed bug in install.sh that caused installs to the ESP on recent
437 versions of OS X to fail.
438
439 - Fixed bug that caused rEFInd to hang on some Macs when multiple EFI
440 drivers were present.
441
442 - Fixed bug that caused clear to default gray screen when launching OSes
443 with 'use_graphics_for' enabled, even when the rEFInd background is not
444 gray. Now rEFInd clears to the same background color used in its menu.
445 When launching OS X, though, the OS X boot loader will itself clear to
446 gray a second or so later; and when launching Linux, it will clear to
447 black a second or so later.
448
449 0.7.4.1 (8/25/2013):
450 --------------------
451
452 - My initial 0.7.4 release broke legacy-boot ability on Macs, so I quickly
453 released this version using the original 0.7.4 filenames to fix the
454 problem.
455
456 0.7.4 (8/25/2013):
457 ------------------
458
459 - Fixed options passing to loader to include loader's filename as the first
460 option. This omission had no effect on most boot loaders, but caused
461 VMware's mboot64.efi to fail.
462
463 - Added support for memtest86 as second-row option. Program must be
464 stored in EFI/tools, EFI/tools/memtest, EFI/tools/memtest86, EFI/memtest,
465 or EFI/memtest86; and must use the name memtest86.efi, memtest86_x64.efi,
466 memtest86x64.efi, or bootx64.efi (changing "x64" to "ia32" on IA-32
467 systems). The memtest86 program is scanned for when the "showtools"
468 option includes the "memtest" or "memtest86" token, which it does by
469 default.
470
471 - Added space to end of "Boot %s from %s" string; enables adding a space
472 to the end of the "default_selection" item (in quotes) to set a default
473 that matches a volume name that's identical to another one except for
474 extra characters at the end of the non-wanted volume's name.
475
476 - Fixed bug that could cause rEFInd to hang when launching boot loaders
477 under some conditions. (Launching from Firewire drives on Macs is the
478 known case, but there may be others.)
479
480 0.7.3 (8/7/2013):
481 -----------------
482
483 - Fixed bug that caused missing media-type badges on BIOS-mode boot
484 loaders on Macs.
485
486 - Fixed bug that caused failure when launching BIOS-mode OSes on Macs.
487
488 0.7.2 (8/6/2013):
489 -----------------
490
491 - Fixed bug that caused display glitches in the final entry on the first
492 row of icons if the second row of icons was empty.
493
494 - Fixed bug that could cause incorrect scanning or even a rEFInd crash when
495 using volume specification in also_scan_dirs token.
496
497 - Added protection against loading invalid drivers and other EFI programs.
498 (Some EFIs crash when attempting to load such drivers and programs.)
499
500 - Added PreLoader.efi and shim-fedora.efi to default dont_scan_files list;
501 it's now "shim.efi, shim-fedora.efi, PreLoader.efi, TextMode.efi,
502 ebounce.efi, GraphicsConsole.efi, MokManager.efi, HashTool.efi,
503 HashTool-signed.efi".
504
505 - Added icon for Funtoo Linux.
506
507 - Fixed reading of volume badges from user-specified icons directory, which
508 was broken.
509
510 - Fixed handling of /.VolumeBadge.icns (or /.VolumeBadge.png) files, which
511 was broken.
512
513 0.7.1 (7/8/2013):
514 -----------------
515
516 - Fixed build problem with recent development versions of EDK2.
517
518 - Added scan for Boot Repair's backup of the Windows boot loader
519 (bkpbootmgfw.efi). If found, give separate entries for it and for
520 bootmgfw.efi, each with its own descriptive text label.
521
522 - Fixed also_scan_dirs; used to have bug that caused it to ignore
523 volume specification, if present.
524
525 - Fixed bug in driver cache that caused Btrfs driver to hang sometimes.
526
527 0.7.0 (6/27/2013):
528 ------------------
529
530 - Added Btrfs signature to rEFInd, so that it can identify the filesystem
531 type for volumes that lack labels.
532
533 - Changed some critical filesystem driver pointers from 32-bit to 64-bit.
534 This *SHOULD* enable use of over-2TiB filesystems (for those filesystems
535 that support such large volumes). This capability is largely untested,
536 though.
537
538 - Added a cache to the filesystem driver core, and therefore to all the
539 filesystem drivers. This cache greatly improves performance in
540 VirtualBox, and offers modest performance improvements on a few "real"
541 computers. The most dramatic improvement is on ext2/3fs under VirtualBox:
542 Loading a kernel and initrd used to take ~200 seconds on my system, but
543 now takes ~3 seconds! On most "real" hardware, the improvement is much
544 less dramatic -- an improvement of a second or less, presumably because
545 of cacheing within the EFI or on the hard disk itself.
546
547 - Filter boot loaders based on a test of their validity; keeps out Linux
548 kernels without EFI stub loader code, loaders for the wrong architecture,
549 non-EFI loaders, etc.
550
551 - New Btrfs driver, contributed by Samuel Liao based on GRUB 2.00 Btrfs
552 code.
553
554 0.6.12 (6/18/2013):
555 -------------------
556
557 - Changed the 64-bit EFI shell included in the CD-R and USB flash drive
558 images to a version 2 shell that should support the "bcfg" command.
559
560 - Added support for PreBootloader to refind.spec's built-in installation
561 script.
562
563 - Added support for the Linux Foundation's PreLoader to install.sh. It's
564 treated just like shim, including using the --shim option (or, now,
565 --preloader); but it searches for and copies HashTool.efi rather than
566 MokManager.efi, and filenames are adjusted appropriately.
567
568 - Added code to determine Linux root filesystem from /etc/fstab file, if
569 it's on the same partition as the kernel and if the refind_linux.conf
570 file is not available. This enables rEFInd to boot Linux without any
571 rEFInd-specific configuration files on some (but not all) systems.
572
573 0.6.11 (5/13/2013):
574 -------------------
575
576 - New feature: rEFInd now ignores symbolic links to files on filesystems
577 that support them. This prevents the "vmlinuz" symbolic link that some
578 distributions create in the root directory from appearing in the loader
579 list. Note that this does NOT affect symbolic links to directories.
580
581 - Added icons for Lubuntu and Kubuntu.
582
583 - Improved the install.sh script so that it does a better job dealing with
584 directory names that contain spaces.
585
586 - rEFInd now tries to guess the Linux distribution type based on the kernel
587 filename (Fedora and RHEL only) or the "ID" or "NAME" variables in
588 /etc/os-release on the kernel's partition. None of these is guaranteed to
589 work. A fallback of the Tux penguin icon remains in place in case rEFInd
590 can't find anything substantive enough for a guess.
591
592 - Added "EFI\opensuse" to the locations searched for MOK utilities, since
593 OpenSUSE now uses that name.
594
595 - Renamed "Reboot to Firmware User Interface" to "Reboot to Computer Setup
596 Utility" in menu.
597
598 - Fixed bug in gptsync that caused it to hang if the disk had too few GPT
599 partitions to fill the MBR.
600
601 0.6.10 (5/5/2013):
602 ------------------
603
604 - Added support for "screensaver" token. If set to a positive integer, this
605 causes the screen to blank after the specified number of seconds of
606 inactivity. Pressing most keys (unfortunately NOT including Shift, Alt,
607 or Ctrl) will restore the display and restart the screen saver timeout.
608
609 - Added icon for ChromeOS (os_chrome.icns in the icons subdirectory).
610 ChromeBooks reportedly boots using the fallback filename, but if a user
611 wants to install rEFInd on a ChromeBook, renaming the original EFI/BOOT
612 directory to EFI/chrome and then installing rEFInd in the fallback
613 filename will bring up this new icon for ChromeOS.
614
615 - Added new option to reboot the computer into the firmware's user
616 interface. This option is active by default, or can be set via the
617 "firmware" option to the "showtools" token in refind.conf. It works
618 on only some computers, though; older computers lack this feature, and
619 when rEFInd is told to use this feature on such computers, the directive
620 is quietly ignored.
621
622 - Upgraded LodePNG library from version 20121216 to 20130415 and
623 restructured rEFInd-specific modifications to simplify future upgrades.
624
625 - Replaced hexadecimal error code with description if an error is
626 encountered when saving a screen shot.
627
628 - Enable multiple screen shots: Rather than naming all screen shots
629 "screenshot.bmp", the name is now "screenshot_###.bmp", where "###" is a
630 sequence number, starting with "001".
631
632 0.6.9 (4/25/2013):
633 ------------------
634
635 - Modified default banner to include the new rEFInd icon, provided by Erik
636 Kemperman.
637
638 - Worked around a suspected firmware bug that caused rEFInd 0.6.6 to 0.6.8
639 to hang at startup on some systems (DUET and some Macs).
640
641 - Modified rEFInd to search for gptsync under the names gptsync.efi and
642 gptsync_{arch}.efi, where {arch} is ia32 or x64. (Previous versions
643 searched only for gptsync.efi.)
644
645 - Added gptsync program from rEFIt project, but with some changes to
646 improve flexibility and make it less likely that UEFI users will
647 accidentally trash their systems.
648
649 - Changed timeout code so that the timeout continues if the keyboard is
650 disconnected. This can help in booting a headless server or a system with
651 a bluetooth or other keyboard that's not recognized by the EFI.
652
653 0.6.8 (3/18/2013):
654 ------------------
655
656 - Added workaround for presumed EFI bug that was causing "Invalid
657 Parameter" errors when scanning for boot loaders on some computers.
658
659 - Added search for an EFI shell called shell.efi in the root directory
660 (previously this name was only accepted in EFI\tools).
661
662 - Fixed bug in install.sh that caused it to fail on some systems (Fedora
663 18, for instance) because of a problem identifying the ESP.
664
665 - Fixed bug that caused icons named after boot loaders to not be used.
666
667 0.6.7 (2/3/2013):
668 -----------------
669
670 - Added a more explicit error message summarizing options when a launch of
671 a program results in a Secure Boot failure.
672
673 - Changed MOK tool detection to scan all volumes, not just the rEFInd
674 home volume. This is desirable because the Linux Foundation's HashTool
675 can only scan its own volume, making it desirable to place copies of this
676 program on every volume that holds EFI boot loader binaries.
677
678 - Added support for launching the Linux Foundation HashTool as a means of
679 managing MOKs (or MOK hashes, at any rate).
680
681 - Fixed bug that caused rEFInd to present an entry for itself as a
682 Microsoft OS if it was launched as EFI/Microsoft/Boot/bootmgfw.efi.
683
684 - Fixed bug that caused dont_scan_volumes option to be added to
685 also_scan_dirs list.
686
687 - Fixed dont_scan_volumes so that it works with OS X boot loaders.
688
689 - Fixed broken mixing of PNG and ICNS icons when using a user-specified
690 icons directory -- previously, an ICNS file in the default directory
691 would override a PNG file in the user-specified directory.
692
693 0.6.6 (1/26/2013):
694 ------------------
695
696 - rEFInd now ignores the fallback boot loader (EFI/BOOT/bootx64.efi or
697 EFI/BOOT/bootia32.efi) if it's identical to another boot loader on
698 the same volume. This is intended to help unclutter the display on
699 systems that run Windows, since Windows tends to duplicate its own boot
700 loader under the fallback name.
701
702 - Added new "font" token to refind.conf, which enables specifying a font in
703 the form of a PNG file. This file must contain monospace glyphs for the
704 95 characters from ASCII 32 to 126 (space through tilde), inclusive, plus
705 a glyph to be displayed for characters outside of this range, for a total
706 of 96 glyphs.
707
708 - Replaced the old font (inherited from rEFInd) with an anti-aliased
709 version of Luxi Mono Regular 14 point.
710
711 - Fixed bug that caused rEFInd to ignore manual boot stanzas in files
712 included via the "include" token in refind.conf.
713
714 - Fixed bug that caused ASSERT error on some systems (and conceivably a
715 crash on startup on some) when default_selection line in refind.conf was
716 commented out or empty.
717
718 - Fixed bug that caused "Binary is whitelisted" message to persist on
719 screen after loading MOK-signed drivers in Secure Boot mode.
720
721 - Fixed bug that caused rEFInd to ignore the "icon" token in refind.conf
722 manual boot stanzas.
723
724 - Fixed bug in install.sh that caused the script to fail to update
725 drivers when rEFInd was installed in EFI/BOOT/.
726
727 0.6.5 (1/16/2013):
728 ------------------
729
730 - Improved text color support: rEFInd now uses black text against light
731 backgrounds and white text against dark backgrounds.
732
733 - Added support for PNGs as banners, icons, and selectors.
734
735 - Added icon for ALT Linux.
736
737 - Added "safemode" option to "hideui" token, to hide option to boot into
738 safe mode for OS X ("-v -x" option to boot.efi).
739
740 - Added icon for Haiku (os_haiku.icns).
741
742 - Enable transparency of icons & main-menu text when the banner icon is
743 sized to cover these areas.
744
745 - Fixed bug that could cause rEFInd to crash if fed a banner image that's
746 too big. Note that "too big" can be substantially smaller than the screen
747 resolution!
748
749 0.6.4 (1/8/2013):
750 -----------------
751
752 - Revised install.sh to copy ext2fs driver, rather than ext4fs driver, for
753 ext2/3 filesystems. This can help keep non-functional entries from links
754 from /vmlinuz to /boot/vmlinuz out of the menu if the system uses ext4fs
755 on root and ext2fs or ext3fs on /boot.
756
757 - Fixed a couple of memory management bugs that cause rEFInd to hang at
758 startup on some systems.
759
760 0.6.3 (1/6/2013):
761 -----------------
762
763 - Added the ability to specify a volume name or number in the
764 "dont_scan_dirs" and "also_scan_dirs" tokens.
765
766 - Fixed a bug that caused removable EFI media to not appear in scan lists
767 if rEFInd was installed as EFI/BOOT/boot{arch}.efi on a hard disk.
768
769 - Modified ISO-9660 driver so that it can handle discs with other than
770 2048-byte sectors. This makes it useful for reading "hybrid ISO" images
771 burned to USB flash disks.
772
773 - New mvrefind.sh script to move a rEFInd installation between a standard
774 location (typically EFI/refind) and one of the fallback locations
775 (EFI/BOOT or EFI/Microsoft/Boot). It can also do more exotic locations.
776
777 - The install.sh script now installs to EFI/BOOT/bootx64.efi or
778 EFI/Microsoft/Boot/bootmgfw.efi if it's run in BIOS mode. This is
779 intended to give some chance of producing a bootable installation should
780 a user accidentally install Linux in EFI mode and then install rEFInd
781 from that installation.
782
783 - The install.sh script now tries to find an existing rEFInd installation
784 and upgrade it, even if it's in EFI/BOOT or EFI/Microsoft/Boot rather
785 than in EFI/refind.
786
787 - New "--yes" option to install.sh to help with unattended or automated
788 installations (as from an RPM or Debian package).
789
790 0.6.2 (12/30/2012):
791 -------------------
792
793 - Inclusion of a sample refind.spec file for the benefit of RPM
794 distribution maintainers who might want to include rEFInd. It's a bit
795 rough, but it gets you a good chunk of the way there....
796
797 - The EFI filesystem drivers can now be built with the GNU-EFI toolkit as
798 well as with the TianoCore EDK2. See the BUILDING.txt file for details on
799 how to build them with either toolkit. This improvement doesn't affect
800 users of my binary packages, but it should make it easier for Linux
801 distributions to adopt rEFInd into their package systems.
802
803 - Tweaked refind.inf file for better build results using "native" TianoCore
804 EDK2 build process (vs. the Makefile-based build process that I use under
805 Linux). This won't affect those who use my binary builds or build under
806 Linux with the "make" command.
807
808 - Fixed bug that prevented Secure Boot launches from working when rEFInd
809 was built with GNU-EFI rather than the TianoCore EDK2.
810
811 - Substantial reworking of Secure Boot code, based on James Bottomley's
812 PreLoader program. This new code eliminates the limitation of launching
813 just one driver in Secure Boot mode and is likely to be more reliable
814 with future or obscure boot loaders. It should also work with non-x86-64
815 systems, although this relies on a platform-specific shim program, which
816 to date exists only for x86-64. The basic features are the same as before
817 -- rEFInd relies on shim for authentication functions and will launch
818 programs that are signed by Secure Boot keys, shim keys, or MOKs.
819
820 - Altered default for "textmode" option (when it's commented out) to not
821 adjust the text mode at all. (Prior versions set it to mode 0 by
822 default.)
823
824 0.6.1 (12/21/2012):
825 -------------------
826
827 - Added "--root" option to install.sh, to enable installation of rEFInd
828 to something other than the currently-running OS. This is intended for
829 use on emergency discs.
830
831 - Thanks to Stefan Agner, the ext4fs driver now supports the "meta_bg"
832 filesystem feature, which distributes metadata throughout the disk. This
833 feature isn't used by default, but can be set at filesystem creation time
834 by passing the "-O meta_bg,^resize_inode" option to mke2fs. (Using
835 "^resize_inode" is necessary because meta_bg is incompatible with
836 resize_inode, which IS used by default.) This feature can be used on
837 ext3fs and ext2fs as well as on ext4fs, so the ext4fs driver can now
838 handle some ext3fs and ext2fs partitions that the ext2fs driver can't
839 handle.
840
841 - Fixed some screen resolution-setting bugs.
842
843 - Added the "words" that make up a filesystem's label (delimited by spaces,
844 dashes, or underscores) to the list of bases used to search for OS icons.
845 For instance, if the filesystem's label is "Arch", rEFInd searches for
846 os_Arch.icns; if it's "Fedora 17", it searches for os_Fedora.icns and
847 os_17.icns; and if it's "NEW_GENTOO", it searches for os_NEW.icns and
848 os_GENTOO.icns.
849
850 - Refined hints displays to be more context-sensitive, particularly in text
851 mode.
852
853 - Instead of displaying a blank filesystem label when a filesystem has
854 none, rEFInd now displays the size and/or type of the filesystem, as in
855 "boot EFI\foo\bar.efi from 200 MiB ext3 volume" rather than "boot
856 EFI\foo\bar.efi from".
857
858 - Fixed a bug that caused the screen to clear after displaying an error
859 message but before displaying the "Hit any key to continue" message when
860 a boot loader launch failed.
861
862 0.6.0 (12/16/2012):
863 -------------------
864
865 - Fixed a memory allocation bug that could cause a program crash when
866 specifying certain values with the "also_scan_dirs", "dont_scan_volumes",
867 "dont_scan_dirs", "dont_scan_files", and "scan_driver_dirs" refind.conf
868 options.
869
870 - Modified Linux kernel initrd-finding code so that if an initrd is
871 specified in refind_linux.conf, rEFInd will not add any initrd it finds.
872 This enables an override of the default initrd, and is likely to be
873 particularly helpful to Arch Linux users.
874
875 - Added ext4fs driver!
876
877 - Made "boot" the default value for "also_scan_dirs".
878
879 - Added identifying screen header to line editor.
880
881 - Fixed bug that caused rEFInd's display to be mis-sized upon return
882 from a program that set the resolution itself.
883
884 - Adjusted "resolution" refind.conf parameter so that it can accept EITHER
885 a resolution as width and height OR a single digit as a UEFI mode number
886 (which is system-specific). This is done because some systems present the
887 same mode twice in their mode lists, perhaps varying in refresh rate,
888 monitor output, or some other salient characteristics; specifying the
889 mode number enables selecting the higher-numbered mode, whereas using
890 horizontal and vertical resolution values selects the lowest-numbered
891 mode.
892
893 - Added "textmode" refind.conf parameter to set the text mode used in
894 text-only displays, and for the line editor and boot-time handoff
895 display even in graphics mode.
896
897 - Fixed bug that caused tools (shell, etc.) to launch when they were
898 highlighted and F2 or Insert was pressed.
899
900 - Added "editor" option to the "hideui" token in refind.conf, which
901 disables the boot options editor.
902
903 - Added hints text to rEFInd main menu and sub-menus. This can be disabled
904 by setting the new "hints" option to the "hideui" token in refind.conf.
905
906 - Added "boot with minimal options" entry to refind_linux.conf file
907 generated by install.sh. This entry boots without the options extracted
908 from the /etc/default/grub file.
909
910 - Added keys subdirectory to main distribution, to hold public Secure
911 Boot/shim keys from known sources.
912
913 - Changed install.sh --drivers option to --alldrivers, added new
914 --nodrivers option, and made the default on Linux to install the one
915 driver that's used on /boot (or the root filesystem if /boot isn't a
916 separate partition). Of course, this won't install a non-existent driver,
917 and it also won't work properly if run from an emergency disk unless you
918 mount a separate /boot partition at that location.
919
920 - Fixed bug in install.sh that prevented creation of refind_linux.conf file
921 on Linux systems.
922
923 0.5.1.1 (12/12/2012):
924 ---------------------
925
926 - Fixed bug in install.sh that prevented it from working on OS X.
927
928 0.5.1 (12/11/2012):
929 -------------------
930
931 - Added support for "0" options to "textonly" and "scan_all_linux_kernels"
932 to reverse the usual meaning of these tokens. This is useful for
933 including these options in a secondary configuration file called with the
934 new "include" token to override a setting set in the main file.
935
936 - Added "include" token for refind.conf, to enable including a secondary
937 configuration file from a primary one.
938
939 - Modified install.sh so that it creates a simple refind_linux.conf file in
940 /boot, if that file doesn't already exist and if install.sh is run from
941 Linux. If that directory happens to be on a FAT, HFS+, ext2fs, ext3fs, or
942 ReiserFS volume, and if the necessary drivers are installed, the result
943 is that rEFInd will detect the Linux installation with no further
944 configuration on many systems. (Some may still require tweaking of kernel
945 options, though; for instance, adding "dolvm" on Gentoo systems that use
946 LVM.)
947
948 - Added --shim and --localkeys options to install.sh to help simplify setup
949 on systems with Secure Boot active.
950
951 - Fixed (maybe) bug that caused resolution options to not be displayed on
952 recent Macs with GOP graphics when specifying an invalid resolution in
953 refind.conf.
954
955 - Fixed bug that caused some programs (EFI shells, in particular) to hang
956 when launching on some systems (DUET, in particular).
957
958 - Implemented a fix to enable ELILO to launch with Secure Boot active.
959 This fix might help with some other boot loaders in Secure Boot mode,
960 too, but I don't know of any specifics.
961
962 0.5.0 (12/6/2012):
963 ------------------
964
965 - Added the ability to include quote marks ('"') in refind.conf and
966 refind_linux.conf tokens by doubling them up, as in:
967 "ro root=/dev/sda4 some_value=""this is it"""
968 This example results in the following string being passed as an
969 option:
970 ro root=/dev/sda4 some_value="this is it"
971
972 - Changed refind.conf-sample to uncomment the scan_all_linux_kernels
973 option by default. If this option is deleted or commented out, the
974 program default remains to not scan all Linux kernels; but with
975 increasing numbers of distributions shipping with kernels that include
976 EFI stub loader support, setting the configuration file default to scan
977 for them makes sense.
978
979 - Modified the "resolution" token so that it affects text mode as well
980 as graphics mode. On my systems, though, the actual text area is still
981 restricted to an 80x25 area. (This seems to be a firmware limitation; my
982 EFI shells are also so limited.)
983
984 - Fixed a bug that caused the options line editor to blank out lines that
985 were not actually edited.
986
987 - Added support for using Matthew Garrett's Shim program and its Machine
988 Owner Keys (MOKs) to extend Secure Boot capabilities. If rEFInd is
989 launched from Shim on a computer with Secure Boot active, rEFInd will
990 launch programs signed with either a standard UEFI Secure Boot key or a
991 MOK. For the moment, this feature works only on x86-64 systems.
992
993 - Added new "dont_scan_files" (aka "don't_scan_files") token for
994 refind.conf. The effect is similar to dont_scan_dirs, but it creates a
995 blacklist of filenames within directories rather than directory names.
996 I'm initially using it to place shim.efi and MokManager.efi in the
997 blacklist to keep these programs out of the OS list. (MokManager.efi is
998 scanned separately as a tool; see below.) I've moved checks for
999 ebounce.efi, GraphicsConsole.efi, and TextMode.efi to this list. (These
1000 three had previously been blacklisted by hard-coding in ScanLoaderDir().)
1001
1002 - Added the directory from which rEFInd launched to dont_scan_dirs. This
1003 works around a bug in which rEFInd would show itself as a bogus Windows
1004 entry if it's installed as EFI/Microsoft/boot/bootmgfw.efi.
1005
1006 - Added support for launching MokManager.efi for managing the Machine Owner
1007 Keys (MOKs) maintained by the shim boot loader developed by Fedora and
1008 SUSE. This program is scanned and presented as a second-row tool.
1009
1010 - Added support for Apple's Recovery HD partition: If it's detected, a new
1011 icon appears on the second row. This icon can be removed by explicitly
1012 setting the "showtools" option in refind.conf and excluding the
1013 "apple_recovery" option from that line.
1014
1015 - Fixed bug that caused text-mode ("textonly" refind.conf option enabled)
1016 menu entries to be right-aligned rather than left-aligned when rEFInd was
1017 compiled with the TianoCore EDK2.
1018
1019 - Added "--usedefault {devicename}" and "--drivers" options to the
1020 install.sh script and changed the "esp" option to "--esp".
1021
1022 0.4.7 (11/6/2012):
1023 ------------------
1024
1025 - Added an icon for gummiboot.
1026
1027 - Added a boot option editor: Pressing the Insert or F2 key from a boot
1028 tag's options menu opens a simple text-mode line editor on which the boot
1029 options may be edited for a one-time boot with altered options.
1030
1031 - Modified the "scan_delay" feature to delay and then perform a re-scan,
1032 which may work better than the first attempt at this feature (which I'm
1033 told isn't working as planned).
1034
1035 - Modified rEFInd to add a space after the command-line options only when
1036 launching Mac OS X. On some early Macs, the extra space (which had been
1037 present by default, as a carryover from rEFIt) causes problems when
1038 booting Linux kernels from FAT partitions.
1039
1040 0.4.6 (10/6/2012):
1041 ------------------
1042
1043 - Fixed some minor memory management issues.
1044
1045 - Added new "scan_delay" feature to impose a delay before scanning
1046 for disks.
1047
1048 - Changed default "scanfor" option from internal-external-optical to either
1049 internal-external-optical-manual (for non-Macs) or
1050 internal-hdbios-external-biosexternal-optical-cd-manual (for Macs). I've
1051 done this for two reasons:
1052 - Many Mac users have been confused by the fact that rEFInd needs
1053 reconfiguration to detect Windows (or Linux installed in BIOS mode),
1054 since rEFIt scans BIOS devices by default. Adding the BIOS options as
1055 default for them should help them.
1056 - Adding the "manual" option enables users to simply add manual boot
1057 stanzas and have them work, which is more intuitive. Adding the
1058 "manual" option will have no effect unless manual stanzas are created
1059 or uncommented, so this part of the change won't affect users' working
1060 default configurations.
1061
1062 - Added new legacy (BIOS) boot support for UEFI-based PCs.
1063
1064 0.4.5 (8/12/2012):
1065 ------------------
1066
1067 - Fixed bug that caused a failure to boot BIOS-based OSes on Macs.
1068
1069 - Fixed bug in install.sh that caused it to fail to detect rEFItBlesser.
1070
1071 0.4.4 (6/23/2012):
1072 ------------------
1073
1074 - Fixed bug that caused filesystem labels to be corrupted by rEFInd on
1075 32-bit systems.
1076
1077 - Fixed bug that caused filesystem labels to be truncated in the drivers
1078 on 32-bit systems.
1079
1080 - Fixed bug in use_graphics_for option parsing that caused most options
1081 to set graphics mode for OS X and/or Linux but not other boot
1082 loaders/OSes.
1083
1084 - Tweaked install script to better isolate the ESP under OS X.
1085
1086 0.4.3 (6/21/2012):
1087 ------------------
1088
1089 - rEFInd now supports compilation using the TianoCore UDK2010/EDK2
1090 development kit in addition to GNU-EFI.
1091
1092 - Added new "use_graphics_for" option to control which OSes to boot in
1093 graphics mode. (This effect lasts for a fraction of a second on most
1094 systems, since the boot loader that rEFInd launches is likely to set
1095 graphics or text mode itself.)
1096
1097 - Graphics-mode booting now clears the screen to the current rEFInd
1098 background color (rather than black) and does NOT display boot messages.
1099 The intent is for a smoother transition when booting OS X, or perhaps
1100 other OSes that don't display boot loader messages. In practice, this
1101 effect will be tiny for many OSes, since the boot loader generally clears
1102 the screen within a fraction of a second of being launched; but the
1103 "flicker" of a rEFInd message in that time can sometimes be distracting.
1104
1105 - Filesystem drivers now work on EFI 1.x systems, such as Macs.
1106
1107 - Removed "linux.conf" as a valid alternative name for "refind_linux.conf"
1108 for holding Linux kernel options. The kernel developers plan to use
1109 "linux.conf" themselves.
1110
1111 0.4.2 (6/3/2012):
1112 -----------------
1113
1114 - Added a message to install.sh when run on Macs to remind users to update
1115 the "scanfor" line in refind.conf if they need to boot BIOS-based OSes
1116 via rEFInd.
1117
1118 - Modified install.sh script to be smarter about running efibootmgr on
1119 Linux. It now uses the whole path to the rEFInd binary as a key to
1120 determine whether an existing entry exists, rather than just the filename
1121 portion. If an entry exists and is the first entry in the boot order, the
1122 script does nothing to the NVRAM entries. If such an entry exists but is
1123 not the default, the script deletes that entry and creates a new one
1124 (implicitly making it the first in the boot order). If such an entry does
1125 not exist, the script creates a new one (again, making it the first in
1126 the boot order).
1127
1128 - Added "dont_scan_dirs" configuration file option, which adds directories
1129 to a "blacklist" of directories that are NOT scanned for boot loaders.
1130
1131 0.4.1 (5/25/2012):
1132 ------------------
1133
1134 - Added "scanning for new boot loaders" message to the re-scan function
1135 (hitting Esc at the main menu). It usually flashes up too quickly to
1136 be of importance, but if the scan function takes a while because of
1137 access to a CD that must be spun up, it should make it clear that the
1138 system hasn't hung.
1139
1140 - Modified install.sh script to detect rEFItBlesser on Macs, and if
1141 present, to ask the user if it should be removed.
1142
1143 - Cleaned up the Make.common file for the filesystem drivers.
1144
1145 - Changed HFS+ driver to return volume label of "HFS+ volume" rather than
1146 an empty label. (The driver doesn't currently read the real volume
1147 label.)
1148
1149 - Fixed bug that could cause rEFInd to appear in its own menu after
1150 running a shell and then re-scanning for boot loaders.
1151
1152 0.4.0 (5/20/2012):
1153 ------------------
1154
1155 - Inclusion of drivers for ISO-9660, HFS+, ReiserFS, and ext2fs. Most of
1156 these drivers originated with rEFIt, although the HFS+ driver seems to
1157 have come from Oracle's VirtualBox, with some files from Apple. I hadn't
1158 included these drivers previously because the build process proved
1159 challenging. As it is, they don't work on my Mac Mini, I suspect because
1160 the build process with the UDK2010 development kit may not work with the
1161 EFI 1.x that Apple uses.
1162
1163 - Addition of support for drivers in the "drivers_{arch}" subdirectory of
1164 the main rEFInd binary directory (e.g., "drivers_x64" or "drivers_ia32").
1165 Drivers may continue to be placed in the "drivers" subdirectory.
1166
1167 - Added new feature to eject CDs (and other removable media): Press F12 to
1168 eject all such media. This function works only on some Macs, though (it
1169 relies on an Apple-specific EFI extension, and this extension isn't even
1170 implemented on all Macs, much less on UEFI-based PCs).
1171
1172 - Fixed a problem that could cause GRUB 2 to fail to read its configuration
1173 file when launched from rEFInd.
1174
1175 0.3.5 (5/15/2012):
1176 ------------------
1177
1178 - Removed the GRUB 2 detection "reciped" added with 0.3.2, since I've
1179 received reports that it's not working as intended.
1180
1181 - Added re-scan feature: Press the Esc key to have rEFInd re-read its
1182 configuration file, tell the EFI to scan for new filesystems, and re-scan
1183 those filesystems for boot loaders. The main purpose is to enable
1184 scanning a new removable medium that you insert after launching rEFInd;
1185 however, it can also be used to immediately implement changes to the
1186 configuration file or new drivers you load from an EFI shell.
1187
1188 - Fixed a bug that could cause the scroll-right arrow to be replaced by the
1189 scroll-left arrow under some circumstances.
1190
1191 0.3.4 (5/9/2012):
1192 -----------------
1193
1194 - Added new configuration file option: "icons_dir", which sets the name
1195 of the subdirectory in which icons are found. See the documentation or
1196 sample configuration file for a full description.
1197
1198 - Modified Makefile to generate rEFInd binary that includes architecture
1199 code -- refind_ia32.efi or refind_x64.efi, rather than the generic
1200 refind.efi. This is done mainly to help the install.sh script. The
1201 program can be named anything you like on the disk. (The generic name
1202 refind.efi is used on unknown architectures.)
1203
1204 - Improved install.sh script: Fixed bug on OS X 10.7 and enable it to be
1205 used after building from source code (or via new "make install" Makefile
1206 target).
1207
1208 - Improved screen redraws to produce less flicker when moving among the
1209 second-row tags or to the last tag on the first row.
1210
1211 0.3.3 (5/6/2012):
1212 -----------------
1213
1214 - Improved menu navigation:
1215 - In graphics mode, left & right arrow keys move left & right, while up &
1216 down arrows move between rows.
1217 - Page Up and Page Down now move through chunks of visible tags (in both
1218 text & graphics modes), jumping from one row to another only when at
1219 the edge of the row. In text mode, the "rows" are broken down as in
1220 graphics mode, but they aren't visibly distinguished on the screen.
1221
1222 - Improved text-mode use: rEFInd now displays the proper number of entries
1223 when first started in text mode and scrolling is done sensibly when too
1224 many entries exist to fit on the screen.
1225
1226 0.3.2 (5/4/2012):
1227 -----------------
1228
1229 - Added the install.sh script to install rEFInd on Linux and Mac OS X
1230 systems. This script must be run as root (or via sudo). It requires
1231 no options, but on Mac OS X, passing it the "esp" option causes it
1232 to install rEFInd on the computer's ESP rather than the default of the
1233 currently OS X boot partition. (Under Linux, the default is to install to
1234 the ESP.) Note that there may be some unusual cases in which this script
1235 will fail to work.
1236
1237 - Does a better job of clearing the screen when launching OSes in text
1238 mode.
1239
1240 - Added detection "recipe" for GRUB 2's BIOS Boot Partition.
1241
1242 - Fixed bogus detection of ESPs created by Linux's mkdosfs utility or
1243 Windows as bootable partitions when "scanfor" includes BIOS scanning
1244 options.
1245
1246
1247 0.3.1 (4/27/2012):
1248 ------------------
1249
1250 - Fixed bug that caused spurious "Unsupported while scanning the root
1251 directory" messages under some conitions on Macs.
1252
1253 - Modified loader scanning code to sort boot loader entries within a
1254 directory by modification time, so that the most recently-modified loader
1255 is first among those in a given directory. Thus, if you specify a
1256 directory name (or volume name, for loaders stored in the root directory
1257 of a volume) as the default_selection, the most recent of those loaders
1258 will be the default. This is intended to help with Linux kernel
1259 maintenance when using the EFI stub loader; set up this way, the most
1260 recent kernel copied to your kernel directory will be the default,
1261 obviating the need to adjust the refind.conf file when adding a new
1262 kernel. If you want to change the default among those in the default
1263 directory, you can use "touch" to adjust the modification timestamp.
1264
1265 - Tweaked code to find loader-specific .icns file so that it finds files
1266 for Linux kernels without .efi extensions. In this case, files should be
1267 named the same as the kernels they match, but with .icns extensions. For
1268 instance, bzImage-3.3.2 should have an icon called bzImage-3.3.2.icns.
1269 (The old code would have looked for an icon called bzImage-3.3.icns.)
1270
1271 - Eliminated bogus OS loader tags for filenames that end in ".icns" when
1272 the scan_all_linux_kernels option is set.
1273
1274 0.3.0 (4/22/2012):
1275 ------------------
1276
1277 - I'm officially upgrading this project's status from "alpha" to "beta" and
1278 giving it a bump from 0.2.x to 0.3.0. This doesn't reflect any major
1279 milestone with this version; rather, it reflects my sense that rEFInd has
1280 been "out there" for a while, and although I've gotten bug reports,
1281 they've been minor and/or have been fixed. The program still has known
1282 bugs, but my impression is that it is, overall, usable by ordinary users.
1283
1284 - Added "resolution" option to refind.conf, which enables setting the video
1285 resolution. To use it, pass two numeric values, as in "resolution 1024
1286 768" to use a 1024x768 video mode. Note that not all modes are supported.
1287 If you specify a non-supported video mode on a UEFI system, a message
1288 appears listing the supported video modes and you must then press a key
1289 to continue, using the default video mode (usually 800x600).
1290 Unfortunately, I don't know the calls to get a list of supported video
1291 modes on older EFI 1.x systems (including Macs), so on Macs setting an
1292 incorrect video mode silently fails (you keep using the default mode).
1293 This makes changing your video mode a hit-or-miss proposition on Macs.
1294 CAUTION: It's possible to set a legal video mode that your monitor can't
1295 handle, in which case you'll get a blank display until you boot an OS
1296 that resets the video mode.
1297
1298 - Fixed (maybe) a bug that caused rEFInd to crash when returning from an
1299 EFI shell or other programs on Macs, particularly when rEFInd used
1300 graphical mode. I'm not 100% sure this bug is squashed because I still
1301 don't understand the cause and I only have one Mac for testing. See
1302 comments in the ReinitRefitLib() function in refit/lib.c for more
1303 details.
1304
1305 - Added new refind.conf option: scan_all_linux_kernels, which causes Linux
1306 kernels that lack ".efi" extensions to be included in scans for EFI boot
1307 loaders. This may help integration with Linux distributions that don't
1308 give their kernels such names by default. Beware, though: It can detect
1309 unwanted files, such as older non-stub-loader kernels or .icns files used
1310 to give kernels with .efi extensions custom icons.
1311
1312 - Improved EFI boot loader detection on boards with Gigabyte's Hybrid EFI,
1313 and perhaps other EFIs with a buggy StriCmp() function. Files with both
1314 ".efi" and ".EFI" extensions should now be detected as boot loaders.
1315
1316 - Fixed a bug that caused rEFInd to fail to scan for drivers if the
1317 filesystem driver didn't set a volume name (that is, if the relevant
1318 field was set to NULL rather than even an empty string). In such
1319 situations, rEFInd now reports the volume name as "Unknown".
1320
1321 0.2.7 (4/19/2012):
1322 ------------------
1323
1324 - After much trial and tribulation, I've overcome a GNU-EFI limitation and
1325 enabled rEFInd to load EFI drivers. This feature was present in the
1326 original build of rEFIt but was removed in the versions that could
1327 compile under Linux, but now it's back -- and still being compiled under
1328 Linux! To use it, you should place your drivers in a convenient directory
1329 on the ESP (or whatever partition you use to launch rEFInd) and add a
1330 "scan_driver_dirs" entry to refind.conf to tell rEFInd where to look. (As
1331 always, you should specify the driver directory relative to the root of
1332 the filesystem.) Note that you can't launch drivers from another
1333 filesystem; they must be on the same volume that holds rEFInd. Those who
1334 compile from source code should note that implementing this feature
1335 necessitated using a more recent version of the GNU-EFI library. I'm
1336 currently using version 3.0p, and version 3.0i does NOT work. I don't
1337 know where the change occurred, but you may need to upgrade your GNU-EFI
1338 installation.
1339
1340 - Fixed bug that caused rEFInd to show up in its own menu sometimes.
1341
1342 - Added new refind.conf token: also_scan_dirs. When scanning volumes for
1343 EFI boot loaders, rEFInd always scans the root directory and every
1344 subdirectory of the /EFI directory, but it doesn't recurse into these
1345 directories. The also_scan_dirs token adds more directories to the scan
1346 list. It defaults to "elilo,boot", but you can set it to any directory or
1347 directories you like.
1348
1349 0.2.6 (4/14/2012):
1350 ------------------
1351
1352 - Added "volume" keyword to configuration file's stanza options. This
1353 option changes the volume from which subsequent files (specified by
1354 "loader" and "icon") are loaded. You pass "volume" the name/label of the
1355 FILESYSTEM you want to use (not the GPT partition name), or a number
1356 followed by a colon (e.g., "1:"). The former should reliably identify a
1357 filesystem, assuming the name is unique. The latter assigns numbers based
1358 on the order in which they're scanned, which may not be as reliable but
1359 should work when a volume is unnamed.
1360
1361 - Fixed bug in 0.2.5 that caused failure of Linux initial RAM disk
1362 mapping on some (but not all) systems. Affected computers include at
1363 least some Intel motherboards, maybe others.
1364
1365 0.2.5 (4/9/2012):
1366 -----------------
1367
1368 - Fixed bug that caused an inability to associate initial RAM disks with
1369 Linux kernels stored in a volume's root directory.
1370
1371 - Volume badges (that override default badges) are now stored in
1372 .VolumeBadge.icns. Although undocumented, rEFInd formerly loaded custom
1373 volume badges from .VolumeIcon.icns. This carryover from rEFIt was a
1374 confusing name, given the next (new) feature, so I've changed and
1375 documented the name....
1376
1377 - Added ability to set a default icon for a loader stored in the root
1378 directory of a volume: The icon is stored in .VolumeIcon.icns. This icon
1379 is also used for Mac OS X volumes booted from the standard location.
1380
1381 - Fixed bug that caused icons to drop back to generic icons when rEFInd
1382 was launched in certain ways (such as from an EFI shell in rEFInd's
1383 directory) on certain systems.
1384
1385 - Fixed bug that caused "unknown disable flag" to be shown (very briefly)
1386 instead of "unknown hideui flag" when an improper hideui flag was set.
1387
1388 0.2.4 (4/5/2012):
1389 -----------------
1390
1391 - Created new refind.conf entry: "showtools". This entry takes options of
1392 "shell", "gptsync", "about", "exit", "reboot", and "shutdown". This
1393 option is in some respects an affirmative version of portions of the old
1394 "disable" and "hideui" options; however, it enables users to specify the
1395 order in which these options appear on the screen. Also, the "exit"
1396 option is new; it terminates the program. The effect is usually to return
1397 to whatever tool launched it or to launch a default OS; however, this is
1398 somewhat unpredictable. The default therefore omits the "exit" option, as
1399 well as "gptsync", which has always been dangerous (but necessary on most
1400 MacOS/Windows dual-boot setups on Macs). As part of this reconfiguration,
1401 I've eliminated the "rescue Linux" option, which always seemed pointless
1402 to me.
1403
1404 - Folded "disable" and "hideui" refind.conf entries into one ("disable"),
1405 and reduced the number of options to six: "banner", "label",
1406 "singleuser", "hwtest", "arrows", and "all". ("arrows" is new and
1407 disables the scroll arrows when a system has too many tags to display
1408 simultaneously.)
1409
1410 - Added max_tags option to the refind.conf file, enabling users to reduce
1411 the maximum number of OS loader tags that can be displayed at once.
1412
1413 - Updated rEFIt icon, based on the 128x128 volume label from the rEFIt CD
1414 image.
1415
1416 - Added x86 and x86-64 EFI shells to the CD image version of the binary,
1417 but NOT to the binary zip file. The logic is that the CD image is more
1418 likely to be used directly as an emergency disc and so may need this
1419 feature, even though the source isn't part of the rEFInd project. (The
1420 source is readily available from the TianoCore project.)
1421
1422 - EFI shells may now be stored at /shellx64.efi for x86-64 systems or at
1423 /shellia32.efi for x86 systems. The /EFI/tools/shell.efi name is also
1424 recognized; however, if both files are present, two EFI shell icons will
1425 appear on the main menu. The /efi/{refind-path/apps/shell.efi filename,
1426 which was never officially documented but worked as a carryover from
1427 rEFIt, is no longer valid.
1428
1429 0.2.3 (3/26/2012):
1430 ------------------
1431
1432 - Fixed (maybe) a bug that caused hangs when launching a second program
1433 after returning from a first. There are some weird system-to-system
1434 differences, though, and this fix causes (apparently harmless) error
1435 messages about "(re)opening our installation volume" on at least one
1436 system (a 32-bit Mac Mini). I'm committing this change because, imperfect
1437 though it is, it's preferable to the earlier version, at least on my
1438 small sample of computers.
1439
1440 - Because of news that the Linux kernel developers are planning to use the
1441 filename linux.conf to hold Linux kernel configuration data for EFI
1442 booting, I'm transitioning rEFInd away from that name and to
1443 refind_linux.conf to avoid a conflict. This version can use either name,
1444 with refind_linux.conf taking precedence if both are present.
1445
1446 - Added logo for Arch Linux.
1447
1448 0.2.2 (3/23/2012):
1449 ------------------
1450
1451 - Fixed bug that caused program failure when Linux kernels with EFI stub
1452 support were detected with no associated version numbers. rEFInd now
1453 permits automatic linking of *ONE* versionless kernel to *ONE*
1454 versionless initrd file.
1455
1456 - Fixed bug that caused program hangs when a boot loader filename or label
1457 was too long. Such names are now properly truncated and program execution
1458 continues.
1459
1460 - Fixed bug that caused no text to appear in submenus on UEFI systems with
1461 small screens (800x600). NOTE: Problem still occurs on screens smaller
1462 than this, but such systems are very rare.
1463
1464 0.2.1 (3/19/2012):
1465 ------------------
1466
1467 - Added ability to set a "default_selection" that's a title or a substring
1468 of one -- the name given to a stanza in a "menuentry" or the boot
1469 loader's filename, in most cases, although "Mac OS X", "Windows XP
1470 (XoM)", and "Microsoft EFI boot" are also titles.
1471
1472 - Added support for semi-automatic scans of Linux kernels with EFI stub
1473 loader support. The program auto-detects matching initial RAM disk files
1474 and loads additional options from the "linux.conf" file in the same
1475 directory as the kernel.
1476
1477 - Added support for "submenuentry" keyword and associated sub-stanza
1478 entries in refind.conf file.
1479
1480 - Renamed icons/os_mint.icns to icons/os_linuxmint.icns to match the
1481 filename Linux Mint ACTUALLY uses for its ESP boot loader directory.
1482
1483
1484 0.2.0 (3/14/2012):
1485 ------------------
1486
1487 - Initial public release