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