]> code.delx.au - refind/blob - NEWS.txt
Added support for "-c" command-line parameter to rEFInd, to specify
[refind] / NEWS.txt
1 0.7.7 (12/??/2013):
2 -------------------
3
4 - Added support for specifying the configuration file at program launch,
5 via the "-c" parameter, as in "refind_x64.efi -c foo.conf" to use the
6 foo.conf file as the main configuration file.
7
8 - Scans of ext2/3/4fs and ReiserFS partitions now omit partitions with
9 duplicate filesystem UUIDs. These are likely parts of RAID arrays and so
10 would have the same boot loaders or kernels as the first one with a given
11 UUID.
12
13 - Added feature in install.sh: Script now tries to locate and mount an ESP
14 in Linux, if it's currently unmounted.
15
16 - Fixed bug in mkrlconf.sh and install.sh that caused a stray line break
17 and PARTUUID= specification to appear in generated refind_linux.conf file
18 under some circumstances.
19
20 0.7.6 (12/15/2013):
21 -------------------
22
23 - Added support for multiple "default_selection" targets. These MUST be
24 comma-separated AND enclosed in quotes, as in:
25 default_selection "fred,ginger"
26 This example will launch "fred" by default if it's available; and if
27 it's not, rEFInd will attempt to launch "ginger" as the default.
28
29 - Added support for time-sensitive "default_selection" setting. This token
30 may now have either one or three options. If one, it's interpreted as it
31 has been in the past, as setting a default that's independent of times.
32 If you follow this default by two times, however, those are interpreted
33 as the start and end times (in 24-hour format) for a default setting. For
34 instance, "default_selection foo 8:00 17:00" causes foo to be the default
35 from 8:00 (AM) to 17:00 (aka 5:00 PM). You can include multiple
36 "default_selection" lines to set different defaults for a variety of
37 times. If they're in conflict, the last one takes precedence. Note that
38 times are hardware clock's native value, which may be local time or UTC,
39 depending on your computer.
40
41 - Added support for a blank-screen startup: Set "screensaver -1" and the
42 screen saver will be initialized when rEFInd starts. If you set a low
43 "timeout" value, the result will be a boot straight to the default OS
44 unless you hit a key soon after rEFInd starts. Once you hit a key, the
45 screensaver will be disabled.
46
47 - Added --ownhfs {target} option to install.sh. This option causes rEFInd
48 to install to an HFS+ partition in a way that's more consistent with the
49 way the Mac's native boot loader is installed. Note that you should NOT
50 install to an already-bootable partition with this option, since it will
51 overwrite the existing boot loader, which would render OS X unbootable.
52
53 0.7.5 (11/10/2013):
54 -------------------
55
56 - Fixed bug that caused unbootable exFAT partitions to show up as
57 bootable on Macs with BIOS/CSM/legacy boot options enabled.
58
59 - Fixed bug in install.sh that caused installs to the ESP on recent
60 versions of OS X to fail.
61
62 - Fixed bug that caused rEFInd to hang on some Macs when multiple EFI
63 drivers were present.
64
65 - Fixed bug that caused clear to default gray screen when launching OSes
66 with 'use_graphics_for' enabled, even when the rEFInd background is not
67 gray. Now rEFInd clears to the same background color used in its menu.
68 When launching OS X, though, the OS X boot loader will itself clear to
69 gray a second or so later; and when launching Linux, it will clear to
70 black a second or so later.
71
72 0.7.4.1 (8/25/2013):
73 --------------------
74
75 - My initial 0.7.4 release broke legacy-boot ability on Macs, so I quickly
76 released this version using the original 0.7.4 filenames to fix the
77 problem.
78
79 0.7.4 (8/25/2013):
80 ------------------
81
82 - Fixed options passing to loader to include loader's filename as the first
83 option. This omission had no effect on most boot loaders, but caused
84 VMware's mboot64.efi to fail.
85
86 - Added support for memtest86 as second-row option. Program must be
87 stored in EFI/tools, EFI/tools/memtest, EFI/tools/memtest86, EFI/memtest,
88 or EFI/memtest86; and must use the name memtest86.efi, memtest86_x64.efi,
89 memtest86x64.efi, or bootx64.efi (changing "x64" to "ia32" on IA-32
90 systems). The memtest86 program is scanned for when the "showtools"
91 option includes the "memtest" or "memtest86" token, which it does by
92 default.
93
94 - Added space to end of "Boot %s from %s" string; enables adding a space
95 to the end of the "default_selection" item (in quotes) to set a default
96 that matches a volume name that's identical to another one except for
97 extra characters at the end of the non-wanted volume's name.
98
99 - Fixed bug that could cause rEFInd to hang when launching boot loaders
100 under some conditions. (Launching from Firewire drives on Macs is the
101 known case, but there may be others.)
102
103 0.7.3 (8/7/2013):
104 -----------------
105
106 - Fixed bug that caused missing media-type badges on BIOS-mode boot
107 loaders on Macs.
108
109 - Fixed bug that caused failure when launching BIOS-mode OSes on Macs.
110
111 0.7.2 (8/6/2013):
112 -----------------
113
114 - Fixed bug that caused display glitches in the final entry on the first
115 row of icons if the second row of icons was empty.
116
117 - Fixed bug that could cause incorrect scanning or even a rEFInd crash when
118 using volume specification in also_scan_dirs token.
119
120 - Added protection against loading invalid drivers and other EFI programs.
121 (Some EFIs crash when attempting to load such drivers and programs.)
122
123 - Added PreLoader.efi and shim-fedora.efi to default dont_scan_files list;
124 it's now "shim.efi, shim-fedora.efi, PreLoader.efi, TextMode.efi,
125 ebounce.efi, GraphicsConsole.efi, MokManager.efi, HashTool.efi,
126 HashTool-signed.efi".
127
128 - Added icon for Funtoo Linux.
129
130 - Fixed reading of volume badges from user-specified icons directory, which
131 was broken.
132
133 - Fixed handling of /.VolumeBadge.icns (or /.VolumeBadge.png) files, which
134 was broken.
135
136 0.7.1 (7/8/2013):
137 -----------------
138
139 - Fixed build problem with recent development versions of EDK2.
140
141 - Added scan for Boot Repair's backup of the Windows boot loader
142 (bkpbootmgfw.efi). If found, give separate entries for it and for
143 bootmgfw.efi, each with its own descriptive text label.
144
145 - Fixed also_scan_dirs; used to have bug that caused it to ignore
146 volume specification, if present.
147
148 - Fixed bug in driver cache that caused Btrfs driver to hang sometimes.
149
150 0.7.0 (6/27/2013):
151 ------------------
152
153 - Added Btrfs signature to rEFInd, so that it can identify the filesystem
154 type for volumes that lack labels.
155
156 - Changed some critical filesystem driver pointers from 32-bit to 64-bit.
157 This *SHOULD* enable use of over-2TiB filesystems (for those filesystems
158 that support such large volumes). This capability is largely untested,
159 though.
160
161 - Added a cache to the filesystem driver core, and therefore to all the
162 filesystem drivers. This cache greatly improves performance in
163 VirtualBox, and offers modest performance improvements on a few "real"
164 computers. The most dramatic improvement is on ext2/3fs under VirtualBox:
165 Loading a kernel and initrd used to take ~200 seconds on my system, but
166 now takes ~3 seconds! On most "real" hardware, the improvement is much
167 less dramatic -- an improvement of a second or less, presumably because
168 of cacheing within the EFI or on the hard disk itself.
169
170 - Filter boot loaders based on a test of their validity; keeps out Linux
171 kernels without EFI stub loader code, loaders for the wrong architecture,
172 non-EFI loaders, etc.
173
174 - New Btrfs driver, contributed by Samuel Liao based on GRUB 2.00 Btrfs
175 code.
176
177 0.6.12 (6/18/2013):
178 -------------------
179
180 - Changed the 64-bit EFI shell included in the CD-R and USB flash drive
181 images to a version 2 shell that should support the "bcfg" command.
182
183 - Added support for PreBootloader to refind.spec's built-in installation
184 script.
185
186 - Added support for the Linux Foundation's PreLoader to install.sh. It's
187 treated just like shim, including using the --shim option (or, now,
188 --preloader); but it searches for and copies HashTool.efi rather than
189 MokManager.efi, and filenames are adjusted appropriately.
190
191 - Added code to determine Linux root filesystem from /etc/fstab file, if
192 it's on the same partition as the kernel and if the refind_linux.conf
193 file is not available. This enables rEFInd to boot Linux without any
194 rEFInd-specific configuration files on some (but not all) systems.
195
196 0.6.11 (5/13/2013):
197 -------------------
198
199 - New feature: rEFInd now ignores symbolic links to files on filesystems
200 that support them. This prevents the "vmlinuz" symbolic link that some
201 distributions create in the root directory from appearing in the loader
202 list. Note that this does NOT affect symbolic links to directories.
203
204 - Added icons for Lubuntu and Kubuntu.
205
206 - Improved the install.sh script so that it does a better job dealing with
207 directory names that contain spaces.
208
209 - rEFInd now tries to guess the Linux distribution type based on the kernel
210 filename (Fedora and RHEL only) or the "ID" or "NAME" variables in
211 /etc/os-release on the kernel's partition. None of these is guaranteed to
212 work. A fallback of the Tux penguin icon remains in place in case rEFInd
213 can't find anything substantive enough for a guess.
214
215 - Added "EFI\opensuse" to the locations searched for MOK utilities, since
216 OpenSUSE now uses that name.
217
218 - Renamed "Reboot to Firmware User Interface" to "Reboot to Computer Setup
219 Utility" in menu.
220
221 - Fixed bug in gptsync that caused it to hang if the disk had too few GPT
222 partitions to fill the MBR.
223
224 0.6.10 (5/5/2013):
225 ------------------
226
227 - Added support for "screensaver" token. If set to a positive integer, this
228 causes the screen to blank after the specified number of seconds of
229 inactivity. Pressing most keys (unfortunately NOT including Shift, Alt,
230 or Ctrl) will restore the display and restart the screen saver timeout.
231
232 - Added icon for ChromeOS (os_chrome.icns in the icons subdirectory).
233 ChromeBooks reportedly boots using the fallback filename, but if a user
234 wants to install rEFInd on a ChromeBook, renaming the original EFI/BOOT
235 directory to EFI/chrome and then installing rEFInd in the fallback
236 filename will bring up this new icon for ChromeOS.
237
238 - Added new option to reboot the computer into the firmware's user
239 interface. This option is active by default, or can be set via the
240 "firmware" option to the "showtools" token in refind.conf. It works
241 on only some computers, though; older computers lack this feature, and
242 when rEFInd is told to use this feature on such computers, the directive
243 is quietly ignored.
244
245 - Upgraded LodePNG library from version 20121216 to 20130415 and
246 restructured rEFInd-specific modifications to simplify future upgrades.
247
248 - Replaced hexadecimal error code with description if an error is
249 encountered when saving a screen shot.
250
251 - Enable multiple screen shots: Rather than naming all screen shots
252 "screenshot.bmp", the name is now "screenshot_###.bmp", where "###" is a
253 sequence number, starting with "001".
254
255 0.6.9 (4/25/2013):
256 ------------------
257
258 - Modified default banner to include the new rEFInd icon, provided by Erik
259 Kemperman.
260
261 - Worked around a suspected firmware bug that caused rEFInd 0.6.6 to 0.6.8
262 to hang at startup on some systems (DUET and some Macs).
263
264 - Modified rEFInd to search for gptsync under the names gptsync.efi and
265 gptsync_{arch}.efi, where {arch} is ia32 or x64. (Previous versions
266 searched only for gptsync.efi.)
267
268 - Added gptsync program from rEFIt project, but with some changes to
269 improve flexibility and make it less likely that UEFI users will
270 accidentally trash their systems.
271
272 - Changed timeout code so that the timeout continues if the keyboard is
273 disconnected. This can help in booting a headless server or a system with
274 a bluetooth or other keyboard that's not recognized by the EFI.
275
276 0.6.8 (3/18/2013):
277 ------------------
278
279 - Added workaround for presumed EFI bug that was causing "Invalid
280 Parameter" errors when scanning for boot loaders on some computers.
281
282 - Added search for an EFI shell called shell.efi in the root directory
283 (previously this name was only accepted in EFI\tools).
284
285 - Fixed bug in install.sh that caused it to fail on some systems (Fedora
286 18, for instance) because of a problem identifying the ESP.
287
288 - Fixed bug that caused icons named after boot loaders to not be used.
289
290 0.6.7 (2/3/2013):
291 -----------------
292
293 - Added a more explicit error message summarizing options when a launch of
294 a program results in a Secure Boot failure.
295
296 - Changed MOK tool detection to scan all volumes, not just the rEFInd
297 home volume. This is desirable because the Linux Foundation's HashTool
298 can only scan its own volume, making it desirable to place copies of this
299 program on every volume that holds EFI boot loader binaries.
300
301 - Added support for launching the Linux Foundation HashTool as a means of
302 managing MOKs (or MOK hashes, at any rate).
303
304 - Fixed bug that caused rEFInd to present an entry for itself as a
305 Microsoft OS if it was launched as EFI/Microsoft/Boot/bootmgfw.efi.
306
307 - Fixed bug that caused dont_scan_volumes option to be added to
308 also_scan_dirs list.
309
310 - Fixed dont_scan_volumes so that it works with OS X boot loaders.
311
312 - Fixed broken mixing of PNG and ICNS icons when using a user-specified
313 icons directory -- previously, an ICNS file in the default directory
314 would override a PNG file in the user-specified directory.
315
316 0.6.6 (1/26/2013):
317 ------------------
318
319 - rEFInd now ignores the fallback boot loader (EFI/BOOT/bootx64.efi or
320 EFI/BOOT/bootia32.efi) if it's identical to another boot loader on
321 the same volume. This is intended to help unclutter the display on
322 systems that run Windows, since Windows tends to duplicate its own boot
323 loader under the fallback name.
324
325 - Added new "font" token to refind.conf, which enables specifying a font in
326 the form of a PNG file. This file must contain monospace glyphs for the
327 95 characters from ASCII 32 to 126 (space through tilde), inclusive, plus
328 a glyph to be displayed for characters outside of this range, for a total
329 of 96 glyphs.
330
331 - Replaced the old font (inherited from rEFInd) with an anti-aliased
332 version of Luxi Mono Regular 14 point.
333
334 - Fixed bug that caused rEFInd to ignore manual boot stanzas in files
335 included via the "include" token in refind.conf.
336
337 - Fixed bug that caused ASSERT error on some systems (and conceivably a
338 crash on startup on some) when default_selection line in refind.conf was
339 commented out or empty.
340
341 - Fixed bug that caused "Binary is whitelisted" message to persist on
342 screen after loading MOK-signed drivers in Secure Boot mode.
343
344 - Fixed bug that caused rEFInd to ignore the "icon" token in refind.conf
345 manual boot stanzas.
346
347 - Fixed bug in install.sh that caused the script to fail to update
348 drivers when rEFInd was installed in EFI/BOOT/.
349
350 0.6.5 (1/16/2013):
351 ------------------
352
353 - Improved text color support: rEFInd now uses black text against light
354 backgrounds and white text against dark backgrounds.
355
356 - Added support for PNGs as banners, icons, and selectors.
357
358 - Added icon for ALT Linux.
359
360 - Added "safemode" option to "hideui" token, to hide option to boot into
361 safe mode for OS X ("-v -x" option to boot.efi).
362
363 - Added icon for Haiku (os_haiku.icns).
364
365 - Enable transparency of icons & main-menu text when the banner icon is
366 sized to cover these areas.
367
368 - Fixed bug that could cause rEFInd to crash if fed a banner image that's
369 too big. Note that "too big" can be substantially smaller than the screen
370 resolution!
371
372 0.6.4 (1/8/2013):
373 -----------------
374
375 - Revised install.sh to copy ext2fs driver, rather than ext4fs driver, for
376 ext2/3 filesystems. This can help keep non-functional entries from links
377 from /vmlinuz to /boot/vmlinuz out of the menu if the system uses ext4fs
378 on root and ext2fs or ext3fs on /boot.
379
380 - Fixed a couple of memory management bugs that cause rEFInd to hang at
381 startup on some systems.
382
383 0.6.3 (1/6/2013):
384 -----------------
385
386 - Added the ability to specify a volume name or number in the
387 "dont_scan_dirs" and "also_scan_dirs" tokens.
388
389 - Fixed a bug that caused removable EFI media to not appear in scan lists
390 if rEFInd was installed as EFI/BOOT/boot{arch}.efi on a hard disk.
391
392 - Modified ISO-9660 driver so that it can handle discs with other than
393 2048-byte sectors. This makes it useful for reading "hybrid ISO" images
394 burned to USB flash disks.
395
396 - New mvrefind.sh script to move a rEFInd installation between a standard
397 location (typically EFI/refind) and one of the fallback locations
398 (EFI/BOOT or EFI/Microsoft/Boot). It can also do more exotic locations.
399
400 - The install.sh script now installs to EFI/BOOT/bootx64.efi or
401 EFI/Microsoft/Boot/bootmgfw.efi if it's run in BIOS mode. This is
402 intended to give some chance of producing a bootable installation should
403 a user accidentally install Linux in EFI mode and then install rEFInd
404 from that installation.
405
406 - The install.sh script now tries to find an existing rEFInd installation
407 and upgrade it, even if it's in EFI/BOOT or EFI/Microsoft/Boot rather
408 than in EFI/refind.
409
410 - New "--yes" option to install.sh to help with unattended or automated
411 installations (as from an RPM or Debian package).
412
413 0.6.2 (12/30/2012):
414 -------------------
415
416 - Inclusion of a sample refind.spec file for the benefit of RPM
417 distribution maintainers who might want to include rEFInd. It's a bit
418 rough, but it gets you a good chunk of the way there....
419
420 - The EFI filesystem drivers can now be built with the GNU-EFI toolkit as
421 well as with the TianoCore EDK2. See the BUILDING.txt file for details on
422 how to build them with either toolkit. This improvement doesn't affect
423 users of my binary packages, but it should make it easier for Linux
424 distributions to adopt rEFInd into their package systems.
425
426 - Tweaked refind.inf file for better build results using "native" TianoCore
427 EDK2 build process (vs. the Makefile-based build process that I use under
428 Linux). This won't affect those who use my binary builds or build under
429 Linux with the "make" command.
430
431 - Fixed bug that prevented Secure Boot launches from working when rEFInd
432 was built with GNU-EFI rather than the TianoCore EDK2.
433
434 - Substantial reworking of Secure Boot code, based on James Bottomley's
435 PreLoader program. This new code eliminates the limitation of launching
436 just one driver in Secure Boot mode and is likely to be more reliable
437 with future or obscure boot loaders. It should also work with non-x86-64
438 systems, although this relies on a platform-specific shim program, which
439 to date exists only for x86-64. The basic features are the same as before
440 -- rEFInd relies on shim for authentication functions and will launch
441 programs that are signed by Secure Boot keys, shim keys, or MOKs.
442
443 - Altered default for "textmode" option (when it's commented out) to not
444 adjust the text mode at all. (Prior versions set it to mode 0 by
445 default.)
446
447 0.6.1 (12/21/2012):
448 -------------------
449
450 - Added "--root" option to install.sh, to enable installation of rEFInd
451 to something other than the currently-running OS. This is intended for
452 use on emergency discs.
453
454 - Thanks to Stefan Agner, the ext4fs driver now supports the "meta_bg"
455 filesystem feature, which distributes metadata throughout the disk. This
456 feature isn't used by default, but can be set at filesystem creation time
457 by passing the "-O meta_bg,^resize_inode" option to mke2fs. (Using
458 "^resize_inode" is necessary because meta_bg is incompatible with
459 resize_inode, which IS used by default.) This feature can be used on
460 ext3fs and ext2fs as well as on ext4fs, so the ext4fs driver can now
461 handle some ext3fs and ext2fs partitions that the ext2fs driver can't
462 handle.
463
464 - Fixed some screen resolution-setting bugs.
465
466 - Added the "words" that make up a filesystem's label (delimited by spaces,
467 dashes, or underscores) to the list of bases used to search for OS icons.
468 For instance, if the filesystem's label is "Arch", rEFInd searches for
469 os_Arch.icns; if it's "Fedora 17", it searches for os_Fedora.icns and
470 os_17.icns; and if it's "NEW_GENTOO", it searches for os_NEW.icns and
471 os_GENTOO.icns.
472
473 - Refined hints displays to be more context-sensitive, particularly in text
474 mode.
475
476 - Instead of displaying a blank filesystem label when a filesystem has
477 none, rEFInd now displays the size and/or type of the filesystem, as in
478 "boot EFI\foo\bar.efi from 200 MiB ext3 volume" rather than "boot
479 EFI\foo\bar.efi from".
480
481 - Fixed a bug that caused the screen to clear after displaying an error
482 message but before displaying the "Hit any key to continue" message when
483 a boot loader launch failed.
484
485 0.6.0 (12/16/2012):
486 -------------------
487
488 - Fixed a memory allocation bug that could cause a program crash when
489 specifying certain values with the "also_scan_dirs", "dont_scan_volumes",
490 "dont_scan_dirs", "dont_scan_files", and "scan_driver_dirs" refind.conf
491 options.
492
493 - Modified Linux kernel initrd-finding code so that if an initrd is
494 specified in refind_linux.conf, rEFInd will not add any initrd it finds.
495 This enables an override of the default initrd, and is likely to be
496 particularly helpful to Arch Linux users.
497
498 - Added ext4fs driver!
499
500 - Made "boot" the default value for "also_scan_dirs".
501
502 - Added identifying screen header to line editor.
503
504 - Fixed bug that caused rEFInd's display to be mis-sized upon return
505 from a program that set the resolution itself.
506
507 - Adjusted "resolution" refind.conf parameter so that it can accept EITHER
508 a resolution as width and height OR a single digit as a UEFI mode number
509 (which is system-specific). This is done because some systems present the
510 same mode twice in their mode lists, perhaps varying in refresh rate,
511 monitor output, or some other salient characteristics; specifying the
512 mode number enables selecting the higher-numbered mode, whereas using
513 horizontal and vertical resolution values selects the lowest-numbered
514 mode.
515
516 - Added "textmode" refind.conf parameter to set the text mode used in
517 text-only displays, and for the line editor and boot-time handoff
518 display even in graphics mode.
519
520 - Fixed bug that caused tools (shell, etc.) to launch when they were
521 highlighted and F2 or Insert was pressed.
522
523 - Added "editor" option to the "hideui" token in refind.conf, which
524 disables the boot options editor.
525
526 - Added hints text to rEFInd main menu and sub-menus. This can be disabled
527 by setting the new "hints" option to the "hideui" token in refind.conf.
528
529 - Added "boot with minimal options" entry to refind_linux.conf file
530 generated by install.sh. This entry boots without the options extracted
531 from the /etc/default/grub file.
532
533 - Added keys subdirectory to main distribution, to hold public Secure
534 Boot/shim keys from known sources.
535
536 - Changed install.sh --drivers option to --alldrivers, added new
537 --nodrivers option, and made the default on Linux to install the one
538 driver that's used on /boot (or the root filesystem if /boot isn't a
539 separate partition). Of course, this won't install a non-existent driver,
540 and it also won't work properly if run from an emergency disk unless you
541 mount a separate /boot partition at that location.
542
543 - Fixed bug in install.sh that prevented creation of refind_linux.conf file
544 on Linux systems.
545
546 0.5.1.1 (12/12/2012):
547 ---------------------
548
549 - Fixed bug in install.sh that prevented it from working on OS X.
550
551 0.5.1 (12/11/2012):
552 -------------------
553
554 - Added support for "0" options to "textonly" and "scan_all_linux_kernels"
555 to reverse the usual meaning of these tokens. This is useful for
556 including these options in a secondary configuration file called with the
557 new "include" token to override a setting set in the main file.
558
559 - Added "include" token for refind.conf, to enable including a secondary
560 configuration file from a primary one.
561
562 - Modified install.sh so that it creates a simple refind_linux.conf file in
563 /boot, if that file doesn't already exist and if install.sh is run from
564 Linux. If that directory happens to be on a FAT, HFS+, ext2fs, ext3fs, or
565 ReiserFS volume, and if the necessary drivers are installed, the result
566 is that rEFInd will detect the Linux installation with no further
567 configuration on many systems. (Some may still require tweaking of kernel
568 options, though; for instance, adding "dolvm" on Gentoo systems that use
569 LVM.)
570
571 - Added --shim and --localkeys options to install.sh to help simplify setup
572 on systems with Secure Boot active.
573
574 - Fixed (maybe) bug that caused resolution options to not be displayed on
575 recent Macs with GOP graphics when specifying an invalid resolution in
576 refind.conf.
577
578 - Fixed bug that caused some programs (EFI shells, in particular) to hang
579 when launching on some systems (DUET, in particular).
580
581 - Implemented a fix to enable ELILO to launch with Secure Boot active.
582 This fix might help with some other boot loaders in Secure Boot mode,
583 too, but I don't know of any specifics.
584
585 0.5.0 (12/6/2012):
586 ------------------
587
588 - Added the ability to include quote marks ('"') in refind.conf and
589 refind_linux.conf tokens by doubling them up, as in:
590 "ro root=/dev/sda4 some_value=""this is it"""
591 This example results in the following string being passed as an
592 option:
593 ro root=/dev/sda4 some_value="this is it"
594
595 - Changed refind.conf-sample to uncomment the scan_all_linux_kernels
596 option by default. If this option is deleted or commented out, the
597 program default remains to not scan all Linux kernels; but with
598 increasing numbers of distributions shipping with kernels that include
599 EFI stub loader support, setting the configuration file default to scan
600 for them makes sense.
601
602 - Modified the "resolution" token so that it affects text mode as well
603 as graphics mode. On my systems, though, the actual text area is still
604 restricted to an 80x25 area. (This seems to be a firmware limitation; my
605 EFI shells are also so limited.)
606
607 - Fixed a bug that caused the options line editor to blank out lines that
608 were not actually edited.
609
610 - Added support for using Matthew Garrett's Shim program and its Machine
611 Owner Keys (MOKs) to extend Secure Boot capabilities. If rEFInd is
612 launched from Shim on a computer with Secure Boot active, rEFInd will
613 launch programs signed with either a standard UEFI Secure Boot key or a
614 MOK. For the moment, this feature works only on x86-64 systems.
615
616 - Added new "dont_scan_files" (aka "don't_scan_files") token for
617 refind.conf. The effect is similar to dont_scan_dirs, but it creates a
618 blacklist of filenames within directories rather than directory names.
619 I'm initially using it to place shim.efi and MokManager.efi in the
620 blacklist to keep these programs out of the OS list. (MokManager.efi is
621 scanned separately as a tool; see below.) I've moved checks for
622 ebounce.efi, GraphicsConsole.efi, and TextMode.efi to this list. (These
623 three had previously been blacklisted by hard-coding in ScanLoaderDir().)
624
625 - Added the directory from which rEFInd launched to dont_scan_dirs. This
626 works around a bug in which rEFInd would show itself as a bogus Windows
627 entry if it's installed as EFI/Microsoft/boot/bootmgfw.efi.
628
629 - Added support for launching MokManager.efi for managing the Machine Owner
630 Keys (MOKs) maintained by the shim boot loader developed by Fedora and
631 SUSE. This program is scanned and presented as a second-row tool.
632
633 - Added support for Apple's Recovery HD partition: If it's detected, a new
634 icon appears on the second row. This icon can be removed by explicitly
635 setting the "showtools" option in refind.conf and excluding the
636 "apple_recovery" option from that line.
637
638 - Fixed bug that caused text-mode ("textonly" refind.conf option enabled)
639 menu entries to be right-aligned rather than left-aligned when rEFInd was
640 compiled with the TianoCore EDK2.
641
642 - Added "--usedefault {devicename}" and "--drivers" options to the
643 install.sh script and changed the "esp" option to "--esp".
644
645 0.4.7 (11/6/2012):
646 ------------------
647
648 - Added an icon for gummiboot.
649
650 - Added a boot option editor: Pressing the Insert or F2 key from a boot
651 tag's options menu opens a simple text-mode line editor on which the boot
652 options may be edited for a one-time boot with altered options.
653
654 - Modified the "scan_delay" feature to delay and then perform a re-scan,
655 which may work better than the first attempt at this feature (which I'm
656 told isn't working as planned).
657
658 - Modified rEFInd to add a space after the command-line options only when
659 launching Mac OS X. On some early Macs, the extra space (which had been
660 present by default, as a carryover from rEFIt) causes problems when
661 booting Linux kernels from FAT partitions.
662
663 0.4.6 (10/6/2012):
664 ------------------
665
666 - Fixed some minor memory management issues.
667
668 - Added new "scan_delay" feature to impose a delay before scanning
669 for disks.
670
671 - Changed default "scanfor" option from internal-external-optical to either
672 internal-external-optical-manual (for non-Macs) or
673 internal-hdbios-external-biosexternal-optical-cd-manual (for Macs). I've
674 done this for two reasons:
675 - Many Mac users have been confused by the fact that rEFInd needs
676 reconfiguration to detect Windows (or Linux installed in BIOS mode),
677 since rEFIt scans BIOS devices by default. Adding the BIOS options as
678 default for them should help them.
679 - Adding the "manual" option enables users to simply add manual boot
680 stanzas and have them work, which is more intuitive. Adding the
681 "manual" option will have no effect unless manual stanzas are created
682 or uncommented, so this part of the change won't affect users' working
683 default configurations.
684
685 - Added new legacy (BIOS) boot support for UEFI-based PCs.
686
687 0.4.5 (8/12/2012):
688 ------------------
689
690 - Fixed bug that caused a failure to boot BIOS-based OSes on Macs.
691
692 - Fixed bug in install.sh that caused it to fail to detect rEFItBlesser.
693
694 0.4.4 (6/23/2012):
695 ------------------
696
697 - Fixed bug that caused filesystem labels to be corrupted by rEFInd on
698 32-bit systems.
699
700 - Fixed bug that caused filesystem labels to be truncated in the drivers
701 on 32-bit systems.
702
703 - Fixed bug in use_graphics_for option parsing that caused most options
704 to set graphics mode for OS X and/or Linux but not other boot
705 loaders/OSes.
706
707 - Tweaked install script to better isolate the ESP under OS X.
708
709 0.4.3 (6/21/2012):
710 ------------------
711
712 - rEFInd now supports compilation using the TianoCore UDK2010/EDK2
713 development kit in addition to GNU-EFI.
714
715 - Added new "use_graphics_for" option to control which OSes to boot in
716 graphics mode. (This effect lasts for a fraction of a second on most
717 systems, since the boot loader that rEFInd launches is likely to set
718 graphics or text mode itself.)
719
720 - Graphics-mode booting now clears the screen to the current rEFInd
721 background color (rather than black) and does NOT display boot messages.
722 The intent is for a smoother transition when booting OS X, or perhaps
723 other OSes that don't display boot loader messages. In practice, this
724 effect will be tiny for many OSes, since the boot loader generally clears
725 the screen within a fraction of a second of being launched; but the
726 "flicker" of a rEFInd message in that time can sometimes be distracting.
727
728 - Filesystem drivers now work on EFI 1.x systems, such as Macs.
729
730 - Removed "linux.conf" as a valid alternative name for "refind_linux.conf"
731 for holding Linux kernel options. The kernel developers plan to use
732 "linux.conf" themselves.
733
734 0.4.2 (6/3/2012):
735 -----------------
736
737 - Added a message to install.sh when run on Macs to remind users to update
738 the "scanfor" line in refind.conf if they need to boot BIOS-based OSes
739 via rEFInd.
740
741 - Modified install.sh script to be smarter about running efibootmgr on
742 Linux. It now uses the whole path to the rEFInd binary as a key to
743 determine whether an existing entry exists, rather than just the filename
744 portion. If an entry exists and is the first entry in the boot order, the
745 script does nothing to the NVRAM entries. If such an entry exists but is
746 not the default, the script deletes that entry and creates a new one
747 (implicitly making it the first in the boot order). If such an entry does
748 not exist, the script creates a new one (again, making it the first in
749 the boot order).
750
751 - Added "dont_scan_dirs" configuration file option, which adds directories
752 to a "blacklist" of directories that are NOT scanned for boot loaders.
753
754 0.4.1 (5/25/2012):
755 ------------------
756
757 - Added "scanning for new boot loaders" message to the re-scan function
758 (hitting Esc at the main menu). It usually flashes up too quickly to
759 be of importance, but if the scan function takes a while because of
760 access to a CD that must be spun up, it should make it clear that the
761 system hasn't hung.
762
763 - Modified install.sh script to detect rEFItBlesser on Macs, and if
764 present, to ask the user if it should be removed.
765
766 - Cleaned up the Make.common file for the filesystem drivers.
767
768 - Changed HFS+ driver to return volume label of "HFS+ volume" rather than
769 an empty label. (The driver doesn't currently read the real volume
770 label.)
771
772 - Fixed bug that could cause rEFInd to appear in its own menu after
773 running a shell and then re-scanning for boot loaders.
774
775 0.4.0 (5/20/2012):
776 ------------------
777
778 - Inclusion of drivers for ISO-9660, HFS+, ReiserFS, and ext2fs. Most of
779 these drivers originated with rEFIt, although the HFS+ driver seems to
780 have come from Oracle's VirtualBox, with some files from Apple. I hadn't
781 included these drivers previously because the build process proved
782 challenging. As it is, they don't work on my Mac Mini, I suspect because
783 the build process with the UDK2010 development kit may not work with the
784 EFI 1.x that Apple uses.
785
786 - Addition of support for drivers in the "drivers_{arch}" subdirectory of
787 the main rEFInd binary directory (e.g., "drivers_x64" or "drivers_ia32").
788 Drivers may continue to be placed in the "drivers" subdirectory.
789
790 - Added new feature to eject CDs (and other removable media): Press F12 to
791 eject all such media. This function works only on some Macs, though (it
792 relies on an Apple-specific EFI extension, and this extension isn't even
793 implemented on all Macs, much less on UEFI-based PCs).
794
795 - Fixed a problem that could cause GRUB 2 to fail to read its configuration
796 file when launched from rEFInd.
797
798 0.3.5 (5/15/2012):
799 ------------------
800
801 - Removed the GRUB 2 detection "reciped" added with 0.3.2, since I've
802 received reports that it's not working as intended.
803
804 - Added re-scan feature: Press the Esc key to have rEFInd re-read its
805 configuration file, tell the EFI to scan for new filesystems, and re-scan
806 those filesystems for boot loaders. The main purpose is to enable
807 scanning a new removable medium that you insert after launching rEFInd;
808 however, it can also be used to immediately implement changes to the
809 configuration file or new drivers you load from an EFI shell.
810
811 - Fixed a bug that could cause the scroll-right arrow to be replaced by the
812 scroll-left arrow under some circumstances.
813
814 0.3.4 (5/9/2012):
815 -----------------
816
817 - Added new configuration file option: "icons_dir", which sets the name
818 of the subdirectory in which icons are found. See the documentation or
819 sample configuration file for a full description.
820
821 - Modified Makefile to generate rEFInd binary that includes architecture
822 code -- refind_ia32.efi or refind_x64.efi, rather than the generic
823 refind.efi. This is done mainly to help the install.sh script. The
824 program can be named anything you like on the disk. (The generic name
825 refind.efi is used on unknown architectures.)
826
827 - Improved install.sh script: Fixed bug on OS X 10.7 and enable it to be
828 used after building from source code (or via new "make install" Makefile
829 target).
830
831 - Improved screen redraws to produce less flicker when moving among the
832 second-row tags or to the last tag on the first row.
833
834 0.3.3 (5/6/2012):
835 -----------------
836
837 - Improved menu navigation:
838 - In graphics mode, left & right arrow keys move left & right, while up &
839 down arrows move between rows.
840 - Page Up and Page Down now move through chunks of visible tags (in both
841 text & graphics modes), jumping from one row to another only when at
842 the edge of the row. In text mode, the "rows" are broken down as in
843 graphics mode, but they aren't visibly distinguished on the screen.
844
845 - Improved text-mode use: rEFInd now displays the proper number of entries
846 when first started in text mode and scrolling is done sensibly when too
847 many entries exist to fit on the screen.
848
849 0.3.2 (5/4/2012):
850 -----------------
851
852 - Added the install.sh script to install rEFInd on Linux and Mac OS X
853 systems. This script must be run as root (or via sudo). It requires
854 no options, but on Mac OS X, passing it the "esp" option causes it
855 to install rEFInd on the computer's ESP rather than the default of the
856 currently OS X boot partition. (Under Linux, the default is to install to
857 the ESP.) Note that there may be some unusual cases in which this script
858 will fail to work.
859
860 - Does a better job of clearing the screen when launching OSes in text
861 mode.
862
863 - Added detection "recipe" for GRUB 2's BIOS Boot Partition.
864
865 - Fixed bogus detection of ESPs created by Linux's mkdosfs utility or
866 Windows as bootable partitions when "scanfor" includes BIOS scanning
867 options.
868
869
870 0.3.1 (4/27/2012):
871 ------------------
872
873 - Fixed bug that caused spurious "Unsupported while scanning the root
874 directory" messages under some conitions on Macs.
875
876 - Modified loader scanning code to sort boot loader entries within a
877 directory by modification time, so that the most recently-modified loader
878 is first among those in a given directory. Thus, if you specify a
879 directory name (or volume name, for loaders stored in the root directory
880 of a volume) as the default_selection, the most recent of those loaders
881 will be the default. This is intended to help with Linux kernel
882 maintenance when using the EFI stub loader; set up this way, the most
883 recent kernel copied to your kernel directory will be the default,
884 obviating the need to adjust the refind.conf file when adding a new
885 kernel. If you want to change the default among those in the default
886 directory, you can use "touch" to adjust the modification timestamp.
887
888 - Tweaked code to find loader-specific .icns file so that it finds files
889 for Linux kernels without .efi extensions. In this case, files should be
890 named the same as the kernels they match, but with .icns extensions. For
891 instance, bzImage-3.3.2 should have an icon called bzImage-3.3.2.icns.
892 (The old code would have looked for an icon called bzImage-3.3.icns.)
893
894 - Eliminated bogus OS loader tags for filenames that end in ".icns" when
895 the scan_all_linux_kernels option is set.
896
897 0.3.0 (4/22/2012):
898 ------------------
899
900 - I'm officially upgrading this project's status from "alpha" to "beta" and
901 giving it a bump from 0.2.x to 0.3.0. This doesn't reflect any major
902 milestone with this version; rather, it reflects my sense that rEFInd has
903 been "out there" for a while, and although I've gotten bug reports,
904 they've been minor and/or have been fixed. The program still has known
905 bugs, but my impression is that it is, overall, usable by ordinary users.
906
907 - Added "resolution" option to refind.conf, which enables setting the video
908 resolution. To use it, pass two numeric values, as in "resolution 1024
909 768" to use a 1024x768 video mode. Note that not all modes are supported.
910 If you specify a non-supported video mode on a UEFI system, a message
911 appears listing the supported video modes and you must then press a key
912 to continue, using the default video mode (usually 800x600).
913 Unfortunately, I don't know the calls to get a list of supported video
914 modes on older EFI 1.x systems (including Macs), so on Macs setting an
915 incorrect video mode silently fails (you keep using the default mode).
916 This makes changing your video mode a hit-or-miss proposition on Macs.
917 CAUTION: It's possible to set a legal video mode that your monitor can't
918 handle, in which case you'll get a blank display until you boot an OS
919 that resets the video mode.
920
921 - Fixed (maybe) a bug that caused rEFInd to crash when returning from an
922 EFI shell or other programs on Macs, particularly when rEFInd used
923 graphical mode. I'm not 100% sure this bug is squashed because I still
924 don't understand the cause and I only have one Mac for testing. See
925 comments in the ReinitRefitLib() function in refit/lib.c for more
926 details.
927
928 - Added new refind.conf option: scan_all_linux_kernels, which causes Linux
929 kernels that lack ".efi" extensions to be included in scans for EFI boot
930 loaders. This may help integration with Linux distributions that don't
931 give their kernels such names by default. Beware, though: It can detect
932 unwanted files, such as older non-stub-loader kernels or .icns files used
933 to give kernels with .efi extensions custom icons.
934
935 - Improved EFI boot loader detection on boards with Gigabyte's Hybrid EFI,
936 and perhaps other EFIs with a buggy StriCmp() function. Files with both
937 ".efi" and ".EFI" extensions should now be detected as boot loaders.
938
939 - Fixed a bug that caused rEFInd to fail to scan for drivers if the
940 filesystem driver didn't set a volume name (that is, if the relevant
941 field was set to NULL rather than even an empty string). In such
942 situations, rEFInd now reports the volume name as "Unknown".
943
944 0.2.7 (4/19/2012):
945 ------------------
946
947 - After much trial and tribulation, I've overcome a GNU-EFI limitation and
948 enabled rEFInd to load EFI drivers. This feature was present in the
949 original build of rEFIt but was removed in the versions that could
950 compile under Linux, but now it's back -- and still being compiled under
951 Linux! To use it, you should place your drivers in a convenient directory
952 on the ESP (or whatever partition you use to launch rEFInd) and add a
953 "scan_driver_dirs" entry to refind.conf to tell rEFInd where to look. (As
954 always, you should specify the driver directory relative to the root of
955 the filesystem.) Note that you can't launch drivers from another
956 filesystem; they must be on the same volume that holds rEFInd. Those who
957 compile from source code should note that implementing this feature
958 necessitated using a more recent version of the GNU-EFI library. I'm
959 currently using version 3.0p, and version 3.0i does NOT work. I don't
960 know where the change occurred, but you may need to upgrade your GNU-EFI
961 installation.
962
963 - Fixed bug that caused rEFInd to show up in its own menu sometimes.
964
965 - Added new refind.conf token: also_scan_dirs. When scanning volumes for
966 EFI boot loaders, rEFInd always scans the root directory and every
967 subdirectory of the /EFI directory, but it doesn't recurse into these
968 directories. The also_scan_dirs token adds more directories to the scan
969 list. It defaults to "elilo,boot", but you can set it to any directory or
970 directories you like.
971
972 0.2.6 (4/14/2012):
973 ------------------
974
975 - Added "volume" keyword to configuration file's stanza options. This
976 option changes the volume from which subsequent files (specified by
977 "loader" and "icon") are loaded. You pass "volume" the name/label of the
978 FILESYSTEM you want to use (not the GPT partition name), or a number
979 followed by a colon (e.g., "1:"). The former should reliably identify a
980 filesystem, assuming the name is unique. The latter assigns numbers based
981 on the order in which they're scanned, which may not be as reliable but
982 should work when a volume is unnamed.
983
984 - Fixed bug in 0.2.5 that caused failure of Linux initial RAM disk
985 mapping on some (but not all) systems. Affected computers include at
986 least some Intel motherboards, maybe others.
987
988 0.2.5 (4/9/2012):
989 -----------------
990
991 - Fixed bug that caused an inability to associate initial RAM disks with
992 Linux kernels stored in a volume's root directory.
993
994 - Volume badges (that override default badges) are now stored in
995 .VolumeBadge.icns. Although undocumented, rEFInd formerly loaded custom
996 volume badges from .VolumeIcon.icns. This carryover from rEFIt was a
997 confusing name, given the next (new) feature, so I've changed and
998 documented the name....
999
1000 - Added ability to set a default icon for a loader stored in the root
1001 directory of a volume: The icon is stored in .VolumeIcon.icns. This icon
1002 is also used for Mac OS X volumes booted from the standard location.
1003
1004 - Fixed bug that caused icons to drop back to generic icons when rEFInd
1005 was launched in certain ways (such as from an EFI shell in rEFInd's
1006 directory) on certain systems.
1007
1008 - Fixed bug that caused "unknown disable flag" to be shown (very briefly)
1009 instead of "unknown hideui flag" when an improper hideui flag was set.
1010
1011 0.2.4 (4/5/2012):
1012 -----------------
1013
1014 - Created new refind.conf entry: "showtools". This entry takes options of
1015 "shell", "gptsync", "about", "exit", "reboot", and "shutdown". This
1016 option is in some respects an affirmative version of portions of the old
1017 "disable" and "hideui" options; however, it enables users to specify the
1018 order in which these options appear on the screen. Also, the "exit"
1019 option is new; it terminates the program. The effect is usually to return
1020 to whatever tool launched it or to launch a default OS; however, this is
1021 somewhat unpredictable. The default therefore omits the "exit" option, as
1022 well as "gptsync", which has always been dangerous (but necessary on most
1023 MacOS/Windows dual-boot setups on Macs). As part of this reconfiguration,
1024 I've eliminated the "rescue Linux" option, which always seemed pointless
1025 to me.
1026
1027 - Folded "disable" and "hideui" refind.conf entries into one ("disable"),
1028 and reduced the number of options to six: "banner", "label",
1029 "singleuser", "hwtest", "arrows", and "all". ("arrows" is new and
1030 disables the scroll arrows when a system has too many tags to display
1031 simultaneously.)
1032
1033 - Added max_tags option to the refind.conf file, enabling users to reduce
1034 the maximum number of OS loader tags that can be displayed at once.
1035
1036 - Updated rEFIt icon, based on the 128x128 volume label from the rEFIt CD
1037 image.
1038
1039 - Added x86 and x86-64 EFI shells to the CD image version of the binary,
1040 but NOT to the binary zip file. The logic is that the CD image is more
1041 likely to be used directly as an emergency disc and so may need this
1042 feature, even though the source isn't part of the rEFInd project. (The
1043 source is readily available from the TianoCore project.)
1044
1045 - EFI shells may now be stored at /shellx64.efi for x86-64 systems or at
1046 /shellia32.efi for x86 systems. The /EFI/tools/shell.efi name is also
1047 recognized; however, if both files are present, two EFI shell icons will
1048 appear on the main menu. The /efi/{refind-path/apps/shell.efi filename,
1049 which was never officially documented but worked as a carryover from
1050 rEFIt, is no longer valid.
1051
1052 0.2.3 (3/26/2012):
1053 ------------------
1054
1055 - Fixed (maybe) a bug that caused hangs when launching a second program
1056 after returning from a first. There are some weird system-to-system
1057 differences, though, and this fix causes (apparently harmless) error
1058 messages about "(re)opening our installation volume" on at least one
1059 system (a 32-bit Mac Mini). I'm committing this change because, imperfect
1060 though it is, it's preferable to the earlier version, at least on my
1061 small sample of computers.
1062
1063 - Because of news that the Linux kernel developers are planning to use the
1064 filename linux.conf to hold Linux kernel configuration data for EFI
1065 booting, I'm transitioning rEFInd away from that name and to
1066 refind_linux.conf to avoid a conflict. This version can use either name,
1067 with refind_linux.conf taking precedence if both are present.
1068
1069 - Added logo for Arch Linux.
1070
1071 0.2.2 (3/23/2012):
1072 ------------------
1073
1074 - Fixed bug that caused program failure when Linux kernels with EFI stub
1075 support were detected with no associated version numbers. rEFInd now
1076 permits automatic linking of *ONE* versionless kernel to *ONE*
1077 versionless initrd file.
1078
1079 - Fixed bug that caused program hangs when a boot loader filename or label
1080 was too long. Such names are now properly truncated and program execution
1081 continues.
1082
1083 - Fixed bug that caused no text to appear in submenus on UEFI systems with
1084 small screens (800x600). NOTE: Problem still occurs on screens smaller
1085 than this, but such systems are very rare.
1086
1087 0.2.1 (3/19/2012):
1088 ------------------
1089
1090 - Added ability to set a "default_selection" that's a title or a substring
1091 of one -- the name given to a stanza in a "menuentry" or the boot
1092 loader's filename, in most cases, although "Mac OS X", "Windows XP
1093 (XoM)", and "Microsoft EFI boot" are also titles.
1094
1095 - Added support for semi-automatic scans of Linux kernels with EFI stub
1096 loader support. The program auto-detects matching initial RAM disk files
1097 and loads additional options from the "linux.conf" file in the same
1098 directory as the kernel.
1099
1100 - Added support for "submenuentry" keyword and associated sub-stanza
1101 entries in refind.conf file.
1102
1103 - Renamed icons/os_mint.icns to icons/os_linuxmint.icns to match the
1104 filename Linux Mint ACTUALLY uses for its ESP boot loader directory.
1105
1106
1107 0.2.0 (3/14/2012):
1108 ------------------
1109
1110 - Initial public release