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